-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcalender_script.yaml
More file actions
97 lines (89 loc) · 3.65 KB
/
calender_script.yaml
File metadata and controls
97 lines (89 loc) · 3.65 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
MaakEenAfspraak:
sequence:
- alias: "Voeg afspraak toe in Google Agenda"
service: calendar.create_event
target:
entity_id: calendar.keyhunternl_gmail_com
data:
summary: "{{ beschrijving }}"
start_date_time: "{{ datum }} {{ tijd }}"
end_date_time: "{{ datum }}T{{ (tijd | regex_replace(find=':.*$', replace='') | int + 1) | string }}:00"
- alias: "Bevestig afspraak"
service: tts.cloud_say
data:
entity_id: media_player.assistant
message: "Afspraak toegevoegd: '{{ beschrijving }}' op {{ datum }} om {{ tijd }} uur."
VerwijderAfspraak:
sequence:
- alias: "Zoek de afspraak in de agenda"
service: calendar.get_events
target:
entity_id: calendar.keyhunternl_gmail_com
data:
start_date_time: "{{ datum }} {{ tijd }}"
end_date_time: "{{ datum }}T{{ (tijd | int + 1) | string }}:00+01:00"
response_variable: afspraken
- alias: "Controleer of de afspraak bestaat"
choose:
- conditions:
- condition: template
value_template: >-
{{ afspraken | selectattr('summary', 'equalto', beschrijving) | list | length > 0 }}
sequence:
- alias: "Verwijder de afspraak"
service: calendar.delete_event
target:
entity_id: calendar.keyhunternl_gmail_com
data:
event_id: >-
{{ (afspraken | selectattr('summary', 'equalto', beschrijving) | list)[0].id }}
- alias: "Bevestiging geven"
service: tts.cloud_say
data:
entity_id: media_player.assistant
message: "De afspraak '{{ beschrijving }}' op {{ datum }} is verwijderd."
default:
- alias: "Geen afspraak gevonden"
service: tts.cloud_say
data:
entity_id: media_player.assistant
message: "Ik kon geen afspraak met de beschrijving '{{ beschrijving }}' vinden op {{ datum }}."
VerplaatsAfspraak:
sequence:
- alias: "Zoek de afspraak in de agenda"
service: calendar.get_events
target:
entity_id: calendar.keyhunternl_gmail_com
data:
start_date_time: "{{ datum }} {{ tijd }}"
end_date_time: "{{ oude_datum }}T23:59:59+01:00"
response_variable: afspraken
- alias: "Controleer of de afspraak bestaat"
choose:
- conditions:
- condition: template
value_template: >-
{{ afspraken | selectattr('summary', 'equalto', beschrijving) | list | length > 0 }}
sequence:
- alias: "Verplaats de afspraak"
service: calendar.modify_event
target:
entity_id: calendar.keyhunternl_gmail_com
data:
event_id: >-
{{ (afspraken | selectattr('summary', 'equalto', beschrijving) | list)[0].id }}
start:
start_date_time: "{{ nieuwe_datum }}T{{ nieuwe_tijd }}:00+01:00"
end:
end_date_time: "{{ nieuwe_datum }}T{{ (nieuwe_tijd | int + 1) | string }}:00+01:00"
- alias: "Bevestiging geven"
service: tts.cloud_say
data:
entity_id: media_player.assistant
message: "De afspraak '{{ beschrijving }}' is verplaatst naar {{ nieuwe_datum }} om {{ nieuwe_tijd }} uur."
default:
- alias: "Geen afspraak gevonden"
service: tts.cloud_say
data:
entity_id: media_player.assistant
message: "Ik kon geen afspraak met de beschrijving '{{ beschrijving }}' vinden op {{ oude_datum }}."