Bouton ou détecteur pour allumer

Bonjour à tous

Question, j’ai un module Smart light switch module (2 gang) (MS-104BZ) Moes dans mon tableau pour gérer les lumières de la cuisine.
Pour le moment je gère l’allumage avec une détection (via un trigger sous NR, si mvt allumage, si pas de mvt extinction) mais lorsque j’allume la lumière avec le bouton (interrupteur physique) si pas de mouvement il s’éteint :sleepy:

Alors je voulais savoir si on peut différencier cet allumage, mais au vue de ce que je vous partage ci-dessous, je pense que cela n’est pas gagné.

En attendant vos retours.

Bonjour, en ajoutant une entrée de type input_boolean et une automatisation qui à l’appui sur le bouton physique de l’interrupteur qui passe l’input_boolean à « on » ou à « off » en fonction puis une condition sur la détection de mouvement en fonction de l’état de l’input_boolean, ça devrait le faire, non ?

Pourquoi un trigger sous NR pour la détection de mouvement ?

1 « J'aime »

Bonjour,
je n’utilise pas nodered, mais les automatisations de HA. On peut désactiver une automatisation.
Quand tu utilises l’interrupteur physique, tu désactives l’automatisation. Et la réactive quand tu réutilises l’interrupteur phsique.

action: automation.turn_off
metadata: {}
data:
  stop_actions: true
target:
  entity_id: automation.cuisine_auto_presence
2 « J'aime »

Bonjour.

Tu peux trouver un autre exemple dans ma presentation : Présentation + [Mon Dashboard] BBE - #3 par BBE

Il y a des automatisations pour les lumières où je sépare les modes auto et manuel sans booleen, mais avec un timer.

Le principe doit s’appliquer aussi sous NR…

Une autre astuce qui ne marche qu’avec des smart lights:

  • allumage automatique => luminosité à 90%
  • Allumage manuel => luminosité à 100%
  • Lors de l’extinction si pas de mouvement tu testes la luminosité et n’éteint que si la luminosité est < 95%…Mais cette astuce simple ne marche pas avec les micromodules on/off (d’où la solution plus complexe dans ma presentation)

Merci pour vos messages MAIS

Voici mon nœud NR

image

Si j’ai une détection ma lumière s’allume, tant que le mvt est détecté, elle reste allumée, si plus de mvt elle s’éteint.

Si je regarde vos remarques, si je dois appuyer sur un bouton alors que je suis dans la zone du capteur, ma lumière va s’allumer et je ne saurais pas si j’ai un appui sur le bouton SAUF si je suis hors de am zone horaire, si mon spot s’allume c’est que j’ai eu un appui.

Etant donné que je n’ai aucun moyen de vérifier un appui sur mon interrupteur (voir image ci-dessous Entrée = spot couloir ) ou je me trompe

Alors contrairement à certains, moi NR je n’y arrive pas…
Donc je vais faire ce que je peux… Et je peux peu ! :rofl:

Si j’ai bien compris.
To NR te permet d’allumer / eteindre une ampoule (spot couloir) en fonction d’un detecteur de mouvement / presence (detection oeil couloir) .

  • Comment fais tu l’allumage manuel ?
  • Peux tu allumer ton spot à 90% ?

Si c’est comme je le crois, un bouton qui active un micro module, il faut que tu distingue le ON via le bouton du ON via l’automatisation par detection.

Il n’y a pas 36 solutions, il faut soit créer un booléen soit utiliser un timer.

Si je prend l’exemple du booléen, il faut ajouter dans ton NR quelques astuces:

  • il te faut créer un bolléen « allumage_auto »
  • lorsque tu détecte un mouvement, il faut vérifier l’heure, et vérifier si la lampe est éteinte (si elle est déjà allumée, elle a été allumée manuellement) et alors seulement allumer la lampe et faire basculer le booléen (« allumage_auto ») à vrai.
  • lorsque tu ne détectes plus de mouvement/presence, il faut tester si le booléen (« alllumage_auto ») est à vrai avant d’éteindre, puis éteindre et passer le booléen à faux.

C’est un première approche, mais on peut aller plus loin en fonction de ton installation…
attention, je ne maitrise pas NR, mais je verrais ça comme ça:

Si, tu peux vérifier qu’il y a eu un appui physique sur ton interrupteur à l’aide d’une entrée de type « input_boolean » (entrée « interrupteur ») que tu bascules (« toggle ») avec une automatisation sur l’évènement (« trigger ») « appui sur le bouton de l’interrupteur » qui peut prendre différents noms en fonction de ton interrupteur (notamment s’il a plusieurs bouton, si l’appui simple, double ou prolongé sont pris en compte, etc.)



Ensuite, tu ajoutes en condition dans ton NR l’extinction uniquement si ton input_boolean est « off ».

@Cleya Ca dépend…

Sur un micro module par exemple ça ne marche pas… c’est pour ça que pour mes micro modules, je gère le booléen sur l’allumage auto et pas sur l’allumage manuel…

Je n’ai jamais réussi à détecter ce qui fait basculer le module (inter associé ou commande via dashboard ou automatisation).
De plus une commande via le dashboard est de mon point de vue autant une commande « manuelle » que via le bouton physique…

C’est exactement le même principe que ce que tu décris (qui marche bien avec des smart lights) mais en inversé…

@BBE

Même avec un micromodule, l’appui sur le bouton passe le micromodule à « on » ou « off ».

1 « J'aime »

Oui bien sûr, mais il n’y a pas de distinction entre le micro module, la lumière associé ou l’interrupteur physique (en tout cas sur mes sonoff…).

Dit autrement, d’un point de vue logique, le passage à « on » ou « off » du micromodule (ou de la lumière, puisque c’est la même entité) ne renseigne pas sur le fait que cet allumage (ou extinction) était manuelle ou automatique. On sait juste que l’entité est passé à « on » ou « off » sans savoir si c’est suite à un appui sur le bouton physique, sur le dashboard ou à une automatisation.

Du coup j’ai résolu ça avec un booléen géré par l’automatisme. Si le booléen est on c’est que la lampe a été allumé par l’automatisme, donc l’automatisme à « le droit » d’éteindre. Sinon c’était du manuel et l’automatisation laisse la lumière allumée…

Ca revient au même qu’un booléen manuel, juste à l’envers…

Ta solution marche très bien si l’interrupteur est séparé (comme une télécommande) comme dans le cas d’une smart light. Encore qu’il faut de mon point de vue aussi gérer l’usage du dashboard comme un usage manuel…

Comme dit plus haut, une autre astuce simple (mais qui ne marche pas avec les micro modules hélas) marche avec les smart lights:

c’est de modifier l’automatisation d’allumage automatique pour qu’elle allume les spot à un niveau bien spécifique, puis tester si les spot sont allumés à ce niveau avant d’éteindre.

une idée par exemple:

Marche d’autant mieux si ton allumage manuel commande un autre niveau (100% par exemple). Même si l’automatisme a allumé la lumière, si tu appuies sur le bouton tu vas passer à 100% (ou à un autre niveau) et ainsi l’automatisme n’éteindra pas.

1 « J'aime »

Le problème du module est l’interrupteur qui est câblé donc l’appui ou le pilotage via un téléphone, la même sortie est pilotée donc pas de différence. Avec un booléen ou autre programmation

Du coup, je ne comprends pas trop ta demande… Quelle différence ça fait si ton interrupteur a été actionné physiquement ou à distance par rapport à la détection de mouvement ?
J’avais compris que tu voulais que la lumière ne s’éteigne pas si l’interrupteur avait été actionné physiquement même en l’absence de détection de mouvement ? Tu allumes cet interrupteur à distance ? Si oui, dans quelles occasions ?

C’est pour ça qu’il faut que tu gères ton problème du coté de ton automatisation…

Tu as lu les 3 premières réponses de @Cleya @WarC0zes et moi? Les 3 te proposent de modifier ta façon de gérer l’automatisation, avec 3 solutions variées…

Ton problème c’est que la lumière s’eteint s’il n’y a pas de mouvement.

Donc ton problème vient bien de ton automatisation qui éteint.
Soit le trigger n’est pas bon, soit il manque des conditions supplémentaires (un booléen allumage auto par exemple).

Vu ton post précédent: Demande conseil gestion lumière Node Red je pense qu’il faut que tu réfléchisse un peu comment fonctionne une automatisation.

Personellement NR je ne connais pas donc je ne peux pas vraiment aider, mais la base reste la même, on trigge, on contrôle et on agit…

