Hier in diesem Video zeige ich dir alles, was es zu Automationen in Home Assistant zu wissen gibt. Wir fangen bei den Triggern an, nehmen Bedingungen genauer unter die Lupe & erkunden die möglichen Aktionen.
Abgerundet wird das ganze mit vielen Beispielen aus dem “echten Leben”, wodurch du hoffentlich Ideen bekommst, wie du das gelernte in die Praxis umsetzen kannst 🙌
Inhaltsverzeichnis
- Voraussetzungen
- Erwähnte Automationen
- Blueprints für Automationen
- Cheat-Sheet für Templates in Automationen
- Zustände speichern & wiederherstellen
- Weitere Beiträge & Videos zu Automationen
- Fazit
Voraussetzungen
Home Assistant muss schon installiert sein, auf welcher Hardware spielt keine Rolle.
Erwähnte Automationen
Müll-Benachrichtigung
Luftreiniger-Automationen
alias: Env-SZ-Luftreiniger aus wenn gut description: "" trigger: - platform: numeric_state entity_id: sensor.levoit_core300s_air_quality below: "20" condition: - condition: device device_id: 8884fbb0306788cc230d6a60bae2a459 domain: fan entity_id: fan.levoit_core300s type: is_on action: - device_id: 8884fbb0306788cc230d6a60bae2a459 domain: fan entity_id: fan.levoit_core300s type: turn_off mode: single
alias: Env-SZ-Luft reinigen wenn schlecht description: "" trigger: - platform: numeric_state entity_id: sensor.levoit_core300s_air_quality above: "100" condition: - condition: device device_id: 8884fbb0306788cc230d6a60bae2a459 domain: fan entity_id: fan.levoit_core300s type: is_off - condition: state entity_id: input_boolean.streaming_active state: "off" action: - choose: - conditions: - condition: time after: "07:00:00" before: "22:00:00" sequence: - service: fan.set_preset_mode data: preset_mode: auto target: device_id: 8884fbb0306788cc230d6a60bae2a459 - conditions: - condition: time after: "22:00:00" before: "07:00:00" sequence: - service: fan.set_preset_mode data: preset_mode: manual target: device_id: 8884fbb0306788cc230d6a60bae2a459 - service: fan.set_percentage data: percentage: 25 target: entity_id: fan.levoit_core300s default: [] mode: single
Helfer-Automationen
alias: Helper - Alle schlafen description: "" trigger: - platform: time_pattern minutes: /15 condition: - condition: time after: "22:00:00" before: "07:00:00" - condition: state entity_id: input_boolean.alle_schlafen state: "off" - condition: not conditions: - condition: device device_id: fe2d2e457bab4d78f539b0bcb20e6dca domain: device_tracker entity_id: device_tracker.smr201_laptop_arbeit type: is_home - condition: device device_id: 5724b0ce4f596d28d91bb86a092f0b30 domain: device_tracker entity_id: device_tracker.mac_studio_3 type: is_home - condition: device device_id: e81825ab6d37aa49dacd1d8d3109c205 domain: device_tracker entity_id: device_tracker.mac_studio type: is_home - condition: state entity_id: binary_sensor.bewegung_in_der_wohnung state: "off" for: hours: 0 minutes: 10 seconds: 0 - condition: or conditions: - condition: state entity_id: media_player.lg_webos_smart_tv state: "off" - condition: state entity_id: media_player.lg_webos_smart_tv state: unknown - condition: state entity_id: media_player.lg_webos_smart_tv state: unavailable action: - service: input_boolean.turn_on data: {} target: entity_id: input_boolean.alle_schlafen mode: single
alias: Helper - Presence WZ description: "" trigger: - type: no_motion platform: device device_id: 9bad2dd716d6be8f30c72f076a2e75d5 entity_id: binary_sensor.hmip_smi55_2_00319d899ed9aa_motion domain: binary_sensor for: hours: 0 minutes: 25 seconds: 0 - type: motion platform: device device_id: 9bad2dd716d6be8f30c72f076a2e75d5 entity_id: binary_sensor.hmip_smi55_2_00319d899ed9aa_motion domain: binary_sensor condition: [] action: - choose: - conditions: - condition: not conditions: - condition: state entity_id: switch.wake_lg_web_os_tv state: "on" - condition: state entity_id: media_player.wohnzimmer state: playing - type: is_no_motion condition: device device_id: 9bad2dd716d6be8f30c72f076a2e75d5 entity_id: binary_sensor.hmip_smi55_2_00319d899ed9aa_motion domain: binary_sensor for: hours: 0 minutes: 25 seconds: 0 sequence: - service: input_boolean.turn_off data: {} target: entity_id: input_boolean.presence_wohnzimmer default: - service: input_boolean.turn_on data: {} target: entity_id: input_boolean.presence_wohnzimmer mode: single
Einmalige Automation für Strompreis
alias: Z_ 1Time Auto - Strompreis nächstes Jahr erhöhen description: Goldgas schreiben 151122 trigger: - platform: time at: input_datetime.nachstes_jahr condition: [] action: - service: input_number.set_value data: value: 0.467 target: entity_id: input_number.aktueller_strompreis mode: single
Luftfeuchtigkeits-Automation
Blueprints für Automationen
Blueprints Findest du in der Home Assistant Community.
Natürlich gibt es auch eine Doku von Home Assistant
Beitrage & Videos, in denen ich Blueprints genutzt habe:
- Mit Home Assistant ZigBee Geräte steuern über Zigbee2MQTT
- Bewegungsmelder in Home Assistant automatisieren (Der beste Weg)
- Heizung in Home Assistant so richtig smart machen (Better Thermostat)
Cheat-Sheet für Templates in Automationen
Hier findest du noch einige Hilfreiche Template-Codes für Automationen, die ich immer wieder von A nach B kopiere und die unglaublich praktisch sind 😁
Template-Condition, ob Entität zuletzt durch Automation geschaltet wurde.
Ziemlich praktisch um sicherzustellen, dass man beispielsweise das Licht nur wieder ausschaltet, wenn es durch eine / dieselbe Automation auch angeschaltet wurde.

