Vacuum Interactive Map Card

Hi,
this card is awesome and is very usefull, great work.

I can almost ditch the app the only thing missing:

  • Resetting the filters/brushes when they have been replaced by long pressing the info tab for example
  • When I haven’t open the lid for a while and that i have to empty the bin. I could have a binary sensor set to 1. I could than automate a notificaion

Are these functions something that could be added?

You can do as many as you want to :slight_smile:

1 Like
  • It’s possible to do it, but you have to override default tiles
  • As far I understand this functionality has to be provided by the integration…?

Thanks a lot for your fast answer! So, “color_scan” did the job :smile:

Thanx I was able to figure this out, just sharing in case this may help someone:


    hold_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        entity_id: vacuum.roborock_s6_maxv
        command: reset_consumable
        params: filter_work_time

It most probably should be part of the integration, I am unable to figure out if there is something showing if the bin is full, will continue searching.

1 Like

How can I eliminate this kind of “overflowing”?

You can’t

So it is designed by HA latest versions :slight_smile:

1 Like

I recreated the look of the card which i like but with the hold-action to reset the filters. Here is the complete code I wrote. (might help sommeone).

Is there a way to have a dynamic icon for the battery like it’s the case in the default setup?

tiles:
  - label: Status
    entity: vacuum.roborock_s6_maxv
    attribute: status
    icon: mdi:robot-vacuum
  - label: Battery
    entity: vacuum.roborock_s6_maxv
    attribute: battery_level
    unit: '%'
    icon: mdi:battery
  - label: Fan speed
    entity: vacuum.roborock_s6_maxv
    attribute: fan_speed
    icon: mdi:fan
  - label: Sensor left
    entity: sensor.roborock_s6_maxv_sensor_dirty_left
    multiplier: 0.0002777777777777778
    unit: h
    icon: mdi:eye-outline
    precision: 1
    hold_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        entity_id: vacuum.roborock_s6_maxv
        command: reset_consumable
        params: sensor_dirty_time
  - label: Filter left
    entity: sensor.roborock_s6_maxv_filter_left
    multiplier: 0.0002777777777777778
    unit: h
    icon: mdi:air-filter
    precision: 1
    hold_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        entity_id: vacuum.roborock_s6_maxv
        command: reset_consumable
        params: filter_work_time
  - label: Main brush left
    entity: sensor.roborock_s6_maxv_main_brush_left
    multiplier: 0.0002777777777777778
    unit: h
    icon: mdi:brush
    precision: 1
    hold_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        entity_id: vacuum.roborock_s6_maxv
        command: reset_consumable
        params: main_brush_work_time
  - label: Side brush left
    entity: sensor.roborock_s6_maxv_side_brush_left
    multiplier: 0.0002777777777777778
    unit: h
    icon: mdi:brush
    precision: 1
    hold_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        entity_id: vacuum.roborock_s6_maxv
        command: reset_consumable
        params: side_brush_work_time
2 Likes

Nicely done :+1: You can also double-click “play” button to retrieve autogenerated config, it will be printed in browser’s console (it is almost exactly the same as your, the only thing that is missing are translations, but they are not required for English :wink: )

Currently it’s not possible to have a dynamic icon, but I plan to add this feature

2 Likes

I like your approach :smiley:

1 Like

What’s the best way to have this card display the map of a valetudo robot?
Still ICantBelieveItsNotValetudo?

Yup, I don’t really want to parse raw map data…

You can check out this issue:

Is this specifically for Valetudo RE or also the original Valetudo?
And doesn’t that also rely on valetudo-mapper (which is a fork of ICantBelieveItsNotValetudo)?

I haven’t tried it with original Valetudo, so you have to check it out by yourself. Yes, it relies on valetudo-mapper, my suggestion was to check out controls section

Ah allright, thanks :slight_smile:

Hey guys! I am having a problem with this card. I am using a Xiaomi Roborock S5 Max vacuum with xiaomi-miot-auto integration on home assistant 2022.3.5 running on a raspberry pi 4 4/32gb. I generated my config using the generator on the github page. The problem is that the card is basically useless because the buttons are unresponsive. Only the map controls work. Here is the card’s config: type: custom:xiaomi-vacuum-map-cardentity: vacuum.roborock_s5_max_a_szolga_rob - Pastebin.com I really like the look of the card and want to use it and definitely will buy you some coffee when this error is resolved. Thank you for your time!

Welcome to the forum, Elod :wave:t3:

type: custom:xiaomi-vacuum-map-card
entity: vacuum.roborock_s5_max_a_szolga_robot_cleaner
map_source:
  camera: camera.xiaomi_cloud_map_extractor
calibration_source:
  camera: true
map_modes:
  - template: vacuum_goto
  - template: vacuum_clean_zone
  - template: vacuum_clean_segment
    predefined_selections:
      - id: 20
        label:
          text: Előszoba
          x: 24925
          'y': 22825
          offset_y: 35
        icon:
          name: mdi:broom
          x: 24925
          'y': 22825
      - id: 24
        label:
          text: Imola
          x: 21825
          'y': 22025
          offset_y: 35
        icon:
          name: mdi:broom
          x: 21825
          'y': 22025
      - id: 18
        label:
          text: Előd
          x: 28350
          'y': 21350
          offset_y: 35
        icon:
          name: mdi:broom
          x: 28350
          'y': 21350
      - id: 21
        label:
          text: Konyha
          x: 28325
          'y': 24500
          offset_y: 35
        icon:
          name: mdi:broom
          x: 28325
          'y': 24500
      - id: 25
        label:
          text: Nappali
          x: 28525
          'y': 26575
          offset_y: 35
        icon:
          name: mdi:broom
          x: 28525
          'y': 26575
      - id: 16
        label:
          text: Anya és Apa
          x: 21675
          'y': 26950
          offset_y: 35
        icon:
          name: mdi:broom
          x: 21675
          'y': 26950
      - id: 17
        label:
          text: Fürdőszoba
          x: 24975
          'y': 27300
          offset_y: 35
        icon:
          name: mdi:broom
          x: 24975
          'y': 27300
      - id: 19
        label:
          text: Kamra
          x: 28000
          'y': 28550
          offset_y: 35
        icon:
          name: mdi:broom
          x: 28000
          'y': 28550
      - id: 22
        label:
          text: Budi
          x: 30475
          'y': 28775
          offset_y: 35
        icon:
          name: mdi:broom
          x: 30475
          'y': 28775

If using id’s where did you put the Outline data to?

Compare your config closely with the demo config. Note in particular lines 33 to 67.

1 Like

@Elod044, the problem is that xiaomi-miot-auto integration is not supported out of the box, because it uses different service calls for different models.

To make it work you have 2 solutions:

  1. Switch to built-in miio integration (it supports your model)
  2. Configure card manually to make it work with xiaomi-miot-auto (guide: issue #251)

@Tamsy template vacuum_clean_segment uses outlines just for rendering, cleaning is done by id, so it’s perfectly fine to skip outline in config

2 Likes