"Tiles" bei Roborock S7-Lovelace-Cards

Hi zusammen!

Nachdem ich mein HA-Projekt einige Monate habe liegen und zustauben lassen, bin ich nun wieder voll dabei. Beim täglichen Durchwühlen der Tutorials bin ich dann schnell auf Simons Kanal gestoßen - chapeau, ganz großtartig!

Kommen wir aber nun zu einem kleinen Problem, auf das ich gestern und heute gestoßen bin und für das ich keine Lösung gefunden habe.

Ich besitze - genau wie Simon in seinem entsprechenden Video - einen “Roborock S7”. Installation und Konfiguration des HACS-Addons liefen einwandfrei, die Map ist verfügbar, etc… Problematisch wird’s erst beim Einrichten der Lovelace-Karten. Denn so wie Simon das macht, klappt’s bei mir nicht. Bis zur Definition der Räume in seinem Video kann ich alles problemlos reproduzieren, aber sobald es an die “Tiles” geht, klappt’s nicht mehr. Der Sauger meldet beim Druck noch, wo er gerade ist, aber “Fan-Speed” und “Mop-Modus” reagieren einfach nicht (die Einträge für zwei Maps hab ich gelöscht, da ich das nicht brauche).

Natürlich habe ich wie HIER beschrieben im gesamten Code die Entitäten angepasst, aber beim Klick auf die Grafiken (Mop-Modus oder Fan-Speed) passiert eben nichts, es erfolgt keine Auswahlmöglichkeit und ein Mal kam unten links eine Meldung, das “Tile sei nicht definiert” oder so. Ließ sich leider nicht reproduzieren.

Hier mal mein gesamter Code aus der Datei:

type: custom:xiaomi-vacuum-map-card
title: Roborock S7
map_source:
  camera: camera.hohli_map
calibration_source:
  camera: true
entity: vacuum.hohli
vacuum_platform: send_command
map_modes:
  - template: vacuum_clean_zone
  - template: vacuum_goto
  - name: Räume
    icon: mdi:select-drag
    selection_type: ROOM
    service_call_schema:
      service: roborock.vacuum_clean_segment
      service_data:
        segments: '[[selection]]'
      target:
        entity_id: '[[entity_id]]'
    predefined_selections:
      - id: '16'
        icon:
          name: mdi:broom
          x: 24875
          'y': 23200
        label:
          text: Wohnzimmer
          x: 24875
          'y': 23200
          offset_y: 35
        outline:
          - - 21350
            - 21250
          - - 28400
            - 21250
          - - 28400
            - 25150
          - - 21350
            - 25150
      - id: '17'
        icon:
          name: mdi:broom
          x: 20125
          'y': 23175
        label:
          text: Küche
          x: 20125
          'y': 23175
          offset_y: 35
        outline:
          - - 18800
            - 21250
          - - 21450
            - 21250
          - - 21450
            - 25100
          - - 18800
            - 25100
      - id: '18'
        icon:
          name: mdi:broom
          x: 25500
          'y': 27050
        label:
          text: Schlafzimmer
          x: 25500
          'y': 27050
          offset_y: 35
        outline:
          - - 22550
            - 24950
          - - 28450
            - 24950
          - - 28450
            - 29150
          - - 22550
            - 29150
      - id: '19'
        icon:
          name: mdi:broom
          x: 21550
          'y': 25875
        label:
          text: Flur
          x: 21550
          'y': 25875
          offset_y: 35
        outline:
          - - 20400
            - 25100
          - - 22700
            - 25100
          - - 22700
            - 26650
          - - 20400
            - 26650
      - id: '20'
        icon:
          name: mdi:broom
          x: 19675
          'y': 26650
        label:
          text: Badezimmer
          x: 19675
          'y': 26650
          offset_y: 35
        outline:
          - - 19000
            - 25900
          - - 20350
            - 25900
          - - 20350
            - 27400
          - - 19000
            - 27400
