Condition pour ne pas éteindre des lumières

Bonjour à tous,

J’ai créé une automatisation simple qui éteint les lumières de la chambre lorsque la luminosité de la pièce est au dessus d’une certaine valeur.

alias: Nouvelle automatisation
description: ""
trigger:
  - alias: LUMINO AU DESSUS DE
    type: illuminance
    platform: device
    device_id: 0d09997bab8f2a44c4349a94a4e46f7c
    entity_id: 70ceec395a0741c3a0c6a00c7671e764
    domain: sensor
    id: fortelumino
    above: 15
    enabled: true
condition: []
action:
  - alias: FORTE LUMINO = ETEINDRE LUMIERES
    if:
      - condition: trigger
        id:
          - fortelumino
    then:
      - service: scene.turn_on
        metadata: {}
        target:
          entity_id: scene.chambre_eteinte
mode: single

L’automatisation est pensée de manière que lorsque j’ouvre le volet de la chambre les lumières s’éteignent grâce à la lumière du jour qui rentre dans la pièce la journée

Mais ça me pose un souci le soir quand il fait nuit par exemple et que je décide d’allumer moi même les lampes, tout s’éteint aussi tôt (dû au changement de lumino à cause des lampes)

Je pensais donc créer une condition pour que ça ne se déclenche pas si les lampes ont été activées dans les 5 secondes mais ça ne fonctionne pas

alias: Nouvelle automatisation
description: ""
trigger:
  - alias: LUMINO AU DESSUS DE
    type: illuminance
    platform: device
    device_id: 0d09997bab8f2a44c4349a94a4e46f7c
    entity_id: 70ceec395a0741c3a0c6a00c7671e764
    domain: sensor
    id: fortelumino
    above: 15
    enabled: true
condition: []
action:
  - alias: FORTE LUMINO = ETEINDRE LUMIERES
    if:
      - condition: trigger
        id:
          - fortelumino
      - condition: state
        entity_id: light.chambre
        state: "on"
        for:
          hours: 0
          minutes: 0
          seconds: 05
    then:
      - service: scene.turn_on
        metadata: {}
        target:
          entity_id: scene.chambre_eteinte
mode: single

Quelqu’un a-til une idée ? Merci

Sinon tu mets une luminosité un peu plus importante que celle lorsque tes lumières sont allumées ?

J’ai essayé mais la valeur est beaucoup trop haute du coup.

Mes lampes ne s’éteignent pas la journée (il faudrait qu’il y ait vraiment beaucoup de soleil qui rentre dans la pièce)

Ce n’est pas possible de créer une condition en s’appuyant sur un évènement du journal ?

Par exemple ne pas trigger si chambre a été allumée lors des 5 dernières secondes ??

Ou alors ne lancer le scénario que si les volets sont ouvert depuis x min ?
Mais tu peux le faire avec le temps depuis lequel les lumières ont été allumée a l’aide du chrono durée en dessous.

Mes volets ne sont pas connectés donc impossible d’avoir l’état ou autre

Donc tu peux le faire en vérifiant l’état de la durée depuis le début d’éclairage de la lumière.

Hello,

C’est effectivement le type d’automatisation sur lesquelles il y a beaucoup d’échanges sur les différents forums de HA , ça paraît d’un premier abord très simple mais pas tant que ça à cause de la luminosité des lampes.
A moins de trouver le bon treshold, pas toujours imple en fonction du type de capteur lux et de sa position.

Sans garantie du résultat mais à mon avis le pb principal dans ton cas est que tu ne maitrise pas le temps que mets ton capteur à remonter son info de luminosité à HA ( plus ou moins de 5 secondes ?)
En gros , Je mettrai donc dans mon trigger une « tempo » du type lux > 15 depuis plus de 15 secondes, puis tester que ta lampe est allumée depuis moins de 5 secondes ( ou 10 secondes tant que ce temps est inferieur aux 15 secondes de tempo) avant d’effectuer l’action adhoc ou non.

Edit: dans l’autres sens et pour coller à ton auto de base ( extinction) c’est mieux.
La condition doit donc être que te lampe est allumée depuis plus de 15 secondes :wink:

Salut

J’utilise des AQARA FP2 comme capteur de luminosité donc l’info remonte quasi instantanément sur HA (1,5 sec max)

Je suis pas sur de comprendre quoi faire dans ton exemple ?
Pourrais tu me donner la config en YAML stp

Ton trigger :

