Vacuum Interactive Map Card

Thankyou! I never scrolled down enough on documentation to see you could change colours!!

Got it sorted

1 Like

Hello all.

Im new on forum. So hope im posting in correct place.

Im using Vacuum Map Card.
I use Roborock S8.
I got working mop mode change in card using service call(vacuum.send_command) and sending parameters 301-303.
Does anyone know how to change mop intensity modes. What parameters i need to use?

Use this integration, it should work out of the box

Hello Piotr.

I am using Roborock integration from Hacks.
But I seem not find any documentation how to get mop intensity modes changed.
I did get mop modes button working by changing code little in vacuum map card.

  - menu_id: mop_mode
    icon: mdi:map-marker-path
    label: Standard
    conditions:
      - entity: vacuum.roborock_s8
        attribute: mop_mode
        value: standard
    tooltip: Change mop route
    tap_action:
      action: call-service
      service: vacuum.send_command
      target:
        entity_id: vacuum.roborock_s8
      service_data:
        command: set_mop_mode
        params: 300
  - menu_id: mop_mode
    icon: mdi:map-marker-path
    label: Deep
    conditions:
      - entity: vacuum.roborock_s8
        attribute: mop_mode
        value: deep
    tooltip: Change mop route
    tap_action:
      action: call-service
      service: vacuum.send_command
      target:
        entity_id: vacuum.roborock_s8
      service_data:
        command: set_mop_mode
        params: 301
  - menu_id: mop_mode
    icon: mdi:map-marker-path
    label: Deep+
    conditions:
      - entity: vacuum.roborock_s8
        attribute: mop_mode
        value: deep_plus
    tooltip: Change mop route
    tap_action:
      action: call-service
      service: vacuum.send_command
      target:
        entity_id: vacuum.roborock_s8
      service_data:
        command: set_mop_mode
        params: 303

Mop mode and water box mode menus should be generated automatically when appropriate entities are available. Have you chosen the matching vacuum platform?

1 Like

It did not work for me first time when I choose vacuum platform. Thatā€™s why I went with ā€œsend commandā€ platform. Now I reinstall all from beginning. It works now when choose correct vacuum platform.

Thank you very much for your help.

1 Like

Hopefully someone can point me in the right direction. Iā€™m having an issue with setting up a predefined point. I set up my own zones and those are working fine, and I can send the vacuum to a spot using the manual point, however when I try to use the predefined point I set up I get a popup saying ā€œNo selection providedā€. Iā€™m using the Hypfer/Valetudo integration. Hereā€™s the config:

  - name: Empty Spot
    icon: mdi:map-marker
    run_immediately: false
    coordinates_rounding: true
    coordinates_to_meters_divider: 100
    selection_type: PREDEFINED_POINT
    max_selections: 5
    repeats_type: NONE
    max_repeats: 5
    service_call_schema:
      service: mqtt.publish
      evaluate_data_as_template: true
      service_data:
        topic: broadway/mainfloor-roborock/GoToLocationCapability/go/set
        payload: '{ "coordinates": {  "x": [[point_x]], "y": [[point_y]]  }  }'
    predefined_selections:
      - position:
          - 2380
          - 2800
        label:
          text: Empty Spot
          x: 2380
          'y': 2800
          offset_y: 30
        icon:
          name: mdi:broom
          x: 2380
          'y': 2800

Iā€™ve even tried replacing [[point_x]] and [[point_y]] with the actual coordinates and still get the same error. Done some searching and donā€™t see anyone else with the same issue so totally stumped here.

I assume you have selected the point on the map?

Ah, Iā€™m an idiot! Knew it had to be something simple. I was just selecting Empty Spot from the drop down and hitting the go button. Just selected it and tried again and it works now. Thanks for the fast response!

1 Like

Is it possible to select and run favourites from the Zone selection dropdown?
I tried adding 2 favourites to the code and call to run them by pressing the button, but it does not seem to work. Thought it would work with run_immidiately: true

    map_modes:
      - name: ZonstƤdning
        icon: mdi:select-drag
        run_immediately: false
        coordinates_rounding: true
        coordinates_to_meters_divider: 1000
        selection_type: MANUAL_RECTANGLE
        max_selections: 20
        repeats_type: EXTERNAL
        max_repeats: 3
        service_call_schema:
          service: dreame_vacuum.vacuum_clean_zone
          service_data:
            zone: '[[selection]]'
            repeats: '[[repeats]]'
            entity_id: '[[entity_id]]'
        predefined_selections: []
        variables: {}
      - name: SegmentstƤdning
        icon: mdi:map-marker-plus
        run_immediately: false
        coordinates_rounding: true
        coordinates_to_meters_divider: 1000
        selection_type: MANUAL_POINT
        max_selections: 999
        repeats_type: EXTERNAL
        max_repeats: 3
        service_call_schema:
          service: dreame_vacuum.vacuum_clean_spot
          service_data:
            points: '[[selection]]'
            repeats: '[[repeats]]'
            entity_id: '[[entity_id]]'
        predefined_selections: []
        variables: {}
      - name: Moppa
        icon: mdi:water
        run_immediately: true
        service_call_schema:
          action: call-service
          service: button.press
          service_data: {}
          target:
            entity_id: button.robotdammsugare_shortcut_2
      - name: Moppning efter sopning
        icon: mdi:water-plus
        run_immediately: true
        service_call_schema:
          action: call-service
          service: button.press
          service_data: {}
          target:
            entity_id: button.robotdammsugare_shortcut_3
   

Is this possible?

And is it possible to change the color of only one of the icons (Play, Pause, Stop) with something like this?

    card_mod:
      style: >
        :host
            .tile-play_button {
              background-color: orange!important;
            } 

run_immidiately doesnā€™t trigger service call by choosing an entry in dropdown - it is triggered on a selection of ā€œtargetā€ on a map

Something like this:

      :host
        .icons-list > :nth-child(5) > :nth-child(1) > :nth-child(1) {
          background-color: rgba(255, 173, 0, 0.8);
        }

(source)

Hmmā€¦ canā€™t make it work. Hereā€™s my complete style for card-mod, even tried !important;

    card_mod:
      style: >
        :host .icons-list > :nth-child(5) > :nth-child(1) > :nth-child(1) {
          background-color: red!important;
        }  
        ha-card {
          box-shadow: none;
          background: none;
          border-style: none;
        } {% if ( (states("sensor.robotdammsugare_main_brush_time_left")) |
        float(0) < 1 ) %}
          :host
              .tile-main_brush-wrapper {
                outline: 3px solid orange;
              } 
            }
        {% endif %}

Is it possible to use this menu/drop down for the shortcut button? Or should I try to create another dropdown?

This code should change the background color of 5th icon. Maybe you donā€™t have 5 icons?

Iā€™m not sure what you mean

True, it does work, but when the buttons are collapsed (when it is not running) it will not work properly. Is it possible to address a button specifically, like you can address a tile?

I have a few shortcuts created in the app for my vacuum. These are available via Home assistant as a button. I need a way to select a shortcut and run it. And I thought the Zone dropdown would be a good place to put it.
However I canā€™t manage to make it click the button when selecting it from the dropdown. And as you say, it is because it expects a selection on the map.

Are there any other good workarounds for this?

No, it is not possible at this moment.

You can add them as icons, is it ok?