Vacuum Interactive Map Card

By the way, if your floorplan has perspective distortion you might want to add a fourth calibration point

1 Like

I was getting high CPU usage:

Found out it was this: Xiaomi Cloud Map Extractor

Known issue? And possible to fix it?

Why did you quote me out of context?

That comment was about your database size but it reads like I was dismissing your CPU use.

Oops. That was by accident. I changed it now.

I assume that you havenā€™t changed config of camera? This is really weird, I use this integration on Pi3b+ and my CPU usage is ~ 20%. You can disable map updates when vacuum is docked to reduce CPU usage

Iā€™ll check it out. Iā€™m also using a Pi3B+.

But the biggest issue remains that I canā€™t make the vaccuum clean a room twice or three times.

Unfortunately thereā€™s not much I can do about it :confused:

Great card!

Is there any way to hide ā€œCleaning countā€?

Currently the only way to do it is to override autogenerated tiles with your own ones. You can retrieve autogenerated config and adjust it: guide

1 Like

Hello everyone, iā€™ve been playing around with this card recently. Before a basic setup of Go To cleaning and zone cleaning (not predefined) was working well.
Now iā€™m trying to add rooms cleaning and iā€™m getting stuck.
When i try to clean a room, the predefined zone appears on the map, the Roborock S5 undock makes a 360 turn and says something like ā€œroom not foundā€ and automatically docks again.

Also since i changed the code, the zone cleaning is available in the cleaning modes menu, but it doesnā€™t let me design a zone on the map. :grimacing:

Any idea what did i messed up? :sweat_smile:

Here the map:

and below the code of my card:

type: custom:xiaomi-vacuum-map-card
map_source:
  camera: camera.xiaomi_cloud_map_extractor
calibration_source:
  camera: true
entity: vacuum.roborock_vacuum_s5
vacuum_platform: default
language: it
map_modes:
  - template: vacuum_clean_segment
    predefined_selections:
      - id: 1
        outline:
          - - 18000
            - 32466
          - - 18000
            - 24751
          - - 24927
            - 24751
          - - 24974
            - 29270
          - - 33250
            - 29270
          - - 33250
            - 30400
          - - 26449
            - 30400
          - - 26449
            - 32266
          - - 23500
            - 32266
          - - 23500
            - 30554
          - - 22406
            - 30554
          - - 22454
            - 32466
        icon:
          name: mdi:sofa
          x: 21600
          'y': 29200
      - id: 2
        outline:
          - - 25160
            - 24751
          - - 25160
            - 28551
          - - 27257
            - 28551
          - - 27257
            - 29267
          - - 28446
            - 29267
          - - 28446
            - 24751

You used invalid room IDs

1 Like

Thank you so much, so easy and clear!
Sorry for the probably stupid question :sweat_smile:

Hey guys,

sorry this may seem basic to many of you but I cant find the answer.

I have two vacuums and cant work out how to give the second a camera

camera:
  - platform: xiaomi_cloud_map_extractor
    host: 192.168.59.72
    token: token
    username: username
    password: password
    draw: ['all']
    attributes:
      - calibration_points
      - rooms
  - platform: xiaomi_cloud_map_extractor
    host: 192.168.59.73
    token: token
    username: username
    password: password
    draw: ['all']
    attributes:
      - calibration_points
      - rooms
camera:
  - platform: xiaomi_cloud_map_extractor
    name: camera_1
    host: 192.168.59.72
    token: token
    username: username
    password: password
    draw: ['all']
    attributes:
      - calibration_points
      - rooms
  - platform: xiaomi_cloud_map_extractor
    name: camera_2
    host: 192.168.59.73
    token: token
    username: username
    password: password
    draw: ['all']
    attributes:
      - calibration_points
      - rooms
1 Like

I want the outside of the map to be transparent, but the card background of the buttons to still be visible.

If i make the whole card transparent the map and the buttons background dissappear.

If i make color_map_outside transparent, card-background-color from my theme shows insted.

you can add following line to your theme:

map-card-zoomer-background: transparent
1 Like

Did somebody encounter problem with changing fan speed during cleaning? My card is set up for silent


but during cleaning vacuum is going full speed and then changing back to silent. Or doing first run full speed then secound one on silent. There is no changes on the card, and vacuum donā€™t react for changing speed.

This is my script:

alias: Odkurzanie kuchni
sequence:
  - service: xiaomi_miot.call_action
    data:
      entity_id: vacuum.dreame_p2009_d6cd_robot_cleaner
      siid: 4
      aiid: 1
      params:
        - piid: 1
          value: 19
        - piid: 10
          value: '{"areas":[[-1910,-990,2546,1538,2,0,1]]}'
      force_params: true
mode: single

vacuum donā€™t react for changing speed, not as in
value: '{"areas":[[-1910,-990,2546,1538,2,0,1]]}'
nor using

alias: Odkurzanie kuchni
sequence:
  - service: xiaomi_miot.call_action
    data:
      entity_id: vacuum.dreame_p2009_d6cd_robot_cleaner
      siid: 4
      aiid: 1
      params:
        - piid: 3
          value: 0
        - piid: 1
          value: 19
        - piid: 10
          value: '{"areas":[[-1910,-990,2546,1538,1,1,1]]}'
      force_params: true
mode: single

Does somebody know how to solve this problem? My vacuum is Dreame D9

After resetting my vacuum problem with variable speeds stops. Using params connected to fan speed wonā€™t change anything in my case. Cleaning was always at full speed. I had to use service

Xiaomi Miot Auto: set_miot_property

to change fan speed during cleaning. Maybe this would be helpful for somebody, cheers

Great card! One of my favourites & most useful.
Is it possible to set the default number of repeats to 2?
also, is it possible to move the buttons with start/locate/fan speed up so they are vertically aligned with the other buttons? So all the buttons use up a bit less space vertically? Or even remove them entirely? I never really use them. Thanks

No, itā€™s not possible

This is also not possible

This part is possible:

thanks, disabling the icons works perfectly.
I tried to edit the code in order to hard-code 2 repeats, I thought this might work but it doesnā€™t seem to:

            map_modes:
              - template: vacuum_clean_segment
                repeats_type: EXTERNAL
                max_repeats: 3
                service_call_schema:
                  service: vacuum.send_command
                  service_data:
                    command: app_segment_clean
                    entity_id: "[[entity_id]]"
                    params:
                      - segments: "[[selection]]"
                        repeat: "2"

any idea what Iā€™m doing wrong, or is it simply not supported on my vacuum (roborock S5max)

Also, purely aesthetically, with the tiles is there anyway to force a line break i.e. ensure every tile after a certain one is on the lower of the 2 lines? Thanks