Styr din Robotstøvsuger uden app via Home Assistant

I min YouTube-video viser jeg, hvordan jeg har gjort min robotstøvsuger fuldstændig uafhængig af producentens app i daglig brug.
Her får du den komplette guide til, hvordan du selv kan gøre det samme med din Robotstøvsuger ved hjælp af Home Assistant.

Målet er simpelt:
Du vælger rum direkte i Home Assistant, trykker start, og robotten kører. Ingen app. Ingen login i hverdagen.

Hvad denne løsning gør

Med denne opsætning kan du:

  • Vælge specifikke rum via knapper
  • Starte zone-rengøring
  • Stoppe robotten
  • Sende den tilbage til dock
  • Lukke popup automatisk bagefter
  • Nulstille dine rumvalg

Alt styres fra ét kort i dit dashboard.

Krav og installationer

Før du går i gang, skal du have følgende installeret:

Home Assistant

Din robot skal være integreret korrekt i Home Assistant.

HACS

Home Assistant Community Store er nødvendig for at installere custom cards.

Mushroom Cards

Installeres via HACS. Bruges til vacuum-kort og knapper.

Browser Mod

Installeres via HACS.
Denne integration er nødvendig for at popup-vinduet virker.

Efter installation:

  1. Genstart Home Assistant
  2. Gå til Indstillinger → Enheder og Tjenester
  3. Kontroller at Browser Mod er aktiv

Step 1 Opret helpers til rumvalg

Gå til:

Indstillinger → Enheder og Tjenester → Helpers

Opret en Input Boolean for hvert rum:

  • vac_zone_kitchen
  • vac_zone_living
  • vac_zone_hall
  • vac_zone_dining
  • vac_zone_entry
  • vac_zone_playroom
  • vac_zone_masterbedroom
  • vac_zone_bedroom

Disse bruges til at vælge, hvilke rum robotten skal rengøre.

Step 2 Lovelace vacuum kort

Indsæt følgende i dit dashboard:

type: custom:mushroom-vacuum-card
entity: vacuum.roborock_s8_pro_ultra (Skift til egen robot)
icon_animation: true
layout: vertical
primary_info: name
tap_action:
  action: fire-dom-event
  browser_mod:
    service: browser_mod.popup
    data:
      title: Vacuum zones
      content:
        type: vertical-stack
        cards:
          - type: entities
            entities:
              - entity: input_boolean.vac_zone_kitchen (Skift til egen helper)
                name: Køkken (Skift til eget navn)
              - entity: input_boolean.vac_zone_living (Skift til egen helper)
                name: Stue (Skift til eget navn)
              - entity: input_boolean.vac_zone_hall (Skift til egen helper)
                name: Brygger (Skift til eget navn)
              - entity: input_boolean.vac_zone_dining (Skift til egen helper)
                name: Spisestue (Skift til eget navn)
              - entity: input_boolean.vac_zone_entry (Skift til egen helper)
                name: Entre (Skift til eget navn)
              - entity: input_boolean.vac_zone_playroom (Skift til egen helper)
                name: Lege værelse (Skift til eget navn)
              - entity: input_boolean.vac_zone_masterbedroom (Skift til egen helper)
                name: Forældre soveværelse (Skift til eget navn)
              - entity: input_boolean.vac_zone_bedroom (Skift til egen helper)
                name: Soveværelse (Skift til eget navn)

Du kan herefter tilføje dine Start, Stop og Dock knapper som i min opsætning.

