Automatisation Allumer/éteindre lampes

Bonjour a tous, alors oui le tire semble simple et désolé de mon incompetence sur ce problème d’automatisation.

Je vous explique:

J’ai un plafonnier qui n’est pas connecté. Je souhaite allumer/eteindre des lampes (elles connectées) suivant l’allumage de celle ci. J’ai donc ajouter un détecteur xiaomi de luminosité.

J’ai créé une automatisation suivante:

alias: Lampes Salon ON
description: ""
triggers:
  - type: illuminance
    device_id: 91f49c6d635f1592ae818327fc53b2fc
    entity_id: 8fbccb5bf8f86d4c273344311ec1bebb
    domain: sensor
    trigger: device
    below: 35
    enabled: true
conditions:
  - condition: time
    before: "21:59:00"
    enabled: true
    after: "18:15:00"
actions:
  - action: light.toggle
    metadata: {}
    data:
      kelvin: 5684
      brightness_pct: 100
    target:
      device_id: 3ff759039f56d75f70cafee044665310
    enabled: false
  - type: turn_on
    device_id: 97e194dbbfcc180b2d86db0d1987788b
    entity_id: f6294514fd2c9a22cc95727b6e563b1f
    domain: switch
  - action: light.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: light.ampoule_ikea_tv
  - action: light.turn_on
    metadata: {}
    data:
      kelvin: 5709
      brightness_pct: 100
    target:
      device_id: 3ff759039f56d75f70cafee044665310
mode: single

J’ai donc l’inverse en automatisation qui va éteindre

alias: Lampes salon OFF
description: ""
triggers:
  - type: illuminance
    device_id: 91f49c6d635f1592ae818327fc53b2fc
    entity_id: 8fbccb5bf8f86d4c273344311ec1bebb
    domain: sensor
    trigger: device
    below: 50
    enabled: true
conditions:
  - condition: time
    after: "22:00:00"
    enabled: true
actions:
  - type: turn_off
    device_id: 97e194dbbfcc180b2d86db0d1987788b
    entity_id: f6294514fd2c9a22cc95727b6e563b1f
    domain: switch
  - action: light.turn_off
    metadata: {}
    data: {}
    target:
      device_id: 3ff759039f56d75f70cafee044665310
  - action: light.turn_off
    metadata: {}
    data: {}
    target:
      device_id: 9c1d004c6d3eda011343b5cba83bc9d4
mode: single

Cependant, bah les automatisations n’allume pas /eteignent pas les lampes. j’ai pourtant mon détecteur qui descend bien sous les 35 lux

J’en appel donc a votre aide pour me guider sur la méthodologie et m’aider a corriger mes scripts.

D’avance merci

Dans les automatismes il y’a un truc génial qui s’appelle ‹ ‹ journal des automatisation › › qui te permet de contrôler le déroulement de ton automatisme

Mais à mon avis tu as un conflit entre le moment où ton capteur passe sous les 35 et ton horaire
Donc si ton capteur passe sous les 35 hors de ta plage horaire ton automatisation 'e de déclenchera jamais

1 « J'aime »

Il faut savoir que le trigger c’est un évènement, comme le dit @ddfdom, il faut qu’il passe « below: 35 » dans ta plage horaire, si il y est déjà, rien ne se passera.
Je ne connais pas ton souhait mais il faut peut être inversé les choses.
J’ai ce genre de cas, si détection de présence, et que lux < 10 alors on allume.

Bob

Bonsoir,

je ne sais pas si ça peut t’aider mais une automatisation qui marche chez moi (en dessous de 400lux et entre 17h et 23h) et qui declenche un script.

alias: Lampe Salon Allume Auto
description: « »
triggers:

  • trigger: numeric_state
    entity_id:
    • sensor.detectpreslum_illuminance
      for:
      hours: 0
      minutes: 10
      seconds: 0
      below: 400
      conditions:
  • condition: time
    after: « 17:00:00 »
    before: « 23:00:00 »
    actions:
  • action: script.allume_salon_sans_canape
    metadata: {}
    data: {}
    mode: single

bon courage

Eric

@EricG
Pense a formater ton code
Dans ton cas il est illisible et inutilisable
Tu as une icône code pour formater ton texte

