Datumsangaben in Home Assistant nutzen

Mit ein klein wenig Template-Code kann man in Home Assistant Datumsangaben nahezu beliebig nutzen, manipulieren oder dynamisch erstellen. Hierdurch kannst du deine Skripte und Automationen noch smarter machen, da du somit die Datumsangaben dynamisch nutzen kannst. Ich zeige dir zahlreiche Beispiele, wie du Datumsangaben sofort für dein Smart Home nutzen kannst.

In dem dazugehörigen Video auf YouTube erkläre ich die Funktionen und Code-Schnipsel ausführlich, so dass du bei Fragen hierzu die gewünschten Antworten dort vermutlich finden wirst:

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
Datumsangaben in Home Assistant nutzen

Wenn du trotz Video Fragen zu den Code-Schnipseln hast, kannst du diese natürlich sehr gerne im Forum stellen!

Hier die Sammlung der von mir im Video gezeigten Code-Schnipsel:

Aktueller Tag (im Monat)
{{ now().day }}

Aktueller Monat (mit Prüfungen)
{{ now().month }}
{{ now().month in (1, 2, 3, 10, 11, 12) }}
{{ now().month not in (1, 2, 3, 10, 11, 12) }}
{{ now().month not in (4, 5, 6, 7, 8, 9) }}

Aktuelles Jahr (mit weiteren Prüfungen)
{{ now().year }}
{{ now().year == 2025 }}
{{ now().year != 2025 }}

Der aktuelle Wochentag
{{ now().isoweekday() }}

Nützliche Datums-Funktionen:
{{ as_timestamp(today_at("12:34")) }}
{{ now() < today_at("06:15") }}
{{ today_at() }}
{{ today_at("12:34") }}

Heute 00:00 Uhr
{{ today_at() }}
{{ now().replace(hour=0).replace(minute=0).replace(second=0).replace(microsecond=0) }}
{{ as_timestamp(today_at()) }}

1. Tag im Monat
{{ now().replace(day=1).replace(hour=0).replace(minute=0).replace(second=0).replace(microsecond=0) }}

Die aktuelle Kalenderwoche
{{ now().strftime('%V') }}

Time-Since und Time-Until für Plausibilitätsprüfungen im Template-Editor:
{{ time_since(state_attr('automation.yt_sonnenschutz', 'last_triggered'), 0) }}
{{ time_since(state_attr('automation.yt_sonnenschutz', 'last_triggered'), 1) }}
{{ time_since(state_attr('automation.yt_sonnenschutz', 'last_triggered'), 2) }}

{{ time_until(as_datetime((states.sensor.muell.attributes|list)[0]), 1) }}

{{ as_datetime((states.sensor.muell.attributes|list)[0]) }}

{{ time_until(as_datetime((states.sensor.muell.attributes|list)[0]), 1) }}

Prüfung der letzten Ausführung einer Automation auf Tag
{{ not state_attr('automation.yt_sonnenschutz', 'last_triggered').day==now().day }}
{{ state_attr('automation.yt_sonnenschutz', 'last_triggered').day }}
{{ now().day }}


Prüfung der letzten Ausführung einer Automation auf Sekunden (3600000)
{{ time_since(state_attr('automation.yt_sonnenschutz', 'last_triggered'), 0) }}
{{ as_timestamp(now()) - as_timestamp(states.automation.yt_sonnenschutz.attributes.last_triggered, default=0) > 3600000 }}

Wie im Video gesagt, nutze ich Template-Code in Kombination mit Datumsangaben primär bei Automationen um sicherzustellen, dass diese nicht zu häufig bzw. zum richtigen Zeitpunkt ausgeführt werden. Prüfungen auf den aktuellen Monat nutze ich aber beispielsweise auch, so dass Automationen ganzjährig aktiv sein können, obwohl ich diese eigentlich nur im Winter benötige.

Du magst Home Assistant? Dann abonniere kostenlos meine Beiträge mit Tipps, Tricks und Anleitungen rund um Home Assistant:

Follow Home Assistant
( 688 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!

Die Möglichkeiten sind unendlich und ich hoffe, dass ich mit meinen Code-Beispielen und den dazugehörigen Erklärungen das für dich nötige Wissen vermitteln konnte, damit auch du mit dynamischen Datumsangaben deine Automationen und Skripte verbessern kannst!

Produktempfehlungen