[Resolu] Evènement en fonction de l'origine d'un changement d'état
Publié : 08 oct. 2020, 09:04
Hello
Débutant dans Domoticz, je but sur un problème (insoluble pour moi)
Besoin :
J'ai 2 switchs Sonoff T1 qui doivent commander un même éclairage (remplacement de va-et-vient). Les switchs seront appelés S1 et S2, et la lampe ... bah ..... Lampe
S1 est relié à l'éclairage, et S2 non (interrupteur déporté).
Je souhait que les deux switchs changent d'état en même temps :
- si j'appuie sur S1 , S2 est en mode ON et Lampe s'allume
- si j'appuie sur S1 , S2 est en mode OFF et Lampe s'éteint
- si j'appuie sur S2, S1 passe en mode ON et Lampe s'allume
- si j'appuie sur S2, S1 passe en mode OFF et Lampe s'éteint
- si j'allume Lampe via l'interface, S1 et S2 passent en ON
- si j'éteins Lampe via l'interface, S1 et S2 passent en OFF
Problématique
Vous l'aurez compris, mon problème est d'ordre Maitre/Esclave. Si je défini S1 en Maitre, les changements manuels d'état de S2 ne l'affecte pas, et inversement.
Solution :
Le seul moyen que j'ai trouvé pour remédier à cela est de définir l'origine du changement d'état :
- Changement manuel, sur le switch
- Changement automatique via Domoticz
Le device subissant un changement manuel est défini comme maitre et l'enclave copie son état.
De plus, les 2 switches seraient réunis dans un même groupe Lampe, pour qu'ils puissent changer d'état via un évènement Domoticz. sa donnerait en pseudo code
Ma question est donc, comment transformer ce pseudo code en VRAI ?
Or , le système de groupes ou Blocky ne semblent pas répondre a ce besoin. Il ne me reste donc a priori que les scripts pour avoir des instructions d'assez bas niveau
J'avais pensé à trouvé l'utilisateur à l'origine du changement d'état , qui s'affiche dans les logs, ou encore le topic de la commande MQTT (In = manuel, ou Out = Domoticz), mais je ne sais pas comment l'utiliser dans un script
Merci
Débutant dans Domoticz, je but sur un problème (insoluble pour moi)
Besoin :
J'ai 2 switchs Sonoff T1 qui doivent commander un même éclairage (remplacement de va-et-vient). Les switchs seront appelés S1 et S2, et la lampe ... bah ..... Lampe
S1 est relié à l'éclairage, et S2 non (interrupteur déporté).
Je souhait que les deux switchs changent d'état en même temps :
- si j'appuie sur S1 , S2 est en mode ON et Lampe s'allume
- si j'appuie sur S1 , S2 est en mode OFF et Lampe s'éteint
- si j'appuie sur S2, S1 passe en mode ON et Lampe s'allume
- si j'appuie sur S2, S1 passe en mode OFF et Lampe s'éteint
- si j'allume Lampe via l'interface, S1 et S2 passent en ON
- si j'éteins Lampe via l'interface, S1 et S2 passent en OFF
Problématique
Vous l'aurez compris, mon problème est d'ordre Maitre/Esclave. Si je défini S1 en Maitre, les changements manuels d'état de S2 ne l'affecte pas, et inversement.
Solution :
Le seul moyen que j'ai trouvé pour remédier à cela est de définir l'origine du changement d'état :
- Changement manuel, sur le switch
- Changement automatique via Domoticz
Le device subissant un changement manuel est défini comme maitre et l'enclave copie son état.
De plus, les 2 switches seraient réunis dans un même groupe Lampe, pour qu'ils puissent changer d'état via un évènement Domoticz. sa donnerait en pseudo code
Code : Tout sélectionner
SI ( S1.origineChangement == Manuel )
ALORS S2.valeur = S1.valeur
Lampe = S1.valeur
SI ( S2.origineChangement == Manuel )
ALORS S1.valeur = S2.valeur
Lampe = S2.valeurOr , le système de groupes ou Blocky ne semblent pas répondre a ce besoin. Il ne me reste donc a priori que les scripts pour avoir des instructions d'assez bas niveau
J'avais pensé à trouvé l'utilisateur à l'origine du changement d'état , qui s'affiche dans les logs, ou encore le topic de la commande MQTT (In = manuel, ou Out = Domoticz), mais je ne sais pas comment l'utiliser dans un script
Merci