Bonsoir ddfdom

OK le voila formaté.

alias: Lampe Salon Allume Auto
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.detectpreslum_illuminance
    for:
      hours: 0
      minutes: 10
      seconds: 0
    below: 400
conditions:
  - condition: time
    after: "17:00:00"
    before: "23:00:00"
actions:
  - action: script.allume_salon_sans_canape
    metadata: {}
    data: {}
mode: single

Bonne soirée
Eric

2 « J'aime »

En effet , je pense que c’est ce qu’il se passe.

mon souhait est vraiment de prendre en compte a la fois la plage horaire (le soir) ET le fait que la luminosité augmente (grace a la lumiere qui s’allume)

j’ai peur que dans ce cas, meme si la lumiere non managé reste OFF cela allume ces tierces lampes.

J’ai peur aussi que comme beaucoup de gens qui découvrent les automatisations de HA tu fasse une confusion entre trigger et condition.

Dans HA les automatisations fonctionne de la manière suivante avec 3 ensembles bien séparés:

  • les triggers:

    • n’importe lequel des triggers, s’il devient vrai, lance l’automatisation
    • dans ton cas, le trigger lorsque luminosité < 35 se déclenche uniquement lorsque la luminosité devient inferieure à 35, pas après.
  • les conditions:

    • il faut que toutes les conditions soient vraies pour que l’automatisation continue
    • les conditions sont évaluées au moment du trigger pas après
  • les actions:

    • c’est le corps de l’automatisation, la liste de tache à accomplir si l’automatisation est lancée.
    • il peut y avoir des blocs de condition dans les actions
    • on peut identifier des triggers différents pour lancer des actions différentes…

alors oui je suis un peut d’accord, par contre je me trouve limité dans mes triggers (je viens de Jeedom desolé)
j’ai besoin en trigger a la fois de l’heure (a partir d’une certaine heure) Et de la condition luminosité.

je viens de palier avec l’option sunset qui ne me semble pas parfaite. dans tous les cas je n’ai pas vue de trigger sur l’heure.

bon je sais que j’ai besoin de progresser sur ce domaine

Les triggers sont décrits dans la doc:

Tu peux trigger sur une heure définie
Tu peux trigger sur une durée (par exemple toutes les 10 minutes)

Tu peux trigger sur un template (et donc si ton trigger c’est { condition 1 and condition 2 }, quand les conditions 1 et 2 deviennent vraies en même temps)
un exemple de declenchement sur trigger:

alias: Lumières - Escalier - extinction auto inoccupé
description: extinction auto de l'escalier en absence de mouvement 15min si allumé
triggers:
  - alias: Lumière allumée et personne dans la piece depuis longtemps
    trigger: template
    value_template: >-
      {{(states('group.lumieres_escalier') == 'on') and
      (states('binary_sensor.0x00124b00246e9df7_occupancy') == 'off')}}
    for:
      hours: 0
      minutes: 15
      seconds: 0
conditions: []
actions:
  - type: turn_off
    device_id: 018e42fdc39d185cce19b42e99393c11
    entity_id: light.0x84b4dbfffec93621
    domain: light
mode: single

Est tu sûr que l’on parle bien de trigger ?

Tu peux jouer sur trigger et conditions pour faire ça.


Exprime ce que tu veux faire en français et édite ton post de départ pour bien formatter ton code qui est illisible (utilise la balise texte préformaté: </> pas la citation), et il est sûr que tu recevra une aide.

Là quand on lit tes deux automatisations (même si c’est illisible…), ce que tu as codé c’est:

  • Lampes Salon ON
    quand la luminosité passe sous 35
    et si entre 18h15 et 22h
    alors allume les ampoules

  • Lampes Salon OFF
    quand la luminosité passe sous 60
    et si après 22h
    alors éteint les ampoules

Bref comme tel:

  • ça va s’allumer au moment où la luminosité passe sous le seuil de 35 mais uniquement si on est entre 18h15 et 22.
  • ça va s’éteindre au moment où la luminosité passe sous le seuil de 60 mais uniquement si on est après 22h.

ça ne correspond pas à ce que tu décris:

