I work with package. Here is my complete yaml
timer:
wake_1:
duration: '00:00:10'
input_boolean:
wakeactivated_1:
name: Alarm 1 Activated
icon: mdi:alarm
wakestatus_1:
name: Alarm 1
icon: mdi:alarm
wakeweekday_sun_1:
name: Sunday
icon: mdi:calendar
wakeweekday_mon_1:
name: Monday
icon: mdi:calendar
wakeweekday_tue_1:
name: Tuesday
icon: mdi:calendar
wakeweekday_wed_1:
name: Wednesday
icon: mdi:calendar
wakeweekday_thu_1:
name: Thursday
icon: mdi:calendar
wakeweekday_fri_1:
name: Friday
icon: mdi:calendar
wakeweekday_sat_1:
name: Saturday
icon: mdi:calendar
input_number:
wakehour_1:
name: Hour
min: 00
max: 23
step: 1
icon: mdi:alarm
wakeminutes_1:
name: Minutes
min: 00
max: 59
step: 1
sensor:
- platform: template
sensors:
wake_time_1:
friendly_name: 'Wake Time 1'
value_template: "{{'{:02d}:{:02d}'.format(states('input_number.wakehour_1') | int, states('input_number.wakeminutes_1') | int) }}"
script:
xiaomi_alarm1:
sequence:
- data:
gw_mac: 'macadress'
ringtone_id: 13
ringtone_vol: 50
service: xiaomi_aqara.play_ringtone
- delay:
seconds: 6
- service: script.xiaomi_alarm2
mode: parallel
max: 10
xiaomi_alarm2:
sequence:
- data:
gw_mac: 'macadress'
ringtone_id: 13
ringtone_vol: 75
service: xiaomi_aqara.play_ringtone
- delay:
seconds: 6
- service: script.xiaomi_alarm1
mode: parallel
max: 10
xiaomi_alarm3:
sequence:
- repeat:
count: 180
sequence:
- data:
gw_mac: 'macadress'
ringtone_id: 13
ringtone_vol: 40
service: xiaomi_aqara.play_ringtone
- delay:
seconds: 6
mode: restart
alarm_snooze:
alias: Alarm was Snooze
sequence:
- service: script.alarmclock_off
- delay:
seconds: 300
- service: script.turn_on
entity_id:
- script.xiaomi_alarm3
- delay:
seconds: 300
- service: script.turn_on
entity_id:
- script.alarmclock_off
alarmclock_off:
alias: Alarm was disarmed
sequence:
- service: script.turn_off
data:
entity_id:
- script.xiaomi_alarm3
automation:
- id: 'wake_1_detect_time'
alias: Wake 1
description: 'Detect specified wake time'
trigger:
platform: template
value_template: "{{ states('sensor.time') == states('sensor.wake_time_1') }}"
condition:
condition: template
value_template: >
{% set today = 'input_boolean.wakeweekday_' ~ now().strftime("%a") | lower ~ '_1' %}
{{ is_state('input_boolean.wakestatus_1', 'on') and is_state(today, 'on') }}
action:
service: input_boolean.turn_on
entity_id: input_boolean.wakeactivated_1
- id: 'wake_1_alarm_activated'
alias: 'Wake 1 Activated'
trigger:
platform: state
entity_id: input_boolean.wakeactivated_1
from: 'off'
to: 'on'
# action:
# service: timer.start
# entity_id: timer.wake_1
action:
service: script.turn_on
entity_id:
- script.xiaomi_alarm1
- alias: 'Wake 1 Timer Started'
trigger:
platform: event
event_type: timer.started
event_data:
entity_id: timer.wake_1
condition:
condition: state
entity_id: input_boolean.wakeactivated_1
state: 'on'
action:
service: persistent_notification.create
data_template:
title: 'Wake 1 Activated'
message: 'Wake 1 activated at: {{now()}}'
- alias: 'Wake 1 Timer Finished'
trigger:
platform: event
event_type: timer.finished
event_data:
entity_id: timer.wake_1
condition:
condition: state
entity_id: input_boolean.wakeactivated_1
state: 'on'
action:
service: timer.start
entity_id: timer.wake_1```