Ich habe im Moment eine Automation die einen Schalter setzt je nachdem ob Urlaub im Kalender steht oder nicht. Diese funktioniert auch. Jetzt wollte ich mal sehen welchen Lösungsweg es noch gibt.
Ich hatte mal was mit dem Kalendertrigger laufen, aber da wurde der Schalter nicht auf aus gesetzt.
Daher diese Automation.
alias: Urlaubstrigger an
description: ""
trigger:
- alias: Jeden Tag um 3Uhr
platform: time
at: "03:00:00"
condition: []
action:
- choose:
- conditions:
- condition: template
value_template: >-
{{ 'Urlaub' in state_attr('calendar.+++++++_gmail_com',
'message') }}
sequence:
- alias: wird der Urlaubsschalter auf an gesetzt
service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.urlaubsmode
enabled: true
- conditions:
- condition: template
value_template: >-
{{ 'Urlaub' not in state_attr('calendar.+++++_gmail_com',
'message') }}
sequence:
- alias: wird der Urlaubsschalter auf aus gesetzt
service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.urlaubsmode
enabled: true
mode: single
die echte Kalenderadresse habe ich natürlich drin stehen.
Würde es auch besser mit dem input_boolean machen. Falls sich mal was ändert, muss man es nicht an x Stellen ändern.
Was man damit so alles machen kann: Ich steuere damit meine Rollladen dynamisch. Schlafzimmer erst hoch um 10 am Wochenende, Feiertags oder halt an einem Urlaubstag. Als Raucher bleibt die Rolllade zur Terrasse auf, bis der Schlafsensor anschlägt. Bin ich auf Dienstreise, kann die Rolllade auch, wie alle anderen, bei -4 Grad Sonnenneigung geschlossen werden. Dafür nutze ich auch den Kalender mit Einträgen “Urlaub” oder “Unterwegs:*”.
ganztägig funktioniert doch auch mit dem Kalendertrigger oder nicht? Ich meine ich hatte das mal darüber gemacht, aber er hatte nur bei start nicht bei ende getriggert. Daher der jetzige Lösungsweg.
Danke für den Hinweis.
Genau deshalb habe ich es. Wecker die vergessen wurden auszustellen und dann um 5 Uhr klingeln. Sauger die zu früh fahren…
Ganztägig funktioniert natürlich auch mit dem Kalender Trigger. Man kann dann auch mit offset arbeiten, da ganztägig immer von 0:00 bis 0:00 geht. Da du 3 Uhr geschrieben hast, macht der Zeit Trigger meiner Meinung nach mehr Sinn.
Nun ist mir vorgestern aufgefallen, habe ich 2 x ganztägige Einträge (es war ein Geburtstag). Dann funktioniert das ganze nicht mehr. Schaue ich in den Entwicklerwerkzeugen nach, bekomme ich nur den letzten Eintrag zu sehen.
Aber ich denke mal das ist ein Thema für die Entwickler.
Ich denke ich werde doch nicht der einzige sein der diese Funktion nutzen möchte.
Du könntest überlegen, ob Du nicht mit den Variablen des calendar trigger was machen kannst. Mit trigger.calendar_event.all_day kannst Du ein Ganztagesevent und mit trigger.calendar_event.summary den Titel abfragen und darüber einen input_boolean schalten. Wenn Du z.B. Urlaub im Titel stehen hast, schalte den Helfer ein. Dann kannst Du den in allerlei Automationen verwenden. Um 23:59 setzt Du den dann zurück, falls aktiviert gewesen, und um 0:00 kommt dann ja das nächste Event oder halt auch nicht.
Danke. Die Kalender Trigger hatte ich schon getestet. Aber da hatte es auch nicht funktioniert.
Bis jetzt hatte meine Lösung auch super funktioniert um meinen Helfer zu setzen.
Ich werde aber deinen Vorschlag testen und berichten.