
Fortgeschritten · Kapitel 10 von 20
Automatisierung: Trigger, Bedingungen, Aktion
Die Automatisierung ist das Herzstück jedes Smart Home. Hier lernst du die Bausteine kennen, aus denen jede Automation besteht – und wie du sie in Home Assistant und ioBroker zusammensetzt.
Affiliate-Links: Als Amazon-Partner verdiene ich an qualifizierten Verkäufen – für dich bleibt der Preis gleich.
Das Wichtigste in Kürze
3 Kernaussagen für Schnellleser
Jede Home-Assistant-Automatisierung folgt dem gleichen Dreiklang: Trigger (was löst sie aus?), Bedingung (wann soll sie ausgeführt werden?) und Aktion (was soll passieren?). Wer dieses Muster einmal verstanden hat, kann beliebig komplexe Automationen bauen – ohne Programmierkenntnisse, nur mit YAML.
- Trigger → Bedingung → Aktion: Jede Automation folgt diesem Dreiklang – der Trigger startet, die Bedingung filtert, die Aktion führt aus.
- „from/to"-Trigger: Zustands-Trigger mit konkreten Start- und Zielwerten sind zuverlässiger als reine Zustandswechsel.
- Praxis zuerst: Starte mit einem einfachen Beispiel (Licht bei Bewegung) und erweitere schrittweise – vollständige YAML-Beispiele findest du weiter unten.
KI-generiertDie Anatomie einer Automatisierung
Egal ob Home Assistant, ioBroker oder Node-RED – das Grundmuster ist immer gleich. Stell es dir wie einen Wenn-Dann-Satz vor: Wenn der Trigger auslöst und die Bedingung erfüllt ist, dann führe die Aktion aus.
Trigger: Die Auslöser verstehen
Zustands-Trigger (State Trigger)
Der häufigste Trigger-Typ. Er löst aus, wenn sich ein Entitätszustand ändert – etwa wenn ein Bewegungsmelder von „clear" auf „motion" wechselt. In Home Assistant sprichst du den Trigger über platform: state an, in ioBroker über .onChange() oder den „Wenn Objekt geändert"-Block in Blockly. In Node-RED verbindest du einen Inject- oder State-Node mit dem passenden Topic.
Zeit-Trigger (Time Trigger)
Zeit-Trigger lösen zu einer festen Uhrzeit aus – etwa jeden Morgen um 7:00 Uhr die Heizung hochfahren. In Home Assistant nutzt du platform: time mit einem at:-Eintrag. In ioBroker setzt du einen Schedule-Trigger oder einen Cron-Job im JavaScript-Adapter. Praktisch: Du kannst auch relative Zeiten setzen, etwa „30 Minuten nach Sonnenuntergang."
Sonnen-Trigger (Sun Trigger)
Sonnenauf- und -untergang als Trigger sind besonders praktisch für Licht- und Rollladen-Automatisierungen. Home Assistant bietet platform: sun mit den Events sunrise und sunset. In ioBroker nutzt du den Astro-Adapter für Sonnenauf- und -untergangs-Events. Du kannst auch einen Offset setzen – etwa „15 Minuten vor Sonnenuntergang die Rolläden schließen."
Template-Trigger
Home Assistant kennt einen Template-Trigger, der ein Jinja2-Template evaluiert und auslöst, sobald sich das Ergebnis ändert. Damit kannst du Trigger auf nahezu jede erdenkliche Bedingung setzen – etwa „löst aus, wenn die Differenz zwischen Innen- und Außentemperatur größer als 5 Grad wird." In ioBroker und Node-RED erreichst du ähnliche Flexibilität über Function-Nodes oder den JavaScript-Adapter.
Pro-Tipp
Verwende Zustands-Trigger mit konkreten „from“- und „to“-Werten, statt einfach auf jede Änderung zu reagieren. Das verhindert unnötige Ausführungen und macht deine Automatisierungen zuverlässiger.
Das Wesentliche in Kürze
Bedingungen: Feinsteuerung mit Conditions
Bedingungen sind optional, aber oft der Schlüssel für smarte – statt nur automatisierte – Abläufe. Während der Trigger entscheidet, wann etwas startet, entscheidet die Bedingung, ob es starten darf.
Zustandsbedingungen (State Condition)
Prüft, ob ein bestimmter Zustand aktuell ist. Beispiel: Die Automation „Licht einschalten bei Bewegung" soll nur laufen, wenn die Sonne untergegangen ist. Du setzt eine Bedingung sun: below_horizon.
Zeitbedingungen (Time Condition)
Beschränkt die Automatisierung auf bestimmte Zeiträume. Etwa: „Rolläden öffnen" nur zwischen 6:00 und 22:00 Uhr. Das verhindert, dass nachts versehentlich Rolläden bewegt werden.
Und/ODER-Verknüpfungen
In Home Assistant kannst du Bedingungen mit and und or verschachteln. Ein typisches Beispiel: „Licht einschalten WENN es dunkel ist (Condition 1) UND jemand zu Hause ist (Condition 2)."
Aktionen: Service-Aufrufe, Verzögerungen & Entscheidungen
Service-Aufrufe (Service Calls)
Der Kern jeder Aktion. Du rufst einen Service auf einem Gerät auf – etwa light.turn_on für eine Lampe oder climate.set_temperature für ein Thermostat.
Verzögerungen (Delays)
Mit einer Verzögerung baust du zeitliche Abfolgen: „Licht einschalten, 10 Minuten warten, Licht wieder ausschalten." In Home Assistant nutzt du delay: im Action-Block. Wichtig: Verwende mode: single, wenn die Automation während der Verzögerung nicht mehrfach laufen soll.
Entscheidungen (Choose)
Die Choose-Aktion ist wie ein If/Else in deiner Automation. Beispiel: „Wenn es Werktag ist, stelle die Heizung auf 21 Grad. Sonst auf 19 Grad." In Home Assistant nutzt du choose: im Action-Block.
Pro-Tipp
Teste jede neue Automation zuerst mit einer einzigen Aktion – etwa nur
light.turn_onohne Verzögerung. Wenn der Trigger zuverlässig feuert, erweiterst du um Delay, Choose und weitere Schritte. So findest du Fehler schneller.
Wusstest du schon?
Home Assistants Trace-Debugger zeigt Schritt für Schritt, welcher Trigger gefeuert hat, welche Bedingung geprüft wurde und welche Aktion ausgeführt wurde. Du findest ihn unter Einstellungen → Automatisierungen → Trace – unverzichtbar beim Debuggen komplexer Routinen.
Praxisbeispiele: Vom Einfachen zum Komplexen
Beispiel 1: Licht bei Bewegung (einfach)
Mit einem Aqara Bewegungsmelder(öffnet in neuem Tab) im Flur und einer smarten Matter-Lampe(öffnet in neuem Tab) sieht die Automation in Home Assistant so aus:
alias: "Licht Flur bei Bewegung"
mode: single
trigger:
- platform: state
entity_id: binary_sensor.flur_bewegung
from: "off"
to: "on"
condition:
- condition: sun
after: sunset
action:
- service: light.turn_on
target:
entity_id: light.flur
- delay:
minutes: 5
- service: light.turn_off
target:
entity_id: light.flur
Beispiel 2: Heizung nach Anwesenheit (mittel)
Trigger: Anwesenheitszone wechselt auf „home" oder „away". Bedingung: Alle Fensterkontakte melden „zu" – sonst würde die Heizung bei offenem Fenster hochfahren. Aktion: Choose – wenn zu Hause, stelle das Shelly Heizungsthermostat(öffnet in neuem Tab) auf 21 Grad; sonst auf 17 Grad.
Beispiel 3: Guten-Morgen-Routine (komplex)
Trigger: Uhrzeit 6:30 (Werktage) oder 8:30 (Wochenende). Bedingungen: Jemand zu Hause; nicht im Urlaub-Modus. Aktionen: Rolläden öffnen, 2 Minuten warten, Licht in der Küche auf 50 % einschalten, smarte Steckdose(öffnet in neuem Tab) für die Kaffeemaschine starten, Wetteransage über Lautsprecher.
Tipps für robuste Automatisierungen
- Namen vergeben: Gib jeder Automation einen aussagekräftigen Namen. „Licht Flur bei Bewegung" ist besser als „Automation 47".
- Modus beachten: Home Assistant bietet
single,restart,queuedundparallel– siehe Tabelle unten. - Klein anfangen: Baue zuerst die einfache Version. Wenn die funktioniert, erweitere sie schrittweise.
- Traces nutzen: Home Assistant zeigt im Trace-Debugger Schritt für Schritt, was passiert ist.
| Modus | Wann nutzen? |
|---|---|
single | Einfache Aktionen – neue Auslösung wird ignoriert, solange die Automation läuft. |
restart | Verzögerungen mit Timer – jeder neue Trigger setzt die Wartezeit zurück. |
queued | Jeder Trigger wird nacheinander abgearbeitet – nichts geht verloren. |
parallel | Mehrere Instanzen gleichzeitig – nur bei unabhängigen Aktionen ohne Seiteneffekte. |
Pro-Tipp
Dokumentiere deine Automatisierungen direkt in der YAML-Datei mit einem Kommentarblock am Anfang – oder verlinke die Entity-IDs in Obsidian mit einer kurzen Erklärung, warum du die Bedingung genau so gesetzt hast. Das spart dir Wochen später viel Nachdenken.
Häufig gestellte Fragen
Was ist der Unterschied zwischen Trigger und Bedingung?
Welchen Modus soll ich wählen?
Kann ich mehrere Trigger kombinieren?
Wie debugge ich eine Automatisierung, die nicht funktioniert?
Welche Automation sollte jeder Einsteiger zuerst bauen?
Passende Tools