Un réveil sur Home assistant

Bon, j’ai réglé mes problèmes d’alexa.

Par contre, j’ai pas compris dans le fonctionnement du réveil, comment le wakestatus_1 se remet à 0 ?

Il ne se remet pas à zéro et c’est un manque que j’ai signalé…

En prenant exemple sur le code fournit du 1er post, voici pour ceux qui veulent un code fonctionnel (@barto_95 :wink: ) :

##############################
#SENSOR
##############################
sensor:
  - platform: time_date
   #Création de 1 entité représentant l'heure (HH:MM )
    display_options:
      - 'time'

##############################
#INPUT_BOOLEAN
##############################
input_boolean:
  reveil_1:
    #Représente si le réveil est activé
    name: Réveil 1 (Activation)
    icon: mdi:alarm
  reveil_declenche_1:
    #Représente si le réveil à déjà sonné dans la journée (empêche le déclenchement toutes les minutes après l'heure de réveil)
    name: Le réveil a déjà sonné
    icon: mdi:alarm
  reveil_mon_1:
    #Représente le jour : Lundi
    name: Lundi
    icon: mdi:calendar
  reveil_tue_1:
    #Représente le jour : Mardi
    name: Mardi
    icon: mdi:calendar
  reveil_wed_1:
    #Représente le jour : Mercredi
    name: Mercredi
    icon: mdi:calendar
  reveil_thu_1:
    #Représente le jour : Jeudi
    name: Jeudi
    icon: mdi:calendar
  reveil_fri_1:
    #Représente le jour : Vendredi
    name: Vendredi
    icon: mdi:calendar
  reveil_sat_1:
    #Représente le jour : Samedi
    name: Samedi
    icon: mdi:calendar
  reveil_sun_1:
    #Représente le jour : Dimanche
    name: Dimanche
    icon: mdi:calendar

##############################
#INPUT_DATETIME
##############################
input_datetime:
  reveil_heure_1:
    #Représente l'heure du réveil 1
    name: Réveil 1
    has_time: true

