Home Assistant verwendet Jinja als Template Engine. Das bietet viele Möglichkeiten, aber viele davon entdeckt man eher zufällig, wenn man mit Jinja sonst keine Berührungspunkte hat. Hier findest du eine Sammlung von verschiedenen Templates, die mit Jinja umgesetzt sind und dir noch mehr Spielraum in deiner Home Assistant Instanz geben.
Du brauchst Hilfe?
Du brauchst bei einem bestimmten Template Hilfe? Schreib gern ein Kommentar, ich schau mir das gern an und versuche dir bei der Lösung zu helfen.
Datum Berechnungen
nächsten Sonnenaufgang anzeigen als Uhrzeit
Zeigt die Uhrzeit für den nächsten Sonnenaufgang als Uhrzeit an
{{ as_timestamp(state_attr('sun.sun', 'next_rising')) | timestamp_custom('%H:%M') }}
nächsten Sonnenuntergang als Uhrzeit ausgeben
Wenn du wissen willst, zu welcher Uhrzeit heute die Sonne untergeht, dann kannst du das zum Beispiel so lösen:
{{ as_timestamp(state_attr('sun.sun', 'next_setting')) | timestamp_custom('%H:%M') }}
letzte Ausführung von Automatisierung
Du willst wissen, wann eine Automatisierung das letzte Mal ausgeführt wurde? Oder du benötigst diesen Wert für weitere Berechnungen? Das geht einfach.
Letzte Ausführung als Datetime Object – die Rückgabe kann z. B. als timestamp umgewandelt werden, oder mit strftime formatiert werden.
{{ state_attr('automation.3d_drucker_heizung_an', 'last_triggered') }}
# Ausgabe: 2021-05-30 04:30:56.129835+00:00
Umgewandelt als timestamp für Berechnungen
{{ as_timestamp(state_attr('automation.3d_drucker_heizung_an', 'last_triggered')) }}
# Ausgabe: 1622349056.129835
Formatiert in deutsches Datum:
{{ state_attr('automation.3d_drucker_heizung_an', 'last_triggered').strftime('%d.%m.%Y %H:%M:%S') }}
# Ausgabe: 30.05.2021 04:30:56
Countdown Berechnen
Einen Countdown auf dem Dashboard anzeigen, wann der Sommerurlaub ansteht? Das unkompliziert mit einer einfachen Variable.
{{ ( (as_timestamp(strptime("06.07.2023", "%d.%m.%Y")) -
as_timestamp(now()) ) / 86400 ) | round(default=0) }}
# Ausabe: 257
Vollständig als neuer Sensor könnte es z. B. so aussehen:
# configuration.yaml
template:
- trigger:
- platform: time_pattern
# Update jede Nacht 0 Uhr
hours: 0
minutes: 0
sensor:
- name: "Sommer Urlaub"
state: '{{ ( (as_timestamp(strptime("06.07.2023", "%d.%m.%Y")) - as_timestamp(now()) ) / 86400 ) | round(default=0) }}'
unit_of_measurement: "Days"
Tage seit einem Datum anzeigen
Statt eines Countdowns, kannst du natürlich auch ausgeben lassen, wie viele Tage seit einem bestimmten Datum vergangen sind. Klassisches Beispiel wäre: wie viel Tag du nicht mehr geraucht hast.
{{ ( ( as_timestamp(now()) - as_timestamp(strptime("06.01.2022", "%d.%m.%Y")) ) / 86400 ) | round(default=0) }}
#Ausgabe 234
Die Beispiele kann man leider wegen der Farbgebung nicht lesen. Light Theme / Drak Theme Problem?