forked from denysdovhan/ha-yasno-outages
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathautomation.yaml
More file actions
112 lines (105 loc) · 3.59 KB
/
automation.yaml
File metadata and controls
112 lines (105 loc) · 3.59 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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
- alias: Power Outage Starts in
description: ""
triggers:
- event: start
offset: "-2:0:00"
entity_id: calendar.kiiv_dtek_3_1_planned_outages
trigger: calendar
enabled: false
- event: start
offset: "-1:0:00"
entity_id: calendar.kiiv_dtek_3_1_planned_outages
trigger: calendar
- event: start
offset: "-0:30:00"
entity_id: calendar.kiiv_dtek_3_1_planned_outages
trigger: calendar
- event: start
offset: "-0:5:00"
entity_id: calendar.kiiv_dtek_3_1_planned_outages
trigger: calendar
- event: start
offset: "-0:0:00"
entity_id: calendar.kiiv_dtek_3_1_planned_outages
trigger: calendar
conditions:
- condition: and
conditions:
- condition: template
value_template: "{{trigger.calendar_event.description == 'Definite'}}"
actions:
- action: tts.speak
target:
entity_id: tts.google_uk_com_ua
data:
media_player_entity_id: media_player.my_speaker
language: ua
message: >-
{% set battery_level = states('sensor.delta_pro_battery_level') | default(-1) | float %}
{% set battery_target = states('number.delta_pro_max_charge_level') | default(100) | float %}
{% set start = trigger.calendar_event.start|as_datetime|as_local %}
{% set start_minutes = (start - now()).seconds // 60 %}
{% set end = trigger.calendar_event.end|as_datetime|as_local %}
{% set duration_hours = (end - start).seconds // 60 // 60 %}
{% set end_str = end|as_timestamp|timestamp_custom('%H:%M') %}
Відключення електроенергії може відбутися за {{ start_minutes }} хвилин
і продовжиться {{ duration_hours }} години до {{end_str}}.
{% if start_minutes <= 5 -%}
Не забудьте закип'ятити воду.
{%- endif %}
{% if battery_level >= 0 and battery_level < battery_target - 15 %}
Рівень заряду екофлоу - {{battery_level | round(0) | int }} відсотків.
{% endif %}
enabled: true
mode: single
- alias: "Power Outage Schedule Changed"
trigger:
- platform: state
entity_id: sensor.kiiv_dtek_3_1_schedule_data_changed_on
for:
hours: 0
minutes: 0
seconds: 5
action:
- service: notify.mobile_app
data:
message: "Power outage schedule has changed!"
- alias: "Power Outage Schedule Changed"
trigger:
- platform: state
entity_id: sensor.kiiv_dtek_3_1_schedule_updated_on
attribute: last_data_change
for:
hours: 0
minutes: 0
seconds: 5
action:
- service: notify.mobile_app
data:
message: "Power outage schedule has changed!"
- alias: "Power Outage Schedule Changed - Kyiv 3.1"
description: "Notify only when outage schedule changes for Kyiv DTEK group 3.1"
trigger:
- platform: event
event_type: svitlo_yeah_data_changed
event_data:
provider:
region_name: Київ
group: '3.1'
action:
- service: notify.mobile_app
data:
message: "Kyiv Group 3.1 Schedule Changed"
- alias: "Power Outage Schedule Changed - Lviv 2.2"
description: "Notify only when outage schedule changes for Lviv 2.2"
trigger:
- platform: event
event_type: svitlo_yeah_data_changed
event_data:
provider:
region_name: lviv
group: '2.2'
action:
- service: notify.mobile_app
data:
message: "Lviv Group 2.2 Schedule Changed"