Hallo, ich bin vor kurzem von ioBroker auf HA umgestiegen. In ioBroker gab es einen Adapter, der jeweils einen Datenpunkt (Entity) für die heutigen Ereignisse und auch die nächsten Tage in einem Kalender (z.B. Google) angelegt hatte. Dieser Datenpunkt wurde dann entweder mit True oder False ausgegeben, je nachdem ob an dem entsprechenden Tag ein bestimmtes Ereignis was oder nicht.
Einfach gesagt, ich bräuchte in HA einen Weg, auf zukünftige Ereignisse zu reagieren.
Um konkreter zu werden: Ich hatte in ioBroker unter anderem eine Automation, welche um 20 Uhr überprüft hatte, ob ich am nächsten Tag zur Arbeit muss oder nicht (dieser Termin war nicht als Ganztagesereignis, sondern z.B. von 8.00 Uhr bis 17.00 Uhr angelegt). Wenn das Ergebnis True war, wurde dann auf dem Echo ein Wecker gestellt.
Bisher hatte ich nichts gefunden, was mir zukünftige Kalendereinträge auslesen kann (wenn möglich in Node Red).
Ich hab mir so ne automation zusammen gebastelt.
Funktioniert, geht aber sicher auch schöner.
alias: Wecker
description: ""
trigger:
- platform: template
value_template: >-
{{ ((state_attr('calendar.main', 'start_time') | as_datetime | as_local -
now()).total_seconds() / 60) | int - 720 == as_timestamp(now()) }}
condition: []
action:
- alias: Arbeiten
if:
- condition: state
entity_id: calendar.main
attribute: message
state: Arbeiten
then:
- service: notify.mobile_app_oppo
data:
message: command_broadcast_intent
data:
intent_package_name: com.urbandroid.sleep
intent_extras: alarm_label:work_samstag,alarm_enabled:true
intent_action: com.urbandroid.sleep.alarmclock.ALARM_STATE_CHANGE
- service: notify.mobile_app_oppo
data:
message: "Wecker gestellt "
- delay:
hours: 12
minutes: 0
seconds: 0
milliseconds: 0
- service: notify.mobile_app_oppo
data:
message: command_broadcast_intent
data:
intent_package_name: com.urbandroid.sleep
intent_extras: alarm_label:work_samstag,alarm_enabled:false
intent_action: com.urbandroid.sleep.alarmclock.ALARM_STATE_CHANGE
- service: notify.mobile_app_oppo
data:
message: " Samstag Wecker wieder aus "
- alias: Frei
if:
- condition: state
entity_id: calendar.main
attribute: message
state: Frei
then:
- service: notify.mobile_app_oppo
data:
message: command_broadcast_intent
data:
intent_package_name: com.urbandroid.sleep
intent_extras: alarm_label:work,alarm_enabled:false
intent_action: com.urbandroid.sleep.alarmclock.ALARM_STATE_CHANGE
- service: notify.mobile_app_oppo
data:
message: "Wecker aus "
- delay:
hours: 12
minutes: 0
seconds: 0
milliseconds: 0
- service: notify.mobile_app_oppo
data:
message: command_broadcast_intent
data:
intent_package_name: com.urbandroid.sleep
intent_extras: alarm_label:work,alarm_enabled:true
intent_action: com.urbandroid.sleep.alarmclock.ALARM_STATE_CHANGE
- service: notify.mobile_app_oppo
data:
message: "Wecker wieder an "
mode: single