map_locked: false
two_finger_pan: false
tiles:
  - tile_id: status
    entity: vacuum.hohli
    label: Status
    attribute: status
    icon: mdi:robot-vacuum
    translations:
      starting: Starting
      charger disconnected: Charger disconnected
      idle: Idle
      remote control active: Remote control active
      cleaning: Cleaning
      returning home: Returning home
      manual mode: Manual mode
      charging: Charging
      charging problem: Charging problem
      paused: Paused
      spot cleaning: Spot cleaning
      error: Error
      shutting down: Shutting down
      updating: Updating
      docking: Docking
      going to target: Going to target
      zoned cleaning: Zoned cleaning
      segment cleaning: Segment cleaning
      emptying the bin: Emptying the bin
      charging complete: Charging complete
      device offline: Device offline
  - tile_id: battery_level
    entity: vacuum.hohli
    label: Battery
    attribute: battery_level
    icon: mdi:battery-charging-100
    unit: '%'
  - tile_id: fan_speed
    entity: vacuum.hohli
    label: Fan speed
    attribute: fan_speed
    icon: mdi:fan
    translations:
      silent: Silent
      standard: Standard
      medium: Medium
      turbo: Turbo
      auto: Auto
      gentle: Gentle
icons:
  - icon: mdi:play
    conditions:
      - entity: vacuum.hohli
        value_not: cleaning
      - entity: vacuum.hohli
        value_not: error
      - entity: vacuum.hohli
        value_not: returning
    tooltip: Start
    tap_action:
      action: call-service
      service: vacuum.start
      service_data:
        entity_id: vacuum.hohli
  - icon: mdi:pause
    conditions:
      - entity: vacuum.hohli
        value_not: docked
      - entity: vacuum.hohli
        value_not: idle
      - entity: vacuum.hohli
        value_not: error
      - entity: vacuum.hohli
        value_not: paused
    tooltip: Pause
    tap_action:
      action: call-service
      service: vacuum.pause
      service_data:
        entity_id: vacuum.hohli
  - icon: mdi:stop
    conditions:
      - entity: vacuum.hohli
        value_not: docked
      - entity: vacuum.hohli
        value_not: idle
      - entity: vacuum.hohli
        value_not: error
      - entity: vacuum.hohli
        value_not: paused
    tooltip: Stop
    tap_action:
      action: call-service
      service: vacuum.stop
      service_data:
        entity_id: vacuum.hohli
  - icon: mdi:home-map-marker
    conditions:
      - entity: vacuum.hohli
        value_not: docked
      - entity: vacuum.hohli
        value_not: returning
    tooltip: Return to base
    tap_action:
      action: call-service
      service: vacuum.return_to_base
      service_data:
        entity_id: vacuum.hohli
  - icon: mdi:target-variant
    conditions:
      - entity: vacuum.hohli
        value_not: docked
      - entity: vacuum.hohli
        value_not: error
      - entity: vacuum.hohli
        value_not: cleaning
      - entity: vacuum.hohli
        value_not: returning
    tooltip: Clean spot
    tap_action:
      action: call-service
      service: vacuum.clean_spot
      service_data:
        entity_id: vacuum.hohli
  - icon: mdi:map-marker
    tooltip: Locate
    tap_action:
      action: call-service
      service: vacuum.locate
      service_data:
        entity_id: vacuum.hohli
  - icon: mdi:fan-alert
    conditions:
      - entity: vacuum.hohli
        attribute: fan_speed
        value: 'off'
    tooltip: Change fan speed
    tap_action:
      action: call-service
      service: vacuum.set_fan_speed
      service_data:
        entity_id: vacuum.hohli
        fan_speed: silent
  - icon: mdi:fan-alert
    conditions:
      - entity: vacuum.hohli
        attribute: fan_speed
        value: silent
    tooltip: Change fan speed
    tap_action:
      action: call-service
      service: vacuum.set_fan_speed
      service_data:
        entity_id: vacuum.hohli
        fan_speed: balanced
  - icon: mdi:fan-alert
    conditions:
      - entity: vacuum.hohli
        attribute: fan_speed
        value: balanced
    tooltip: Change fan speed
    tap_action:
      action: call-service
      service: vacuum.set_fan_speed
      service_data:
        entity_id: vacuum.hohli
        fan_speed: turbo
  - icon: mdi:fan-alert
    conditions:
      - entity: vacuum.hohli
        attribute: fan_speed
        value: turbo
    tooltip: Change fan speed
    tap_action:
      action: call-service
      service: vacuum.set_fan_speed
      service_data:
        entity_id: vacuum.hohli
        fan_speed: max
  - icon: mdi:fan-alert
    conditions:
      - entity: vacuum.hohli
        attribute: fan_speed
        value: max
    tooltip: Change fan speed
    tap_action:
      action: call-service
      service: vacuum.set_fan_speed
      service_data:
        entity_id: vacuum.hohli
        fan_speed: max_plus
  - icon: mdi:fan-alert
    conditions:
      - entity: vacuum.hohli
        attribute: fan_speed
        value: max_plus
    tooltip: Change fan speed
    tap_action:
      action: call-service
      service: vacuum.set_fan_speed
      service_data:
        entity_id: vacuum.hohli
        fan_speed: custom
  - icon: mdi:fan-alert
    conditions:
      - entity: vacuum.hohli
        attribute: fan_speed
        value: custom
    tooltip: Change fan speed
    tap_action:
      action: call-service
      service: vacuum.set_fan_speed
      service_data:
        entity_id: vacuum.hohli
        fan_speed: 'off'
  - icon: mdi:fan-alert
    conditions:
      - entity: vacuum.hohli
        attribute: fan_speed
        value_not: 'off'
      - entity: vacuum.hohli
        attribute: fan_speed
        value_not: silent
      - entity: vacuum.hohli
        attribute: fan_speed
        value_not: balanced
      - entity: vacuum.hohli
        attribute: fan_speed
        value_not: turbo
      - entity: vacuum.hohli
        attribute: fan_speed
        value_not: max
      - entity: vacuum.hohli
        attribute: fan_speed
        value_not: max_plus
      - entity: vacuum.hohli
        attribute: fan_speed
        value_not: custom
    tooltip: Change fan speed
    tap_action:
      action: call-service
      service: vacuum.set_fan_speed
      service_data:
        entity_id: vacuum.hohli
        fan_speed: 'off'
  - icon: mdi:water-off
    conditions:
      - entity: vacuum.hohli
        attribute: waterBoxMode
        value: 200
    tooltip: Change mop intensity
    tap_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        command: set_water_box_custom_mode
        params: 201
      target:
        entity_id: vacuum.hohli
  - icon: mdi:wave
    conditions:
      - entity: vacuum.hohli
        attribute: waterBoxMode
        value: 201
    tooltip: Change mop intensity
    tap_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        command: set_water_box_custom_mode
        params: 202
      target:
        entity_id: vacuum.hohli
  - icon: mdi:waves-arrow-up
    conditions:
      - entity: vacuum.hohli
        attribute: waterBoxMode
        value: 202
    tooltip: Change mop intensity
    tap_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        command: set_water_box_custom_mode
        params: 203
      target:
        entity_id: vacuum.hohli
  - icon: mdi:waves
    conditions:
      - entity: vacuum.hohli
        attribute: waterBoxMode
        value: 203
    tooltip: Change mop intensity
    tap_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        command: set_water_box_custom_mode
        params: 200
      target:
        entity_id: vacuum.hohli
  - icon: mdi:waves
    conditions:
      - entity: vacuum.hohli
        attribute: waterBoxMode
        value_not: 200
      - entity: vacuum.hohli
        attribute: waterBoxMode
        value_not: 201
      - entity: vacuum.hohli
        attribute: waterBoxMode
        value_not: 202
      - entity: vacuum.hohli
        attribute: waterBoxMode
        value_not: 203

