Vergiss nie wieder die Reinigung! Smarthome-Helfer für Haushalt & Geräte

Es gibt Aufgaben im Haushalt, die man ständig vor sich herschiebt oder schlichtweg vergisst: Wann wurde die Kaffeemaschine zuletzt entkalkt? Wie viele Spülgänge hat die Spülmaschine eigentlich hinter sich? Und wie voll ist der Staubbehälter vom Roborock wirklich, wenn es dafür keinen Sensor gibt?

In diesem Beitrag zeige ich dir, wie du mit Home Assistant eine intelligente To-Do-Liste erstellst, die sich automatisch meldet, wenn es Zeit für die Wartung ist.

Das Grundkonzept: Das “To-Do” Label

Bevor wir in die Automationen springen, nutzen wir ein System, um alles übersichtlich zu behalten. Jedes Gerät oder jede Aufgabe, die überwacht werden soll, bekommt einen Helfer (Schalter) mit dem Label To-Do.

Dadurch können wir auf dem Dashboard die Auto Entities Karte nutzen, um uns nur die aktuell anstehenden Aufgaben anzeigen zu lassen.

YAML für die Auto Entities Karte:

type: custom:auto-entities
card:
  type: entities
  title: Aktive ToDos
  show_header_toggle: false
  state_color: true
filter:
  include:
    - options:
        secondary_info: last-updated
      state: "on"
      label: todo
show_empty: false
sort:
  method: name

1. Kaffeemaschine: Reinigung nach Bezug oder Zeit

Bei der Kaffeemaschine nutze ich zwei Kriterien: Entweder nach 20 Tassen oder spätestens nach 14 Tagen. Über Home Connect frage ich den Gesamtzähler ab und vergleiche ihn mit dem Stand der letzten Reinigung. Anhand von diesem Beispiel ist die Kaffeemaschine natürlich nur eine Art “Platzhalter”. Du kannst dieses auch mit anderen Geräten machen – je nachdem wie es passt. Ebenso – sollte klar sein – müssen die Entitäten angepasst werden!

YAML für die Kaffeemaschinen-Automation (Erinnerung für die Reinigung):

alias: Kaffeemaschine reinigen Erinnerung
description: >-
  Erstellt eine To-Do, wenn 20 Kaffees seit der letzten Reinigung gemacht wurden
  oder 14 Tage vergangen sind.
triggers:
  - hours: /1
    trigger: time_pattern
  - event: start
    trigger: homeassistant
actions:
  - variables:
      aktueller_zaehler: "{{ states('sensor.kaffeevollautomat_kaffees') | int(0) }}"
      letzter_zaehler: >-
        {{ states('input_number.kaffeezahlstand_bei_letzter_reinigung') | int(0)
        }}
      tage_seit_reinigung: >-
        {% set lr = states('input_datetime.letzte_kaffeemaschinenreinigung') %}
        {% if lr in ['unknown','unavailable','', None] %}
          0
        {% else %}
          {% set lr_dt = as_datetime(lr, default=now()).astimezone() %}
          {% set delta = (now().astimezone() - lr_dt).days %}
          {{ delta }}
        {% endif %}
      kaffees_seit_reinigung: "{{ (aktueller_zaehler - letzter_zaehler) | int }}"
  - if:
      - condition: or
        conditions:
          - condition: template
            value_template: "{{ kaffees_seit_reinigung >= 20 }}"
          - condition: template
            value_template: "{{ tage_seit_reinigung >= 14 }}"
    then:
      - action: input_boolean.turn_on
        data: {}
        target:
          entity_id: input_boolean.kaffeemaschine_reinigung_notig
mode: single

Automation zum Zurücksetzen

alias: Kaffeemaschine – Reinigung bestätigt
description: Setzt Werte zurück wenn Schalter ausgeschaltet wird
triggers:
  - entity_id:
      - input_boolean.kaffeemaschine_reinigung_notig
    to: "off"
    trigger: state
