Domoticz et mqtt
Domoticz et mqtt
Bonjour à tous,
Je viens de basculer ma configuration openhab vers domoticz..
Donc tout nouveau sur domoticz.
J'ai des modules maisons que je suis en train de modifier pour communique en Mqtt avec domoticz.
Existe t'il un référentiel des champs à renseigner de chaque type de dispositif svp?
Par exemple pour la température j'envoi le message mqtt suivant :[domoticz/in] {"idx":1,"nvalue":0,"svalue":"24.9"}
ici l'idx = 1 et la température 24.9°c.
La température s'affiche bien ainsi que les logs.
Merci pour votre aide.
Je viens de basculer ma configuration openhab vers domoticz..
Donc tout nouveau sur domoticz.
J'ai des modules maisons que je suis en train de modifier pour communique en Mqtt avec domoticz.
Existe t'il un référentiel des champs à renseigner de chaque type de dispositif svp?
Par exemple pour la température j'envoi le message mqtt suivant :[domoticz/in] {"idx":1,"nvalue":0,"svalue":"24.9"}
ici l'idx = 1 et la température 24.9°c.
La température s'affiche bien ainsi que les logs.
Merci pour votre aide.
Re: Domoticz et mqtt
Tu vas trouvé cela à partir du wiki domoticz et de l'api json qui décrit ce qu'attend domoticz sur les nvalue, svalues...
https://www.domoticz.com/wiki/MQTT
https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's
https://www.domoticz.com/wiki/MQTT
https://www.domoticz.com/wiki/Domoticz_API/JSON_URL's
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
Re: Domoticz et mqtt
Bonjour,
Merci beaucoup.
J'avais déjà vu le WIKi mqtt mais j'ai raté la partie json.
J'ai déjà essayé différent dispositifs avec succès. il n'y a que l'humidité qui me résiste.
J'envoie la trame suivante : [domoticz/in] {"idx":4,"nvalue":"56.9","svalue":"1"} mais rien ne se passe à l'affichage.
je continue à creuser.
Merci beaucoup.
J'avais déjà vu le WIKi mqtt mais j'ai raté la partie json.
J'ai déjà essayé différent dispositifs avec succès. il n'y a que l'humidité qui me résiste.
J'envoie la trame suivante : [domoticz/in] {"idx":4,"nvalue":"56.9","svalue":"1"} mais rien ne se passe à l'affichage.
je continue à creuser.
Re: Domoticz et mqtt
bonjour,
n’hésites pas à nous décrire la marche à suivre pour tes différents devices ça pourrait servir à d'autres
n’hésites pas à nous décrire la marche à suivre pour tes différents devices ça pourrait servir à d'autres
Re: Domoticz et mqtt
Cela semble normal puisqu'il faut 3 valeurs pour svalue et nvalue=0.leptro a écrit : 29 mai 2019, 11:20 Bonjour,
Merci beaucoup.
J'avais déjà vu le WIKi mqtt mais j'ai raté la partie json.
J'ai déjà essayé différent dispositifs avec succès. il n'y a que l'humidité qui me résiste.
J'envoie la trame suivante : [domoticz/in] {"idx":4,"nvalue":"56.9","svalue":"1"} mais rien ne se passe à l'affichage.
je continue à creuser.
Code : Tout sélectionner
/json.htm?type=command¶m=udevice&idx=IDX&nvalue=0&svalue=TEMP;HUM;HUM_STAT[code]svalue=56,9;30;1
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
Re: Domoticz et mqtt
Bonsoir,
Jeff .. il me semble que le dispositif Humidité doit recevoir deux paramètres :
nvalue= taux d'humidité et hum_stat pour le status soit : 0 pour normal, 1 pour confortable etc.
Pour Papoo:
Sous réglage, j'ajoute un nouveau matériel de type dummy , auquel je donne un nom et je désactive le délai d'inactivité.
Je clic ensuite sur "créér un capteur virtuel" se trouvant sous le matériel créer à l'étape précédente.
Je lui donne alors un nom et sélectionne le type de capteur : ici "Humidité".
Jeff .. il me semble que le dispositif Humidité doit recevoir deux paramètres :
Code : Tout sélectionner
/json.htm?type=command¶m=udevice&idx=IDX&nvalue=HUM&svalue=HUM_STATPour Papoo:
Sous réglage, j'ajoute un nouveau matériel de type dummy , auquel je donne un nom et je désactive le délai d'inactivité.
Je clic ensuite sur "créér un capteur virtuel" se trouvant sous le matériel créer à l'étape précédente.
Je lui donne alors un nom et sélectionne le type de capteur : ici "Humidité".
Re: Domoticz et mqtt
je parlais plutôt de vulgarisation mqtt, ou comment transmettre des données à domoticz via mqtt
Re: Domoticz et mqtt
J'utilise la plateforme Arduino associé à l'ESP8266 pour le moment.. Dans un futur proche (j'espère), utiliser une Gateway à base de rfm69 en 868Mhz.
Je connais easyesp, mais j'ai plus de liberté sous Arduino.
Donc avec l'esp8266,
J'utilise les librairies suivantes:
ensuite: les variables
puis:
je déclare le client wifi:
Dans setup:
et dans le loop : je lis la valeur des capteur et la publie vers le serveur MQTT, ici Mosquitto
A noté ici que msg a une taille fixe // foctionnais super bien avec openhab , j'ajusterais si nécessaire pour Domoticz (sizeof?).
Dès que tous sera fonctionnel, je publierais le code complet.
Bonne bidouille
Je connais easyesp, mais j'ai plus de liberté sous Arduino.
Donc avec l'esp8266,
J'utilise les librairies suivantes:
Code : Tout sélectionner
#include <ESP8266WiFi.h>
#include <PubSubClient.h>Code : Tout sélectionner
float temperature, Min = 100, Max = 0, ActualTemp = 0;
long lastMsg = 0;
char msg[50];
String stringmsg;
const char* ssid = "SSID POINT RESEAU WIFI" ;
const char* password = "Le mot de passe";
const char* mqtt_server = "192.168.1.35";// adresse IP fixe du serveur DOMOTICZpuis:
je déclare le client wifi:
Code : Tout sélectionner
WiFiClient espClient1;
PubSubClient client(espClient1);Dans setup:
Code : Tout sélectionner
setup_wifi();
client.setServer(mqtt_server, 1883);
client.setCallback(callback);
client.subscribe("domoticz/in");Code : Tout sélectionner
dtostrf(temperature, 4, 1, tChar);// converti le float en chaine de carractères
//stringmsg="{\"idx\":1,\"nvalue\":0,\"svalue\":\"23.0\"}"; ok çà communique avec domoticz : ici un exemple de trame fonctionnelle
// ici une suite de concatenation de string pour formater la trame à transmettre
stringmsg="{\"idx\":1,\"nvalue\":0,\"svalue\":\""; // ici idx est fixé à 1 et nvalue à 0;
stringmsg+=tChar; // concatenation avec la temperature converti en chaine de carractère
stringmsg+="\"}";//concatenation
stringmsg.toCharArray(msg,50);
client.publish("domoticz/in",msg);Dès que tous sera fonctionnel, je publierais le code complet.
Bonne bidouille