Luminosité supérieure à X Lux pendant Y secondes ( pour donner le temps des remontée d’états de ton capteur lux et celui de ta lampe et avoir un temps de référence initial de la lampe allumée)

La condition pour éteindre:

Que ta lampe soit allumée depuis plus que Y secondes.

Ainsi quand tu vas allumer ta lampe le soir, ton trigger va se déclencher au bout de Y secondes, vu que la condition ne sera pas respectée ( lampe allumée depuis moins de Y secondes), pas d’action.
Par contre si la lampe est allumée depuis plus de Y secondes au moment ou la luminosité est supérieure à X lux depuis Y secondes, déclenchement de l’action extinction

C’est donc plus une condition pour éteindre les lumières que pour ne pas les éteindre :wink:

Bonjour,

Une simple idée, si le cas ne se produit que le soir, pourquoi ne pas tout simplement ajouter une condition du type avant telle heure, ou plutôt entre telle heure et telle heure (pour pouvoir allumer la nuit) à votre automation qui éteint automatiquement les éclairages.

mcp

Je n’ai pas l’usage de ce type d’automatisation mais j’en ai fait une pour un proof of concept :wink:

alias: test_extinction_salon-lux_ext
description: ""
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.presence_salon_illuminance_lux
    for:
      hours: 0
      minutes: 0
      seconds: 15
    above: 35
condition:
  - condition: state
    entity_id: switch.inter_salon_channel_1
    state: "on"
    for:
      hours: 0
      minutes: 0
      seconds: 20
action:
  - service: switch.turn_off
    metadata: {}
    data: {}
    target:
      entity_id: switch.inter_salon_channel_1
mode: single

La lumière s’éteint au bout de 15 secondes après dépassement du niveau de lux uniquement si la lampe est allumée depuis plus de 20 secondes.
Et ne s’éteint pas si le dépassement à lieu alors que la lampe est allumée depuis moins de 20 secondes.

Par contre, je suis surpris que ton capteur soit autant influencé par la lumière artificielle, normalement c’est plus la lumière naturelle qui fait varier significativement les lux et facilite ainsi la recherche du bon treshold sans devoir conditionner à d’autres éléments

Merci pour ton aide je vais tester ça! Je te dirais si ça fonctionne

1 « J'aime »

Super! L’idée a l’air de fonctionner j’ai fais comme ceci :


alias: "LUMIERES + APPAREIL : CHAMBRE"
description: ""
trigger:
  - alias: LUMINO ABOVE 15
    type: illuminance
    platform: device
    device_id: 0d09997bab8f2a44c4349a94a4e46f7c
    entity_id: 70ceec395a0741c3a0c6a00c7671e764
    domain: sensor
    id: highlight
    above: 15
    enabled: true
  - alias: LUMINO ABOVE 50
    type: illuminance
    platform: device
    device_id: 0d09997bab8f2a44c4349a94a4e46f7c
    entity_id: 70ceec395a0741c3a0c6a00c7671e764
    domain: sensor
    id: highlight2
    above: 50
    enabled: true
condition: []
action:
  - if:
      - condition: trigger
        id:
          - highlight
          - highlight2
      - condition: state
        entity_id: light.chambre
        state: "on"
        for:
          hours: 0
          minutes: 0
          seconds: 10
    then:
      - type: turn_off
        device_id: 04d10143ee74a0dbf2daa8cd0cd27abe
        entity_id: e317a7e323545b61deddf6e2716c6bc3
        domain: light
    alias: HIGH LUMINO = LIGHTS OFF
mode: single

Je ne vois pas de tempo sur ton trigger ( c’était l’idée de base de ma proposition pour compenser un délai possiblement variable des remontées d’état) :thinking:
Mais bon, si ça passe à coup sur avec un délai de 10 secondes sur la condition lampe allumée, tant mieux :wink:

D’ailleurs pourquoi 2 tresholds ? Et pas besoin de if then else ni d’ID de trigger pour cettte simple auto

Alors j’ai mis 2 triggers tout simplement car lorsque j’allume les lampes de ma chambre volets fermés j’atteint un lumen de 45 environ

Le second sert lorsque j’ouvre les volets et passe au dessus de 50 pour éteindre les lampes du coup

Si je mettais qu’un seul trigger, l’action ne se redéclencherait pas lorsque j’ouvre les volets de la chambre

Je n’ai pas tout mis dans mon code ci dessus mais j’ai d’autres actions qui s’executent pour d’autres choses qui n’ont rien à voir

(Je ne sais pas si c’est la bonne méthode à utiliser mais je m’y retrouve comme ça :sweat_smile:)


alias: "LUMIERES + APPAREIL : CHAMBRE"
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.presence_sensor_fp2_chambre_presence_sensor
    to: "on"
    id: presencechambre
  - platform: state
    entity_id:
      - binary_sensor.presence_sensor_fp2_chambre_presence_sensor
    to: "off"
    id: nopresencechambre
  - type: illuminance
    platform: device
    device_id: 0d09997bab8f2a44c4349a94a4e46f7c
    entity_id: 70ceec395a0741c3a0c6a00c7671e764
    domain: sensor
    below: 1
    id: nolight
    alias: LUMINO BELOW 1
    enabled: true
  - alias: LUMINO ABOVE 15
    type: illuminance
    platform: device
    device_id: 0d09997bab8f2a44c4349a94a4e46f7c
    entity_id: 70ceec395a0741c3a0c6a00c7671e764
    domain: sensor
    id: highlight
    above: 15
    enabled: true
  - alias: LUMINO ABOVE 50
    type: illuminance
    platform: device
    device_id: 0d09997bab8f2a44c4349a94a4e46f7c
    entity_id: 70ceec395a0741c3a0c6a00c7671e764
    domain: sensor
    id: highlight2
    above: 50
    enabled: true
  - platform: device
    device_id: 5b6ab846b4cc73c258155ade349b4cd1
    domain: media_player
    entity_id: d5ca64869ffd18fb154253386a33e465
    type: turned_off
    id: samsungoff
condition: []
action:
  - alias: PRESENCE = LUMIERE (SI LUMINO FAIBLE) + DIFFUSEUR ON
    if:
      - condition: trigger
        id:
          - presencechambre
      - condition: time
        after: "08:00:00"
        before: "23:00:00"
    then:
      - alias: SI QUELQUN ET LUMINO FAIBLE = ALLUMER LA CHAMBRE
        if:
          - type: is_illuminance
            condition: device
            device_id: 0d09997bab8f2a44c4349a94a4e46f7c
            entity_id: 70ceec395a0741c3a0c6a00c7671e764
            domain: sensor
            below: 15
          - condition: not
            conditions:
              - condition: state
                entity_id: binary_sensor.presence_sensor_fp2_chambre_presence_sensor
                state: "on"
                for:
                  hours: 0
                  minutes: 0
                  seconds: 10
        then:
          - service: scene.turn_on
            metadata: {}
            target:
              entity_id: scene.chambre_attenue
      - type: turn_on
        device_id: a8335ade10c8a9b79b27452012f2aa88
        entity_id: 39036f03b33b6f5d15028001e041273a
        domain: switch
  - alias: NO PRESENCE = LUMIERE + DIFFUSEUR OFF
    if:
      - condition: trigger
        id:
          - nopresencechambre
    then:
      - type: turn_off
        device_id: a8335ade10c8a9b79b27452012f2aa88
        entity_id: 39036f03b33b6f5d15028001e041273a
        domain: switch
      - type: turn_off
        device_id: 04d10143ee74a0dbf2daa8cd0cd27abe
        entity_id: e317a7e323545b61deddf6e2716c6bc3
        domain: light
  - alias: NO LIGHT + TV OFF = DIFFUSEUR OFF
    if:
      - condition: trigger
        id:
          - nolight
          - samsungoff
    then:
      - if:
          - condition: not
            conditions:
              - condition: device
                device_id: 5b6ab846b4cc73c258155ade349b4cd1
                domain: media_player
                entity_id: d5ca64869ffd18fb154253386a33e465
                type: is_on
          - type: is_illuminance
            condition: device
            device_id: 0d09997bab8f2a44c4349a94a4e46f7c
            entity_id: 70ceec395a0741c3a0c6a00c7671e764
            domain: sensor
            below: 1
        then:
          - type: turn_off
            device_id: a8335ade10c8a9b79b27452012f2aa88
            entity_id: 39036f03b33b6f5d15028001e041273a
            domain: switch
  - alias: HIGH LUMINO = LIGHTS OFF
    if:
      - condition: trigger
        id:
          - highlight
          - highlight2
      - condition: state
        entity_id: light.chambre
        state: "on"
        for:
          hours: 0
          minutes: 0
          seconds: 5
    then:
      - type: turn_off
        device_id: 04d10143ee74a0dbf2daa8cd0cd27abe
        entity_id: e317a7e323545b61deddf6e2716c6bc3
        domain: light
mode: single