Multi Raum Reinigung ohne App mit Roborock

Hallo zusammen,
ich habe kürzlich mein Projekt zur intelligenten Steuerung meines Roborock Q Revo Curv abgeschlossen und in einem YouTube-Video vorgestellt. Der Fokus liegt darauf, gezielt einzelne Räume zu saugen, zu wischen oder beides – unabhängig voneinander steuerbar und automatisiert über Home Assistant.

Dabei verwende ich eine Kombination aus Helfern (Helpers), Skripten und einer klaren Raumlogik, um Aktionen flexibel zu planen, z. B. „nur Küche wischen“, „Bad saugen“ oder „gesamte Wohnung beides“.

:tv: YouTube-Video zum Projekt:
:point_right: Jetzt ansehen – Dort erkläre ich alles im Detail inkl. Bedienung via Dashboard.

:brain: Funktionen im Überblick:

  • Auswahl: Nur saugen, nur wischen, oder beides
  • Raumweise Steuerung
  • Visualisierung und Status im Lovelace-Dashboard

Mein Script als Anschauung findet ihr hier: Ich müsstet wahrscheinlich noch Anpassungen für Eure Wohnung hinterlegen.

alias: Sauger Raumreinigung
sequence:
  - variables:
      room_configs:
        - name: schlafzimmer
          boolean: input_boolean.sauger_schlafzimmer
          id: 9
        - name: esszimmer
          boolean: input_boolean.sauger_esszimmer
          id: 2
        - name: bad
          boolean: input_boolean.sauger_badezimmer
          id: 3
        - name: diele
          boolean: input_boolean.sauger_diele
          id: 4

  - variables:
      selected_rooms: |-
        {% set ns = namespace(rooms=[]) %}
        {% for room in room_configs %}
          {% if is_state(room.boolean, 'on') %}
            {% set ns.rooms = ns.rooms + [room.id] %}
          {% endif %}
        {% endfor %}
        {{ ns.rooms }}         
  - if:
      - condition: state
        entity_id: select.staubsauger_reinigung
        state: Wischen
    then:
      - action: select.select_option
        metadata: {}
        data:
          option: medium
        target:
          entity_id: select.roborock_qrevo_curv_wisch_intensitat
    else:
      - action: select.select_option
        metadata: {}
        data:
          option: "off"
        target:
          entity_id: select.roborock_qrevo_curv_wisch_intensitat
  - data:
      command: app_segment_clean
      params:
        - segments: |
            {{ selected_rooms }}
    target:
      entity_id: vacuum.roborock_qrevo_curv
    action: vacuum.send_command
  - if:
      - condition: state
        entity_id: input_boolean.sauger_wohnzimmer
        state: "on"
    then:
      - action: cover.close_cover
        metadata: {}
        data: {}
        target:
          entity_id: cover.sofa
    alias: Wenn Wohnzimmer dann Sofa schließen
  - wait_for_trigger:
      - trigger: state
        entity_id:
          - binary_sensor.roborock_qrevo_curv_reinigen
        to: "off"
        from: "on"
    continue_on_timeout: false
  - action: input_boolean.turn_off
    metadata: {}
    data: {}
    target:
      entity_id:
        - input_boolean.sauger_badezimmer
        - input_boolean.sauger_schlafzimmer
        - input_boolean.sauger_diele
        - input_boolean.sauger_esszimmer


icon: mdi:broom

:pushpin: Der Code basiert auf der offiziellen Roborock-Integration – kein MQTT, kein Hack notwendig.
:pushpin: Das Ganze funktioniert auch mit einer günstigen Home Assistant Green oder ähnlichem.


Wenn ihr Fragen habt oder das Ganze für euren Sauger adaptieren wollt, schreibt gerne hier oder direkt unter dem Video!
Ich freue mich auf euer Feedback und den Austausch! :blush:

4 „Gefällt mir“

Sehr interessantes Video und sicherlich eine sehr gute Lösung. Aber seit einem der letzten HA Updates stehen doch alle in der Roborock erstellten Programme als Entität zu Verfügung. Die kann man dann einfach aufs Dashboard packen und starten. Räume auslesen etc. ist doch gar nicht mehr notwendig. Ein großer Vorteil ist auch, dass man auch Roborock Programme für einzelne Bereiche erstellen kann, bei uns z.B. ein Programm was nur den Essbereich saugt und wischt.
Bei sieht das etwa so aus:

1 „Gefällt mir“

Aber so muss ich doch für jede Raum Kombination die ich mir jemals wünsche ein eigenes Programm anlegen. Das ist für mich nicht Praktikabel.
Ich suche zu reinigende Räume immer pro Fall aus. Mal ist beim Reinigen das Kinderzimmer dabei, manchmal nicht etc.
Wenn ich nur Standard Fälle habe, geht deine Lösung zwar.
Aber aber dynamisch ist es ja nicht.

Wir nutzen schon seit vielen Jahren Saugroboter. Davon mit Sicherheit zu 99% immer die gleichen Programme. Daher ist das für uns so absolut akzeptabel. Sollte mal eine Raum-Kombination fehlen, ist sie in einer Minute in der Roborock App angelegt und steht nach einer weiteren Minute als Entität in HA zu Verfügung.