Den aktuellen Monat als Bedingung in Automatisierungen nutzen

Heute hat mich vom Leser Theo die Frage erreicht, wie man bei einer Automatisierung den aktuellen Monat als Bedingung nutzen kann. Konkrete Frage war: Die Automatisierung soll nur ausgefรผhrt werden, wenn man sich in den Monaten Oktober bis Mรคrz befindet – wie macht man das? Mein erster Gedanke war, dies mit einer Template-Bedingung und irgendwie mit einer Timestamp-Umwandlung zu machen. Tatsรคchlich ist mein Vorschlag nun eine Template-Bedingung mit einer super einfachen รœberprรผfung, welchen Monat wir aktuell haben. Los geht’s! ๐Ÿ˜‰

Bevor ich meinen Lรถsungsvorschlag zeige, zunรคchst noch ein Mini-Exkurs, wie man in einer Automatisierung als Bedingung ein Template nutzt:

In deiner Automatisierung klickst du auf BEDINGUNG HINZUFรœGEN woraufhin sich ein Dialog รถffnet.

In diesem Dialog klickst du dann auf Andere Bedingungen:

Den aktuellen Monat als Bedingung in Automatisierungen nutzen

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

Follow Home Assistant
( 424 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 Ansicht im Dialog wechselt und als nรคchstes wรคhlst du Template:

Den aktuellen Monat als Bedingung in Automatisierungen nutzen

Hiernach solltest du (in etwa) folgende Ansicht haben:

Den aktuellen Monat als Bedingung in Automatisierungen nutzen

Und in die Text-Area mit dem Namen Wert-Template * kรถnnen wir nun die eigentliche Logik unserer Bedingung eintragen.

Kommen wir nun zur Template-Logik, รผber welche wir prรผfen wollen, ob wir uns aktuell in einer Liste von Monaten (bspw. Oktober bis Mรคrz, also 10, 11, 12, 1, 2, 3) befinden.

Hierzu musst du wissen, dass Bedingungen ja letztlich Prรผfungen sind. Wenn die Bedingung erfรผllt wird (also true ist), soll die Automatisierung ausgefรผhrt werden.

Die benรถtigte Template-Bedingung muss also bei der Prรผfung des aktuellen Monats true liefern, wenn der Monat 10, 11, 12, 1, 2 oder 3 ist.

Home Assistant ist zu einem nicht geringen Teil in Python geschrieben, so dass wir bei Templates sehr oft mit regulรคren Python-Funktionen oder Operatoren arbeiten kรถnnen.

Fรผr uns nun hilfreich ist, dass Python eine Funktion now() bereitstellt, welche die Uhrzeit und das Datum (also auch den Monat) zum Zeitpunkt des Aufrufes der Funktion liefert. Und darรผber hinaus kann man sich bspw. mit now().month den aktuellen Monat als Integer ausgeben lassen.

Nun mรผssen wir also lediglich prรผfen, ob der Wert von now().month in unserer Liste 10, 11, 12, 1, 2, 3 enthalten ist.

In der Syntax von Home Assistant sieht das dann wie folgt aus:

{{ now().month in [10, 11, 12, 1, 2, 3] }}

Ist now().month in der Liste enthalten, liefert die Zeile/Prรผfung true als Ergebnis zurรผck.

Hast du den Code eingegeben, kannst du die korrekte Funktionsweise auch direkt testen, in dem du auf die 3 vertikalen Punkte und dann Testen klickst:

Den aktuellen Monat als Bedingung in Automatisierungen nutzen

Im Falle dass dein Code true als Ergebnis liefert, wird dir BEDINUNG ERFรœLLT angezeigt:

Den aktuellen Monat als Bedingung in Automatisierungen nutzen

Anderenfalls wird dir in orange ein BEDINGUNG NICHT ERFรœLLT angezeigt.

Mit dem gezeigten Code-Template kannst du nun also Automatisierungen erstellen, die als Bedingung die Prรผfung des aktuellen Monats haben, also nur in jenen Monaten ausgefรผhrt werden, in denen du dies wรผnschst. Die Monatsliste 10, 11, 12, 1, 2, 3 kannst du natรผrlich beliebig anpassen!

Dieser Beitrag ist Teil einer Beitrags-Serie rund um Home Assistant.

1 Gedanke zu „Den aktuellen Monat als Bedingung in Automatisierungen nutzen“

  1. Hallo Olli. Was ein Service an Deine Leserinnen und Leser.

    Das Problem hat mich seit Tagen nicht mehr los gelassen und Du konntest den entscheidenden Tipp mittels der Wert-Template Bedingung geben. Sensationell.

    Ich konnte es mundgerecht in die bestehende Automatisierung einbauen, welche bisher ganzjรคhig den Schalter ausschaltete. Das passiert nun nur noch in den Wintermonaten, wenn ich es wirklich benรถtige. Stark.

    Ich glaube, ich muss mich mal tiefer in die Wert-Templates einarbeiten. Damit ist ja noch mehr mรถglich als ohnehin schon.

    Vielen Dank, Theo

    Antworten

Schreibe einen Kommentar