====== 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.