Ik wil m'n Android wekker automatisc
h instellen op basis van de agenda van mijn vrouw en ik. Onderstaande moet werken, maar ik vraag me af of dit wat eenvoudiger kan?
Wanneer mijn vrouw de volgende oc
htend geen dagdienst
heeft en ik de volgende oc
htend naar kantoor ga, dan moet de volgende dag de wekker om 6:25 gaan. Wanneer
het de volgende dag vakantie is (of
het is daadwerkelijk vakantie), dan gaat de wekker natuurlijk niet.
(Overigens
heb ik de c
heck nu om 19:00 staan, zodat ik nog even kan blijven controleren of de wekker wel wordt gezet de komende tijd. De c
heck zal binnenkort na 24:00 uur zijn, zodat vakantie wat makkelijker als condition in te zetten is.)
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| #Kantoor wekker
- alias: 'Kantoor wekker'
initial_state: 'true'
trigger:
platform: time
at: '19:00'
condition:
- condition: not
conditions:
- condition: template
value_template: "{{ ((as_timestamp(states.calendar.dagdienst.attributes.start_time) - as_timestamp(now())) < 50400) and ((as_timestamp(states.calendar.dagdienst.attributes.start_time) - as_timestamp(now())) > 36000) }}"
- condition: template
value_template: "{{ ((as_timestamp(states.calendar.vakantie.attributes.start_time) - as_timestamp(now())) < 21600) and ((as_timestamp(states.calendar.kantoor.attributes.start_time) - as_timestamp(now())) > 14400) }}"
- condition: state
entity_id: calendar.vakantie
state: 'on'
- condition: template
value_template: "{{ ((as_timestamp(states.calendar.kantoor.attributes.start_time) - as_timestamp(now())) < 50400) and ((as_timestamp(states.calendar.kantoor.attributes.start_time) - as_timestamp(now())) > 36000) }}"
action:
- service: notify.mobile_app_pixel_5
data:
message: command_activity
data:
channel: "com.google.android.deskclock"
tag: "android.intent.action.SET_ALARM"
group: "android.intent.extra.alarm.HOUR:6,android.intent.extra.alarm.MINUTES:25,android.intent.extra.alarm.MESSAGE:Kantoor,android.intent.extra.alarm.SKIP_UI:true" |
Als mijn vrouw moet werken 's oc
htends en
het is een werk-/sc
hooldag, dan mag ik de kinderen naar sc
hool brengen en dan mag de wekker om 7:25 gaan. Vakantie condition is niet nodig, aangezien mijn vrouw dan geen dagdienst in
haar agenda
heeft staan.
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| #Kinderen naar school wekker
- alias: 'Thuiswerken wekker'
initial_state: 'true'
trigger:
platform: time
at: '19:00'
condition:
- condition: template
value_template: "{{ ((as_timestamp(states.calendar.dagdienst.attributes.start_time) - as_timestamp(now())) < 50400) and ((as_timestamp(states.calendar.dagdienst.attributes.start_time) - as_timestamp(now())) > 36000) }}"
- condition: state
entity_id: binary_sensor.workday_sensor
state: 'on'
action:
- service: notify.mobile_app_pixel_5
data:
message: command_activity
data:
channel: "com.google.android.deskclock"
tag: "android.intent.action.SET_ALARM"
group: "android.intent.extra.alarm.HOUR:7,android.intent.extra.alarm.MINUTES:25,android.intent.extra.alarm.MESSAGE:Kinderen naar school,android.intent.extra.alarm.SKIP_UI:true" |
Als
het een werkdag is (en geen vakantie) en ik ga niet naar kantoor, dan is
het een t
huiswerkdag (lees: later opstaan en werken in pyjama...) en gaat de wekker om 8:00.
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| #Thuiswerken wekker
- alias: 'Thuiswerken wekker'
initial_state: 'true'
trigger:
platform: time
at: '19:00'
condition:
- condition: not
conditions:
- condition: template
value_template: "{{ ((as_timestamp(states.calendar.kantoor.attributes.start_time) - as_timestamp(now())) < 50400) and ((as_timestamp(states.calendar.kantoor.attributes.start_time) - as_timestamp(now())) > 36000) }}"
- condition: template
value_template: "{{ ((as_timestamp(states.calendar.dagdienst.attributes.start_time) - as_timestamp(now())) < 50400) and ((as_timestamp(states.calendar.dagdienst.attributes.start_time) - as_timestamp(now())) > 36000) }}"
- condition: template
value_template: "{{ ((as_timestamp(states.calendar.vakantie.attributes.start_time) - as_timestamp(now())) < 21600) and ((as_timestamp(states.calendar.kantoor.attributes.start_time) - as_timestamp(now())) > 14400) }}"
- condition: state
entity_id: calendar.vakantie
state: 'on'
- condition: state
entity_id: binary_sensor.workday_sensor
state: 'on'
action:
- service: notify.mobile_app_pixel_5
data:
message: command_activity
data:
channel: "com.google.android.deskclock"
tag: "android.intent.action.SET_ALARM"
group: "android.intent.extra.alarm.HOUR:8,android.intent.extra.alarm.MINUTES:00,android.intent.extra.alarm.MESSAGE:Thuiswerken,android.intent.extra.alarm.SKIP_UI:true" |
Iemand nog tips om dit wat netter te maken? Ik zou op zic
h ook wel met een sensor of input_boolean willen werken welke aangeeft of morgen een kantoor/t
huiswerkdag is en wat voor dienst mijn vrouw die dag
heeft. Maar daar kwam ik niet
helemaal uit...