ich brauche mal wieder eure Unterstützung. Neben dem Workday-Sensor versuche ich gerade, meinen Kalender nach Urlaubseinträgen auszulesen – aber irgendwie klappt das nicht so richtig.
Könnte es vielleicht daran liegen, dass es sich um ein ganztägiges Ereignis handelt?
Ich bin für jeden Tipp dankbar!
Hi, habe mir die Automatisierung jetzt nicht weiter angeschaut, aber du hast Recht, die ganztägigen Kalendereinträge werden etwas anders behandelt.
Sie beginnen um Mitternacht (00:00:00) am Startdatum. Die Integration löst den trigger (start) nur exakt zu diesem Zeitpunkt aus. Wenn Home Assistant zu diesem Zeitpunkt neu gestartet wurde oder nicht lief, wird der Trigger nicht ausgelöst und es gibt auch keine Wiederholung während des Tages.
Ich glaube daher besser wäre es, wenn du nach dem Wort Urlaub den Kalender durchsuchst und das im Anschluss ausgibst.
Hi,
und wie mache ich das?
Oder würde es evtl auch schon reichen, wenn bei „Terminbeginn“ oder „Terminende“ eine Zeit eintrage?
Bin mir auch unsicher ob mein Template so richtig ist, da ich das auch nur aus einem Video kopiert habe
Viele Grüße
Deine Automatisierung sieht eigentlich ganz gut aus. Ich würde aber den Aufbau wie gesagt anders angehen. Hier mal ein Beispiel das jeden Tag um 6:00 Uhr prüft und schaut ob im kalender ein Eintrag mit dem Namen Urlaub vorhanden ist, wenn ja dann wird der Helfer auf on geschalten und wenn nicht auf off. (In deinem Beispiel wird der Helfer beim finden von Urlaub auf off geschalten, macht ja eigentlich keinen Sinn)
Die Automation wird um 6:00 Uhr getriggert dabei wird dann der Kalender Urlaub für den aktuellen Tag von 0:00 bis 23:59:59 Uhr ausgelesen. Das Ergebnis wird in der Variablen vacation_today gespeichert und anschließend prüft die Bedingung ob ein Termin mit dem Titel Urlaub in der Variablen vorhanden ist. Je nachdem was zutrifft werden dann die von dir vorgegebenen Aktionen ausgeführt.
Das ist ggf. viel komplexer als das was bisher angedacht bzw. vorgeschlagen wurde. Aber ich nutze diese Art der Automation bereits seit Monaten für meinen eigenen Arbeitstagsensor da mir die Workday-Integration zu unflexibel ist.
sorry für meine späte Rückmeldung – und vielen Dank nochmal für deine Unterstützung!
Ich habe deine Automation direkt mal getestet und mir für Montag einen Urlaubstag eingetragen. Der Helfer wurde am Montagmorgen um 6 Uhr auch wie geplant aktiviert
Allerdings wurde er am Dienstag leider nicht wieder deaktiviert. Erst heute Morgen (Mittwoch) ist er automatisch ausgeschaltet worden.
Warum es da zu dieser Verzögerung kam, kann ich leider nicht genau sagen. Ich hatte den Urlaubstag gestern Abend wieder aus dem Kalender gelöscht, nicht das ich denke, ich hätte dort wirklich Urlaub gehabt.
Das Problem was du hattest war das der Termin ein ganztägiger Termin ist, somit beginnt der Termin wie in deinem Beispiel am Montag 30.06.2025 um 0:00 Uhr, allerdings endet der Termin am 01.07.2025 um 0:00 Uhr. Da der Zeitraum der Prüfung von 0:00 Uhr bis 23:59:59 Uhr geht wurde der Termin am Dienstag dem 01.07.2025 weiterhin erfasst. Und erst am 02.07.2025 nicht mehr erkannt.
Was ich geändert habe ist das jetzt nach einem Termin mit der Bezeichnung Urlaub und dem Terminbeginn mit dem heutigen Datum gesucht wird. Und je nachdem ob die Bedingung erfüllt ist oder nicht, werden deine gewünschten Aktionen diesmal korrekt ausgeführt.
Hab das ganze bei mir getestet, hat bei mir super funktioniert. Hoffe ich habe keine Bugs drin, falls doch sag mir Bescheid dann schau ich natürlich nochmal rein.
Hi,
ich hatte mir testweise am Freitag und Sonntag schnell Urlaub eingetragen.
Am Freitag hat alles super funktioniert: Der Helfer wurde korrekt aktiviert und am Samstag auch wieder deaktiviert – vielen Dank dafür!
Aber heute (Sonntag) wurde der Helfer leider nicht wieder eingeschaltet. Das verstehe ich nicht ganz.
Ich trage jetzt mal Urlaub für Dienstag ein und beobachte, ob sich bis dahin etwas ändert.
Ich guck mir nochmal den Code an, da der Termin korrekt als ganztägiger Termin und mit dem korrektem Titel erstellt wurde sehe ich erstmal keinen Fehler im Kalender selbst.
Vielleicht haut da die Prüfung des Termins aus der Variablen noch nicht ganz hin.
Einen Fehler kann ich aktuell nicht erkennen der Code ist genau der selbe wie vorher, bis auf die Uhrzeit aber die ist ja nicht relevant.
Die einzige Ursache warum bei mir ggf. die Erkennung nicht funktioniert, ist das in meinen Terminen ein Schreibfehler vorhanden ist, z.B. ein Leerzeichen oder was anderes. Oder ggf. der Termin im falschen Kalender gespeichert ist.
Kontrolllier das mal am besten nochmal ist mir alles schon passiert.
Hallo Sam
Ja genau, die Zeit hatte ich nochmal angepasst.
Aber ging trotzdem perfekt.
Habe jetzt zwei Wochen mal wirklich Urlaub, und konnte es somit testen.
Montag/ Dienstag hat der Sensor noch funktioniert, die anderen Tage nicht mehr.
Heute auf einmal nun doch wieder
Sehr merkwürdig
In meinen Kalender steht der Urlaub für die gesamten zwei Wochen drin, wodurch ich einen Rechtschreibfehler ausschließe.
Das einzige was mir einfallen würde, ist dein Urlaub ein großer Termin von Tag X bis Y oder ist dabei für jeden Tag ein neuer Termin drin.
Ich nutze immer nur die 2. Option und damit funktioniert es. Bin mir nicht sicher wie es ist wenn die 1. Option eingerichtet ist, hab ich nie ausprorbiert.
Dann dürfte das der Fehler sein, weil die Automation prüft ja ob der Beginn des Termins am heutigen Tag ist. Wenn du aber einen Termin z.B. 01.09. - 12.09.2025 einstellst, dann stimmt der Beginn nicht mit dem heutigem Datum überein. Somit wird die Bedingung nicht als wahr erkannt und nichts passiert.
Du müsstest den Termin somit als Serie erstellen, wodurch für jeden Tag ein separaten Termin erstellt wird und somit die Bedingung jedes mal korrekt geprüft werden kann.