##############################
#AUTOMATION
##############################
automation:
  - id: 'reveil_1'
    alias: reveil_1
    description: "Se déclenche à l'heure définie par l'entité input_datetime.reveil_heure_1"
    trigger:
    - platform: state
      #Déclenchement de l'automatisation toutes les minutes (permet de s'assuser que le réveil va sonner même si HA était indisponible à l'heure du réveil (reboot principalement))
      entity_id: sensor.time
    - platform: state
      #Déclenchement lors du changement de l'heure du réveil (permet de reprogrammer le réveil)
      entity_id: input_datetime.reveil_heure_1
    condition:
    - condition: template
      value_template: >-
        {% set numero = '1' %} {# Représente le numéro du réveil #}
        {% set today = 'input_boolean.reveil_' ~now().strftime("%a") | lower ~'_' ~numero %} {# Récupère le nom court de la semaine en anglais et le concatène pour formé le texte <input_boolean.reveil_XXX_1> où XXX peut prendre les valeurs [mon,tue,wed,thu,fri,sat,sun] #}
        {{ is_state(('input_boolean.reveil_' ~numero), 'on') and is_state(today, 'on') }} {# Si le réveil est ACTIF et que le booléen du jour est à Vrai la condition est remplie #}
    action:
    - choose:
      - conditions:
        - condition: template
          #Si l'heure actuelle est inférieure à l'heure du réveil : 
            #Et si le réveil à déjà sonné (input_boolean.reveil_declenche_1)
             #Remise à Faux de l'entité input_boolean.reveil_declenche_1
          value_template: >-
            {% set numero = '1' %} {# Représente le numéro du réveil #}
            {% set heure_du_reveil = strptime(states('input_datetime.reveil_heure_1'),'%H:%M:%S').strftime('%H:%M:%S') %} {# Conversion de l'input_datetime en objet DATETIME au format HH:MM:SS #}
            {% set heure_actuelle = strptime(states('sensor.time'),'%H:%M').strftime('%H:%M:%S')%}  {# Conversion de l'heure actuelle en objet DATETIME au format HH:MM:SS #}
            {% if heure_actuelle < heure_du_reveil %}
              {% if is_state(('input_boolean.reveil_declenche_' ~numero), 'on') %}
                true
              {% else %}
                false
              {% endif %}
            {% else %}
              false
            {% endif %}
        sequence:
          - service: persistent_notification.create
            data:
              message: >
                Déjà réveillé !
              title: DEBUG Automatisation
              notification_id: '{{ (range(1, 9999)|random) }}'
          - service: input_boolean.turn_off
            entity_id: input_boolean.reveil_declenche_1
      - conditions:
        - condition: template
          #Si l'heure actuelle est égale ou supérieure à l'heure du réveil : 
            #Et si le réveil n'a pas déjà sonné (input_boolean.reveil_declenche_1)
             #Mise à Vrai de l'entité input_boolean.reveil_declenche_1
             #<AJOUTER LES ACTIONS DU REVEIL>
             #<AJOUTER LES ACTIONS DU REVEIL>
             #<AJOUTER LES ACTIONS DU REVEIL>
          value_template: >-
            {% set numero = '1' %} {# Représente le numéro du réveil #}
            {% set heure_du_reveil = strptime(states('input_datetime.reveil_heure_1'),'%H:%M:%S').strftime('%H:%M:%S') %} {# Conversion de l'input_datetime en objet DATETIME au format HH:MM:SS #}
            {% set heure_actuelle = strptime(states('sensor.time'),'%H:%M').strftime('%H:%M:%S')%} {# Conversion de l'heure actuelle en objet DATETIME au format HH:MM:SS #}
            {% if heure_actuelle >= heure_du_reveil %}
              {% if is_state(('input_boolean.reveil_declenche_' ~numero), 'off') %}
                true
              {% else %}
                false
              {% endif %}
            {% else %}
              false
            {% endif %}
        sequence:
          - service: persistent_notification.create
            data:
              message: >
                C'est l'heure !
              title: DEBUG Automatisation - Fired
              notification_id: '{{ (range(1, 9999)|random) }}'
          - service: input_boolean.turn_on
            entity_id: input_boolean.reveil_declenche_1
        #  - Action supplémentaire 
        #  - Action supplémentaire
        #  - Action supplémentaire
1 « J'aime »

Merci je vais tester ce soir

@Clemalex tu aurai le code de la card lovelace ?
qui va avec ton code ?

Oui là :

https://forum.hacf.fr/t/carte-reveil-ou-activation-dautomatisation/848

Il y a plusieurs version parcours le fil et demande de l’aide la bas… :innocent:

j’ai essayer justement mais le nom de entity ne corresponde pas et perso j’arrive pas a comprendre lequel utiliser et ou … pour la partie des jours pas de pb mais la partie du haut non …

1 « J'aime »

Voici ma contribution à cette problématique de réveil
J’ai souhaité être réveillé en musique en fonction d’un agenda de travail. Dans l’agenda gmail en question, j’ai planifié un évènement récurrent de travail , commençant à 8h ou à 7h
=> je veux que la radio sur le google mini s’allume 1h avant l’event.
Voila le code

alias: Radio_si_Travail
description: ""
trigger:
  - platform: calendar
    event: start
    offset: "-1:00:0"
    entity_id: calendar.xxxxxxxxxxx_gmail_com
condition:
  - condition: state
    entity_id: calendar.xxxxxxxxxxxxx_gmail_com
    attribute: message
    state: Travail
action:
  - service: media_player.play_media
    target:
      entity_id: media_player.chambre_principale
    data:
      media_content_id: media-source://radio_browser/003baf55-9ac9-4352-bceb-375ee4203133
      media_content_type: audio/aac
    metadata:
      title: France Info
      thumbnail: >-
        https://www.francetvinfo.fr/assets/common/images/pwa/launcher-120x120-2e45ada1.png
      media_class: music
      children_media_class: null
      navigateIds:
        - {}
        - media_content_type: app
          media_content_id: media-source://radio_browser
        - media_content_type: music
          media_content_id: media-source://radio_browser/country/FR
mode: single

Le trigger ne fonctionne qu’une fois par jour.

Bonjour, avez-vous une solution pour éviter de recevoir des spams dans le journal ?

Bonjour

Tout d’abord, merci @cob94440 @Clemalex pour ce fil, très instructif.

J’essaye de reproduire ce réveil mais avec un petit bémol, j’ai une erreur au niveau de

Entité non disponible: sensor.time.

Screenshot_20231101_190522

Comment puis-je corriger cela ? Je ne vois pas trace de celle-ci dans les « outils de développement »

De plus, j’ai remplacé

 service: xiaomi_aqara.play_ringtone par media_player.bureau_gauche  (haut parleur connecté)

En changeant également l'adresse MAC

et

script.xiaomi_alarm2 par script.reveil1_alarm2  (idem pour les autres alarmes)

Est-ce correct ? Dois-je modifier autre chose ?

Merci

PS
j’ai mis cela dans /config/packages/reveil/reveil1.yaml

et dans /config/configuration.yaml, il y a

homeassistant:
packages: !include_dir_named packages/

EDIT

je viens d’ajouter

- platform: time_date
    display_options:
      - 'time'
      - 'date'
      - 'date_time'
      - 'date_time_utc'
      - 'date_time_iso'
      - 'time_date'
      - 'time_utc'
      - 'beat'

dans le fichier /config/configuration.yaml, et c’est bon, j’obtiens l’heure. Mais impossible de modifier les données sur la carte

Screenshot_20231101_195358

idem pour les autres entités.

1 « J'aime »

Il semble manquait la configuration.

Elle a bien était chargée à un moment d’où la trace des entités mais elles ne sont plus chargées apparemment.

1 « J'aime »

Merci. Je ne parviens pas à trouver, pourquoi ?
Comment puis-je corriger cela, à ton avis ?

#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:
  reveil1_alarm1:
    sequence:
    - data:
        gw_mac: xxxxx
        ringtone_id: 13
        ringtone_vol: 50
      service: media_player.hp_bureau_gauche
    - delay:
        seconds: 6
    - service: script.reveil1_alarm2
    mode: parallel
    max: 10

  reveil1_alarm2:
    sequence:
    - data:
        gw_mac: xxxx
        ringtone_id: 13
        ringtone_vol: 75
      service: media_player.hp_bureau_gauche
    - delay:
        seconds: 6
    - service: script.reveil1_alarm1
    mode: parallel
    max: 10

  reveil1_alarm3:
    sequence:
    - repeat:
        count: 180
        sequence:
        - data:
           gw_mac: xxxxx
           ringtone_id: 13
           ringtone_vol: 40
          service: media_player.hp_bureau_gauche
        - 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.reveil1_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.reveil1_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.reveil1_alarm1

Est-ce que le fait de mettre le code pour sensor.time dans /config/configuration.yaml et le reste dans /config/packages/reveil, pourrait poser un problème ?

Je viens de faire une bétise, je pense. Croyant pouvoir recréer les entités, automatisations, je les ai effacés et je ne parviens plus çà les récupérer. Puis-je corriger le souci ? merci

EDIT:
Le plus simple n’est-ce pas de renommer les entités pour que HA les recréer avec un autre nom ? Mais, c’est dommage d’en arriver là.

EDIT2: je suis parvenu à effacer toutes les entités créées en supprimant card-mod, pour pouvoir recommencer à zéro.

1 « J'aime »

Bonjour

Dans le message : Un réveil sur Home assistant - #38 par Clemalex

Lorsque tu parles @Clemalex d’ajouter les actions, c’est quoi exactement ?

#<AJOUTER LES ACTIONS DU REVEIL>
             #<AJOUTER LES ACTIONS DU REVEIL>
             #<AJOUTER LES ACTIONS DU REVEIL>

et

  #  - Action supplémentaire 
        #  - Action supplémentaire
        #  - Action supplémentaire

c’est cela ,

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

Un très grand merci

1 « J'aime »

Ça doit être un copier/merder.

Le code posté dans le message est (était) fonctionnel en l’état…:innocent:

1 « J'aime »

bonjour,

j’essai de reproduire votre réveil, mais je m’y perd un peu, est il possible de remettre les derniers, code et code de carte. Merci, a priori j’ai un souci avec le sensor.time, je le met dans mes sensors mais il ne remonte pas

merci pour votre aide

Le mien ressemble à ceci



il est très simple
il allume ma lumiere et me met la radio sur un google home
je peux Link si vous voulez

2 « J'aime »

Bonjour, recent sur le site je commence a m’intéresser a Home Assistant, ne maitrisant pas completement tous les concepts, peux-tu me partager ton code si tu veux bien, ca participera à mon apprentissage. Je te remercie.

Hello Jane_Rey,
Super boulot! Je cherche désespérément à faire un radio réveil sur HA qui me permet d’avoir la radio sur un groupe d’enceinte Google.
Je suis ultra intéressé par ce que tu as fait. Si possible d’avoir des explications je suis preneur.

Merci d’avance.

Fab

[{"id":"cdd51759fb44a193","type":"tab","label":"Flux 1","disabled":false,"info":"","env":[]},{"id":"6eb17b5eb3ec12ef","type":"api-current-state","z":"cdd51759fb44a193","name":"Mercredi ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"mercredi","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.jour","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":390,"y":220,"wires":[["be6179c30ab312ba"],[]]},{"id":"d453179b135bd40c","type":"api-current-state","z":"cdd51759fb44a193","name":"Mardi ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"mardi","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.jour","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":380,"y":160,"wires":[["ca4db7a6c3946de9"],[]]},{"id":"91a22cbaab948514","type":"api-current-state","z":"cdd51759fb44a193","name":"Lundi ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"lundi","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.jour","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":380,"y":100,"wires":[["4c44ccb608c90f32"],[]]},{"id":"8d7cc562f574632e","type":"api-current-state","z":"cdd51759fb44a193","name":"Jeudi ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"jeudi","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.jour","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":380,"y":280,"wires":[["b595e111ada19c9c"],[]]},{"id":"2d5885f7981f4d84","type":"api-current-state","z":"cdd51759fb44a193","name":"Vendredi ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"vendredi","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.jour","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":390,"y":340,"wires":[["af1d30290f4bd52e"],[]]},{"id":"c0316e659417e523","type":"api-current-state","z":"cdd51759fb44a193","name":"Samedi ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"samedi","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.jour","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":380,"y":400,"wires":[["6f9511174d92eb9e"],[]]},{"id":"62f6a28c860fc5ec","type":"api-current-state","z":"cdd51759fb44a193","name":"Dimanche ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"dimanche","halt_if_type":"str","halt_if_compare":"is","entity_id":"sensor.jour","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":390,"y":460,"wires":[["c4f85c8a95b8270d"],[]]},{"id":"71c8d1b9e1ad0e09","type":"api-current-state","z":"cdd51759fb44a193","name":"Alarme On ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.alarme","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":170,"y":300,"wires":[["91a22cbaab948514","d453179b135bd40c","6eb17b5eb3ec12ef","8d7cc562f574632e","2d5885f7981f4d84","c0316e659417e523","62f6a28c860fc5ec"],[]]},{"id":"4c44ccb608c90f32","type":"api-current-state","z":"cdd51759fb44a193","name":"Lundi on ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.wakeweekday_lun_1","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":590,"y":100,"wires":[["e5e578f0b0188164"],[]]},{"id":"ca4db7a6c3946de9","type":"api-current-state","z":"cdd51759fb44a193","name":"Mardi on ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.wakeweekday_mar_1","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":590,"y":160,"wires":[["e5e578f0b0188164"],[]]},{"id":"be6179c30ab312ba","type":"api-current-state","z":"cdd51759fb44a193","name":"Mercredi on ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.wakeweekday_mer_1","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":600,"y":220,"wires":[["e5e578f0b0188164"],[]]},{"id":"b595e111ada19c9c","type":"api-current-state","z":"cdd51759fb44a193","name":"Jeudi on ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.wakeweekday_jeu_1","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":590,"y":280,"wires":[["e5e578f0b0188164"],[]]},{"id":"af1d30290f4bd52e","type":"api-current-state","z":"cdd51759fb44a193","name":"Vendredi on ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.wakeweekday_ven_1","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":600,"y":340,"wires":[["e5e578f0b0188164"],[]]},{"id":"6f9511174d92eb9e","type":"api-current-state","z":"cdd51759fb44a193","name":"Samedi on ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.wakeweekday_sam_1","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":590,"y":400,"wires":[["e5e578f0b0188164"],[]]},{"id":"c4f85c8a95b8270d","type":"api-current-state","z":"cdd51759fb44a193","name":"Dimanche on ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.wakeweekday_dim_1","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":600,"y":460,"wires":[["e5e578f0b0188164"],[]]},{"id":"095f960b696087dc","type":"inject","z":"cdd51759fb44a193","name":"","props":[{"p":"payload","v":"true","vt":"bool"},{"p":"topic","v":"1","vt":"string"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"1","payload":"true","payloadType":"bool","x":150,"y":440,"wires":[["71c8d1b9e1ad0e09"]]},{"id":"020e5c99b1be8f0a","type":"ha-time","z":"cdd51759fb44a193","name":"time","server":"6f1918eeef2fa9ec","version":3,"exposeAsEntityConfig":"","entityId":"input_datetime.stop_time","property":"","offset":"0","offsetType":"num","offsetUnits":"minutes","randomOffset":false,"repeatDaily":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"sunday":true,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":true,"x":150,"y":540,"wires":[["ab167e295d31a44d"]]},{"id":"13fb3c5001cefe11","type":"api-call-service","z":"cdd51759fb44a193","name":"eteind lumiere cyrille","server":"6f1918eeef2fa9ec","version":5,"debugenabled":false,"domain":"switch","service":"turn_off","areaId":[],"deviceId":["4efc4c2120c976c44ab176ecd9070fc0"],"entityId":[],"data":"","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":640,"y":580,"wires":[[]]},{"id":"0ff3a7c58e7f8379","type":"api-call-service","z":"cdd51759fb44a193","name":"Stop reveill","server":"6f1918eeef2fa9ec","version":5,"debugenabled":false,"domain":"media_player","service":"turn_off","areaId":[],"deviceId":["7184a5bbbb750984bfa83aa3ef144f72","be12e970a5703eb0a0fb50e95d95a184"],"entityId":[],"data":"","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[{"property":"playlist_id","propertyType":"msg","value":"PL-a8YGDlatFqXjNR4FXCNNsS8mOrNLXzt","valueType":"str"}],"queue":"none","x":610,"y":520,"wires":[[]]},{"id":"e5e578f0b0188164","type":"api-current-state","z":"cdd51759fb44a193","name":"Alarme On ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.alarme","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":810,"y":180,"wires":[["46599265c0d406c3"],[]]},{"id":"2b5887788835dedc","type":"inject","z":"cdd51759fb44a193","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"true","payloadType":"bool","x":850,"y":300,"wires":[["46599265c0d406c3"]]},{"id":"244768d540507052","type":"ha-time","z":"cdd51759fb44a193","name":"time","server":"6f1918eeef2fa9ec","version":3,"exposeAsEntityConfig":"","entityId":"input_datetime.alarme_time","property":"","offset":"0","offsetType":"num","offsetUnits":"minutes","randomOffset":false,"repeatDaily":true,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"},{"property":"topic","propertyType":"msg","value":"","valueType":"triggerId"}],"sunday":true,"monday":true,"tuesday":true,"wednesday":true,"thursday":true,"friday":true,"saturday":true,"x":110,"y":160,"wires":[["71c8d1b9e1ad0e09"]]},{"id":"46599265c0d406c3","type":"api-call-service","z":"cdd51759fb44a193","name":"Cyrille V+","server":"6f1918eeef2fa9ec","version":5,"debugenabled":false,"domain":"media_player","service":"volume_set","areaId":[],"deviceId":[],"entityId":["media_player.nestaudio0171"],"data":"{\"volume_level\":\"0.5\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":980,"y":240,"wires":[["7ff43994771ce3fa"]]},{"id":"ab167e295d31a44d","type":"api-current-state","z":"cdd51759fb44a193","name":"Alarme On ?","server":"6f1918eeef2fa9ec","version":3,"outputs":2,"halt_if":"on","halt_if_type":"str","halt_if_compare":"is","entity_id":"input_boolean.alarme","state_type":"str","blockInputOverrides":false,"outputProperties":[{"property":"payload","propertyType":"msg","value":"","valueType":"entityState"},{"property":"data","propertyType":"msg","value":"","valueType":"entity"}],"for":"0","forType":"num","forUnits":"minutes","override_topic":false,"state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","x":390,"y":540,"wires":[["0ff3a7c58e7f8379","13fb3c5001cefe11"],[]]},{"id":"7ff43994771ce3fa","type":"api-call-service","z":"cdd51759fb44a193","name":"Radio FG at work","server":"6f1918eeef2fa9ec","version":5,"debugenabled":false,"domain":"media_player","service":"play_media","areaId":[],"deviceId":[],"entityId":["media_player.nestaudio0171"],"data":"{\"media_content_id\":\"http://radiofg.impek.com/fge\",\"media_content_type\":\"music\"}","dataType":"json","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"none","x":1190,"y":280,"wires":[[]]},{"id":"e7db67b0e31bc416","type":"inject","z":"cdd51759fb44a193","name":"","props":[{"p":"payload","v":"true","vt":"bool"},{"p":"topic","v":"1","vt":"string"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"1","payload":"true","payloadType":"bool","x":150,"y":600,"wires":[["ab167e295d31a44d"]]},{"id":"6f1918eeef2fa9ec","type":"server","name":"Home Assistant","version":5,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":"30","areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":": ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"default","statusTimeFormat":"h:m","enableGlobalContextStore":true}]

Voici le nod-red

Les input_datetime :

input_datetime:
  alarme_time:
    name: Heure de l'alarme
    has_date: false
    has_time: true
  time:
    name: time
    has_date: false
    has_time: true
  stop_time:
    name: Extinction de l'alarme
    has_date: false
    has_time: true

les input_boolean :

alarme:
  name: Alarme
wakeweekday_dim_1:
  name: Dimanche
  icon: mdi:calendar
wakeweekday_lun_1:
  name: Lundi
  icon: mdi:calendar
wakeweekday_mar_1:
  name: Mardi
  icon: mdi:calendar
wakeweekday_mer_1:
  name: Mercredi
  icon: mdi:calendar
wakeweekday_jeu_1:
  name: Jeudi
  icon: mdi:calendar
wakeweekday_ven_1:
  name: Vendredi
  icon: mdi:calendar
wakeweekday_sam_1:
  name: Samedi
  icon: mdi:calendar

Un enorme merci pour ton aide et ta réponse super rapide. Je vais regarder comment intégrer ca et je te fais un retour si j’arrive à tout faire fonctionner.