Hallo zusammen. Ich habe eine funktionierende Automation zu laufen. Ich möchte diese nun erweitern, dass diese nur ausgeführt werden soll, wenn in einem bestimmten Kalender kein Eintrag ist. Konkret geht es um einen Urlaubskalender. Wenn dieser leer ist bzw. keinen Eintrag an diesem Tag hat, soll die Automation nicht ausgeführt werden. Es gibt aber nur den Trigger “Aktiver Termin im Kalender x”, jedoch nicht das Gegenteil.
Vielleicht gibt es noch einen anderen Lösungsansatz, als meine Idee?
Okay, werde ich mal probieren. Was mir gerade bei meinen CalDav Kalendern auffällt, dass dieser gar nicht richtig angezeigt wird. Habe gerade einen Termin heute 17 Uhr im Kalender “privat” drin. Bei der Prüfung im Editor zeigt er mir aber an, dass kein aktiver Kalender drin sei… Also kann man sich ja darauf auch nicht wirklich verlassen. Oder übersehe ich etwas?
Sorry, vielleicht hat ich falsch gedacht. Ich dachte, Du tust eine Aktion an dem Tag vor dem Urlaub und entsprechend oberen Code wäre es egal ob ein Termin ganztägig oder nicht ist.
Wenn Du am Urlaubstag erst abfragst und bspw. {{ is_state('calendar.dein_urlaubskalender', 'off') }}
als Bedingung setzt ob die Automatisation ausgeführt wird, reicht das.
Das kannst Du einfach ausprobieren.
Wenn Du zu einer Zeit fragst, wo kein Termin eingestellt ist, dann wird diese Bedingung true sein ansonsten false. Die Frage ist eher wann Du die Automatisation prüfen läßt.
Ja das würde mir reichen. Doofe Frage. Ich mache eigentlich alles im Editor. Wo trage ich das denn ein? Wenn ich eine Bedingung auf yaml umstelle und den Code dort ersetze, funktioniert das nicht.
Ich würde es einfach nur so haben wollen, dass generell geprüft wird, ob ein Eintrag vorhanden ist oder war (also schon abgelaufen ist, aber noch im Kalender steht). Also ohne bestimmte Prüfungen zu einer Uhrzeit.
So einfach wird es einem nicht gemacht bzw. so eine Funktion gibt es nicht.
Man muß
entweder wie oben einen Kalender abfragen ob gerade ein Termin aktiv ist (man könnte auch nach Titel fragen etc) → mit einem Ganztagestermin wäre man auf sicherer Seite
oder man gib der Kalender Abfrage einen Zeitraum mit indem der Kalender durchsucht werden soll, ob es einen Termin gab/gibt
Im obigen Beispiel mache ich das für den Zeitraum morgen