Erfahre, wie du deine Roborock Saugroboter in Home Assistant einrichten kannst, sowohl über die Core-Integration als auch über die HACS-Variante. Dabei schauen wir uns die Unterschiede an und legen sogar ein paar komplexe Automationen an, die so keine andere Plattform ermöglichen könnte!
Inhaltsverzeichnis
Voraussetzungen
Home Assistant
Mindestens die Version 2023.5 von Home Assistant muss schon installiert sein, auf welcher Hardware spielt keine Rolle.
HACS
Für die benutzerdefinierte Integration von Roborock (2ter Teil des Videos), benötigst du zum Installieren den Home Assistant Community Store.
Empfohlenes Vorwissen
Links / Repos
1ster Teil des Videos (Core-Integration)
2ter Teil des Videos (HACS)
Zum Hinzufügen von Repos, navigiere in deinem Home Assistant Frontend zu HACS (Sidebar) -> Integrationen, klicke auf die 3 Punkte oben rechts ... > Benutzerdefinierte Repositories.
| Home Assistant Roborock | https://github.com/humbertogontijo/homeassistant-roborock |
Code-Snippets
Template-Teil der Karte
Dieser Code ersetzt im Video den teil - template: Vacuum_clean_segment der Karte, da sonst die Raumreinigung nicht klappt.
- name: Wohnung EG
icon: mdi:select-drag
selection_type: ROOM
service_call_schema:
service: roborock.vacuum_clean_segment
service_data:
segments: '[[selection]]'
target:
entity_id: '[[entity_id]]'
Mein gesamter Karten-Code
Denk bitte daran, die Entität camera.roborock_s7_map (Karte) und vacuum.roborock_s7 (Saugroboter) gegen deine eigenen zu tauschen 🙂
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
- template: vacuum_goto
- name: Wohnung EG
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: 21775
'y': 31875
label:
text: Hausflur
x: 21775
'y': 31875
offset_y: 35
outline:
- - 16400
- 30350
- - 27150
- 30350
- - 27150
- 33400
- - 16400
- 33400
- id: '17'
icon:
name: mdi:broom
x: 18225
'y': 27525
label:
text: Schlafzimmer
x: 18225
'y': 27525
offset_y: 35
outline:
- - 16300
- 25000
- - 20150
- 25000
- - 20150
- 30050
- - 16300
- 30050
- id: '18'
icon:
name: mdi:broom
x: 22275
'y': 27825
label:
text: Wohnzimmer
x: 22275
'y': 27825
offset_y: 35
outline:
- - 20200
- 25050
- - 24350
- 25050
- - 24350
- 30600
- - 20200
- 30600
- id: '19'
icon:
name: mdi:broom
x: 26400
'y': 29500
label:
text: Flur
x: 26400
'y': 29500
offset_y: 35
outline:
- - 24350
- 28650
- - 28450
- 28650
- - 28450
- 30350
- - 24350
- 30350
- id: '20'
icon:
name: mdi:broom
x: 25850
'y': 26925
label:
text: Küche
x: 25850
'y': 26925
offset_y: 35
outline:
- - 24300
- 25150
- - 27400
- 25150
- - 27400
- 28700
- - 24300
- 28700
- id: '21'
icon:
name: mdi:broom
x: 28500
'y': 26875
label:
text: Bad
x: 28500
'y': 26875
offset_y: 35
outline:
- - 27700
- 25150
- - 29300
- 25150
- - 29300
- 28600
- - 27700
- 28600
- id: '22'
icon:
name: mdi:broom
x: 29650
'y': 31725
label:
text: Eingangsbereich
x: 29650
'y': 31725
offset_y: 35
outline:
- - 27100
- 28300
- - 32200
- 28300
- - 32200
- 35150
- - 27100
- 35150
- id: '24'
icon:
name: mdi:broom
x: 22700
'y': 33550
label:
text: Waschkeller
x: 22700
'y': 33550
offset_y: 35
outline:
- - 21450
- 31750
- - 23950
- 31750
- - 23950
- 35350
- - 21450
- 35350
- id: '25'
icon:
name: mdi:broom
x: 17425
'y': 33525
label:
text: Keller 2
x: 17425
'y': 33525
offset_y: 35
outline:
- - 16700
- 31700
- - 18150
- 31700
- - 18150
- 35350
- - 16700
- 35350
- id: '26'
icon:
name: mdi:broom
x: 20300
'y': 33450
label:
text: Keller 1
x: 20300
'y': 33450
offset_y: 35
outline:
- - 19500
- 31650
- - 21100
- 31650
- - 21100
- 35250
- - 19500
- 35250
map_locked: true
two_finger_pan: false
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: Battery
attribute: battery_level
icon: mdi:battery-charging-100
unit: '%'
- tile_id: fan_speed
entity: vacuum.roborock_s7
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.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
- icon: mdi:fan-alert
conditions:
- entity: vacuum.roborock_s7
attribute: fan_speed
value: 'off'
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roborock_s7
fan_speed: silent
- icon: mdi:fan-alert
conditions:
- entity: vacuum.roborock_s7
attribute: fan_speed
value: silent
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roborock_s7
fan_speed: balanced
- icon: mdi:fan-alert
conditions:
- entity: vacuum.roborock_s7
attribute: fan_speed
value: balanced
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roborock_s7
fan_speed: turbo
- icon: mdi:fan-alert
conditions:
- entity: vacuum.roborock_s7
attribute: fan_speed
value: turbo
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roborock_s7
fan_speed: max
- icon: mdi:fan-alert
conditions:
- entity: vacuum.roborock_s7
attribute: fan_speed
value: max
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roborock_s7
fan_speed: max_plus
- icon: mdi:fan-alert
conditions:
- entity: vacuum.roborock_s7
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.roborock_s7
fan_speed: custom
- icon: mdi:fan-alert
conditions:
- entity: vacuum.roborock_s7
attribute: fan_speed
value: custom
tooltip: Change fan speed
tap_action:
action: call-service
service: vacuum.set_fan_speed
service_data:
entity_id: vacuum.roborock_s7
fan_speed: 'off'
- icon: mdi:fan-alert
conditions:
- entity: vacuum.roborock_s7
attribute: fan_speed
value_not: 'off'
- entity: vacuum.roborock_s7
attribute: fan_speed
value_not: silent
- 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
- entity: vacuum.roborock_s7
attribute: fan_speed
value_not: max_plus
- entity: vacuum.roborock_s7
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.roborock_s7
fan_speed: 'off'
- icon: mdi:home-floor-1
tooltip: Karte - EG
tap_action:
action: call-service
service: roborock.vacuum_load_multi_map
service_data:
entity_id: vacuum.roborock_s7
map_flag: 1
- icon: mdi:home-floor-2
tooltip: Karte - 2. OG
tap_action:
action: call-service
service: roborock.vacuum_load_multi_map
service_data:
entity_id: vacuum.roborock_s7
map_flag: 0
- icon: mdi:water-off
conditions:
- entity: vacuum.roborock_s7
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.roborock_s7
- icon: mdi:wave
conditions:
- entity: vacuum.roborock_s7
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.roborock_s7
- icon: mdi:waves-arrow-up
conditions:
- entity: vacuum.roborock_s7
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.roborock_s7
- icon: mdi:waves
conditions:
- entity: vacuum.roborock_s7
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.roborock_s7
- icon: mdi:waves
conditions:
- entity: vacuum.roborock_s7
attribute: waterBoxMode
value_not: 200
- entity: vacuum.roborock_s7
attribute: waterBoxMode
value_not: 201
- entity: vacuum.roborock_s7
attribute: waterBoxMode
value_not: 202
- entity: vacuum.roborock_s7
attribute: waterBoxMode
value_not: 203
Dashboard
Der Code für die Vertikaler-Stack Karte mit den Buttons, die diverse Automationen starten.