je viens de faire 2 templates:

{{ (states(‹ sensor.luminosity_salon ›) | float(0) < 60) and (now().hour >= 22) }}

et

{{ (states(‹ sensor.luminosity_salon ›) | float(0) < 60) and (now().hour >= 18 and now().hour < 21 and (now().hour != 18 or now().minute >= 30)) }}

je vous tiens au courant.

Tu nous tiens au courant, mais tu ne nous aide pas à t’aider…

Tes templates ne sont très probablement pas la solution à ton problème…

c’est fait.

ce que je cherche:
allumer 2 lampes(connectées) quand mon plafonnier s’allume le soir. et les eteindre quand le coupe la lumiere dans le salon.

c’est pour cela que j’ai ajouter un capteur de luminosité.

avec vos conseils voici ce que j’ai fait:

alias: Lampes Salon ON
description: ""
triggers:
  - type: illuminance
    device_id: 91f49c6d635f1592ae818327fc53b2fc
    entity_id: 8fbccb5bf8f86d4c273344311ec1bebb
    domain: sensor
    trigger: device
    below: 35
    enabled: false
  - trigger: template
    value_template: >
      {{ (states('sensor.luminosity_salon') | float(0) < 60) and (now().hour >=
      18 and now().hour < 21 and (now().hour != 18 or now().minute >= 30)) }} 
conditions:
  - condition: time
    before: "21:59:00"
    enabled: false
    after: "18:15:00"
actions:
  - action: light.toggle
    metadata: {}
    data:
      kelvin: 5684
      brightness_pct: 100
    target:
      device_id: 3ff759039f56d75f70cafee044665310
    enabled: false
  - type: turn_on
    device_id: 97e194dbbfcc180b2d86db0d1987788b
    entity_id: f6294514fd2c9a22cc95727b6e563b1f
    domain: switch
  - action: light.turn_on
    metadata: {}
    data: {}
    target:
      entity_id: light.ampoule_ikea_tv
  - action: light.turn_on
    metadata: {}
    data:
      kelvin: 5709
      brightness_pct: 100
    target:
      device_id: 3ff759039f56d75f70cafee044665310
mode: single

cela fonctionne.

pour l’arret:

alias: Lampes salon OFF
description: ""
triggers:
  - type: illuminance
    device_id: 91f49c6d635f1592ae818327fc53b2fc
    entity_id: 8fbccb5bf8f86d4c273344311ec1bebb
    domain: sensor
    trigger: device
    below: 50
    enabled: false
  - trigger: template
    value_template: >
      {{ (states('sensor.luminosity_salon') | float(0) < 40) and (now().hour >=
      22) }} 
conditions:
  - condition: time
    after: "22:00:00"
    enabled: false
actions:
  - type: turn_off
    device_id: 97e194dbbfcc180b2d86db0d1987788b
    entity_id: f6294514fd2c9a22cc95727b6e563b1f
    domain: switch
  - action: light.turn_off
    metadata: {}
    data: {}
    target:
      device_id: 3ff759039f56d75f70cafee044665310
  - action: light.turn_off
    metadata: {}
    data: {}
    target:
      device_id: 9c1d004c6d3eda011343b5cba83bc9d4
mode: single

il faut maintenant que je regle le capteur de luminosité. car a 22h cela s’arrete et non a l’arret de la lumiere dans le salon.

Désolé si c’est long ou un peu sec dans le ton, mais on ne progresse pas vraiment. Je vais faire de mon mieux à partir de ce que tu veux bien nous dire mais :

C’est une description extrêmement succincte de ce que tu veux faire…

A partir de cette description (vu qu’on n’a que ça…), je ne comprend pas tes automatisation avec tes conditions à 22h et ta luminosité sous un seuil…

Pourrais tu reformuler:
- quand veux tu allumer ta lumière ?
- quand veux tu éteindre ta lumière ?

En français et de façon complète:

par exemple:

  • je veux allumer la lumière quand mon capteur de luminosité détecte que la lumière du plafonnier a été allumée (ce qui correspond à luminosité > xx) mais seulement le soir entre 19 et 22h pour éviter des allumages intempestifs.
  • je veux éteindre lorsque mon capteur de luminosité détecte que le plafonnier s’éteint (se qui se traduit par luminosité < xx)

