Kennst du das auch? Du fragst dich, ob eine deiner komplexeren Automationen gerade läuft – oder ob mal wieder irgendwas nicht funktioniert, wie es soll? Gerade bei Home Assistant kann das schon mal undurchsichtig werden. Klar, bei einfachen Automationen, wie „Licht an bei Bewegung“, sieht man sofort, ob sie ausgelöst wurden. Aber was ist mit Automationen, die Bedingungen, Schleifen oder Wartezeiten enthalten?
Ich habe früher immer mühsam in den Traces nachgeschaut, ob eine Automation noch ausgeführt wird. Das geht, ist aber alles andere als komfortabel. Deshalb zeige ich dir heute einen deutlich einfacheren Weg, wie du dir jederzeit anzeigen lassen kannst, welche Automationen gerade aktiv sind.
Wie so oft, gibt es zu dem Blogbeitrag auch ein Video auf YouTube von mir:
So bekommst du die Info – einfach im Dashboard
Du brauchst dafür nur ein paar Zeilen Code – wo und wie du diesen einsetzt, ist ganz dir überlassen. Ich selbst nutze ihn direkt im Dashboard, um mir alle aktuell laufenden Automationen anzeigen zu lassen.
Mein Code für die Darstellung im Dashboard in einer Markdown-Karte:
Du magst Home Assistant? Dann abonniere kostenlos meine Beiträge mit Tipps, Tricks und Anleitungen rund um Home Assistant:
Follow Home Assistant
Garantiert kein Spam, keine Werbung und immer mit Abmelde-Link, solltest du es dir anders überlegen!
{{ states.automation | selectattr('attributes.current', 'defined') | selectattr('attributes.current', '>', 0) | map(attribute='name') | join('\n') }}
Und falls du dir daraus einen Sensor bauen willst (mittels Helfer), hier noch ein minimal angepasster Code (Komma statt Zeilenumbruch):
{{ states.automation | selectattr('attributes.current', 'defined') | selectattr('attributes.current', '>', 0) | map(attribute='name') | join(', ') }}
Hier ist der Clou: Der Code fragt die Attribute aller Automationen ab und prüft, ob das Attribut current
existiert und größer als 0 ist. Denn:
current = 0
→ die Automation wird gerade nicht ausgeführtcurrent > 0
→ die Automation läuft aktuell
Du kannst den Code ganz einfach in einer Markdown-Karte einbinden – und zack: Du siehst jederzeit auf einen Blick, welche Automationen gerade aktiv sind. Kein Rumgesuche mehr, keine Traces wälzen.
Wo kommt der Code her?
Ich habe die Idee und den Code aus dem Home Assistant Forum entdeckt (danke an den smarten Taras Regular, der das bereitgestellt hat!). Da alles super funktioniert, musste ich fast nichts mehr daran ändern.
Noch mehr rausholen mit einem Helfer
Du willst die Infos nicht nur anzeigen, sondern auch weiterverarbeiten? Kein Problem!
Erstell dir einfach einen neuen Helfer (also einen Template-Sensor), passe den Code minimal an – z. B. damit die laufenden Automationen durch Kommas getrennt ausgegeben werden – und schon hast du einen Sensor, den du für Benachrichtigungen oder Prüfungen verwenden kannst.
So erkennst du z. B. automatisch, wenn sich eine Automation unerwartet lange im Ausführungszustand befindet – und kannst reagieren, bevor etwas „hängenbleibt“.
Seit ich diesen Trick nutze, bin ich jederzeit informiert, was bei mir im Hintergrund läuft – und konnte dadurch sogar einige Automationen verbessern, die unbemerkt aktiv waren, obwohl sie es gar nicht sollten. Das macht dein Smart Home nicht nur zuverlässiger – sondern steigert auch ganz nebenbei den WAF (du weißt schon, den Woman Acceptance Factor 😉).
Produktempfehlungen
Ich habe bei mir mal einen identischen Ansatz verfolgt. Anstatt die laufenden Automationen und Skripte als Text wiederzugeben, zeige ich diese (wenn Attribut Current nicht gleich 0) als Kachelkarte an. Zusätzlicher Vorteil: Beim Klick auf die Kachel navigiert man gleich auf die Entität.
Interessiert? 🙂 https://github.com/users/chrisannen/projects/1?pane=issue&itemId=53269111
@chrannen Mega gut umgesetzt, danke fürs Teilen!
Da die Frage gerade in den Kommentaren aufkam: Mit folgendem Code kriegt man die letzten Automationen aufgelistet:
Den Code habe ich so im HA-Forum gefunden.