type: vertical-stack
cards:
- type: horizontal-stack
cards:
- show_name: true
show_icon: true
type: button
tap_action:
action: call-service
service: automation.trigger
target:
entity_id: automation.vac_wohnung_saugen
data:
skip_condition: true
entity: vacuum.roborock_s7
name: Wohnung saugen
hold_action:
action: none
- show_name: true
show_icon: true
type: button
tap_action:
action: call-service
service: automation.trigger
target:
entity_id: automation.vac_wohnung_saugen
data:
skip_condition: true
entity: vacuum.roborock_s7
name: Wohnung saugen
hold_action:
action: none
- type: horizontal-stack
cards:
- show_name: true
show_icon: true
type: button
tap_action:
action: call-service
service: automation.trigger
target:
entity_id: automation.vac_wohnbereich_saugen
data:
skip_condition: true
entity: vacuum.roborock_s7
name: Wohnbereich saugen
hold_action:
action: none
- show_name: true
show_icon: true
type: button
tap_action:
action: call-service
service: automation.trigger
target:
entity_id: automation.vac_wohnbereich_kombifahrt
data:
skip_condition: true
entity: vacuum.roborock_s7
name: Wohnbereich Kombi
hold_action:
action: none
icon: mdi:robot-vacuum-alert
- type: horizontal-stack
cards:
- show_name: true
show_icon: true
type: button
tap_action:
action: call-service
service: automation.trigger
target:
entity_id: automation.vac_badezimmer_saugen
data:
skip_condition: true
entity: vacuum.roborock_s7
name: Bad Saugen
hold_action:
action: none
- show_name: true
show_icon: true
type: button
tap_action:
action: call-service
service: automation.trigger
target:
entity_id: automation.vac_clean_bath
data:
skip_condition: true
entity: vacuum.roborock_s7
name: Bad Tiefenreinigung
hold_action:
action: none
icon: mdi:robot-vacuum-alert
Automationen
Einstellwerte
Quelle: https://community.home-assistant.io/t/s7-mop-control/317393/44
vacuum_mode Werte (Saugstärke)
| silent | 101 |
| balanced | 102 |
| turbo | 103 |
| max | 104 |
| off (Kann man bei nur Wischen setzen) | 105 |
| custom | 106 |
mopping mode Werte (Wischintensität)
| off | 200 |
| low | 201 |
| medium | 202 |
| high | 203 |
| custom | 204 |
mopping route Werte (Wischroute)
| standard | 300 |
| deep | 301 |
| custom | 302 |
| deep+ | 303 |
Wohnbereich saugen (einfach)
Hier werden die Räume anhand ihrer Nummern angegeben, praktisch zum kopieren 😉
alias: VAC - Wohnbereich saugen
description: ""
trigger: []
condition: []
action:
- service: vacuum.send_command
data:
command: set_water_box_custom_mode
params: 200
target:
entity_id: vacuum.roborock_s7
alias: Kein Mop
- service: vacuum.send_command
data:
command: set_custom_mode
params: 104
target:
entity_id: vacuum.roborock_s7
alias: Vac Mode Max
- service: roborock.vacuum_clean_segment
data:
segments:
- "18"
- "20"
- "19"
target:
entity_id: vacuum.roborock_s7
mode: single
Bad Saugen → Andocken → Bad Wischen
Hier wir der Bereich durch ein Segment festgelegt, ein Raum wäre natürlich genau wie oben auch möglich.
alias: VAC - Badezimmer Tiefenreinigung
description: ""
trigger: []
condition: []
action:
- service: vacuum.send_command
data:
command: set_water_box_custom_mode
params: 200
target:
entity_id: vacuum.roborock_s7
alias: Kein Mop
- service: vacuum.send_command
data:
command: set_custom_mode
params: 104
target:
entity_id: vacuum.roborock_s7
alias: Vac Mode Max
- service: vacuum.send_command
data:
command: app_zoned_clean
params:
- - 27567
- 24994
- 29479
- 28633
- 2
target:
entity_id: vacuum.roborock_s7
alias: Fahr 2x Badezimmer
- wait_for_trigger:
- platform: state
entity_id:
- vacuum.roborock_s7
to: docked
for:
hours: 0
minutes: 1
seconds: 0
timeout:
hours: 0
minutes: 15
seconds: 0
milliseconds: 0
continue_on_timeout: false
- service: vacuum.send_command
data:
command: set_water_box_custom_mode
params: 202
target:
entity_id: vacuum.roborock_s7
alias: Mop Mode "medium"
- service: vacuum.send_command
data:
command: set_mop_mode
params: 303
target:
entity_id: vacuum.roborock_s7
alias: Mop Route "Deep+"
- service: vacuum.send_command
data:
command: app_zoned_clean
params:
- - 27567
- 24994
- 29479
- 28633
- 2
target:
entity_id: vacuum.roborock_s7
alias: Fahr 2x Badezimmer
mode: single
Hausflur reinigen – mit Benachrichtigung & TTS
alias: VAC - Hausflur Tiefenreinigung
description: ""
trigger: []
condition: []
action:
- service: vacuum.send_command
data:
command: set_water_box_custom_mode
params: 200
target:
entity_id: vacuum.roborock_s7
alias: Kein Mop
enabled: true
- service: vacuum.send_command
data:
command: set_custom_mode
params: 104
target:
entity_id: vacuum.roborock_s7
alias: Vac Mode Max
enabled: true
- service: vacuum.send_command
data:
command: app_zoned_clean
params:
- - 15943
- 30246
- 29724
- 35539
- 2
target:
entity_id: vacuum.roborock_s7
alias: Fahr 2x Hausflur
enabled: true
- wait_for_trigger:
- platform: state
entity_id:
- vacuum.roborock_s7
to: returning
for:
hours: 0
minutes: 0
seconds: 0
timeout:
hours: 2
minutes: 0
seconds: 0
milliseconds: 0
alias: Max 2 Stunden warten auf Rückfahrt
- service: notify.notify
data:
title: Tür Öffnen!!!
message: Der Saugroboter fährt zurück, bitte die Wohnungstür öffnen!
- service: tts.google_translate_say
data:
cache: true
entity_id: media_player.homepod_mini_schlafzimmer
message: Bitte die Wohnungstüre öffnen, um Saugroboter reinfahren zu lassen
language: de
- wait_for_trigger:
- platform: state
entity_id:
- vacuum.roborock_s7
to: docked
for:
hours: 0
minutes: 1
seconds: 0
timeout:
hours: 0
minutes: 10
seconds: 0
milliseconds: 0
alias: Max 10 Min warten auf Ende
continue_on_timeout: false
enabled: true
- service: vacuum.send_command
data:
command: set_water_box_custom_mode
params: 203
target:
entity_id: vacuum.roborock_s7
alias: Mop Mode "high"
- service: vacuum.send_command
data:
command: set_mop_mode
params: 303
target:
entity_id: vacuum.roborock_s7
alias: Mop Route "Deep+"
- service: vacuum.send_command
data:
command: app_zoned_clean
params:
- - 15943
- 30246
- 29724
- 35539
- 1
target:
entity_id: vacuum.roborock_s7
alias: Fahr 1x Hausflur
- wait_for_trigger:
- platform: state
entity_id:
- vacuum.roborock_s7
to: returning
for:
hours: 0
minutes: 0
seconds: 0
timeout:
hours: 2
minutes: 0
seconds: 0
milliseconds: 0
alias: Max 2 Stunden warten auf Rückfahrt
- service: notify.notify
data:
title: Tür Öffnen!!!
message: Der Saugroboter fährt zurück, bitte die Wohnungstür öffnen!
- service: tts.google_translate_say
data:
cache: true
entity_id: media_player.homepod_mini_schlafzimmer
message: Bitte die Wohnungstüre öffnen, um Saugroboter reinfahren zu lassen
language: de
mode: single
Fazit
Indem man den Saugroboter in Home Assistant integriert, erhält man die Möglichkeit, den Reinigungsprozess zu automatisieren, Zeitpläne festzulegen und sogar benutzerdefinierte Reinigungsbereiche festzulegen.
Durch die Integration kann man den Saugroboter nahtlos in andere Smart Home-Abläufe und -Automatisierungen einbinden. Beispielsweise kann man ihn so programmieren, dass er automatisch mit dem Ausschalten der Lichter startet oder dass er seine Reinigungsaufgaben beginnt, sobald niemand zu Hause ist. Dadurch wird nicht nur der Komfort erhöht, sondern auch die Energieeffizienz gesteigert.
Wenn du Fragen oder Anmerkungen hast, zögere nicht, sie mir unten in den Kommentaren mitzuteilen und ich werde mein Bestes tun, um dir zu helfen. Vielen Dank fürs Zuschauen!