condition: template value_template: >- {{ (states.entity_domain.entity_id.last_changed - state_attr('automation.automation_id','last_triggered')).total_seconds() < 1.5 and state_attr('automation.automation_id','last_triggered') < states.entity_domain.entity_id.last_changed }} alias: Wurde das Licht (light.entity_id) auch durch die Automatisierung angeschaltet? (unmittelbar danach)
Setzen eines Wertes, der in einem Helfer steht
Stellt den Wert eines numerischen Helfers als Zieltemperatur bei mehreren Thermostaten ein

service: climate.set_temperature data: temperature: "{{(float(states('input_number.entity_ID')))}}" target: entity_id: - climate.entity_ID - climate.entity_ID - climate.entity_ID - climate.entity_ID - climate.entity_ID
Setzen eines veränderten Helfer-Wertes
Ganz ähnlich wie oben, aber es wird der Wert des Helfers – 1 gesetzt:
service: climate.set_temperature data: temperature: "{{(float(states('input_number.entity_ID'))) - 1.0}}" target: entity_id: climate.entity_ID
Zustände speichern & wiederherstellen
Der ultimative Kniff für Home Assistant Automationen! 🚀 Mit dem Saver oder auch Szenen kannst du den Status einer Entität speichern, danach irgendwas machen und anschließend den gespeicherten Status wiederherstellen!
Möglichkeit 1: Szene
Die Szenen eignen sich dann, wenn die Automation nur einmal parallel laufen soll und du von allen Geräten den kompletten Zustand wiederherstellen willst. Falls das nicht zutreffen sollte, schau dir gerne mal unten die Variante mit der HACS Komponente Saver an 👍
Hier die Automation aus dem Video, die ein Licht kurz rot aufleuchten lässt und dann den Status von vorher über eine Home Assistant Szene wiederherstellt, die während der Laufzeit der Automation angelegt wird.
alias: Shapes rot wenn Tür geöffnet wird description: "" triggers: - trigger: state entity_id: - binary_sensor.eve_door_20ebn9901_tur from: "off" to: "on" conditions: - condition: or conditions: - condition: state entity_id: device_tracker.mac_studio_3_lan state: home - condition: state entity_id: device_tracker.smr223 state: home actions: - action: scene.create metadata: {} data: scene_id: tempscenelightautomation snapshot_entities: - light.shapes_e22c - action: light.turn_on metadata: {} data: rgb_color: - 255 - 0 - 0 brightness_pct: 60 target: entity_id: light.shapes_e22c - delay: hours: 0 minutes: 0 seconds: 2 - action: scene.turn_on metadata: {} data: {} target: entity_id: scene.tempscenelightautomation - action: scene.delete metadata: {} data: {} target: entity_id: scene.tempscenelightautomation mode: single
Möglichkeit 2: Saver
Auch wenn der Saver etwas Vorwissen zu Templating voraussetzt, ist er wirklich genial.
Du kannst mit dieser Komponente den Status jeder Entität über den Dienstaufruf speichern und anschließend mit der Aktion wieder darauf zugreifen.
Das geht natürlich auch von jeder Automation aus, also auch wenn der Status nicht durch dieselbe Automation gespeichert wird, durch die der Aufruf erfolgt oder du könntest die Aktionen auch beispielsweise im Dashboard ausführen (warum auch immer 😅).
alias: Fenster offen = Rollo hoch description: "" triggers: - trigger: state entity_id: - binary_sensor.fenster_schlafzimmer_state from: "off" id: SZ to: "on" - trigger: state entity_id: - binary_sensor.fenster_kuche_state from: "off" id: KU to: "on" conditions: - condition: or conditions: - alias: SZ condition: and conditions: - condition: trigger id: - SZ - condition: numeric_state entity_id: cover.rollo_schlafzimmer attribute: current_position below: 90 - alias: KU condition: and conditions: - condition: trigger id: - KU - condition: numeric_state entity_id: cover.rollo_kuche attribute: current_position below: 90 actions: - choose: - conditions: - condition: trigger id: - SZ sequence: - action: saver.save_state metadata: {} data: entity_id: - cover.rollo_schlafzimmer - action: cover.open_cover metadata: {} data: {} target: entity_id: cover.rollo_schlafzimmer - wait_for_trigger: - trigger: state entity_id: - binary_sensor.fenster_schlafzimmer_state from: "on" to: "off" timeout: hours: 0 minutes: 20 seconds: 0 - action: cover.set_cover_position metadata: {} data: position: >- {{ saver_entity('cover.rollo_schlafzimmer', 'current_position') }} target: entity_id: cover.rollo_schlafzimmer - conditions: - condition: trigger id: - KU sequence: - action: saver.save_state metadata: {} data: entity_id: - cover.rollo_kuche - action: cover.open_cover metadata: {} data: {} target: entity_id: cover.rollo_kuche - wait_for_trigger: - trigger: state entity_id: - binary_sensor.fenster_kuche_state from: "on" to: "off" timeout: hours: 0 minutes: 20 seconds: 0 - action: cover.set_cover_position metadata: {} data: position: "{{ saver_entity('cover.rollo_kuche', 'current_position') }}" target: entity_id: cover.rollo_kuche mode: parallel max: 10
Weiterer Fall für Saver: Thermostate
Wenn du deine Thermostate bei geöffnetem Fenster herunterregeln willst, ist eine Szene zum Wiederherstellen ggf. ungeeignet. Beim Anwenden der Szene verhalten sich Thermostate häufig anders und ich würde an der Stelle mit Saver Folgendes machen:
Die Entität mit Saver speichern und dann in 2 Schritten (mit einem Delay dazwischen):
Temperatur wieder einstellen → Delay 2 Sekunden → Danach wieder auf heat (oder was auch immer vorher war) setzen.
Thermostate mögen es häufig nicht, wenn 2 Sachen gleichzeitig geändert werden. Ist auch nicht nur bei Homematic der Fall 😉
Weitere Beiträge & Videos zu Automationen
Wenn du nicht genug bekommst, schau mal hier für noch mehr Beiträge zum Thema!
Fazit
Jetzt hast du also hoffentlich Automationen zumindest grundlegend verstanden und du strotzt vor Tatendrang, sofort loszulegen. Die Automationen sind in Home Assistant einer der wichtigsten und mächtigsten Bausteine.
Denn ich kenne kein anderes System, welche so mächtig ist, wenn es darum geht, Arbeitsabläufe und tägliche Aufgaben automatisiert abzubilden.
Wenn du Fragen oder Anmerkungen hast, zögere nicht, sie mir unten in den Kommentaren mitzuteilen und ich werde mein Bestes tun, um dir zu helfen. Vielen Dank fürs Zuschauen!
Zu erwähnen sei noch, dass die Auslöser immer “Oder” sind und die Bedingungen im Standard immer “Und”.
Also Auslöser 1 ODER Auslöser 2
mit Bedingung 1 UND Bedingung 2
eine Frage zu den Zustand Trigger bzw Zustand Bedingung. Wenn ich meine Heizung im Bad dafür nehme und mit dem attribut temperatur versehe und dann auch noch die soll Temperatur zb. 20 eingebe und dann testen drücke, ist die Bedingung nie erfüllt auch wenn soll auf 20 eingestellt ist. Ich meine auch immer mal eine Fehlermeldung bekommen zu haben aber find sie grad nicht.
kann das jemand mal testen( ist ein Homematic Thermostat)
hoffe es ist verständlich erklärt
hat das Heizungsthermostat denn dann auch genau 20° ?
Bedingung ist ja nur erfüllt, wenn am TRV 20° gemessen werden.
Wenn ich nicht irre, wird bei einem manuellen Start nur die Aktion ausgelöst, trigger und Bedingung werden ignoriert.
Zum testen kannst z. B nen Zeit trigger einbauen der zeitnah auslöst.
das ist ja die SollTemperatur
die IstTemp heißt bei den Homematic Thermostaten in HA “current_temperature”
@meowmoo
naja ich kann ja in der Automatisierung rechts bei der Bedingung auf die 3 Punkte gehen und auf testen drücken. Da sehe ich ja gleich ob die Bedingung erfüllt ist oder nicht
*@tabularasa84 *
Bitte für Ergänzungen/Nachträge die “bearbeiten” Funktion verwenden. Danke!
Wenn Du andere User direkt ansprechen oder zitieren möchtest, kannst Du das mit “@”+Usernamen (s.o.) tun.