Ja, mein Sauger heißt wirklich Hohli. :grinning: Und es ist (bis auf die Raumdefinition und die Entitäten) exakt der Code, den Simon in seinem Blog geposted hat. Glaube ich zumindest…

Ich würde mich riesig freuen, wenn Ihr mir dabei helfen könntet, den Fehler zu finden, denn in den Kommentaren unter Simons Video gibt’s ja zig Meldungen á la “funzt wunderbar”.

1000 Dank und schöne Feiertage!
Brooty

:crayon:by HarryP: Codezeilen formatiert

Hallo,

ich habe das gleiche Probleme. Installation des Roborock S7 hat funktioniert, Karte und Räume werden korrekt angezeigt.

Die Tiles funktionieren allerdings nicht korrekt, mit dem Fan-Speed-Tile lässt sich die Saugstärke zumindest auf off stellen, die Mop-Modus-Tile reagiert allerdings gar nicht. Die Icons verändern sich für beide nicht.

Kennt jemand vielleicht eine Lösung?

Schaut mal ob es unter Dienste mit dem Dienst vacuum.set_fan_speed und eurer Staubsauger Entität funktioniert die verschiedenen modi zu setzen. Man kann ja auch die modi in der Entität vacuum.xxx unter Zustände in den Entwicklerwerkzeugen auslesen. Am besten die modi über die Roborock App ändern und dann in den Zuständen in den Entwicklerwerkzeugen von HA auslesen. Diese dann auch für die Tiles verwenden