Ton automatisation NR actuelle est extrèmement simple:

  • si mvt et si bonne plage horaire => spot ON
  • si pas de mvt => spot OFF

Il n’y a aucun test ni d’horaire, ni d’autres condition. C’est ça qu’il faut modifier…

Avec le fonctionnement que je te propose là:

  • Si tu allumes ta lumière manuellement (dashboard, ou interrupteur) sans qu’elle ait été allumée par l’automatisme, l’automatisme ne l’eteindra pas.
  • Si l’automatisme te détecte avant que tu appuies sur le bouton, la lumière s’éteindra lorsqu’il n’y a plus de mouvement
  • Si tu veux désactiver l’automatisme alors qu’il est en marche (tu arrives dans ton couloir, les lumières s’allument, mais tu veut être sur qu’elles ne s’éteignent pas), il faut ajouter une automatisation en plus, qui détecterait que tu as éteint/allumé manuellement. La seule solution dans ton cas serait d’ajouter un trigger sur le passage de la lampe à off qui passerait le booléen allumage_auto à off.
    ainsi dans ce cas tu pourrais éteindre et rallumer pour désactiver l’automatisme.

Personnellement avec un timer je n’ai jamais eu besoin de ce genre de truc… Voir ma première réponse et les automatisations dans ma description (pas en NR, mais qui marchent bien).

Personnellement, pour allumer une lumière avec de la détection de mouvement et/ou allumage physique via un interrupteur connecté, je ne passerais pas par NodeRed. Je me prendrais la tête avec cet Add-on pour des scénarios plus complexes que ça…

1 « J'aime »

Non dernier point que je n’ai pas mentionné c’est un télérupteur.
@BBE : Oui il est possible que je ne connaisse pas le fonctionnement d’une automatisation

C’est pourquoi je suis le forum

Mais le problème est bien (je pense physique, module, câblage) étant donné que le module (image ci-dessous) avec une entrée télérupteur (le bon terme), allume ma sortie Entrée que ce soit en « automatisation » ou en appui sur le PC, smartphone.

alors qu’en Zwave je pourrai utiliser le commande Tx, RX pour voir une action sur le bouton poussoir

Alors écoute ce que te dis le forum…
Arrête de regarder ce que tu ne peux pas faire et regarde ce que tu peux faire…

  • Puisque tu ne sais pas dire qu’est ce qui a allumé ton télérupteur (appui physique, appui dashboard, automatisation). Je suis dans le même cas sur mes micromodules (qui sont de fait des télérupteurs intelligents…).

  • Puisque tu as une automatisation qui allume et éteint de façon autonome tes télérupteurs.

Qu’est-ce qui t’empeche de modifier cette automatisation pour que:

  • lorsqu’elle allume elle mémorise dans un booléen que cet allumage était automatique
  • lorsqu’elle éteint elle vérifie AVANT d’éteindre que c’est bien elle qui avait allumé.

Alors oui, tu ne sais pas détecter un appui manuel ou dashboard (en tout cas moi je n’y suis pas arrivé chez moi).
MAIS tu sais détecter un allumage automatique car rien ne t’empêche, en même temps que tu allumes ta lampe via l’automatisation, de réaliser d’autres actions…

Essaie donc:

  • de créer un input_boolen que tu peux appeller par exemple « allumage_auto_entrée »
  • de modifier la partie allumage de ton automatisation pour qu’elle allume ta lumière ET mette ce booléen à 1, on, true, vrai…
  • de modifier la partie extinction de ton automatisation pour tester que ce booléen est bien à vrai avant d’éteindre ET de mettre ce booléen à 0, off, false, faux…

Ensuite seulement tu pourras regarder si tu as souvent des soucis d’extinction intempestive et s’il faut rafiner un peu plus…

c’est globalement ce que je t’ai proposé là: Bouton ou détecteur pour allumer - #6 par BBE

Donc, ton télérupteur et ton interrupteur (BP) ne sont pas connectés (zigbee) ?
Sinon, tu mets un détecteur de présence à ondes millimétriques et tu ne seras plus embêté, ou mieux, tu vires le détecteur de mouvement et tu appuies sur l’interrupteur quand tu veux de la lumière :grin:

2 « J'aime »