Gå til indhold
← Alle indlæg

Det, der faktisk er nyttigt ved Roborock-kortet i Home Assistant

Roborock S5 Max i Home Assistant: interaktivt kort via HACS, rengøring af enkelte rum og sensorer, der advarer, før børsten er slidt op.

4. april 2025
Det, der faktisk er nyttigt ved Roborock-kortet i Home Assistant

Roborock-integrationen er bygget ind i HA, så der skal ikke bruges HACS. Tilføj den, log ind med din Roborock-konto, og støvsugeren dukker op. Hvad den ikke fortæller dig, er, at det interessante kommer fra et separat HACS-kort, der viser kortet live.

Integrationen

Den henter data fra cloud hvert 5. sekund. Lokal forbindelse er mulig, men kræver, at man trækker nøgler ud af enhedens firmware, og det gad jeg ikke. Til alt, der betyder noget, som at starte rengøring, tjekke batteriet eller vælge rum, er cloud hurtigt nok.

Entiteter efter opsætningen:

vacuum.roborock_s5_max
sensor.roborock_battery
sensor.roborock_status
sensor.roborock_last_clean_area
sensor.roborock_main_brush_left    — procent levetid tilbage
sensor.roborock_side_brush_left
sensor.roborock_filter_left
sensor.roborock_sensor_dirty_left

Støvsugerkortet på dashboardet

custom:xiaomi-vacuum-map-card (HACS) er det, der gør opsætningen nyttig. Det viser kortet live med dine rum markeret, og et tryk på et rum starter rengøring af netop det rum.

type: custom:xiaomi-vacuum-map-card
entity: vacuum.roborock_s5_max
map_source:
  camera: camera.roborock_map
calibration_source:
  auto: true
rooms:
  - id: 16
    name: Stue
    icon: mdi:sofa
  - id: 17
    name: Køkken
    icon: mdi:silverware-fork-knife
  - id: 18
    name: Soveværelse
    icon: mdi:bed
  - id: 19
    name: Kontor
    icon: mdi:desk
map_modes:
  - template: vacuum_clean_segment
  - template: vacuum_goto

Find dine rum-id'er: Udviklerværktøjer → Skabelon, og evaluer {{ state_attr('vacuum.roborock_s5_max', 'room_list') }}. Id'erne er heltal, der blev tildelt, da kortet blev oprettet i appen. Mine starter ved 16, dine er sandsynligvis anderledes.

Støvsugerkortet ligger inde i et glas-stack-in-card. Kortet indeni skal have border-radius: 0, og beholderen udenom skal have overflow: hidden. Ellers stikker kortets hjørner ud over den afrundede glasramme.

type: custom:stack-in-card
card_mod:
  style: |
    ha-card {
      background: rgba(255,255,255,0.05) !important;
      backdrop-filter: blur(15px) !important;
      border: 1px solid rgba(255,255,255,0.10) !important;
      box-shadow: 0 8px 32px rgba(0,0,0,0.3) !important;
      border-radius: 28px !important;
      overflow: hidden !important;
    }
    ha-card::before { display: none !important; }
cards:
  - type: custom:xiaomi-vacuum-map-card
    # ...
    card_mod:
      style: |
        ha-card { border-radius: 0; box-shadow: none; border: none; }

Vedligeholdelsessensorer

Sensorerne for børster og filter tæller ned fra 100 % til 0 %. Jeg ignorerede dem for længe og fik så en advarsel om, at hovedbørsten var nede på 8 %. Den viste sig at være meget mere slidt, end tallet antydede.

Farvede kort for hver del med custom:mushroom-template-card (HACS, Mushroom-pakken) og card_mod (HACS):

type: custom:mushroom-template-card
primary: "{{ states('sensor.roborock_main_brush_left') }}%"
secondary: Hovedbørste
icon: mdi:brush
icon_color: >
  {% set pct = states('sensor.roborock_main_brush_left') | int(100) %}
  {% if pct > 40 %}green{% elif pct > 20 %}orange{% else %}red{% endif %}

Og en vedvarende notifikation i HA (ikke push, min telefon behøver ikke at bippe over en børste), når noget kommer under 20 %:

alias: Roborock — Vedligeholdelsesadvarsel
trigger:
  - platform: numeric_state
    entity_id: [sensor.roborock_main_brush_left, sensor.roborock_filter_left,
                sensor.roborock_side_brush_left]
    below: 20
action:
  - service: persistent_notification.create
    data:
      title: "Roborock — tjek vedligeholdelse"
      message: >
        {{ trigger.entity_id | replace('sensor.roborock_','') | replace('_left','')
           | replace('_',' ') | title }} er på {{ trigger.to_state.state }}%.
      notification_id: roborock_maintenance

Automationen, jeg bruger hver dag

Gør rent, mens jeg er væk, og kør i docken, før jeg kommer hjem:

alias: Roborock — Rengør ved afgang
trigger:
  - platform: state
    entity_id: person.rolf
    to: not_home
    for:
      minutes: 5
condition:
  - condition: time
    after: "09:00:00"
    before: "18:00:00"
  - condition: state
    entity_id: vacuum.roborock_s5_max
    state: docked
action:
  - service: vacuum.start
    target:
      entity_id: vacuum.roborock_s5_max

alias: Roborock — Dock ved hjemkomst
trigger:
  - platform: state
    entity_id: person.rolf
    to: home
condition:
  - condition: state
    entity_id: vacuum.roborock_s5_max
    state: cleaning
action:
  - service: vacuum.return_to_base
    target:
      entity_id: vacuum.roborock_s5_max

Forsinkelsen på 5 minutter, når jeg tager af sted, er vigtig. Uden den kan et kort udsving i GPS'en starte en rengøring, og så er støvsugeren halvvejs gennem køkkenet, når jeg kommer ind ad døren igen to minutter efter.

Automationen, der sender den i docken, når jeg kommer hjem, har præcis én gang reddet mig fra at træde på støvsugeren i mørket. Det var det værd.

Nye indlæg direkte i din RSS-læser: følg med via RSS I Google-søgning: vælg szimnau.dk som foretrukken kilde