Je recherche à faire une condition de type " attendre qu' une action se réalise "

Bonjour !

je bloque sur une automatisation, je m’explique :

-un déclencheur s ‹ active ou non en fonction de la luminosité
si activé, alors l › ID de déclenchement est " éteindre " et ça éteint bien les lumières souhaité.

  • et inversement, si désactivé alors l’ID de déclenchement est « allumer » et donc les lumières s’allume.
    jusque là tout va bien :slight_smile:

j 'aimerai cependant ajouter une condition pour que les lumières s’allume si il y a du monde dans la pièce, j’ai donc ajouté une condition « et » à mon option 2 ( allumer ) pour que la détection de présence de mon sensor autorise l 'allumage.
mais ça ne fonctionne pas, d’où le titre de mon sujet : cette condition « et » doit elle être vrai au même moment que déclencheur s’exécute ? ou peut elle faire office de fonction « attendre » que la condition soit vrai pour s’exécuter ?

Vous voyez ce que je veux dire ?
en l’état, en regardant l’ historique de l’exécution, un chemin parallèle à mes 2 options d’ actions
(option 1 éteindre) (option 2 allumer) se dessine et rien ne se passe.
j’ai d’ailleurs jamais compris pourquoi ce chemin e parallèle se crée sur certaine de mes automatisations si quelqu 'un peut m 'éclairer à ce sujet je suis preneur !

merci d’avance !
Bien à vous.

alias: "Éclairage journée "
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.capteur_luminosite
    for:
      hours: 0
      minutes: 5
      seconds: 0
    id: allumer
    from: "on"
    to: "off"
  - platform: state
    entity_id:
      - binary_sensor.capteur_luminosite
    for:
      hours: 0
      minutes: 5
      seconds: 0
    id: éteindre
    to: "on"
    from: "off"
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - allumer
          - condition: and
            conditions:
              - type: is_motion
                condition: device
                device_id: e16866c7353e569133c22b49a1620e26
                entity_id: 0fa37059eafad4244e8caf5a32d03478
                domain: binary_sensor
            enabled: true
        sequence:
          - service: scene.turn_on
            metadata: {}
            target:
              entity_id: scene.salon_lumineux
          - service: scene.turn_on
            metadata: {}
            target:
              entity_id: scene.cuisine_lumineux
          - service: light.turn_on
            metadata: {}
            data:
              transition: 5
            target:
              device_id: df44c08803277de7e27640562beaa81a
      - conditions:
          - condition: trigger
            id:
              - éteindre
        sequence:
          - service: light.turn_off
            metadata: {}
            data:
              transition: 17
            target:
              area_id:
                - salon
                - cuisine
          - service: light.turn_off
            metadata: {}
            data:
              transition: 17
            target:
              device_id: df44c08803277de7e27640562beaa81a
          - service: light.turn_off
            metadata: {}
            data: {}
            target:
              device_id: 6973744b1d5b02748aaa037011ac123d
mode: single

Hello,

Oui, les conditions sont testées au moment du trigger.
Une piste, mets en trigger la détection de personnes et en condition la luminosité.

@+

Salut, dans ton premier « choose » tu as mis deux conditions :

  • un trigger id=allumer
  • un and, qui ne comprends lui même qu’une condition
    Mais tes conditions doivent être remplies toutes les deux, autrement dit c’est déjà un AND en soit.
# TU AS FAIT CA 
  - choose:
      - conditions:
          - LOW_LUX
          - AND
            conditions:
              - MOTION
              - #CONDITION MANQUANTE POUR JUSTIFIER LA PRÉSENCE DU AND

# CELA SUFFIT:
  - choose:
      - conditions: #CAR CECI EST DÉJÀ UN AND
          - LOW_LUX
          - MOTION

Pour répondre à ta question, il existe des fonctions/conditions wait for templateet wait for triggertrès utile pour faire fonctionner ton automatisation en poursuivant la logique que tu sembles avoir choisi.

  - choose:
      - conditions:
          - ID
      - sequence:
          - WAIT_FOR_TRIGGER 

Cependant , il existe bien souvent plusieurs manières/logiques très différentes pour arriver au même résultat.
Je te conseille de suivre la piste donnée par KRULL56.

2 « J'aime »

merci pour tes explications et ton conseil.
Effectivement, mettre la détection en trigger et la luminosité en condition est bien plus logique.
et en effet ça fonctionne !

1 « J'aime »

ok je vois, ça simplifie un peu la chose .

je vais regarder attentivement le wait for trigger qui me semble intéressant comme fonction, pour des automatisation un peu plus avancé ça peu aider.
Merci beaucoup