-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtime_activated_actions.yaml
387 lines (360 loc) · 10.4 KB
/
time_activated_actions.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
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
blueprint:
name: Time Activated Actions
description: Time Activated Actions
domain: automation
input:
phase:
name: Phase
description: The phase that will trigger this automation.
selector:
select:
options:
- Morning
- Day
- Evening
- Night
modes:
name: Modes
description: The modes during which this automation will execute.
selector:
select:
options:
- Home
- Away
- Guest
- Entertain
- Vacation
multiple: true
default:
- Home
- Away
- Vacation
scenes:
name: Scene(s)
description: The scene(s) that will be activated.
selector:
entity:
filter:
domain: scene
multiple: true
default:
scripts:
name: Script(s)
description: The scene(s) that will be activated.
selector:
entity:
filter:
domain: script
multiple: true
default:
lights_on:
name: Lights On
description: The light entities that will be turned on.
selector:
entity:
filter:
domain: light
multiple: true
default:
lights_level:
name: Light Brightness
description: The level of brightness to set the lights when they are turned on.
default: 0
selector:
number:
min: 0
max: 100
unit_of_measurement: "%"
lights_kelvin:
name: Light Temperature
description: The color temperature (in Kelvin) to set the lights when they are turned on.
default: 2800
selector:
number:
min: 2000
max: 6535
unit_of_measurement: "kelvin"
lights_off:
name: Lights Off
description: The light entities that will be turned off.
selector:
entity:
filter:
domain: light
multiple: true
default:
fans_on:
name: Fans On
description: The fan entities that will be turned on.
selector:
entity:
filter:
domain: fan
multiple: true
default:
fans_level:
name: Fan Speed
description: The level of speed to set the fans when they are turned on.
default: 0
selector:
number:
min: 0
max: 100
unit_of_measurement: "%"
fans_off:
name: Fans Off
description: The fan entities that will be turned off.
selector:
entity:
filter:
domain: fan
multiple: true
default:
shades_open:
name: Shades Open
description: The shade entities that will be opened.
selector:
entity:
filter:
domain: cover
multiple: true
default:
shades_position:
name: Shades Position
description: The position to set the shadess when they are opened on.
selector:
number:
min: 0
max: 100
unit_of_measurement: "%"
default: 100
shades_close:
name: Shades Close
description: The shade entities that will be closed.
selector:
entity:
filter:
domain: cover
multiple: true
default:
switches_on:
name: Switches On
description: The switch entities that will be turned on.
selector:
entity:
filter:
domain: switch
multiple: true
default:
switches_off:
name: Switches Off
description: The switch entities that will be turned off.
selector:
entity:
filter:
domain: switch
multiple: true
default:
garages:
name: Garage Doors
description: The garage door entities that will be closed.
selector:
entity:
filter:
domain: cover
multiple: true
default:
locks:
name: Door Locks
description: The locks entities that will be locked.
selector:
entity:
filter:
domain: lock
multiple: true
default:
media_players:
name: TVs
description: The TVs entities that will be turned off.
selector:
entity:
filter:
domain: media_player
multiple: true
default:
actions:
name: General Actions
description: The actions to execute.
selector:
action:
default:
variables:
modes: !input modes
scenes: !input scenes
scripts: !input scripts
lights_on: !input lights_on
lights_off: !input lights_off
fans_on: !input fans_on
fans_off: !input fans_off
shades_open: !input shades_open
shades_close: !input shades_close
shades_position: !input shades_position
switches_on: !input switches_on
switches_off: !input switches_off
garages: !input garages
locks: !input locks
media_players: !input media_players
actions: !input actions
trigger:
- trigger: state
entity_id: input_button.location_phase
condition:
- condition: state
entity_id: input_select.location_phase
state: !input phase
- condition: template
value_template: "{{ states('input_select.location_mode') in modes }}"
action:
# Scenes
- if:
- condition: template
value_template: "{{ scenes != None }}"
then:
- action: scene.turn_on
data:
transition: 1
target:
entity_id: "{{ expand(scenes) | rejectattr('state', 'in', ['unavailable', 'unknown']) | map(attribute='entity_id') | list }}"
continue_on_error: true
# Scripts
- if:
- condition: template
value_template: "{{ scripts != None }}"
then:
- action: script.turn_on
target:
entity_id: "{{ expand(scripts) | rejectattr('state', 'in', ['unavailable', 'unknown']) | map(attribute='entity_id') | list }}"
continue_on_error: true
# Lights
- if:
- condition: template
value_template: "{{ lights_on != None }}"
then:
- action: light.turn_on
data:
brightness_pct: !input lights_level
kelvin: !input lights_kelvin
target:
entity_id: "{{ expand(lights_on) | rejectattr('state', 'in', ['unavailable', 'unknown']) | map(attribute='entity_id') | list }}"
continue_on_error: true
- if:
- condition: template
value_template: "{{ lights_off != None }}"
then:
- action: light.turn_off
target:
entity_id: "{{ expand(lights_off) | rejectattr('state', 'in', ['unavailable', 'unknown']) | map(attribute='entity_id') | list }}"
continue_on_error: true
# Fans
- if:
- condition: template
value_template: "{{ fans_on != None }}"
then:
- action: fan.turn_on
data:
percentage: !input fans_level
target:
entity_id: "{{ expand(fans_on) | rejectattr('state', 'in', ['unavailable', 'unknown']) | map(attribute='entity_id') | list }}"
continue_on_error: true
- if:
- condition: template
value_template: "{{ fans_off != None }}"
then:
- action: fan.turn_off
target:
entity_id: "{{ expand(fans_off) | rejectattr('state', 'in', ['unavailable', 'unknown']) | map(attribute='entity_id') | list }}"
continue_on_error: true
# Shades
- if:
- condition: template
value_template: "{{ shades_open != None }}"
then:
- action: cover.set_cover_position
data:
position: "{{ shades_position }}"
target:
entity_id: "{{ expand(shades_open) | rejectattr('state', 'in', ['unavailable', 'unknown']) | map(attribute='entity_id') | list }}"
continue_on_error: true
- if:
- condition: template
value_template: "{{ shades_close != None }}"
then:
- action: cover.close_cover
target:
entity_id: "{{ expand(shades_close) | rejectattr('state', 'in', ['unavailable', 'unknown']) | map(attribute='entity_id') | list }}"
continue_on_error: true
# Switches
- if:
- condition: template
value_template: "{{ switches_on != None }}"
then:
- action: switch.turn_on
target:
entity_id: "{{ expand(switches_on) | rejectattr('state', 'in', ['unavailable', 'unknown']) | map(attribute='entity_id') | list }}"
continue_on_error: true
- if:
- condition: template
value_template: "{{ switches_off != None }}"
then:
- action: switch.turn_off
target:
entity_id: "{{ expand(switches_off) | rejectattr('state', 'in', ['unavailable', 'unknown']) | map(attribute='entity_id') | list }}"
continue_on_error: true
# Garage Doors
- if:
- condition: template
value_template: "{{ garages != None }}"
then:
- action: cover.close_cover
target:
entity_id: "{{ expand(garages) | rejectattr('state', 'in', ['unavailable', 'unknown']) | map(attribute='entity_id') | list }}"
continue_on_error: true
# Door Locks
- if:
- condition: template
value_template: "{{ locks != None }}"
then:
- action: lock.lock
target:
entity_id: "{{ expand(locks) | rejectattr('state', 'in', ['unavailable', 'unknown']) | map(attribute='entity_id') | list }}"
continue_on_error: true
# Media Players
- if:
- condition: template
value_template: "{{ media_players != None }}"
then:
- action: media_player.turn_off
target:
entity_id: "{{ expand(media_players) | rejectattr('state', 'in', ['unavailable', 'unknown']) | map(attribute='entity_id') | list }}"
continue_on_error: true
# Actions
- if:
- condition: template
value_template: "{{ actions != None }}"
then: !input actions
# Shades
- if:
- condition: template
value_template: "{{ shades_open != None or shades_close != None }}"
then:
- delay:
minutes: 1
- action: cover.stop_cover
target:
entity_id: "{{ expand(shades_open) | rejectattr('state', 'in', ['unavailable', 'unknown']) | map(attribute='entity_id') | list }}"
continue_on_error: true
- action: cover.stop_cover
target:
entity_id: "{{ expand(shades_close) | rejectattr('state', 'in', ['unavailable', 'unknown']) | map(attribute='entity_id') | list }}"
continue_on_error: true
mode: restart