How to create the alarm clock in HASS?

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```
1 Like