Pour l’instant, dans tes automatisations, tu as fait:


allumage:
triggers:

  • si la luminosité passe sous 35 (désactivé)
    ou
  • si [(luminosité inferieure à 60) ET (entre 18h30 et 22h)] devient vrai

conditions:

  • on est entre 18h15 et 22h (désactivé)

actions:

  • on allume les lampes.

=> bref ce n’est pas ce que tu as dit que tu voulais faire (en tout cas je ne comprend pas comment tu peux détecter ton allumage de plafonnier avec un passage SOUS un seuil de luminosité a moins que l’allumage de ton plafonnier fasse baisser la lumière…).

Là tu as fait grosso modo « si la luminosité est sous 60 entre 18h30 et 22h allume la lumière » d’une façons plutôt compliquée via des templates alors qu’il y a plus simple…


extinction:

triggers:

  • si la luminosité passe sous 50 (désactivé)
    ou
  • si [(luminosité est inférieure à 40) ET (après 22h)] devient vrai

conditions:

  • on est après 22h (désactivé)

actions:

  • on éteint les lampes.

=> si ça s’éteint systématiquement à 22h c’est que ton seuil de luminosité est mal placé (luminosité toujours <40 après 22h).
Encore une fois ce n’est pas vraiment ce que tu voulais puisque là tu as fait: « si la luminosité est sous 40 et après 22h éteint la lumière » de façon compliquée (avec un template) alors qu’on peut faire plus simple.


De plus, vu tes plages de temps, tes deux automatisations ne peuvent pas jouer en même temps (l’une n’est activable qu’entre 18h30 et 22h, l’autre qu’après 22h)… Bref ça ne peut allumer qu’avant 22h et qu’éteindre après 22h. Donc ça ne fait pas ce que tu nous a décrit (de façon hyper courte)…

Donnes nous par exemple plus d’information sur le comportement de ton capteur de luminosité dans la plage de temps qui t’intéresse (plafonnier on / off, lampes on/off).

On ne peux pas inventer ce qui se passe chez toi…


Bref au risque de me répéter, décrit nous ce que tu voudrais obtenir en Français, mais de façon précise, arête les bouts de codes générés par IA, explique nous comment tu veux détecter l’allumage de ton plafonnier et on pourra t’aider.

S’il te plait prend un peu plus que 30s de ton temps pour clarifier ton besoin.

3 personnes ont tenté de t’aider, mais tu ne nous aides pas vraiment à t’aider…

A la question:

Exprime ce que tu veux faire en français

on a eu les réponses suivantes:

  • dans le premier post:
  • dans le dernier post la « clarification » suivante:

Merci pour les précisions ! :rofl:

Sans plus d’info de ta part on ne va pas avancer beaucoup…

Bonjour @nautico

Peux-tu donner la référence ? Ce n’est pas celui incorporé au détecteur de mouvement (type RTCGQ11LM) qui ne s’actualise que sur une détection de mouvement ?

J’utilise un opt3001 sur ESP32 qui mesure en permanence et ça ça parle bien.

Pour avoir un peu plus d’info.

Bob

1 « J'aime »

Hello,

alors je vais repondre a tout ne t’inquiète pas et non ton ton n’est pas sec.

(meme si je ne vois pas ce qui n’est pas francais dans ce que je dis :D)

ce que j’ai chez moi:

  • un plafonnier, commandé par un télérupteur et 3 boutons. ce plafonnier est dans mon salon.

pour lui rien de plus

  • j’ai 2 lampes ( une ampoule Ikea connecté et integré ainsi qu’une ampoule Xiaomi elle aussi intégré).

Je souhaite que quand j’allume la lumiere le soir chez moi (en regle generale vers 18h) que ses 2 lampes s’allument soit en meme temps soit juste apres

Je souhaite aussi que quand je vais me coucher ( en regle generale vers 22, 22h30) que ses 2 lampes se coupent

pour repondre a la partie (Desactivé) c’est que je ne veux pas tout modifier et perdre mes changement –> desolé pour cela