- type: horizontal-stack
            cards:
              - type: custom:mushroom-template-card
                primary: Start
                icon: mdi:play
                layout: horizontal
                fill_container: false
                tap_action:
                  action: call-service
                  service: script.vacuum_clean_selected_zones (Skift til eget script navn)
                card_mod:
                  style: |
                    ha-card {
                      width: 150px;
                      height: 45px;
                      margin: 0 auto;
                      display: flex;
                      align-items: center;
                      justify-content: center;
                      --mush-icon-size: 22px;
                      font-size: 14px;
                      font-weight: 500;
                      border-radius: 12px;
                      background: var(--mush-rgb-success);
                      color: white;
                      box-shadow: 0 2px 6px rgba(0,0,0,0.15);
                      transition: all 0.2s ease-in-out;
                    }
                    ha-card:hover {
                      filter: brightness(1.1);
                      transform: scale(1.02);
                    }
              - type: custom:mushroom-template-card
                primary: Stop
                icon: mdi:stop
                layout: horizontal
                fill_container: false
                tap_action:
                  action: call-service
                  service: vacuum.stop
                  data:
                    entity_id: vacuum.roborock_s8_pro_ultra (Skift til egen robot)
                card_mod:
                  style: |
                    ha-card {
                      width: 150px;
                      height: 45px;
                      margin: 0 auto;
                      display: flex;
                      align-items: center;
                      justify-content: center;
                      --mush-icon-size: 22px;
                      font-size: 14px;
                      font-weight: 500;
                      border-radius: 12px;
                      background: var(--mush-rgb-warning);
                      color: white;
                      box-shadow: 0 2px 6px rgba(0,0,0,0.15);
                      transition: all 0.2s ease-in-out;
                    }
                    ha-card:hover {
                      filter: brightness(1.1);
                      transform: scale(1.02);
                    }
              - type: custom:mushroom-template-card
                primary: Dock
                icon: mdi:home-import-outline
                layout: horizontal
                fill_container: false
                tap_action:
                  action: call-service
                  service: vacuum.return_to_base
                  data:
                    entity_id: vacuum.roborock_s8_pro_ultra (Skift til egen robot)
                card_mod:
                  style: |
                    ha-card {
                      width: 150px;
                      height: 45px;
                      margin: 0 auto;
                      display: flex;
                      align-items: center;
                      justify-content: center;
                      --mush-icon-size: 22px;
                      font-size: 14px;
                      font-weight: 500;
                      border-radius: 12px;
                      background: var(--mush-rgb-accent);
                      color: white;
                      box-shadow: 0 2px 6px rgba(0,0,0,0.15);
                      transition: all 0.2s ease-in-out;
                    }
                    ha-card:hover {
                      filter: brightness(1.1);
                      transform: scale(1.02);
                    }

Step 3 Script til zone rengøring

Opret et nyt script:

Indstillinger → Automatiseringer og Scener → Scripts

Indsæt følgende (brug egen værdier):

alias: Vacuum – clean selected zones
mode: single
variables:
  segmap:
    input_boolean.vac_zone_kitchen: 17
    input_boolean.vac_zone_living: 26
    input_boolean.vac_zone_entry: 25
    input_boolean.vac_zone_hall: 22
    input_boolean.vac_zone_playroom: 20
    input_boolean.vac_zone_bedroom: 19
    input_boolean.vac_zone_masterbedroom: 16
    input_boolean.vac_zone_dining: 23
  segments_list: >
    {% set ns = namespace(out=[]) %}
    {% for ent, sid in segmap.items() %}
      {% if is_state(ent, 'on') %}
        {% set ns.out = ns.out + [ sid | int ] %}
      {% endif %}
    {% endfor %}
    {{ ns.out }}
sequence:
  - choose:
      - conditions:
          - condition: template
            value_template: "{{ segments_list | count > 0 }}"
        sequence:
          - action: vacuum.send_command
            target:
              entity_id: vacuum.roborock_s8_pro_ultra
            data:
              command: app_segment_clean
              params: "{{ segments_list }}"
  - action: homeassistant.turn_off
    target:
      entity_id:
        - input_boolean.vac_zone_kitchen
        - input_boolean.vac_zone_living
        - input_boolean.vac_zone_entry
        - input_boolean.vac_zone_hall
        - input_boolean.vac_zone_playroom
        - input_boolean.vac_zone_bedroom
        - input_boolean.vac_zone_masterbedroom
        - input_boolean.vac_zone_dining
  - action: browser_mod.close_popup

Sådan finder du dine segment ID’er

Segment numrene er unikke for dit kort.

Du kan finde dem ved at:

  1. Gå til Developer Tools
  2. Kald servicen roborock.get_maps

Alternativt kan du se dem i attributterne på vacuum entiteten.

Ellers kan du prøve dig frem ved at:

  1. Gå til Developer Tools
  2. Kald servicen vacuum.segment_clean
  3. Skriv et ID 1,2,3,4… og se hvad der gøres rent

Hvad sker der i scriptet

  1. Kun valgte rum sendes til robotten
  2. Alle rum nulstilles
  3. Popup lukkes

Hvis ingen rum er valgt, starter robotten ikke.

Fordele ved denne løsning

  • Ingen behov for Roborock app i daglig brug
  • Hurtigere adgang til zone rengøring
  • Fuldt integreret i Home Assistant
  • Lokal kontrol (semi)
  • Bedre brugeroplevelse