[ESP Home] heure/Jours de déclenchement configurables

J’ai trouvé ! Avec votre aide.

Dans un premier temps j’ai configuré deux sliders pour les heures et les minutes :

number:
  - platform: template
    name: "00- Heure Départ"
    id: heure_depart
    max_value: 23
    min_value: 0
    step: 1
    restore_value: True
    initial_value: 6
    unit_of_measurement: h
    mode: SLIDER
    optimistic: True

  - platform: template
    name: "00- Minute Départ"
    id: minute_depart
    max_value: 59
    min_value: 0
    step: 5
    restore_value: True
    initial_value: 0
    unit_of_measurement: mn
    mode: SLIDER
    optimistic: True

Puis un switch par jour :
switch:

  - platform: template
    name: "01- Lundi"
    id: day_1
    optimistic: true
    lambda: return id(day_1).state;

  - platform: template
    name: "02- Mardi"
    id: day_2
    optimistic: true
    lambda: return id(day_2).state;

  - platform: template
    name: "03- Mercredi"
    id: day_3
    optimistic: true
    lambda: return id(day_3).state;

  - platform: template
    name: "04- Jeudi"
    id: day_4
    optimistic: true
    lambda: return id(day_4).state;

  - platform: template
    name: "05- Vendredi"
    id: day_5
    optimistic: true
    lambda: return id(day_5).state;

  - platform: template
    name: "06- Samedi"
    id: day_6
    optimistic: true
    lambda: return id(day_6).state;

  - platform: template
    name: "07- Dimanche"
    id: day_7
    optimistic: true
    lambda: return id(day_7).state;

le problème c’est que on_time ne prends pas de paramètres sur minute et hour, donc je l’ai configuré pour déclencher toutes les minutes puis j’ai mis une condition sur le jour de la semaine, puis sur l’

    on_time:
      - seconds: 0
        minutes: 0-59
        hours: 0-23
        days_of_week: 1-7
        then:
          - if:
              condition:
                lambda: |-
                  bool start_sprinkler = false;
                  if ((id(sntp_time).now().day_of_week == 1) && id(day_1).state) {
                  } else if ((id(sntp_time).now().day_of_week == 2) && id(day_2).state) {
                  } else if ((id(sntp_time).now().day_of_week == 3) && id(day_3).state) {
                  } else if ((id(sntp_time).now().day_of_week == 4) && id(day_4).state) {
                  } else if ((id(sntp_time).now().day_of_week == 5) && id(day_5).state) {
                  } else if ((id(sntp_time).now().day_of_week == 6) && id(day_6).state) {
                  } else if ((id(sntp_time).now().day_of_week == 7) && id(day_7).state) {
                  } else {
                  return { false };
                  }
                  if ((id(sntp_time).now().hour == id(heure_depart).state) && (id(sntp_time).now().minute == id(minute_depart).state)){
                  start_sprinkler = true ;
                  }
                  return { start_sprinkler };                  
              then:
                - sprinkler.start_full_cycle: sprinkler_ctrlr

Remarque: les paramètres dans l’interface web sont classés par ordre alphabétique, j’ai donc mis un chiffre en début de chaque nom pour les classer