Läuft die Automation – oder ist mal wieder was kaputt?

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:

Sie sehen gerade einen Platzhalterinhalt von YouTube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.

Mehr Informationen
Welche Automationen laufen gerade eigentlich?

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
( 651 Followers )
X

Follow Home Assistant

E-mail : *
* Ich stimme der Datenschutzerklärung zu!

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ührt
  • current > 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 😉).

3 Gedanken zu „Läuft die Automation – oder ist mal wieder was kaputt?“

  1. Da die Frage gerade in den Kommentaren aufkam: Mit folgendem Code kriegt man die letzten Automationen aufgelistet:

    |D|H|M||Name|
    |----:|----:|----:|:--:|:----|
    {% for state in states.automation
       |selectattr('attributes.last_triggered', 'defined')
       |selectattr('attributes.last_triggered')
       |sort(attribute='attributes.last_triggered', reverse=true) -%}
      {%- set t = now() - state.attributes.last_triggered -%}
      {%- set days = t.days if t.days > 0 else ' ' -%}
      {%- set hrs = t.seconds//3600 %}
      {%- set hrs = hrs if hrs > 0 else ' ' -%}
      |{{days}}|{{hrs}}|{{(t.seconds//60)%60}}||_{{state.name}}_|
    {% endfor %}

    Den Code habe ich so im HA-Forum gefunden.

Die Kommentare sind geschlossen.