actions:
  - variables:
      aktueller_zaehler: "{{ states('sensor.kaffeevollautomat_kaffees') | int(0) }}"
  - data:
      entity_id: input_datetime.letzte_kaffeemaschinenreinigung
      datetime: "{{ now().isoformat() }}"
    action: input_datetime.set_datetime
  - data:
      entity_id: input_number.kaffeezahlstand_bei_letzter_reinigung
      value: "{{ aktueller_zaehler }}"
    action: input_number.set_value
mode: single

2. Spülmaschine: Wash Data Integration

Für die Spülmaschine (und andere “dumme” Geräte via Zwischenstecker) ist die Custom Integration Wash Data genial. Sie lernt die Verbräuche der verschiedenen Programme und zählt die Zyklen mit.

Link zur Integration: Wash Data auf GitHub


3. Roborock: Staubbehälter voll (berechnet)

Da der Roborock keinen Sensor für den Füllstand des Behälters hat, nutzen wir die gereinigte Fläche. Ich habe festgelegt, dass nach ca. 750 m² geleert werden muss. Die Formel in der Automation prüft, ob durch die letzte Reinigung ein neuer 750er-Block angebrochen wurde.

Die Formel-Logik:

YAML für die Roborock-Automation:

alias: "Roborock: Wartungserinnerung - Staubbeutel (alle 750qm)"
description: Sendet eine Benachrichtigung an Stefan alle 750qm Reinigungsleistung.
triggers:
  - entity_id: sensor.saros_10r_gesamter_reinigungsbereich
    trigger: state
conditions:
  - condition: template
    value_template: >-
      {{ (trigger.to_state.state | float(0) / 750) | int >
      (trigger.from_state.state | float(0) / 750) | int }}
actions:
  - data:
      title: Roborock Wartung fällig
      message: >
        Der Saros 10 hat weitere 750m² gereinigt.  Aktueller Gesamtstand: {{
        states('sensor.saros_10r_gesamter_reinigungsbereich') }} m².
    action: notify.mobile_app_iphone_stefan
  - action: input_boolean.turn_on
    metadata: {}
    target:
      entity_id: input_boolean.staubbehalter_entleeren
    data: {}
mode: single

4. Waschmaschine: Zyklen zählen

Hier triggern wir einfach auf den Zustand “Waschen”. Wenn dieser für mindestens eine Minute ansteht, erhöht ein Helfer den Zähler um +1. Bei Erreichen von 30 Wäschen wird die Reinigungs-Erinnerung aktiviert.

YAML für die Waschmaschinen-Automation (Zähler):

alias: "Waschmaschine: Zähler & Alarm"
description: Zählt Waschgänge und aktiviert Wartungshinweis bei 30
triggers:
  - entity_id:
      - sensor.zeo_lite_zustand
    to:
      - washing
    for:
      hours: 0
      minutes: 1
      seconds: 0
    trigger: state
actions:
  - target:
      entity_id: counter.waschmaschine_zyklen
    action: counter.increment
  - if:
      - condition: numeric_state
        entity_id: counter.waschmaschine_zyklen
        above: 29
    then:
      - target:
          entity_id: input_boolean.waschmaschine_reinigung_fallig
        action: input_boolean.turn_on
mode: single

YAML für die Waschmaschinen-Automation (Reset):

alias: "Waschmaschine: Reset nach Reinigung"
description: Setzt Zähler auf 0, wenn der Wartungsschalter deaktiviert wird
triggers:
  - entity_id: input_boolean.waschmaschine_reinigung_fallig
    from: "on"
    to: "off"
    trigger: state
actions:
  - target:
      entity_id: counter.waschmaschine_zyklen
    action: counter.reset

Vielleicht auch interessant?

Es wurden keine Ergebnisse gefunden.

Beitrag teilen:

Du musst angemeldet sein, um einen Kommentar abzugeben.

Weitere ähnliche Beiträge auf verdrahtet.info: