Extinction progressive de lampes

Bonjour.
J’ai des ampoules hue dans la chambre de mon fils. J’aimerais programmer une extinction mais progressive.
Pour le moment je les allumes automatiquement a 19h et je les éteins à 21h. J’aimerais que de 20h à 21h par exemple l’intensité diminue progressivement jusqu’à l’extinction.
J’imagine que c’est possible via les automatisations mais je ne trouve pas.
Je ne trouve pas de blueprint non plus (ça serait l’idéal :smile:).

Hello,

Tu peux faire ça avec un script.
Je n’ai plus la source mais voici celui que j’utilise car ce strip led ne supporte pas le fading .
Tu as juste à changer les premières variables ainsi que l’entité et éventuellement le rgb

alias: Nightlight CHP -  Down
sequence:
  - variables:
      start_brightness: 254
      end_brightness: 0
      brightness_increments: 5
      duration_mins: 35
      repeat_count: "{{ ((start_brightness - end_brightness) / brightness_increments) }}"
      repeat_delay: "{{ ((duration_mins * 60) / repeat_count) }}"
  - service: light.turn_on
    data:
      brightness: "{{ start_brightness }}"
      rgb_color:
        - 240
        - 0
        - 0
    target:
      entity_id: light.strip_chp
  - delay:
      hours: 0
      minutes: 0
      seconds: "{{ repeat_delay | int }} "
      milliseconds: 0
  - repeat:
      while:
        - condition: template
          value_template: "{{ (state_attr('light.strip_chp', 'brightness') > end_brightness) }}"
      sequence:
        - service: light.turn_on
          data:
            brightness: >-
              {{ state_attr('light.strip_chp', 'brightness') | int -
              brightness_increments }}
            rgb_color:
              - 240
              - 0
              - 0
          entity_id:
            - light.strip_chp
        - delay:
            hours: 0
            minutes: 0
            seconds: "{{ repeat_delay | int }} "
            milliseconds: 0
mode: restart
icon: mdi:lightbulb

Les lampes hue supportent les transitions (300 secondes max)
Donc tu peux faire ça simplement avec une automatisation ou un script via l’interface ui de HA en appelant le service light.off.
Un exemple d’automatisation

description: ""
mode: single
trigger:
  - platform: time
    at: "21:00:00"
condition: []
action:
  - service: light.turn_off
    data:
      transition: 300
    target:
      device_id: spot_tv

Super merci.
Je pense que ça me fait une bonne base. Je vais regarder ça.

Mais du coup ça veux dire que la phase d’extinction ne peu pas durer plus de 5min ?

J’ai encore beaucoup à apprendre :sweat_smile:.

En utilisant la transition intégrée dans les hue c’est 5 minutes max d’après ce que j’ai vu.
En utilisant le script de ma première réponse tu peux definir plus long.

Si tu utilise le script, il te suffit de l’appeler dans une automatisation qui aura comme declencheur l’heure de debut du fading que tu definis ( 20 h dans ton exemple)

Mon script defini la valeur rgb rouge , si tu veux conserver la couleur definie au moment de l’allumage des lampes (19h) , il te suffit de supprimer les lignes rgb_color

Ça fonctionne merci.
Bon par contre j’ai essayé d’en refaire une pour ces lampes d’ambiance (qu’il garde allumée la nuit) mais je voudrais faire varier également la température du la lumière. Pour le moment je n’y arrive pas (j’arrive juste à la choisir pour l’allumage).
Je vais regarder comment faire.
Je crois qu’il y a aussi des lignes (qui étaient liées a la variation rgb que je peux encore supprimer)


alias: reduction cactus sam
sequence:
  - variables:
      start_brightness: 254
      color_temp: 338
      end_brightness: 75
      brightness_increments: 5
      duration_mins: 30
      repeat_count: "{{ ((start_brightness - end_brightness) / brightness_increments) }}"
      repeat_delay: "{{ ((duration_mins * 60) / repeat_count) }}"
  - service: light.turn_on
    data:
      brightness: "{{ start_brightness }}"
    target:
      entity_id: light.cactus
  - delay:
      hours: 0
      minutes: 0
      seconds: "{{ repeat_delay | int }} "
      milliseconds: 0
  - repeat:
      while:
        - condition: template
          value_template: "{{ (state_attr('light.cactus', 'brightness') > end_brightness) }}"
      sequence:
        - service: light.turn_on
          data:
            brightness: >-
              {{ state_attr('light.cactus', 'brightness') | int -
              brightness_increments }}
          entity_id:
            - light.cactus
        - delay:
            hours: 0
            minutes: 0
            seconds: "{{ repeat_delay | int }} "
            milliseconds: 0
mode: restart
icon: mdi:lightbulb-night-outline
1 « J'aime »

Je n’ai pas mon pc avec moi pour te preparer un exemple de code en y ajoutant la variation de la température mais le principe est assez simple.
Voici les grosses lignes :
En variables, ajouter une température de depart et une température de fin.
Dans ton premier light.on en data ajouter la variable temp de depart.
Dans la boucle, ajouter en data un calcul basé sur temp_depart ( + ou - ) l’increment.
Dans certains cas, il sera peut-être nécessaire de creer une deuxième variable d"increment

Tant que j’y pense, dans ton automatisation mets en condition que la lampe soit allumée sinon celle-ci s’allumera automatiquement au lancement du script (20h)

1 « J'aime »

Merci beaucoup. Je vais regarder ça.
Mais pour le moment je dois régler un autre souci avant.
J’essaye de tout migrer sur zigbee2mqtt mais ça ne fonctionne pas :unamused: (j’ai encore créé un nouveau sujet). Ça commence déjà à me décourager.
Une fois que les ampoules y seront intégrées je re-testerai la programmation.

Salut regarde du coté de