Hi zusammen, ich habe das Problem, dass ich keinen Raum über die Karte zum Reinigen auswählen kann. Ich hab den Roborock Qrevo Edge
Im Code der Integration bzw Karte ist es so hinterlegt:
– name: Wohnung
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:……….
Hier meckert er aber, dass roborock.vacuum_clean_segment nicht existiert.
Als separate Automation habe ich es über den Befehl
command: app_segment_clean hinbekommen dass er eine Raum ID anfährt.
Jetzt ist die Frage wie ich roborock.vacuum_clean_segment und app_segment_clean „tauschen“ kann, da der Befehl ja funktioniert.
Ich habe es so versucht:
– name: Wohnung
icon: mdi:select-drag
selection_type: ROOM
service_call_schema:
action: call-service
service: vacuum.send_command
service_data:
command: app_segment_clean
params:
– segments: „[[selection]]“
target:
entity_id: „[[entity_id]]“
predefined_selections:
Leider auch ohne erfolg. Hier kommt Fehler beim ausführen von app_segment_clean.
Kann mir jemand was dazu sagen? 🙂
Hallo, ersteinmal meinen größten Respekt für Deine tolle Seite und Deine YouTube Videos. Diese sind echt super gemacht und haben mir schon voran gebracht mit meinem Home Assistant.
Meine Frage ist:
Habe es soweit hinbekommen mit Lovelace Vacuum Map card meinen Roborock S 5 zu verbinden, meine Karte wird angezeigt, alles super.
Nun möchte ich Deinen Karten Code auf meine Wohnung anpassen.
Habe auch schon einige Räume rausgenommen, die es bei uns nicht gibt 🙂
Wie füge ich nun noch z.B die Gästetoilette hinzu?
Vielleicht ganz simpel aber bekomme es nicht hin und bin für jeden
Tipp dankbar.
Viele Grüße und einen schönen Sonntag
Alexandra
Hallo, ersteinmal meinen größten Respekt für Deine tolle Seite und Deine YouTube Videos. Diese sind echt super gemacht und haben mir schon voran gebracht mit meinem Home Assistant.
Meine Frage ist:
Habe es soweit hinbekommen mit Lovelace Vacuum Map card meinen Roborock S 5 zu verbinden, meine Karte wird angezeigt, alles super.
Nun möchte ich Deinen Karten Code auf meine Wohnung anpassen.
Habe auch schon einige Räume rausgenommen, die es bei uns nicht gibt 🙂
Wie füge ich nun noch z.B die Gästetoilette hinzu?
Vielleicht ganz simpel aber bekomme es nicht hin und bin für jeden
Tipp dankbar.
Viele Grüße und einen schönen Sonntag
Alexandra
Hallo zusammen,
das Video hat mich inspiriert ein neues Dashboard zu machen. Links ist die Karte und rechts daneben haben ich alle Räume als „input_boolean“ (Bad, Flur, …). Darunter habe ich nun einen Button „Start“ und „Andocken“ die meine Automatisierung triggern.
Jetzt habe ich folgendes Problem. In der Automatisierung habe ich wie im Video „Roborock: Vacuum clean segment“ in dem ich meine Räume angeben muss (-16 -17 -18 …). Da diese nun aber nicht mehr statisch sondern dynamisch über die „input_boolean“ gesteuert werden, habe ich noch keine Möglichkeit gefunden dies zu tun.
Hat von euch jemand eine Idee wie ich die Räume dynamisch anhand eines „input_boolean“ einfügen kann.
Vielen Dank.
Grüße Michael
Hallo an Alle,
wie bekommt man die Auswahl der Saugvorgänge (1-3) immer mit in die Direktauswahl?
Bei „Zone Clean Up“ ist das immer mit dabei, aber bei den Räumen nicht.
Hat jmd. eine Idee?
Danke im Voraus.
Genial!
Danke für deinen Input.
Ich konnte so meine Reinigungsprogramme schon mal erstellen.
Nun möchte ich mir gerne noch eine Kachel erstellen, wo ich sagen kann, dass abgesaugt wird.
Irgendwie hab ich die Funktion nicht gefunden.
Gibt es hierfür auch gewisse Codes, wo ich eine Automation erstellen kann?
Hallo, ich versuche gerade für meinen neuen Xiaomi X20 Plus den Cleaning Mode über HA zu steuern. Dazu wollte ich einfach den Code von Simon anpassen, scheitere aber an den values für die verschieden Modi. kann mir jemand sagen ob die für Xiaomi Geräte generell immer die gleichen werte sind, oder wie ich sie für mein Roboter ermitteln kann?
Vielen Dank schon mal im Voraus.
Geiles Video! Leider bleibt bei mir „generate rooms“ config ohne jeden Effekt.
Es erscheint kein Popup wie im Video und kein Code wird generiert….
Kann mir jemand sagen, wo mein Denkfehler ist?
Hallo,
gibt es jetzt schon eine lösung für das ändern wenn man mehrere etagen hat?
Hi, wo kann ich die vacuum.locate Funktion anpassen? Finde die irgendwie nirgends. Möchte eine persönalisierte Sprachausgabe verwenden…..
Hallo, vielleicht kann mir jemand mein Brett vor dem Kopf wegziehen, ich finde zu der folgende Thematik nichts im Internet, daher muss es anscheinend relativ simpel sein :/
Wie lasse ich den Roborock per send_command zu sein Dock fahren?
UseCase: Frau kommt nach Hause und Robi soll sich schnell in Sicherheit bringen.
ich hab es doch selbst gefunden. Automation->Aktion hinzufügen -> Gerät -> Roborock [Name] -> als Aktion kann man es dann auswählen
Moin,
bleiben die Parameter für den vacuum_mode, mopping_mode und mopping_route bei dem S8 gleich?
Grüße
Hartmut
Hallo Thomas,
hast du es inzwischen hinbekommen? Ich hab irgendwie in jeder Ebene dieselben Raum IDs.
Ich bekomme es hin alle anzulegen, aber jetzt müsste natürlich die Karten „mitwandern“.
Viele Grüße
Markus
Die Lösung würde mich auch interessieren.
Bzw wäre es echt klasse wenn du deinen Code teilen würdest.
Vielen Dank
Gruß
Heiko
Hi Simon, hi Leute,
danke für die Einblicke und Codebeispiele.
Eine Frage beschäftigt mich nun seit ein paar Tagen und ich kam noch zu keiner Lösung. Wie behandle ich die Räume (predefined_selections), wenn ich mehrere Etagen habe?
Du hast in Deinem Beispiel Buttons, um die Karte für EG und OG2 zu laden (vacuum_load_multi_map). Gleichzeitig sind in den predefined_selections Räume definiert, die sich meiner Einschätzung nach auf unterschiedlichen Etagen befinden (Waschkeller, Küche, Bad, Schlafzimmer..).
Wenn ich das so mache wie in Deiner Beispielconfig, ist egal welche Etage ich lade, es werden immer alle Räume aller Etagen überlappend angezeigt. Wie kann ich dafür sorgen, dass mir nur die Räume der jeweiligen Etage angezeigt werden?
Außerdem habe ich bei zwei (von drei) Etagen eine Kollision bei der Raum-ID: im EG, sowie im OG2 gibt es einen Raum mit Id 1. Diese ID kommt ja vom Roboter und die kann ich nicht einfach so ändern (zumindest nach meinem Kenntnisstand). Wie kann ich hier eineindeutigkeit sicherstellen?
Mich würde es wundern, wenn ich der einzige mit diesem Szenario bin – habe aber keine Lösung im Netz dazu gefunden.
Ok, konnte mir meine Frage nun doch selbst beantworten, es musste erst „Klick“ machen 😉
Aber demnach dürfte Deine Beispielconfig (konkret der Abschnitt Zeile 11-210, beginnend mit „name: Wohnung EG“) zu dem gleichen Ergebnis kommen, das ich zunächst hatte: die Räume verschiedener Etagen sind in einem Plan überlappend dargestellt.
Ich habe jetzt verstanden, dass man jeder Etage einen eigenen Config-Abschnitt spendiert. Unterhalb eines Abschnitts (sprich je Etage) müssen die IDs eindeutig sein; aber nicht zwingend eineindeutig über alle Karten hinweg. Damit ist auch meine zweite Frage beantwortet.
Jetzt funktioniert die Raumauswahl auch wie gewünscht.
Nächster Meilenstein: ich muss jetzt noch rausknobeln, wie ich gleichzeitig die passende Karte laden kann, sobald ich die Auswahl der Etage getroffen habe (derzeit muss ich das noch über einen separaten Button, d.h. zusätzlichen Mausklick, machen)
Hallo Thomas,
hast du es inzwischen hinbekommen? Ich hab irgendwie in jeder Ebene dieselben Raum IDs.
Ich bekomme es hin alle anzulegen, aber jetzt müsste natürlich die Karten „mitwandern“.
Viele Grüße
Markus
Hallo Thomas
Wäre sehr daran interessiert, deinen gesamten Code zu sehen, damit ich auch nachvollziehen kann, wo bei mir der Fehler liegt. Anscheinend hast Du ja „die Lösung“ gefunden.
Vielen Dank.
Hallo,
super Sache mit der Integration von Roborock in HA, mit der Hilfe von Simon funktioniert recht gut! Danke!
Für mich wäre sehr hilfreich wenn ich (in HA) alle Räume mit der letzten Reinigung auflisten könnte.
z.B.
Küche 01.02.2024
Wohnzimmer 03.02.2024
usw.
Hat jemand eine Idee für die Umsetzung?
Hallo Simon, Hallo Leute
Zuerst einmal recht herzlcihen Dank Simon für Deine tolle Arbeit! Ich folge Dir auf YouTube und lerne sehr viel über Home Asssistant. Habe auch einr Roborock S8_plus-ultra und bin begeistert. Wie wahrscheinlich so mach anderer Ehemann will man seiner lieben Gattin das natürlich alles so schmackhaft wie möglich machen, sprich es muss einfach bedient werden können. Dann nehmen Sie es auch „eher an“, oder? Dafür ist HA natürlich super geeignet. Meine Frage nun:
Das mit dem Kartenwechsel bekomme ich soweit hin – nur- wie legt man nun das OG in der YAML richtig an? Werden die Räume einfach untereinander aufgelistet – einfach nach dem letzten Raum im EG weiterfahren mit den Räumen vom OG oder wie?
Was mir auch immer wieder Probleme bereitet, ist das Kopieren der Codes. Das funktioniert nicht immer so 1:1….. Es kommen dann „Einrückungsfehler“ am Schluss aufgelistet und man muss händisch nachhelfen… Mache ich da was falsch?
Danke für Deine/Eure Hilfe und Grüsse aus der CH.
Hi Simon,
Super Anleitung! Danke!
Ich hab hier noch den mopMode als icon, fand ich nützlich wenn du eine Raumreinigung startest und das wählen möchtest
– icon: mdi:water-outline
conditions:
– entity: vacuum.roborock_s7
attribute: mopMode
value: 300
tooltip: Change mop route
tap_action:
action: call-service
service: vacuum.send_command
service_data:
command: set_mop_mode
params: 301
target:
entity_id: vacuum.roborock_s7
– icon: mdi:water-opacity
conditions:
– entity: vacuum.roborock_s7
attribute: mopMode
value: 301
tooltip: Change mop route
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:water
conditions:
– entity: vacuum.roborock_s7
attribute: mopMode
value: 303
tooltip: Change mop route
tap_action:
action: call-service
service: vacuum.send_command
service_data:
command: set_mop_mode
params: 300
target:
entity_id: vacuum.roborock_s7
– icon: mdi:water-circle
conditions:
– entity: vacuum.roborock_s7
attribute: mopMode
value_not: 300
– entity: vacuum.roborock_s7
attribute: mopMode
value_not: 301
– entity: vacuum.roborock_s7
attribute: mopMode
value_not: 303
Hallo Simon, mein Roborock ist im HomeAssistent oft offline, die originale App funktioniert jedoch.
Nach einer gewissen Zeit funktioniert Roborock wieder im HA.
Hast du auch schon ähnliches beobachtet? Gibt es dafür eventuell eine Lösung?
Hi!
Ich habe Dein Tutorial geschaut und auch übernommen. Danke dafür!
Nun wollte ich per Alexa die Automatisierungen starten (z.B. Küche saugen).
Ich habe Nabu Casa eingebunden und die Automation „Küche saugen“ an Alexa weitergereicht.
Nun kann ich sie dem Sprachbefehl zuordnen, allerdings ist die Automatisierung in der AlexaApp als SmartHome Szene und ‚An/Aus‘ deklariert, und sie steht schon auf „An“.
Aufrufen kann ich das, aber der Sauger startet nicht.
Irgendjemand eine Idee dazu?
Ok, gestern noch rumprobiert…
Anstatt einer Automation, habe ich je ein script erstellt, die die verschiedenen Räume /zusammenstellungen anspricht.
Das Script wird an Alexa übergeben, das zeigt zwar auch ‚AN/AUS‘ an, startet aber den Sauger.
Hallo Simon,
besten Dank für dieses Turorial, wie immer super und hilfreich!
Vielleicht kannst Du mir einen Tipp geben, für ein Problem, dass ich mit einer Automatisierung habe. Ich habe eine Automatisierung anlegt, um einen Bereich um unseren Esstisch zu saugen. Die Koordinaten habe ich aus der lovelace-Integration übernommen. Wenn ich den Saugvorgang mit den Koordinaten direkt starte über die Map, funktioniert es problemlos.
Wenn ich die gleichen Koordinaten allerdings in die Automatisierung in Kombination mit „app_zoned_clean“ eintragen, fährt der Sauger ins Wohnzimmer und fängt dort an.
Hast Du vielleicht einen Tipp oder eine Idee?
Beste Grüße
Michael
Hallo Simon,
wie immer eine tolle Anleitung und Übersicht, vielen Dank!
Vielleicht kannst Du mir einen Tipp geben: Ich habe eine Automatisierung angelegt um einen Bereich um unseren Esstisch nach dem Essen zu saugen.
Die Koordinaten habe ich aus der Lovelace-Karte übernommen. Wenn ich die Reinigung manuell starte (über die manuelle Selektion), fährt der Sauger auch dorthin. Wenn ich aber die Reinigung über die Automatisierung starte (gleiche Koordinaten), fährt er leider immer ins Wohnzimmer.
Hast Du vielleicht eine Idee oder einen Tipp?
Danke und beste Grüße
Michael
Hallo,
kann man so etwas auch in Automationen einbauen?
Ich würde gerne eine Automation haben, die Mo,Mi,Fr und So nur saugt und die restlichen Tage saugt und wischt. Bin leider noch ziemlich neu in der Materie und habe wenig Ahnung.
Wäre für jeden Tipp dankbar.
Hallo,
ich habe zwei Etagen. Wie finde ich die MAP-ID heraus um dann mit dem Service die Karte zu wechseln ? Wie kann ich dass dann in die Dashboard-Card integrieren.
Vielen Dank
Ralph Diesinger
Gehen die Modes auch mit einem Robo der in der Xiaomi App ist ?
Habe dein Video entdeckt und dann alles umgebaut Roborock S7 raus aus XiaomiApp rein in die Roborock etc pp.
Alles läuft nun auch super mit Homeassistant leider geht nun meine Homekit Steuerung mit Homebridge und dem homebridge-xiaomi-roborock-vacuum Plugin nicht mehr – nun wäre meine Frage wie verpack ich das ganze nun sauber in Homekit ?
Servus Simon,
vielen Dank für das tolle Video und den Code. Du hast gesagt der Map-Wechsel funktioniert bei dir nicht, das habe ich mittlerweile so gelöst:
– menu_id: mapStatus
icon: mdi:home-floor-0
label: Erdgeschoss
conditions:
– entity: vacuum.roborock_s8_pro_ultra
attribute: mapStatus
value: 3
tooltip: Kartenwechsel
tap_action:
action: call-service
service: roborock.vacuum_load_multi_map
service_data:
map_flag: 0
target:
entity_id: vacuum.roborock_s8_pro_ultra
– menu_id: mapStatus
icon: mdi:home-floor-1
label: Obergeschoss
conditions:
– entity: vacuum.roborock_s8_pro_ultra
attribute: mapStatus
value: 7
tooltip: Kartenwechsel
tap_action:
action: call-service
service: roborock.vacuum_load_multi_map
service_data:
map_flag: 1
target:
entity_id: vacuum.roborock_s8_pro_ultra
– icon: mdi:home-floor-0
conditions:
– entity: vacuum.roborock_s8_pro_ultra
attribute: mapStatus
value_not: 3
– entity: vacuum.roborock_s8_pro_ultra
attribute: mapStatus
value_not: 7
tap_action:
action: call-service
service: vroborock.vacuum_load_multi_map
service_data:
map_flag: 1
target:
entity_id: vacuum.roborock_s8_pro_ultra
Auch die Raumconfig konnte ich auf beide Stockwerke setzen.
Ich hab auch die Steuerbefehle ein bisschen anders gestaltet, damit man eine Auswahl hat und nicht durchsteppen muss.
Hier am Beispiel der Wischintensität:
– menu_id: mop_intensity
icon: mdi:water-off
label: ‚off‘
conditions:
– entity: vacuum.roborock_s8_pro_ultra
attribute: mop_intensity
value: ‚off‘
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_s8_pro_ultra
– menu_id: mop_intensity
icon: mdi:water-outline
label: mild
conditions:
– entity: vacuum.roborock_s8_pro_ultra
attribute: mop_intensity
value: mild
tooltip: Wischintensität
tap_action:
action: call-service
service: vacuum.send_command
service_data:
command: set_water_box_custom_mode
params: 201
target:
entity_id: vacuum.roborock_s8_pro_ultra
– menu_id: mop_intensity
icon: mdi:water
label: moderate
conditions:
– entity: vacuum.roborock_s8_pro_ultra
attribute: mop_intensity
value: moderate
tooltip: Wischintensität
tap_action:
action: call-service
service: vacuum.send_command
service_data:
command: set_water_box_custom_mode
params: 202
target:
entity_id: vacuum.roborock_s8_pro_ultra
– menu_id: mop_intensity
icon: mdi:water-plus
label: intense
conditions:
– entity: vacuum.roborock_s8_pro_ultra
attribute: mop_intensity
value: intense
tooltip: Wischintensität
tap_action:
action: call-service
service: vacuum.send_command
service_data:
command: set_water_box_custom_mode
params: 203
target:
entity_id: vacuum.roborock_s8_pro_ultra
– menu_id: mop_intensity
icon: mdi:water-percent
label: custom
conditions:
– entity: vacuum.roborock_s8_pro_ultra
attribute: mop_intensity
value: custom
tooltip: Wischintensität
tap_action:
action: call-service
service: vacuum.send_command
service_data:
command: set_water_box_custom_mode
params: 204
target:
entity_id: vacuum.roborock_s8_pro_ultra
– icon: mdi:water-off
conditions:
– entity: vacuum.roborock_s8_pro_ultra
attribute: mop_intensity
value_not: ‚off‘
– entity: vacuum.roborock_s8_pro_ultra
attribute: mop_intensity
value_not: mild
– entity: vacuum.roborock_s8_pro_ultra
attribute: mop_intensity
value_not: moderate
– entity: vacuum.roborock_s8_pro_ultra
attribute: mop_intensity
value_not: intense
– entity: vacuum.roborock_s8_pro_ultra
attribute: mop_intensity
value_not: custom
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_s8_pro_ultra
Danke nochmals und schöne Grüße
Roland
Moin Roland,
könntest du deinen kompletten Code hochladen, damit ich es mir kopieren kann 😛 Bin leider noch relativ „neu“
Hallo Roland,
ich stehe auch vor dem Problem, dass ich die Raumconfig nicht auf beide Stockwerke setzen kann. Leider kann ich mit Deiner Beispiel-Config nicht so viel anfangen – woher kommt menu_id? Könntest Du mal die komplette config posten, bzw. erläutern, wie Du die komplette Raumconfig laden konntest?
Danke!
Hallo Roland,
haben Sie Mop trockner über HA zum laufen bekommen?
Gruß Waldone
Einfach den Code miteinfügen. Natürlich den Sauger entsprechend anpassen. Ich habe einen S8.
menu_id:
– menu_id: mapStatus
icon: mdi:home-floor-0
label: Erdgeschoss
conditions:
– entity: vacuum.roborock_s8
attribute: mapStatus
value: 3
tooltip: Kartenwechsel
tap_action:
action: call-service
service: roborock.vacuum_load_multi_map
service_data:
map_flag: 0
target:
entity_id: vacuum.roborock_s8
– menu_id: mapStatus
icon: mdi:home-floor-1
label: Obergeschoss
conditions:
– entity: vacuum.roborock_s8
attribute: mapStatus
value: 7
tooltip: Kartenwechsel
tap_action:
action: call-service
service: roborock.vacuum_load_multi_map
service_data:
map_flag: 1
target:
entity_id: vacuum.roborock_s8
– icon: mdi:home-floor-0
conditions:
– entity: vacuum.roborock_s8
attribute: mapStatus
value_not: 3
– entity: vacuum.roborock_s8
attribute: mapStatus
value_not: 7
tap_action:
action: call-service
service: vroborock.vacuum_load_multi_map
service_data:
map_flag: 1
target:
entity_id: vacuum.roborock_s8
Hallo Roland,
das mit dem Einfügen klappt bei mir leider nicht so problemlos, ich bekomme immer Fehler.
Wo genau muss der Code denn rein?
Hi Roland,
bist du so nett und postest den ganzen Code?
Danke
Moin,
dein Youtube Video hat mich zu dieser Seite geführt. Ein Optimierungstipp und eine Frage:
Statt den Sauger tatsächlich zum Dock zurückfahren zu lassen, könntest du auch einfach darauf warten, dass der Roboter seinen Status auf „returning“ ändert. So muss er nicht zurückfahren, sondern kann alles reinigen und fährt dann erst zurück:
– wait_for_trigger:
– platform: state
entity_id:
– vacuum.roborock_s7
to: returning
Und die Frage wäre, wieso du immer wartest, besser gesagt, worauf wartest du? Der Sauger saugt doch, bis der Job erledigt ist. Auch hier kannst du auf die Statusänderung warten. Was nützt es, wenn der Sauger 2h vor der Tür wartet. Nach deiner Automation bekommt er ja eh nicht mit, wenn die Tür offen ist?
Ich habe es nun so gelöst, damit der Sauger auch hinter der Schlafzimmertür saugt: Er fährt ins Schlafzimmer, ich schließe die Tür. Der Sauger saugt, ist fertig und ändert seinen Status auf „returning“. Ist die Tür laut Sensor offen, fährt er zum Dock. Ist die Tür geschlossen, fährt er 1,5 m von der Tür weg und wartet auf den Trigger „Tür offen“. Ist die Tür dann geöffnet, fährt er zum Dock.
Auf diese Art werde ich mir nun eine Automation bauen, mit der ich einen Raum nach dem anderen erst saugen und dann wischen lasse, ohne, dass ich mehrmals wie bisher Knöpfe drücken muss. Nun muss ich im Zweifel nur die Türen öffnen.
Danke für die Inspiration!
Mich würde das mit der Türe interessieren, ich experimentiere damit auch. Könntest du evt. deine Automatisierung teilen?