Domoticz et mqtt

Forum dédié au protocole MQTT : fonctionnement, intégration ...
Pour les questions concernant le plugin de FlyingDomotic, merci d'utiliser le sous-forum dédié.
leptro
Messages : 5
Inscription : 28 mai 2019, 15:52

Domoticz et mqtt

Message par leptro »

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.
Jeff
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: Domoticz et mqtt

Message par Jeff »

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
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
leptro
Messages : 5
Inscription : 28 mai 2019, 15:52

Re: Domoticz et mqtt

Message par leptro »

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.
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Domoticz et mqtt

Message par papoo »

bonjour,
n’hésites pas à nous décrire la marche à suivre pour tes différents devices ça pourrait servir à d'autres
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
Jeff
Messages : 1007
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: Domoticz et mqtt

Message par Jeff »

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.
Cela semble normal puisqu'il faut 3 valeurs pour svalue et nvalue=0.

Code : Tout sélectionner

/json.htm?type=command&param=udevice&idx=IDX&nvalue=0&svalue=TEMP;HUM;HUM_STAT[code]
nvalue=0
svalue=56,9;30;1
Version: 2023.1 sur VM Synology, docker Zwave Js UI (Z-stick GEN5, Fibaro...), Zigbeefordomoticz. Nextion RGB Led Screen
leptro
Messages : 5
Inscription : 28 mai 2019, 15:52

Re: Domoticz et mqtt

Message par leptro »

Bonsoir,
Jeff .. il me semble que le dispositif Humidité doit recevoir deux paramètres :

Code : Tout sélectionner

/json.htm?type=command&param=udevice&idx=IDX&nvalue=HUM&svalue=HUM_STAT
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é".
papoo
Messages : 2029
Inscription : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Domoticz et mqtt

Message par papoo »

je parlais plutôt de vulgarisation mqtt, ou comment transmettre des données à domoticz via mqtt
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github
leptro
Messages : 5
Inscription : 28 mai 2019, 15:52

Re: Domoticz et mqtt

Message par leptro »

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:

Code : Tout sélectionner

#include <ESP8266WiFi.h>
#include <PubSubClient.h>
ensuite: les variables

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 DOMOTICZ

puis:

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");
et dans le loop : je lis la valeur des capteur et la publie vers le serveur MQTT, ici Mosquitto

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);
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
Répondre