1 „Gefällt mir“

Hi,

ich hatte meine ich anfangs die gleichen Probleme, konnte es aber im Endeffekt lösen, nur leider weiß ich nicht mehr genau wie. Ich habe aber eine funktionierende Variante mit den gleichen Funktionalitäten, nur etwas anderes aufgebaut. Hoffe es hilft weiter…

type: custom:xiaomi-vacuum-map-card
map_source:
  camera: camera.roborock_s7_map
calibration_source:
  camera: true
entity: vacuum.roborock_s7
vacuum_platform: send_command
map_modes:
  - template: vacuum_clean_zone
    name: Zonenreinigung
  - template: vacuum_goto
tiles:
  - tile_id: status
    entity: vacuum.roborock_s7
    label: Status
    attribute: status
    icon: mdi:robot-vacuum
    translations:
      starting: Starting
      charger disconnected: Charger disconnected
      idle: Idle
      remote control active: Remote control active
      cleaning: Cleaning
      returning home: Returning home
      manual mode: Manual mode
      charging: Charging
      charging problem: Charging problem
      paused: Paused
      spot cleaning: Spot cleaning
      error: Error
      shutting down: Shutting down
      updating: Updating
      docking: Docking
      going to target: Going to target
      zoned cleaning: Zoned cleaning
      segment cleaning: Segment cleaning
      emptying the bin: Emptying the bin
      charging complete: Charging complete
      device offline: Device offline
  - tile_id: battery_level
    entity: vacuum.roborock_s7
    label: Akkustand
    attribute: battery_level
    icon: mdi:battery-charging-100
    unit: '%'
  - tile_id: fan_speed
    entity: vacuum.roborock_s7
    label: Saugleistung
    attribute: fan_speed
    icon: mdi:fan
    translations:
      silent: Silent
      standard: Standard
      medium: Medium
      turbo: Turbo
      auto: Auto
      gentle: Gentle
  - tile_id: mop_intensity
    entity: vacuum.roborock_s7
    label: Wischintensität
    attribute: mop_intensity
    icon: mdi:water
    translations:
      'off': Aus
      mild: Sanft
      moderate: Mittel
      intense: Intensiv
  - tile_id: mop_mode
    entity: vacuum.roborock_s7
    label: Wischroute
    attribute: mop_mode
    icon: mdi:view-dashboard
    translations:
      standard: Standard
      deep: Gründlich
      deep_plus: Gründlich+
