Jeder kennt das Licht, das im Keller, im Gäste-WC oder in der Garage stundenlang brennt, weil niemand es ausgeschaltet hat. Die naheliegende Lösung in Home Assistant ist ein delay in der Automation – doch der hat einen entscheidenden Haken: Startet Home Assistant neu, ist der laufende Countdown verloren, und das Licht bleibt für immer an. Die saubere Lösung heisst timer-Helfer. Er überlebt einen Neustart, lässt sich pausieren, verlängern und auf dem Dashboard anzeigen. In meinem Setup steuert genau so ein Helfer – timer.timer_light_hue_white_lamp_1 – das Abschalten einer Hue-Lampe.
Das Problem mit dem einfachen Delay
Ein delay in einer Automation blockiert den Ablauf für eine feste Zeit. Wird die Automation erneut ausgelöst, während der Delay läuft, kommt es je nach Modus zu Doppelläufen oder das neue Triggern wird verschluckt. Und das gravierendste Problem: Ein Delay lebt nur im Arbeitsspeicher. Jeder Neustart, jedes Update, jeder Stromausfall setzt ihn auf null – ohne dass die geplante Aktion noch ausgeführt wird.
Der Timer-Helfer löst all das. Er ist eine eigene Entität mit klar definierten Zuständen (active, paused, idle) und sendet beim Ablaufen das Event timer.finished, auf das man sauber reagieren kann. Wird er erneut gestartet, während er läuft, beginnt der Countdown einfach von vorn – ideal, um die Abschaltung bei jeder neuen Bewegung wieder hinauszuschieben.
Dazu kommt ein praktischer Nebeneffekt: Weil der Timer eine sichtbare Entität ist, kannst du seinen Restwert in anderen Automationen, Vorlagen oder Benachrichtigungen abfragen. Du kannst zum Beispiel kurz vor dem Ablauf eine Erinnerung senden oder den Timer von mehreren Auslösern aus steuern – vom Bewegungsmelder, von einem Taster und vom Dashboard gleichzeitig. Ein nackter delay kennt diese Flexibilität nicht; er ist eine Blackbox, die niemand von aussen einsehen kann.
Schritt 1: Den Timer-Helfer anlegen
Den Helfer erstellt man unter Einstellungen → Geräte & Dienste → Helfer → Helfer erstellen → Timer. Alternativ geht es per YAML in der configuration.yaml:
timer:
timer_light_hue_white_lamp_1:
name: "Licht Countdown Hue White"
duration: "00:05:00"
restore: true
Wichtig ist restore: true – damit nimmt der Timer nach einem Neustart seinen Lauf wieder auf, statt einfach zu verschwinden. Die duration legt die Standardlaufzeit fest, hier fünf Minuten. Sie lässt sich beim Start jederzeit überschreiben.
Schritt 2: Den Timer bei Bewegung starten
Sobald Licht eingeschaltet wird oder ein Bewegungsmelder auslöst, starten wir den Timer. Bei jeder weiteren Bewegung wird er neu gestartet und der Countdown verlängert sich automatisch:
automation:
- alias: "Licht an – Countdown starten"
trigger:
- trigger: state
entity_id: light.hue_white_lamp_1
to: "on"
action:
- action: timer.start
target:
entity_id: timer.timer_light_hue_white_lamp_1
data:
duration: "00:05:00"
Wer einen Bewegungsmelder nutzt, ersetzt den Trigger durch den binary_sensor der Präsenzerkennung. So wird der Timer bei jeder erkannten Bewegung neu aufgezogen.
Schritt 3: Beim Ablauf abschalten
Jetzt fehlt nur noch die Reaktion auf das Ende des Countdowns. Der Trigger timer.finished ist dafür gemacht:
automation:
- alias: "Countdown abgelaufen – Licht aus"
trigger:
- trigger: event
event_type: timer.finished
event_data:
entity_id: timer.timer_light_hue_white_lamp_1
action:
- action: light.turn_off
target:
entity_id: light.hue_white_lamp_1
Das war’s. Wird das Licht von Hand ausgeschaltet, bevor der Timer abläuft, kann man den Timer mit timer.cancel zusätzlich stoppen, damit er nicht ins Leere läuft – sauber, aber nicht zwingend nötig, da die Lampe dann ohnehin schon aus ist.
Den Countdown sichtbar machen
Der grosse Vorteil gegenüber dem Delay zeigt sich auf dem Dashboard: Eine simple Entities- oder Mushroom-Karte mit timer.timer_light_hue_white_lamp_1 zeigt den laufenden Countdown live an. So sieht man auf einen Blick, wie lange das Licht noch brennt – und kann es mit einem Tippen verlängern oder abbrechen. Diese Dashboard-Logik lässt sich beliebig erweitern; wie man Karten wirklich aufgeräumt gestaltet, zeigt der Beitrag Mushroom & Bubble Cards: Dashboards, die wirklich begeistern.
Fazit
Der Timer-Helfer ist die unspektakuläre, aber grundsolide Antwort auf vergessenes Licht – und auf jede andere zeitgesteuerte Abschaltung: Badlüfter, Bewässerung, Heizstrahler. Er übersteht Neustarts, lässt sich beliebig oft neu aufziehen und macht den Countdown sichtbar. Wer bislang mit delay gearbeitet hat, sollte seine wichtigsten Automationen darauf umstellen. Der Aufwand ist klein, der Gewinn an Zuverlässigkeit gross – und das nächste Update wirft den Countdown garantiert nicht mehr aus der Bahn.