Xiaomi Cloud Vacuum Map Extractor

Hello, I have the same problem with my Xiaomi x20+, do you have a solution to be able to see the map?

Hi,
I have a problem with my xiaomi 5S
I used this integrations a lot of time.
Yestarday I see that I can’t run vacuum to clean specific room or zone.
When I run vacuum to clean room (or zone) I have message: “failure to execute vacuum/send_command action. unknown error”

This is my card config:

type: vertical-stack
cards:
  - type: custom:xiaomi-vacuum-map-card
    map_source:
      camera: camera.xiaomi_cloud_map_extractor
    calibration_source:
      camera: true
    map_modes:
      - template: vacuum_clean_zone_predefined
        max_selections: 10
        repeats_type: INTERNAL
        max_repeats: 5
        predefined_selections:
          - zones:
              - - 25027
                - 22127
                - 30773
                - 26112
          - zones:
              - - 29987
                - 22148
                - 32896
                - 26091
          - zones:
              - - 32825
                - 22170
                - 34767
                - 25440
          - zones:
              - - 29568
                - 19521
                - 31783
                - 22286
              - - 27003
                - 19142
                - 31677
                - 20731
          - zones:
              - - 25027
                - 19710
                - 27031
                - 21971
          - zones:
              - - 27823
                - 20510
                - 29070
                - 21551
          - zones:
              - - 31648
                - 20698
                - 34851
                - 22076
          - zones:
              - - 28180
                - 15191
                - 30689
                - 19197
          - zones:
              - - 25027
                - 15191
                - 28082
                - 19176
      - template: vacuum_clean_zone
      - template: vacuum_goto
    entity: vacuum.roborock_s5e_d832_robot_cleaner
    vacuum_platform: send_command
    map_locked: true
    two_finger_pan: true
    debug: false


Config:

camera:

  • platform: xiaomi_cloud_map_extractor
    host: ,xxxxxxxx
    token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    username: xxxxxxxxxxxxxx
    password: xxxxxxxxxxxx
    draw: [‘all’]
    attributes:
    • calibration_points
      colors:
      color_charger: [255, 0, 0]
      color_map_inside: [32, 115, 185]
      color_map_outside: [255, 255, 255]
      color_map_wall: [96, 96, 96]
      color_map_wall_v2: [93, 109, 126]
      color_grey_wall: [255, 255, 255]
      color_path: [224, 224, 224]

color_path: [147, 194, 238]

  color_goto_path: [0, 255, 0]
  color_predicted_path: [255, 255, 0, 0]
  color_zones: [0xAD, 0xD8, 0xFF, 0x8F]
  color_zones_outline: [0xAD, 0xD8, 0xFF, 0x8F]
  color_virtual_walls: [255, 0, 0]
  color_no_go_zones: [255, 33, 55, 127]
  color_no_go_zones_outline: [255, 0, 0]
  color_no_mop_zones: [163, 130, 211, 127]
  color_no_mop_zones_outline: [163, 130, 211]
  color_charger: [0x66, 0xfe, 0xda, 0x7f]
  color_robo: [75, 235, 149]
  color_unknown: [0, 0, 0]
  color_scan: [0xDF, 0xDF, 0xDF]
room_colors:
  1: [255, 204, 204]
  2: [51, 205, 153]
  3: [117, 136, 128]
  4: [52, 152, 219]
  5: [205, 97, 85]
  6: [243, 156, 18]
  7: [88, 214, 141]
  8: [245, 176, 65]
  9: [252, 212, 81]
  10: [72, 201, 176]
  11: [84, 153, 199]
  12: [133, 193, 233]
  13: [245, 176, 65]
  14: [82, 190, 128]
  15: [72, 201, 176]
  16: [165, 105, 18]
# texts:
#   - text: "Room 1"
#     x: 25
#     y: 25
#     color: [125, 20, 213]
map_transformation:
#   scale: 0.6

  trim:
    top: 22
    bottom: 20
    left: 24
    right: 24

image

Use built-in Xiaomi Miio integration instead of Miot Auto

In Xiaomi Miio integration, I also have this. But I don’t know what I need to change to make it work especially since it worked and I didn’t change anything myself.

Hi Piotr,

I’ve been using your plugin for a while now, and it works like a charm—thank you for that! Today, while checking my logs for another issue, I came across this entry. Should I be concerned about it, especially since it will be deprecated in the next release?

Logger: homeassistant.components.camera
Source: helpers/deprecation.py:222
integration: Camera (documentation, issues)
First occurred: 13:47:58 (2 occurrences)
Last logged: 13:47:58

SUPPORT_ON_OFF was used from xiaomi_cloud_map_extractor, this is a deprecated constant which will be removed in HA Core 2025.1. Use CameraEntityFeature.ON_OFF instead, please report it to the author of the ‘xiaomi_cloud_map_extractor’ custom integration

Use the vacuum entity from the Xiaomi Miio integration and change vacuum platform to default.

Also, this question is more suited for this thread

1 Like

I plan to fix these before release of 2025.1

1 Like

Same for me. I am also using the X20+ and no map is shown.
Could support for this device be added?

I changed my Vacuum and wanted to update the intergration. My new Vacuum has an API token that only has numbers in it and not a single letter. I have changed some digits but it looks like this:
30627073384668653366626251234567
I now get this when I try and reload HA:

Configuration warnings

Invalid config for ‘xiaomi_cloud_map_extractor’ from integration ‘camera’ at configuration.yaml, line 398: expected str for dictionary value ‘token’, got 30627073384668653366626251234567

As soon as I change one digit to a letter like this “3f627073384668653366626251234567” I get the good old: Configuration will not prevent Home Assistant from starting!

Which shows that the Key needs a letter which mine does not have.

Just wrap it in double or single quotes :wink:

You sir are a genius! Thank you Piotr!

hi piotr.
first thanks for your great work with the map extractor :slight_smile: i have now updated to 2025.1 and it unfortunatelly stoped working. Am i right that the mentioned fix is not release yet or?

It has been released last Friday

1 Like

DzieƄ dobry.
Mam taki komunikat w konfiguracji. Co zrobiƂem Ćșle?:
Platform error ‘camera’ from integration ‘xiaomi_cloud_map_extractor’ - cannot import name ‘SUPPORT_ON_OFF’ from ‘homeassistant.components.camera’ (/usr/src/homeassistant/homeassistant/components/camera/init.py)

You have to update to the latest version of Map Extractor.

We use English on the forum, please use it as well.

Hey

Would it be possible to add support for the x20+ robot vacuum?

Thanks
Matt