icons:
  - icon: mdi:play
    conditions:
      - entity: vacuum.roborock_s7
        value_not: cleaning
      - entity: vacuum.roborock_s7
        value_not: error
      - entity: vacuum.roborock_s7
        value_not: returning
    tooltip: Start
    tap_action:
      action: call-service
      service: vacuum.start
      service_data:
        entity_id: vacuum.roborock_s7
  - icon: mdi:pause
    conditions:
      - entity: vacuum.roborock_s7
        value_not: docked
      - entity: vacuum.roborock_s7
        value_not: idle
      - entity: vacuum.roborock_s7
        value_not: error
      - entity: vacuum.roborock_s7
        value_not: paused
    tooltip: Pause
    tap_action:
      action: call-service
      service: vacuum.pause
      service_data:
        entity_id: vacuum.roborock_s7
  - icon: mdi:stop
    conditions:
      - entity: vacuum.roborock_s7
        value_not: docked
      - entity: vacuum.roborock_s7
        value_not: idle
      - entity: vacuum.roborock_s7
        value_not: error
      - entity: vacuum.roborock_s7
        value_not: paused
    tooltip: Stop
    tap_action:
      action: call-service
      service: vacuum.stop
      service_data:
        entity_id: vacuum.roborock_s7
  - icon: mdi:home-map-marker
    conditions:
      - entity: vacuum.roborock_s7
        value_not: docked
      - entity: vacuum.roborock_s7
        value_not: returning
    tooltip: Return to base
    tap_action:
      action: call-service
      service: vacuum.return_to_base
      service_data:
        entity_id: vacuum.roborock_s7
  - icon: mdi:target-variant
    conditions:
      - entity: vacuum.roborock_s7
        value_not: docked
      - entity: vacuum.roborock_s7
        value_not: error
      - entity: vacuum.roborock_s7
        value_not: cleaning
      - entity: vacuum.roborock_s7
        value_not: returning
    tooltip: Clean spot
    tap_action:
      action: call-service
      service: vacuum.clean_spot
      service_data:
        entity_id: vacuum.roborock_s7
  - icon: mdi:map-marker
    tooltip: Locate
    tap_action:
      action: call-service
      service: vacuum.locate
      service_data:
        entity_id: vacuum.roborock_s7
  - menu_id: fan_speed
    label: Aus
    icon: mdi:fan-off
    conditions:
      - entity: vacuum.roborock_s7
        attribute: fan_speed
        value: 'off'
    tooltip: Saugleistung - Aus
    tap_action:
      action: call-service
      service: vacuum.set_fan_speed
      service_data:
        entity_id: vacuum.roborock_s7
        fan_speed: 'off'
  - menu_id: fan_speed
    label: Ruhig
    icon: mdi:fan-speed-1
    conditions:
      - entity: vacuum.roborock_s7
        attribute: fan_speed
        value: quiet
    tooltip: Saugleistung - Ruhig
    tap_action:
      action: call-service
      service: vacuum.set_fan_speed
      service_data:
        entity_id: vacuum.roborock_s7
        fan_speed: quiet
  - menu_id: fan_speed
    label: Ausgeglichen
    icon: mdi:fan-speed-2
    conditions:
      - entity: vacuum.roborock_s7
        attribute: fan_speed
        value: balanced
    tooltip: Saugleistung - Ausgeglichen
    tap_action:
      action: call-service
      service: vacuum.set_fan_speed
      service_data:
        entity_id: vacuum.roborock_s7
        fan_speed: balanced
  - menu_id: fan_speed
    label: Turbo
    icon: mdi:fan-speed-3
    conditions:
      - entity: vacuum.roborock_s7
        attribute: fan_speed
        value: turbo
    tooltip: Saugleistung - Turbo
    tap_action:
      action: call-service
      service: vacuum.set_fan_speed
      service_data:
        entity_id: vacuum.roborock_s7
        fan_speed: turbo
  - menu_id: fan_speed
    label: Max
    icon: mdi:fan-chevron-up
    conditions:
      - entity: vacuum.roborock_s7
        attribute: fan_speed
        value: max
    tooltip: Saugleistung - Max
    tap_action:
      action: call-service
      service: vacuum.set_fan_speed
      service_data:
        entity_id: vacuum.roborock_s7
        fan_speed: max
  - icon: mdi:fan-off
    conditions:
      - entity: vacuum.roborock_s7
        attribute: fan_speed
        value_not: 'off'
      - entity: vacuum.roborock_s7
        attribute: fan_speed
        value_not: quiet
      - entity: vacuum.roborock_s7
        attribute: fan_speed
        value_not: balanced
      - entity: vacuum.roborock_s7
        attribute: fan_speed
        value_not: turbo
      - entity: vacuum.roborock_s7
        attribute: fan_speed
        value_not: max
    tooltip: Saugleistung
    tap_action:
      action: call-service
      service: vacuum.set_fan_speed
      service_data:
        entity_id: vacuum.roborock_s7
        fan_speed: quit
  - menu_id: mop_intensity
    label: Aus
    icon: mdi:water-off
    conditions:
      - entity: vacuum.roborock_s7
        attribute: mop_intensity
        value: 'off'
    tooltip: Wischintensität - Aus
    tap_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        command: set_water_box_custom_mode
        params: 200
      target:
        entity_id: vacuum.roborock_s7
  - menu_id: mop_intensity
    label: Sanft
    icon: mdi:water-outline
    conditions:
      - entity: vacuum.roborock_s7
        attribute: mop_intensity
        value: mild
    tooltip: Wischintensität - Sanft
    tap_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        command: set_water_box_custom_mode
        params: 201
      target:
        entity_id: vacuum.roborock_s7
  - menu_id: mop_intensity
    label: Mittel
    icon: mdi:water
    conditions:
      - entity: vacuum.roborock_s7
        attribute: mop_intensity
        value: moderate
    tooltip: Wischintensität - Mittel
    tap_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        command: set_water_box_custom_mode
        params: 202
      target:
        entity_id: vacuum.roborock_s7
  - menu_id: mop_intensity
    label: Intensiv
    icon: mdi:water-plus
    conditions:
      - entity: vacuum.roborock_s7
        attribute: mop_intensity
        value: intense
    tooltip: Wischintensität - Intensiv
    tap_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        command: set_water_box_custom_mode
        params: 203
      target:
        entity_id: vacuum.roborock_s7
  - icon: mdi:water-off
    conditions:
      - entity: vacuum.roborock_s7
        attribute: mop_intensity
        value_not: 'off'
      - entity: vacuum.roborock_s7
        attribute: mop_intensity
        value_not: mild
      - entity: vacuum.roborock_s7
        attribute: mop_intensity
        value_not: moderate
      - entity: vacuum.roborock_s7
        attribute: mop_intensity
        value_not: intense
    tooltip: Wischintensität
    tap_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        command: set_water_box_custom_mode
        params: 200
      target:
        entity_id: vacuum.roborock_s7
  - menu_id: mop_mode
    label: Standard
    icon: mdi:water-outline
    conditions:
      - entity: vacuum.roborock_s7
        attribute: mop_mode
        value: standard
    tooltip: Wischroute - Standard
    tap_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        command: set_mop_mode
        params: 300
      target:
        entity_id: vacuum.roborock_s7
  - menu_id: mop_mode
    label: Gründlich
    icon: mdi:water
    conditions:
      - entity: vacuum.roborock_s7
        attribute: mop_mode
        value: deep
    tooltip: Wischroute - Gründlich
    tap_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        command: set_mop_mode
        params: 301
      target:
        entity_id: vacuum.roborock_s7
  - menu_id: mop_mode
    label: Gründlich+
    icon: mdi:water-plus
    conditions:
      - entity: vacuum.roborock_s7
        attribute: mop_mode
        value: deep_plus
    tooltip: Wischroute - Gründlich+
    tap_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        command: set_mop_mode
        params: 303
      target:
        entity_id: vacuum.roborock_s7
  - icon: mdi:view-dashboard
    conditions:
      - entity: vacuum.roborock_s7
        attribute: mop_mode
        value_not: standard
      - entity: vacuum.roborock_s7
        attribute: mop_mode
        value_not: deep
      - entity: vacuum.roborock_s7
        attribute: mop_mode
        value_not: deep_plus
    tooltip: Wischroute
    tap_action:
      action: call-service
      service: vacuum.send_command
      service_data:
        command: set_mop_mode
        params: 300
      target:
        entity_id: vacuum.roborock_s7

Vielen Dank für die wertvollen Hinweise! Konnte meinen Roboter so endlich einbinden.

1 „Gefällt mir“