-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy pathevent_reminder_1_package.yaml
More file actions
123 lines (115 loc) · 4.47 KB
/
Copy pathevent_reminder_1_package.yaml
File metadata and controls
123 lines (115 loc) · 4.47 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
113
114
115
116
117
118
119
120
121
122
123
---
automation:
- alias: event_reminder_1
trigger:
platform: template
value_template: >-
{{ is_state('sensor.event_reminder_1_1',states('sensor.time'))
or is_state('sensor.event_reminder_1_2',states('sensor.time')) }}
condition:
condition: and
conditions:
# Is today one of the selected days?
- condition: template
value_template: >
{% set day_name = now().strftime("%A")|lower -%}
{%- if day_name == 'monday' and states.input_boolean.event_reminder_1_mon.state == 'on' -%}{{true}}
{%- elif day_name == 'tuesday' and states.input_boolean.event_reminder_1_tue.state == 'on' -%}{{true}}
{%- elif day_name == 'wednesday' and states.input_boolean.event_reminder_1_wed.state == 'on' -%}{{true}}
{%- elif day_name == 'thursday' and states.input_boolean.event_reminder_1_thu.state == 'on' -%}{{true}}
{%- elif day_name == 'friday' and states.input_boolean.event_reminder_1_fri.state == 'on' -%}{{true}}
{%- elif day_name == 'saturday' and states.input_boolean.event_reminder_1_sat.state == 'on' -%}{{true}}
{%- elif day_name == 'sunday' and states.input_boolean.event_reminder_1_sun.state == 'on' -%}{{true}}
{%- else -%}{{false}}{%- endif %}
action:
- service_template: >
{% if is_state('input_boolean.event_reminder_1_skipnext', 'on') %}
script.event_reminder_skipnext
{% else %}
script.event_reminder_announce
{% endif %}
data_template:
media_player: "{{ states('input_select.event_reminder_1_echo') }}"
skipnext: >
{% if is_state('sensor.event_reminder_1_2',states('sensor.time')) %}
input_boolean.event_reminder_1_skipnext
{% endif %}
message: >-
{% if is_state('sensor.event_reminder_1_1',states('sensor.time')) %}
{{ states('input_text.event_reminder_1_1') }}
{% else %}
{{ states('input_text.event_reminder_1_2') }}
{% endif %}
# Run this routine for the second reminder, but not the first.
- condition: template
value_template: "{{ is_state('sensor.event_reminder_1_2',states('sensor.time')) }}"
- delay:
minutes: 2
- service: script.goodbye_routine
input_boolean:
event_reminder_1_skipnext:
name: Skip Next Reminder
icon: mdi:alarm-check
event_reminder_1_mon:
name: Monday
icon: mdi:checkbox-marked-circle
event_reminder_1_tue:
name: Tuesday
icon: mdi:checkbox-marked-circle
event_reminder_1_wed:
name: Wednesday
icon: mdi:checkbox-marked-circle
event_reminder_1_thu:
name: Thursday
icon: mdi:checkbox-marked-circle
event_reminder_1_fri:
name: Friday
icon: mdi:checkbox-marked-circle
event_reminder_1_sat:
name: Saturday
icon: mdi:checkbox-marked-circle
event_reminder_1_sun:
name: Sunday
icon: mdi:checkbox-marked-circle
input_datetime:
event_reminder_1_1:
name: First Announcement
has_date: false
has_time: true
event_reminder_1_2:
name: Second Announcement
has_date: false
has_time: true
input_select:
event_reminder_1_echo:
name: Announce on which Echo(s)?
options: !include /config/templates/speech/tts_rooms.yaml
icon: mdi:amazon-alexa
input_text:
event_reminder_1_1:
name: First Announcement
event_reminder_1_2:
name: Second Announcement
sensor:
- platform: template
sensors:
event_reminder_1_1:
entity_id: input_datetime.event_reminder_1_1
friendly_name: First Time
icon_template: mdi:clock-outline
value_template: >-
{% set reminder_time = states("input_datetime.event_reminder_1_1") -%}
{%- set reminder_hour = reminder_time.split(':')[0] -%}
{%- set reminder_minutes = reminder_time.split(':')[1] -%}
{{ "%0.02d:%0.02d" | format(reminder_hour|int, reminder_minutes|int) }}
- platform: template
sensors:
event_reminder_1_2:
entity_id: input_datetime.event_reminder_1_2
friendly_name: First Time
icon_template: mdi:clock-outline
value_template: >-
{% set reminder_time = states("input_datetime.event_reminder_1_2") -%}
{%- set reminder_hour = reminder_time.split(':')[0] -%}
{%- set reminder_minutes = reminder_time.split(':')[1] -%}
{{ "%0.02d:%0.02d" | format(reminder_hour|int, reminder_minutes|int) }}