Irgendwann hat jedes Setup das gleiche Problem: Drei Automationen für die Rollläden, vier fürs Licht, zwei für die Heizung. Alle fast identisch, nur der Auslöser unterscheidet sich. Genau dafür gibt es zwei Funktionen, die im Automations-Editor leicht zu übersehen sind: Trigger-IDs und den Auswählen-Baustein.
Im Video baue ich damit eine Rollladen-Automation, die morgens öffnet und abends schließt. Eine Automation, zwei Verhalten. Hier das Prinzip zum Nachlesen.
Trigger-IDs: Wer hat eigentlich ausgelöst?
Eine Automation kann mehrere Trigger haben. Sonnenaufgang und Sonnenuntergang zum Beispiel. Das Problem: In der Aktion weißt du erst mal nicht, welcher von beiden gefeuert hat. Sollen die Rollläden jetzt hoch oder runter?
Hier kommen Trigger-IDs ins Spiel. Jeder Trigger bekommt im Editor ein eigenes Feld "Auslöser-ID", in das du einen frei wählbaren Namen schreibst. morgens und abends etwa. Diese ID steht später zur Laufzeit zur Verfügung und sagt dir genau, welcher Trigger die Automation gestartet hat.
Die ID allein tut noch nichts. Sie wird erst nützlich in Kombination mit dem zweiten Baustein.
Der Auswählen-Baustein
"Auswählen" (in YAML: choose) ist eine Aktion, die wie eine Weiche funktioniert. Du definierst mehrere Optionen, jede mit einer Bedingung und eigenen Aktionen. Home Assistant prüft die Optionen von oben nach unten und führt die erste aus, deren Bedingung zutrifft.
Als Bedingung nimmst du "Ausgelöst durch" und verweist auf die Trigger-ID. Fertig ist die Verzweigung:
1automation:
2 - alias: "Rollläden morgens und abends"
3 trigger:
4 - platform: sun
5 event: sunrise
6 id: morgens
7 - platform: sun
8 event: sunset
9 id: abends
10 action:
11 - choose:
12 - conditions:
13 - condition: trigger
14 id: morgens
15 sequence:
16 - service: cover.open_cover
17 target:
18 entity_id: cover.wohnzimmer
19 - conditions:
20 - condition: trigger
21 id: abends
22 sequence:
23 - service: cover.close_cover
24 target:
25 entity_id: cover.wohnzimmerDas Ganze geht komplett im visuellen Editor, ohne eine Zeile Code. Die YAML-Ansicht lohnt sich trotzdem, weil sie die Struktur auf einen Blick zeigt.
Wann eine Automation, wann mehrere?
Die ehrliche Antwort: Geschmackssache, mit einer Faustregel.
| Situation | Empfehlung |
|---|---|
| Gleiche Geräte, unterschiedliche Auslöser | Eine Automation mit Trigger-IDs und Auswählen |
| Unterschiedliche Geräte, unterschiedliche Themen | Getrennte Automationen |
| Eine Logik soll einzeln deaktivierbar sein | Getrennte Automationen |
| Ein Input Select steuert mehrere Modi | Eine Automation, pro Modus eine Option |
Der letzte Fall ist mein Favorit: Ein Input Select "Anwesenheit" mit den Optionen Zuhause, Arbeit und Urlaub, dazu eine einzige Automation mit drei Auswählen-Optionen. Alles, was vom Anwesenheitsstatus abhängt, lebt an einem Ort statt verstreut über drei Automationen.
Der Punkt mit dem Deaktivieren wird oft vergessen. Eine Automation lässt sich nur als Ganzes ein- und ausschalten. Willst du das Abend-Verhalten pausieren, das Morgen-Verhalten aber behalten, sind zwei getrennte Automationen die sauberere Lösung.
Noch zwei Extras für unterwegs
Der Auswählen-Baustein kennt einen Standard-Zweig: Aktionen, die laufen, wenn keine der Optionen zutrifft. Praktisch als Sicherheitsnetz oder für Benachrichtigungen à la "unerwarteter Zustand".
Für komplexere Fälle darf eine Option übrigens mehrere Bedingungen haben. "Ausgelöst durch morgens UND Wochenende" als eigene Option vor "ausgelöst durch morgens" sorgt dafür, dass die Rollläden samstags später hochfahren. Die Reihenfolge zählt: speziellere Optionen nach oben, allgemeinere darunter.
Und: Trigger-IDs tauchen auch im Verlauf der Automation auf. Selbst ohne Auswählen-Baustein lohnt sich das Vergeben von IDs, weil du beim Debuggen sofort siehst, welcher Auslöser zugeschlagen hat. Bei der Fehlersuche spart das richtig Zeit, mehr dazu im Troubleshooting-Guide.
Noch ein Hinweis aus eigener Erfahrung: Du kannst Auswählen-Bausteine ineinander verschachteln, im Grunde unendlich tief. Ich rate dir davon ab. Irgendwann blickt da niemand mehr durch, du selbst eingeschlossen. Benenn stattdessen jede Option ordentlich, damit du in einem halben Jahr noch verstehst, was da abläuft.
Nacheinander, parallel, wiederholen
Der Auswählen-Baustein ist nicht der einzige, der sich in der Bausteine-Liste versteckt. Drei weitere lohnen den Blick.
Nacheinander ausführen stellt sicher, dass Aktionen wirklich in Reihenfolge laufen. Das klingt banal, wird aber wichtig, sobald Geräte aufeinander warten müssen. Beispiel Dachfenster: Erst muss das Rollo komplett hochfahren, dann erst darf das Fenster öffnen. Hier kombinierst du den Baustein mit einer Wartezeit oder einem "Warten auf Auslöser", bis das Rollo den Zustand "geöffnet" gemeldet hat.
Parallel ausführen macht das Gegenteil: Alle Aktionen starten gleichzeitig. Vorsicht damit. Wenn Home Assistant viele Befehle auf einmal rausballert, verstopfst du schnell die Warteschlange einzelner Geräte, gerade bei Funkprotokollen. Sinnvoll ist der Baustein eher, um zwei Szenen oder Skripte gleichzeitig zu starten, die ihre Schritte dann jeweils nacheinander abarbeiten.
Wiederholen gibt dir Schleifen: eine Aktion mehrfach ausführen oder so lange, bis eine Bedingung erfüllt ist. Mein Lieblingsbeispiel ist das optische Postsignal. Der Bewegungsmelder im Briefkasten meldet sich, und im Flur blinkt das Licht fünfmal:
1automation:
2 - alias: "Lichtsignal bei Post im Briefkasten"
3 trigger:
4 - platform: state
5 entity_id: binary_sensor.briefkasten_bewegung
6 to: "on"
7 action:
8 - repeat:
9 count: 5
10 sequence:
11 - service: light.turn_on
12 target:
13 entity_id: light.flur
14 - delay: "00:00:01"
15 - service: light.turn_off
16 target:
17 entity_id: light.flur
18 - delay: "00:00:01"Die Entwicklerwerkzeuge: unterschätzt und mächtig
Viele klicken die Entwicklerwerkzeuge nie an, dabei stecken da Funktionen drin, die dir beim Bauen von Automationen ständig helfen.
Der Tab Zustände zeigt dir jede Entität deines Systems mit aktuellem Wert und allen Attributen. Wenn ein Template einen undefined-Fehler wirft, schaust du hier nach, ob du dich beim Sensornamen vertippt hast. Den korrekten Namen kopierst du mit einem Klick. Du kannst Zustände sogar manuell setzen, um eine Automation mit einem bestimmten Wert zu testen.
Unter Aktionen probierst du jeden Service aus, den dein System kennt, ohne erst eine Automation zu bauen. Erst hier testen, dann in die Automation übernehmen: Diese Reihenfolge spart viel Hin und Her.
Der Tab Statistik verrät dir, welche Entitäten Langzeitdaten aufzeichnen und welche nicht mehr. Wenn dir in einer Auswertung Werte fehlen, findest du hier den Grund. Und im Tab Ereignisse kannst du eigene Events abfeuern und abonnieren, womit Automationen untereinander kommunizieren können. Das ist ein Thema für sich, aber gut zu wissen, dass es existiert.
Apropos Daten: Wenn du Verbrauchswerte für Strom, Gas oder Wasser auswerten willst, leg dir die passenden Verbrauchszähler-Helfer früh an. Was Home Assistant nicht aufzeichnet, ist weg, und nachträglich lassen sich die Daten nicht herzaubern. Das ist einer der wenigen Punkte, an denen Aufschieben wirklich etwas kostet. Das Gleiche gilt für Backups: Eine Sicherung auf demselben Datenträger wie das System ist keine. Wie du das sauber aufsetzt, steht im Guide zu Backup und Restore.
Wenn du dieselbe Auswahl-Logik öfter brauchst, etwa für jedes Zimmer einmal, schau dir Blueprints an. Damit baust du die Automation einmal als Vorlage und stempelst Kopien mit anderen Entities aus. Die Grundlagen zu Triggern und Aktionen sammelt der Automationen-Guide.
Häufige Fragen
Was ist der Unterschied zwischen Auswählen und Wenn-dann?
Wenn-dann prüft genau eine Bedingung und kennt höchstens ein Sonst. Auswählen kann beliebig viele Optionen verzweigen, jede mit eigenen Bedingungen und Aktionen. Sobald du mehr als zwei Fälle unterscheiden willst, ist Auswählen die übersichtlichere Wahl.
Wie viele Trigger darf eine Automation haben?
Technisch gibt es keine praktische Grenze, du kannst beliebig viele Auslöser anlegen. Jeder einzelne kann eine eigene ID bekommen, auf die du im Auswählen-Baustein reagierst. Ab einer Handvoll Trigger solltest du dich aber fragen, ob das Thema nicht besser in zwei Automationen aufgeteilt wäre.
Warum läuft meine Auswählen-Option nie?
Home Assistant prüft die Optionen von oben nach unten und führt nur die erste zutreffende aus. Steht eine allgemeine Option über einer speziellen, kommt die spezielle nie dran. Auch beliebt: ein Tippfehler in der Trigger-ID, denn die wird nicht auf Gültigkeit geprüft. Der Verlauf der Automation zeigt dir, welcher Zweig tatsächlich gelaufen ist.
Wo finde ich die Trigger-ID im visuellen Editor?
Das Feld ist standardmäßig ausgeblendet. Klick beim Trigger auf das Drei-Punkte-Menü und dann auf "ID bearbeiten", erst danach taucht das Eingabefeld auf. Warum das versteckt ist, weiß ich auch nicht, aber genau deshalb kennen viele die Funktion nach Monaten noch nicht.