En ma possession j’ai (pour repondre a @Bob ) un Lumi sensor de chez Xiaomi de ref GZCGQ01LM

pour expliquer (sans code j’ai compris :wink: ) ce que j’ai voulu faire:

partant du principe que je ne coupe pas la lumiere entre 18 et 22h quand je suis chez moi j’ai limité l’activation du OFF suivant une plage horaire.

pour donner du contenue:

voici une courbe de mon sensor (Oui je parle encore de lui) de luminosité.

ce que l’on peut voir :

sans certitude (meme si je pense que c’etait le cas car je bossais a la maison hier) la lumiere etait allumée, et a 18h30 les 2 autres lampes se sont allumées.

on peut aussi voir qu’a 22h, les 2 lampes se sont éteintes et que j’ai coupé la lumiere du salon a 22h30.

est ce plus lumineux maintenant :smiley:

C’est plus lumineux mais tu mélanges encore ce que tu as fait et ce que tu veux faire…

On a l’impression que là ce que tu as fait (et qui te vas presque) c’est allumer à 18h et éteindre à 22h… Et ça c’est facile à faire avec un simple trrigger sur le temps.

Maintenant si ce que tu veux faire c’est :

  • allumer lorsque j’allume mon plafonnier
  • éteindre lorsque j’éteins mon plafonnier.

Ton trigger doit être sur ton plafonnier…

Il nous manque encore une info…
Il faudrait donc que, par exemple ce soir, tu documentes entre 18 et 22h (histoire d’avoir la luminosité ambiante qui va bien) tu trace la même courbe mais avec les transitions suivantes:

  • Rien d’allumé (si j’ai bien compris pas lisible sur ta courbe car déjà allumé à 18?)
  • le plafonnier allumé (a priori autour de 30)
  • le plafonnier et toutes les lampes allumées (autour de 60)
  • le plafonnier éteint et toutes les lampes allumées (ça je ne sais pas dire à partir de ton graphe ci dessus)
  • toutes les lampes éteintes (a priori autour de 0 à 22h30)

Sur ton graphe il faudrait au moins:

  • à 18h le passage rien allumé => plafonnier allumé pour connaitre le seuil de detection d’allumage
  • à n’importe quelle heure tout allumé => plafonnier éteint et lampes allumées pour connaitre le seuil de detection d’extinction

Il faudrait aussi avoir la variation journalière typique de ton capteur sans le plafonnier éclairé histoire de voir à combien monte la luminosité ambiante (pour ne pas avoir de fausse detection de l’allumage du plafonnier à cause du soleil ou d’une autre lampe…)

Ceci te permettra de repérer s’il est possible de trouver un seuil de luminosité qui permette de détecter l’allumage du plafonnier et un seuil qui permette de détecter son extinction (quand les autres lampes sont allumées…), et eventuellement si tu peux utiliser ces seuils toute la journée et pas que le soir…

Si c’est le cas, ton automatisation sera assez facile à faire… Et pas besoin de chat GPT… ou d’IA

Avec l’interface graphique il te suffirait de faire:

allumage:

  • trigger: quand la luminosité passe au dessus du seuil de detection d’allumage (par exemple 25?)
  • condition: après 18h et avant 22h cette condition peut être élargie… elle n’est peut être pas même nécessaire si plafonnier éteint la luminosité ne dépasse jamais le seuil (ex:25) dans la journée, ça dépend de où tu as mis ton capteur
  • action: allumer les lampes

extinction:

  • trigger: quand la luminosité passe au dessous du seuil de detection d’extinction (par exemple 50 à condition que le passage de tout allumé à plafonnier éteint et le reste allumé se voie sur la courbe…)
  • condition: aucune (il n’y a sans doute pas besoin de condition pour éteindre)
  • action: éteindre les lampes

En l’état, il n’est pas du tout sûr que ce soit faisable si ton capteur de luminosité réagit plus à la luminosité ambiante ou a tes lampes qu’à ton plafonnier, il risque de ne pas détecter les allumages extinction du plafonnier… Il faudra peut être le repositionner à un endroit où il marchera mieux pour cet usage.

Alors? ce capteur de luminosité détecte t’il bien ton plafonnier?