Home Assistant Template Jinja Sammlung – Helfer für Automatisierungen & Sensoren

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
NICHTS VERPASSEN
Neue Beiträge direkt per Mail!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.