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…
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.
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 aufkam, wie man eine Automation aus der Auflistung ausschließt, hier eine entsprechende Ergänzung bzw. der komplette Code inkl. der Ergänzung:
|D|H|M||Name|
|----:|----:|----:|:--:|:----|
{%- for state in states.automation
|selectattr('attributes.last_triggered', 'defined')
|selectattr('attributes.last_triggered')
|rejectattr('name', 'in', ['NSPanel Configuration', 'Automation1', 'Automation2'])
|sort(attribute='attributes.last_triggered', reverse=true) -%}
{%- set t = now() - state.attributes.last_triggered -%}
{%- if (t.total_seconds() / 60) <= 120 -%}
{%- set days = t.days if t.days > 0 else ' ' -%}
{%- set hrs = t.seconds//3600 -%}
{%- set hrs = hrs if hrs > 0 else ' ' -%}
{{ '\n' }}|{{days}}|{{hrs}}|{{(t.seconds//60)%60}}||_{{state.name}}_|
{%- endif -%}
{%- endfor -%}
In der Zeile
|rejectattr('name', 'in', ['NSPanel Configuration', 'Automation1', 'Automation2'])
können statt NSPanel Configuration und Automation1 und Automation2 beliebige Automationen ergänzt werden.
Zusätzlich habe ich zwischenzeitlich auch noch ergänzt, dass nur jene Automationen aufgelistet werden, die in den letzten 120 Minuten gelaufen sind. Dieser Wert kann natürlich individuell angepasst werden.
ich hab das auch mit den custom:auto-entities gemacht. Ist genial, wenn man schauen kann, was gerade aktuell läuft, oder auch in den letzten 60 Minuten von welcher Automation ausgelöst wurde. Hat mir schon öfter geholfen “unerklärliches“ zu klären ![]()