@cob94440, on en parlais hier, voici une autre façon (j’ai conservé tous les noms pour faciliter la comparaison) :
Pour ceux qui comme moi sont plus à l’aise (surtout sur mobile) avec des input_select
pour la définition de l’heure :
#Par rapport au post 1 de @cob94440
# sensor.wake_time_1 est remplacé par input_datetime.wake_time_1 pour la définition de l'heure du réveil
# input_number.wakehour_1 est remplacé par input_select.wakehour_1 pour la définition de l'heure
# input_number.wakeminutes_1 est remplacé par input_select.wakeminutes_1 pour la définition des minutes
#Input_booleans (inchangés par rapport au post 1)
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_datetime (nouveau par rapport au post 1)
input_datetime:
wake_time_1:
#Représente l'heure du réveil
name: wake_time_1
has_date: false
has_time: true
#Input_select (nouveau par rapport au post 1)
input_select:
wakehour_1:
#Représente le choix de l'heure
name: wakehour_1
options:
- '00'
- '01'
- '02'
- '03'
- '04'
- '05'
- '06'
- '07'
- '08'
- '09'
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
wakeminutes_1:
#Représente le choix des minutes
name: wakeminutes_1
options:
- '00'
- '01'
- '02'
- '03'
- '04'
- '05'
- '06'
- '07'
- '08'
- '09'
- 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
#Scripts (inchangés par rapport au post 1)
script:
xiaomi_alarm1:
sequence:
- data:
gw_mac: 0123456789
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: 0123456789
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: 0123456789
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_update_time' #nouvelle par rapport au post 1
# Automatisation qui met à jour le input_datetime 'wake_time_1' représentant l'heure du reveil
# en fonction des input_select représentants les heures et les minutes
alias: wake_1_update_time
trigger:
- platform: state
entity_id: input_select.wakehour_1
- platform: state
entity_id: input_select.wakeminutes_1
action:
- service: input_datetime.set_datetime
entity_id: input_datetime.wake_time_1
data_template:
time: '{{states("input_select.wakehour_1")}}:{{states("input_select.wakeminutes_1")}}:00'
- id: 'wake_1_detect_time' #modifiée par rapport au post 1 pour la partie déclenchement (trigger)
# Automatisation qui s'enclenche quand l'heure du système est égale à l'heure de l'input_datetime.wake_time_1
alias: Wake 1
trigger:
platform: template
value_template: "{{states('sensor.time') == (state_attr('input_datetime.wake_time_1','timestamp') | int | timestamp_custom('%H:%M', False))}}"
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' #inchangée par rapport au post 1
alias: 'Wake 1 Activated'
trigger:
platform: state
entity_id: input_boolean.wakeactivated_1
from: 'off'
to: 'on'
action:
service: script.turn_on
entity_id:
- script.xiaomi_alarm1
Ce qui donne côté Lovelace :
code de la carte :
cards:
- entities:
- entity: input_boolean.wakestatus_1
icon: 'mdi:alarm-check'
name: Activation
- entity: sensor.time
name: Heure Actuelle
- entity: input_datetime.wake_time_1
name: 'Sonner à :'
show_header_toggle: false
title: Réveil
type: entities
- cards:
- entities:
- entity: input_select.wakehour_1
name: Heure
show_header_toggle: false
title: null
type: entities
- entities:
- entity: input_select.wakeminutes_1
name: Minutes
show_header_toggle: false
title: null
type: entities
type: horizontal-stack
- cards:
- entity: input_boolean.wakeweekday_sun_1
hold_action:
action: none
icon_height: 40px
name: Dim
show_icon: true
show_name: true
tap_action:
action: toggle
type: button
- entity: input_boolean.wakeweekday_mon_1
hold_action:
action: none
icon_height: 40px
name: Lun
show_icon: true
show_name: true
tap_action:
action: toggle
type: button
- entity: input_boolean.wakeweekday_tue_1
hold_action:
action: none
icon_height: 40px
name: Mar
show_icon: true
show_name: true
tap_action:
action: toggle
type: button
- entity: input_boolean.wakeweekday_wed_1
hold_action:
action: none
icon_height: 40px
name: Mer
show_icon: true
show_name: true
tap_action:
action: toggle
type: button
- entity: input_boolean.wakeweekday_thu_1
hold_action:
action: none
icon_height: 40px
name: Jeu
show_icon: true
show_name: true
tap_action:
action: toggle
type: button
- entity: input_boolean.wakeweekday_fri_1
hold_action:
action: none
icon_height: 40px
name: Ven
show_icon: true
show_name: true
tap_action:
action: toggle
type: button
- entity: input_boolean.wakeweekday_sat_1
hold_action:
action: none
icon_height: 40px
name: Sam
show_icon: true
show_name: true
tap_action:
action: toggle
type: button
type: horizontal-stack
- card:
entity: script.alarm_snooze
hold_action:
action: more-info
icon: 'mdi:alarm-off'
icon_height: 50px
name: Snooze
show_icon: true
show_name: true
show_state: false
tap_action:
action: toggle
type: button
conditions:
- entity: input_boolean.wakeactivated_1
state: 'on'
type: conditional
type: vertical-stack
Ne pas hésiter à poser des questions !
Si j’ai le temps ce soir, je mettrais une autre manière de présenter tout çà…