J'ai mis un contact de porte dans ma cabane de jardin, celui-ci est relié à Domoticz.
Je souhaite transmettre les actions d'ouverture et de fermeture de porte à un système d'alarme.
Ca ne fonctionne pas, j'ai cru que c'était un problème https. Mais non.
Ensuite j'ai soupçonné Domoticz lui-même. Encore faux.
La cause c'est Tasmota qui envoie des commandes MQTT de notification de changement d'état :
(ouverture de porte)
Code : Tout sélectionner
domoticz/in = {"idx":203,"nvalue":1,"svalue":"","Battery":100,"RSSI":7}Code : Tout sélectionner
domoticz/in = {"idx":203,"nvalue":0,"svalue":"","Battery":100,"RSSI":7}Et donc tout est normal. Je vais devoir mettre un script dans le bidule Tasmota pour qu'il envoie une commande et non un changement d'état.
La résolution se fait au niveau de Tasmota directement:
Code : Tout sélectionner
SwitchMode1 1
SwitchTopic1 0
Rule1 on Switch1#state=1 do Publish domoticz/in {"command": "switchlight", "idx": 203, "switchcmd": "On" } endon on Switch1#state=0 do Publish domoticz/in {"command": "switchlight", "idx": 203, "switchcmd": "Off" } endon
Rule1 1Tout ce qui est en italique ci-dessous c'est pour mémoire la fausse piste du certificat (message original).
Celui-ci communique par HTTPS exclusivement, et ce système d'alarme présente un certificat auto-signé.
Au préalable, j'ai testé les actions HTTPS au moyen de wget.
wget râle à propos du certificat, sauf si je mets l'option --no-check-certificate , et dans ce cas l'action est exécutée.
Quand l'action doit être exécutée par Domoticz comme suit: rien ne se passe et il n'y a rien d'utile dans le log. Je présume que c'est à cause du certificat.
Comment procéderiez-vous ? Appel d'un shell script qui fait un curl ou wget ? C'est moche quand même, non ?