[RESOLU] Inverser les comandes envoyées par un interrupteur Domoticz

Forum dédié aux bricolages d'objets connectés IOT et leurs communications avec DomoticZ :
- Remplacement de firmware des prises, modules relais ...
- Fabrication à base d'ESP8266, de NodeMCU, de Weemos et consorts ...
finopat
Messages : 20
Inscription : 06 mai 2019, 20:31

[RESOLU] Inverser les comandes envoyées par un interrupteur Domoticz

Message par finopat »

Bonjour à tous.
Je commence ma domotisation et je suis donc en pleine découverte de Domoticz.
J'ai un besoin simple : commander les radiateurs électriques à l'aide de Domoticz et mon choix s'est donc porté sur l'utilisation des sonoff basic.
Mes premiers essais sont concluant (flash espeasy pas si easy que cela ayant reçu des Sonoff Basic RF R2 V1.0 mais grâce au forum j'ai trouvé).
Maintenant mon souci est l'intégration à Domoticz : j'ai créé un interrupteur et j'ai bien le retour d'état .
Par contre du coup j'ai un interrupteur qui indique l'état ON quand le radiateur est éteint (j'utilise le fil pilote).
J'ai donc essayé d'inverser les actions de l'interrupteur :
http://192.168.0.102/control?cmd=gpio,12,0 sur Action On et http://192.168.0.102/control?cmd=gpio,12,1 sur Action Off.

Mais cela ne fonctionne pas, quand je clique sur l'interrupteur le relais "clignote" : il passe en continue de 1 à 0 puis 1 ...
Dès que je remets http://192.168.0.102/control?cmd=gpio,12,1 dans Action On j'ai le retour à la normale.
C'est un peu comme si Domoticz envoyait deux ordres : le 0 configuré et un 1 "implicite".
Peut être est ce du au retour d'état envoyé par le sonoff ?
Quels sont les solutions de contournement que vous me conseillez ?

Dans les logs du device je reçoit bien des ordres http :

Code : Tout sélectionner

226974310: HTTP: gpio,12,1
226974314: SW   : GPIO 12 Set to 1
226988575: HTTP: gpio,12,0
226988579: SW   : GPIO 12 Set to 0
226988627: SW  : GPIO=12 State=0 Output value=0
226988635: EVENT: Relais#Etat=0.00
226988967: HTTP: gpio,12,1
226988971: SW   : GPIO 12 Set to 1
226989027: SW  : GPIO=12 State=1 Output value=1
226989031: EVENT: Relais#Etat=1.00
226989369: HTTP: gpio,12,0
226989373: SW   : GPIO 12 Set to 0
226989427: SW  : GPIO=12 State=0 Output value=0
226989430: EVENT: Relais#Etat=0.00
226989763: HTTP: gpio,12,1
226989768: SW   : GPIO 12 Set to 1
226989827: SW  : GPIO=12 State=1 Output value=1
226989830: EVENT: Relais#Etat=1.00
226990168: HTTP: gpio,12,0
226990172: SW   : GPIO 12 Set to 0
226990227: SW  : GPIO=12 State=0 Output value=0
226990230: EVENT: Relais#Etat=0.00
Dernière modification par finopat le 19 mai 2019, 16:30, modifié 3 fois.
finopat
Messages : 20
Inscription : 06 mai 2019, 20:31

Re: Inverser les comandes envoyées par un iinterrupteur Domoticz

Message par finopat »

J'ai ajouté un interrupteur avec un script qui inverse les commandes sur celui qui commande le relais
Image

Je pense sinon qu'on peut aussi passer par un script qui serait lancé quand on clique sur on/off de l'interrupteur non ?
finopat
Messages : 20
Inscription : 06 mai 2019, 20:31

Re: Inverser les comandes envoyées par un iinterrupteur Domoticz

Message par finopat »

J'ai fait le script en bash, je validerais le bon fonctionnement ce soir :

Code : Tout sélectionner

#!/bin/bash
#allume ou eteint le relais
#parametres : adresse IP suivie de on ou off
#/onOff.sh 192.168.0.102 on



if [ "$2" = on ];
	then curl "http://$1/control?cmd=gpio,12,1";
elif [ "$2" = off ];
	then curl "http://$1/control?cmd=gpio,12,0";
fi
finopat
Messages : 20
Inscription : 06 mai 2019, 20:31

Re: Inverser les comandes envoyées par un iinterrupteur Domoticz

Message par finopat »

C'est donc bien un bug de domoticz : même avec le script, si je mets Action On avec le script script:///home/pat/scriptsDomoticz/onOff.sh 192.168.0.102 off
ça me transforme le relais en clignotant ..
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Inverser les comandes envoyées par un iinterrupteur Domoticz

Message par vil1driver »

Salut,

Ce n'est pas un bug.

Si ton sonoff retourne son état et que tu as fait en sorte que domoticz y réagisse par envoi d'un ordre opposé, c'est normal non ?

Oui je pense qu'il faut voir côté sonoff pour qu'il retourne l'état que tu souhaites (Off si relai à 1) tout en conservant ton script, cela ne devrait plus faire sapin de Noël
Mais malgré tout probablement lancer des ordres en boucle.

Il existe une façon de changer l'état d'un switch sans que ce dernier ne déclanche d'action, en json, voir updatedevice.
Je pense que c'est la meilleure façon que ton sonoff aurait de remonter son état
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
finopat
Messages : 20
Inscription : 06 mai 2019, 20:31

Re: Inverser les comandes envoyées par un iinterrupteur Domoticz

Message par finopat »

Merci pour la réponse,
en fait l'état sapin de Noel a lieu avec seulement un switch et pas de script.
J'ai fait un essai en desactivant le retour d'info sur le sonoff et cela fonctionne, donc deux choix
  • vouloir l'info de l'état du relais qq part dans domoticz, donc passer par le script qui inverse un switch par rapport à un autre => l'état est connu avec le switch "commande"
  • je m'abstient d'avoir l'info qq part
Qu'est ce que vous me conseillez vous les anciens avec le recul ?
Dernière modification par finopat le 10 mai 2019, 13:22, modifié 2 fois.
finopat
Messages : 20
Inscription : 06 mai 2019, 20:31

Re: Inverser les comandes envoyées par un iinterrupteur Domoticz

Message par finopat »

Il existe une façon de changer l'état d'un switch sans que ce dernier ne déclanche d'action, en json, voir updatedevice.
Je pense que c'est la meilleure façon que ton sonoff aurait de remonter son état
Je vais fouiller dans cette direction
merci pour la piste
finopat
Messages : 20
Inscription : 06 mai 2019, 20:31

Re: Inverser les comandes envoyées par un iinterrupteur Domoticz

Message par finopat »

Mon problème ressemble à cela :
https://github.com/domoticz/domoticz/issues/1227
mais je n'ai pas compris comment psolyca avait résolu son souci.
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Inverser les comandes envoyées par un iinterrupteur Domoticz

Message par vil1driver »

Pas vraiment non, il parlait de la commande que je te conseillerais et qui au fil d'erreurs de développement avait vu son fonctionnement transformé.

Mais cela à été rectifié depuis..
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
adv
Messages : 580
Inscription : 02 févr. 2016, 13:54
Contact :

Re: Inverser les comandes envoyées par un iinterrupteur Domoticz

Message par adv »

finopat a écrit : 10 mai 2019, 13:20
Il existe une façon de changer l'état d'un switch sans que ce dernier ne déclanche d'action, en json, voir updatedevice.
Je pense que c'est la meilleure façon que ton sonoff aurait de remonter son état
Je vais fouiller dans cette direction
merci pour la piste
Est ce que cela peut t'aider ?!
viewtopic.php?f=17&t=8390
Raspberry pi 3 - Domoticz 2024.4 | Piface v.2 + Téléinfo + RFXtrx433E
sondes Oregon | motorisations Somfy Yslo Flex 2 RTS
prises chacon, wifi | Sonoff easyESP, Tasmota, Espurna | ParadoxMG5050
Répondre