====== Weiße Ware ======
Überwachung von Waschmaschine und Trockner mit Energieverbrauch
===== Voraussetzungen =====
Bevor du loslegst, stelle sicher, dass:
* Deine Steckdosen (mit OpenBeken und Zigbee2MQTT) in Home Assistant korrekt integriert sind. Du solltest Entitäten wie ''sensor.waschmaschine_power'' und ''sensor.trockner_power'' haben, die den aktuellen Stromverbrauch in Watt messen. (Falls nicht, überprüfe in Zigbee2MQTT, ob die Power-Messung aktiviert ist.)
* Es gibt auch einen ''Energy Total''-Sensor wie ''sensor.waschmaschine_energy'' für den kumulativen Verbrauch in kWh.
* Die Home Assistant Companion App ist auf den beiden Handys installiert und mit HA verbunden. Das ermöglicht Push-Benachrichtigungen.
* Du hast Zugriff auf die HA-Konfiguration (z.B. über die Weboberfläche oder YAML-Dateien).
Die Idee: Wir überwachen den Stromverbrauch. Wenn die Leistung über einen Schwellenwert steigt (z.B. > 10 W für 1 Minute), gilt die Maschine als "gestartet". Wenn sie danach unter einen Schwellenwert fällt (z.B. < 5 W für 5 Minuten), gilt sie als "beendet". Beim Ende senden wir Benachrichtigungen und berechnen den Energieverbrauch pro Zyklus.
===== Schritt 1: Hilfs-Entitäten erstellen (Helpers) =====
Um den Status der Maschinen zu tracken (z.B. "läuft" oder "aus") und den Start-Energiewert zu speichern, erstelle Input Booleans und Input Numbers.
* Gehe in HA zu **Einstellungen > Geräte & Dienste > Helfer** (oder suche nach "Helpers").
* Klicke auf **Helfer hinzufügen**.
==== Input Booleans ====
* Wähle **Schalter (Input Boolean)**.
* Erstelle zwei:
* Name: ''Waschmaschine läuft'' (Entity-ID: ''input_boolean.waschmaschine_laeuft'')
* Name: ''Trockner läuft'' (Entity-ID: ''input_boolean.trockner_laeuft'')
Diese sind standardmäßig ausgeschaltet.
==== Input Numbers ====
* Wähle **Zahl (Input Number)**.
* Erstelle zwei:
* Name: ''Waschmaschine Start Energie'' (Entity-ID: ''input_number.waschmaschine_start_energy'')
* Minimum: 0, Maximum: 10000 (oder höher), Schritt: 0.01, Einheit: kWh.
* Name: ''Trockner Start Energie'' (Entity-ID: ''input_number.trockner_start_energy'')
* Gleiche Einstellungen.
===== Schritt 2: Automatisierungen erstellen =====
Gehe zu **Einstellungen > Automatisierungen & Szenen > Automatisierungen** und erstelle neue Automatisierungen. Ich beschreibe sie hier visuell (über die UI), aber du kannst auch YAML verwenden.
Ich fokussiere mich auf die Waschmaschine; wiederhole für den Trockner (ersetze "waschmaschine" durch "trockner" in Namen, Entities usw.).
==== Automatisierung 1: Waschmaschine startet ====
* **Name:** Waschmaschine Start
* **Auslöser (Trigger):**
* Typ: Numerischer Zustand
* Entity: Dein Power-Sensor (z.B. ''sensor.waschmaschine_power'')
* Über: 10 (Schwellenwert anpassen, je nach Maschine; teste mit der Entwickler-Tools > Zustände)
* Für: 1 Minute (um Fehlauslösungen zu vermeiden)
* **Bedingungen (Conditions):**
* Entity: ''input_boolean.waschmaschine_laeuft''
* Zustand: Aus (damit es nur triggert, wenn sie nicht schon läuft)
* **Aktionen (Actions):**
* Dienst aufrufen: ''input_boolean.turn_on''
* Entity: ''input_boolean.waschmaschine_laeuft''
* Dienst aufrufen: ''input_number.set_value''
* Entity: ''input_number.waschmaschine_start_energy''
* Wert: Template: ''{{ ..:states_sensor.waschmaschine_energy | float }}'' (ersetze ''sensor.waschmaschine_energy'' durch deinen Energy-Sensor)
* Optional: Sende eine Benachrichtigung für den Start (siehe unten für Beispiel, aber du wolltest das nur für das Ende).
==== Automatisierung 2: Waschmaschine endet ====
* **Name:** Waschmaschine Ende
* **Auslöser:**
* Typ: Numerischer Zustand
* Entity: ''sensor.waschmaschine_power''
* Unter: 5 (Schwellenwert anpassen)
* Für: 5 Minuten (länger, da Maschinen am Ende oft kurz hochdrehen)
* **Bedingungen:**
* Entity: ''input_boolean.waschmaschine_laeuft''
* Zustand: Ein
* **Aktionen:**
* Dienst: ''input_boolean.turn_off''
* Entity: ''input_boolean.waschmaschine_laeuft''
* Benachrichtigung an Handys:
* Dienst: ''notify.mobile_app_dein_handy1'' (ersetze mit der Entity-ID deines ersten Handys, z.B. ''notify.mobile_app_iphone_von_user1'')
* Daten:
* Titel: "Waschmaschine fertig!"
* Nachricht: Template: ''Die Waschmaschine hat ihren Zyklus beendet. Verbrauch: {{ ..:states_sensor.waschmaschine_energy | float - states('input_number.waschmaschine_start_energy') | float) | round(2) }} kWh.''
* Wiederhole für das zweite Handy: ''notify.mobile_app_dein_handy2''
* Persistente Benachrichtigung für Dashboard:
* Dienst: ''persistent_notification.create''
* Daten:
* Titel: "Waschmaschine fertig"
* Nachricht: Template: ''Die Waschmaschine ist bereit. Verbrauch: {{ ..:states_sensor.waschmaschine_energy | float - states('input_number.waschmaschine_start_energy') | float) | round(2) }} kWh.''
* Notification ID: "waschmaschine_ende" (eindeutig, damit sie überschrieben werden kann)
===== Schritt 3: Dashboard anpassen =====
* Gehe zu **Übersicht** (Dashboard) und bearbeite es.
* Füge eine **Benachrichtigungen**-Karte hinzu (such nach "Persistent Notifications" oder erstelle eine manuelle Karte).
* Die persistente Notification erscheint automatisch im Benachrichtigungs-Bereich (oben rechts im HA-Interface). Du kannst sie auch in eine Custom Card einbinden, z.B. mit Mushroom Cards oder einer Markdown-Card, die den Input Boolean anzeigt.
* Optional: Füge eine Entity-Karte für die Input Booleans hinzu, um den Status visuell zu sehen (z.B. "Waschmaschine: Läuft" mit Icon).
===== YAML-Beispiele =====
Falls du YAML nutzt, hier Beispiele für die Waschmaschine (füge in ''automations.yaml'' ein und lade neu).
==== Waschmaschine Start ====
alias: Waschmaschine Start
trigger:
- platform: numeric_state
entity_id: sensor.waschmaschine_power
above: 10
for:
minutes: 1
condition:
- condition: state
entity_id: input_boolean.waschmaschine_laeuft
state: 'off'
action:
- service: input_boolean.turn_on
target:
entity_id: input_boolean.waschmaschine_laeuft
- service: input_number.set_value
target:
entity_id: input_number.waschmaschine_start_energy
data:
value: "{{ states('sensor.waschmaschine_energy') | float }}"
mode: single
==== Waschmaschine Ende ====
alias: Waschmaschine Ende
trigger:
- platform: numeric_state
entity_id: sensor.waschmaschine_power
below: 5
for:
minutes: 5
condition:
- condition: state
entity_id: input_boolean.waschmaschine_laeuft
state: 'on'
action:
- service: input_boolean.turn_off
target:
entity_id: input_boolean.waschmaschine_laeuft
- service: notify.mobile_app_handy1
data:
title: Waschmaschine fertig!
message: >-
Die Waschmaschine hat ihren Zyklus beendet. Verbrauch: {{ (states('sensor.waschmaschine_energy') | float - states('input_number.waschmaschine_start_energy') | float) | round(2) }} kWh.
- service: notify.mobile_app_handy2
data:
title: Waschmaschine fertig!
message: >-
Die Waschmaschine hat ihren Zyklus beendet. Verbrauch: {{ (states('sensor.waschmaschine_energy') | float - states('input_number.waschmaschine_start_energy') | float) | round(2) }} kWh.
- service: persistent_notification.create
data:
title: Waschmaschine fertig
message: >-
Die Waschmaschine ist bereit. Verbrauch: {{ (states('sensor.waschmaschine_energy') | float - states('input_number.waschmaschine_start_energy') | float) | round(2) }} kWh.
notification_id: waschmaschine_ende
mode: single
===== Tipps und Anpassungen =====
* **Schwellenwerte testen:** Nutze **Entwickler-Tools > Zustände**, um den Power-Wert zu beobachten. Typisch: Standby < 5W, läuft > 50-2000W. Passe "Über/Unter" und "Für"-Zeiten an, um Fehlalarme zu vermeiden.
* **Start-Benachrichtigung hinzufügen:** Wenn du das auch möchtest, kopiere die Ende-Aktionen in die Start-Automatisierung (ohne den Turn-Off).
* **Entity-Namen:** Passe ''sensor.waschmaschine_energy'' an deinen tatsächlichen Sensor an (oft heißt er ''sensor._energy'' oder ähnlich via Zigbee2MQTT).
* **Erweiterung:** Für genauere Überwachung könntest du den Energy-Dashboard nutzen oder Integrationen wie "Appliance" von HACS hinzufügen.
* **Testen:** Starte die Maschine manuell (z.B. über Entwickler-Tools > Dienste). Dann triggere das Ende und schaue, ob die Berechnung stimmt.
* Wenn etwas unklar ist, teste in kleinen Schritten und schaue in die HA-Logs (**Einstellungen > System > Logs**).
Das sollte funktionieren! Wenn du mehr Details brauchst, lass es mich wissen.