-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathhilo_blueprint.yaml
319 lines (318 loc) · 12.2 KB
/
hilo_blueprint.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
blueprint:
name: Blueprint Hilo
description: Blueprint permettant de configurer la température des thermostats selon le statut du sensor defi hilo. L'intégration HACS Hilo avec Home Assistant est requise pour utiliser ce blueprint.
domain: automation
input:
thermostats_defi:
name: Thermostats Défi
description: Les thermostats à configurer lors des différents statuts du sensor.defi_hilo.
selector:
target:
entity:
domain: climate
switchs_defi:
name: Switchs Défi
description: Les switchs à configurer lors des différents statuts du sensor.defi_hilo. Elles vont être éteintes lors du début du défi et allumées lors de la phase de reprise.
selector:
target:
entity:
domain: switch
default: {}
light_defi:
name: Lumières Défi
description: Les lumières à configurer lors des différents statuts du sensor.defi_hilo. Elles vont être éteintes lors du début du défi et allumées lors de la phase de reprise.
selector:
target:
entity:
domain: light
default: {}
fan_defi:
name: Ventilateurs Défi
description: Les ventilateurs à configurer lors des différents statuts du sensor.defi_hilo. Ils vont être éteints lors du début du défi et allumés lors de la phase de reprise.
selector:
target:
entity:
domain: fan
default: {}
restart_switch:
name: Redémarrer les switchs
description: Redémarrer les switchs lors de la phase de reprise? Cela permet de s'assurer que les switchs sont bien éteints ou allumés. Cette option existe parce que si des switchs n'ont pas à être allumés après le défi, il est possible de les laisser éteints.
default: true
selector:
boolean: {}
restart_light:
name: Redémarrer les lumières
description: Redémarrer les lumières lors de la phase de reprise? Cela permet de s'assurer que les lumières sont bien éteintes ou allumées. Cette option existe parce que si des lumières n'ont pas à être allumées après le défi, il est possible de les laisser éteintes.
default: true
selector:
boolean: {}
restart_fan:
name: Redémarrer les ventilateurs
description: Redémarrer les ventilateurs lors de la phase de reprise? Cela permet de s'assurer que les ventilateurs sont bien éteints ou allumés. Cette option existe parce que si des ventilateurs n'ont pas à être allumés après le défi, il est possible de les laisser éteints.
default: true
selector:
boolean: {}
temperature_appreciation:
name: Température lors des périodes d'ancrage
description: Température à configurer lorsque le sensor.defi_hilo est dans le statut appreciation. C'est la température à à configurer lorsque le système est dans sa période d'ancrage.
selector:
number:
min: 15
max: 25
unit_of_measurement: celcius
temperature_pre_heat:
name: Température de Pré Chauffage
description: Température à configurer lorsque le sensor.defi_hilo est dans le statut pre_heat. C'est la température à monter la maison avant le début du défi.
selector:
number:
min: 15
max: 25
unit_of_measurement: celcius
temperature_reduction:
name: Température lors du défi
description: Température à configurer lorsque le sensor.defi_hilo est dans le statut reduction. C'est la température à descendre la maison lors du début du défi.
selector:
number:
min: 15
max: 25
unit_of_measurement: celcius
temperature_recovery:
name: Température de la phase de reprise
description: Température à configurer lorsque le sensor.defi_hilo est dans le statut recovery. C'est la température de retour à la normale progressif après le défi. Il est important de ne pas revenir tout de suite à la température normale tout de suite après le défi.
selector:
number:
min: 15
max: 25
unit_of_measurement: celcius
temperature_completed:
name: Température de retour à la normale
description: Température à configurer lorsque le sensor.defi_hilo est dans le statut completed. C'est la température de retour à la normale.
selector:
number:
min: 15
max: 25
unit_of_measurement: celcius
variables:
temperature_appreciation_state: !input temperature_appreciation
temperature_pre_heat_state: !input temperature_pre_heat
temperature_reduction_state: !input temperature_reduction
temperature_recovery_state: !input temperature_recovery
temperature_completed_state: !input temperature_completed
thermostat_list: !input thermostats_defi
switch_list: !input switchs_defi
light_list: !input light_defi
fan_list: !input fan_defi
appreciation_time: null
pre_heat_time: null
reduction_time: null
recovery_time: null
completed_time: null
triggers:
- trigger: state
entity_id: sensor.defi_hilo
to: scheduled
id: defi_scheduled
- trigger: state
entity_id: sensor.defi_hilo
to: pre_heat
id: defi_pre_heat
- trigger: state
entity_id: sensor.defi_hilo
to: reduction
id: defi_reduction
- trigger: state
entity_id: sensor.defi_hilo
to: recovery
id: defi_recovery
- trigger: state
entity_id: sensor.defi_hilo
to: appreciation
id: defi_appreciation
- trigger: state
entity_id: sensor.defi_hilo
to: completed
id: defi_completed
- trigger: template
value_template: >
{{ now() >= as_datetime(states('appreciation_time')) }}
id: defi_apprication_time
- trigger: template
value_template: >
{{ now() >= as_datetime(states('pre_heat_time')) }}
id: defi_pre_heat_time
- trigger: template
value_template: >
{{ now() >= as_datetime(states('reduction_time')) }}
id: defi_reduction_time
- trigger: template
value_template: >
{{ now() >= as_datetime(states('recovery_time')) }}
id: defi_recovery_time
- trigger: template
value_template: >
{{ now() >= as_datetime(states('completed_time')) }}
id: defi_completed_time
actions:
- choose:
- conditions:
- condition: trigger
id: defi_scheduled
sequence:
- variables:
appreciation_time: "{{ state_attr('sensor.defi_hilo', 'next_events')[0].phases.appreciation_start | as_datetime }}"
pre_heat_time: "{{ state_attr('sensor.defi_hilo', 'next_events')[0].phases.preheat_start | as_datetime }}"
reduction_time: "{{ state_attr('sensor.defi_hilo', 'next_events')[0].phases.reduction_start | as_datetime }}"
recovery_time: "{{ state_attr('sensor.defi_hilo', 'next_events')[0].phases.recovery_start | as_datetime }}"
completed_time: "{{ state_attr('sensor.defi_hilo', 'next_events')[0].phases.recovery_end | as_datetime }}"
- conditions:
- condition: trigger
id: defi_pre_heat
sequence:
- action: climate.set_temperature
data:
temperature: "{{ temperature_pre_heat_state }}"
target: !input thermostats_defi
- conditions:
- condition: trigger
id: defi_pre_heat_time
sequence:
- action: climate.set_temperature
data:
temperature: "{{ temperature_pre_heat_state }}"
target: !input thermostats_defi
- conditions:
- condition: trigger
id: defi_reduction
sequence:
- action: climate.set_temperature
data:
temperature: "{{ temperature_reduction_state }}"
target: !input thermostats_defi
- if:
- condition: template
value_template: "{{ switch_list | length > 0 }}"
then:
- action: switch.turn_off
target: !input switchs_defi
- if:
- condition: template
value_template: "{{ light_list | length > 0 }}"
then:
- action: light.turn_off
target: !input light_defi
- if:
- condition: template
value_template: "{{ fan_list | length > 0 }}"
then:
- action: fan.turn_off
target: !input fan_defi
- conditions:
- condition: trigger
id: defi_reduction_time
sequence:
- action: climate.set_temperature
data:
temperature: "{{ temperature_reduction_state }}"
target: !input thermostats_defi
- if:
- condition: template
value_template: "{{ switch_list | length > 0 }}"
then:
- action: switch.turn_off
target: !input switchs_defi
- if:
- condition: template
value_template: "{{ light_list | length > 0 }}"
then:
- action: light.turn_off
target: !input light_defi
- if:
- condition: template
value_template: "{{ fan_list | length > 0 }}"
then:
- action: fan.turn_off
target: !input fan_defi
- conditions:
- condition: trigger
id: defi_recovery
sequence:
- action: climate.set_temperature
data:
temperature: "{{ temperature_recovery_state }}"
target: !input thermostats_defi
- if:
- condition: template
value_template: "{{ switch_list | length > 0 and restart_switch }}"
then:
- action: switch.turn_on
target: !input switchs_defi
- if:
- condition: template
value_template: "{{ light_list | length > 0 and restart_light }}"
then:
- action: light.turn_on
target: !input light_defi
- if:
- condition: template
value_template: "{{ fan_list | length > 0 and restart_fan }}"
then:
- action: fan.turn_on
target: !input fan_defi
- conditions:
- condition: trigger
id: defi_recovery_time
sequence:
- action: climate.set_temperature
data:
temperature: "{{ temperature_recovery_state }}"
target: !input thermostats_defi
- if:
- condition: template
value_template: "{{ switch_list | length > 0 and restart_switch }}"
then:
- action: switch.turn_on
target: !input switchs_defi
- if:
- condition: template
value_template: "{{ light_list | length > 0 and restart_light }}"
then:
- action: light.turn_on
target: !input light_defi
- if:
- condition: template
value_template: "{{ fan_list | length > 0 and restart_fan }}"
then:
- action: fan.turn_on
target: !input fan_defi
- conditions:
- condition: trigger
id: defi_appreciation
sequence:
- action: climate.set_temperature
data:
temperature: "{{ temperature_appreciation_state }}"
target: !input thermostats_defi
- conditions:
- condition: trigger
id: defi_appreciation_time
sequence:
- action: climate.set_temperature
data:
temperature: "{{ temperature_appreciation_state }}"
target: !input thermostats_defi
- conditions:
- condition: trigger
id: defi_completed
sequence:
- action: climate.set_temperature
data:
temperature: "{{ temperature_completed_state }}"
target: !input thermostats_defi
- conditions:
- condition: trigger
id: defi_completed_time
sequence:
- action: climate.set_temperature
data:
temperature: "{{ temperature_completed_state }}"
target: !input thermostats_defi