Données MQTT domoticz (résolu)

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 ...
pataqua
Messages : 39
Inscription : 01 juin 2017, 14:52

Données MQTT domoticz (résolu)

Message par pataqua »

Bonjour,

j'essaye de comprendre le fonctionnement du protocole MQTT, entre un wemos D1 et Domoticz.
Si je n'ai pas de problème pour envoyer un résultat de mesure vers domoticz, je n'arrive pas à lire les infos provenant de domoticz/out.

Code : Tout sélectionner

// D'après http://m2mio.tumblr.com/post/30048662088/a-simple-example-arduino-mqtt-m2mio
void callback(char* topic, byte* payload, unsigned int length) {
   DynamicJsonDocument jsonBuffer( MQTT_MAX_PACKET_SIZE );
   String messageReceived="";
   
   // Affiche le topic entrant - display incoming Topic
   Serial.print("\nEntering MQTT Callback. Message arrived regarding topic [");
   Serial.print(topic);
   Serial.println("]");

   // decode payload message
   for (int i = 0; i < length; i++) {
   messageReceived+=((char)payload[i]); 
   }
   // display incoming message
   Serial.println(messageReceived);
     
si je publie un message avec mosquitto_pub sur domoticz/out, je le reçois bien dans mon eESP, si j'abonne mosquitto_sub à domoticz/out, je vois également les infos dans le terminal, mais jamais dans mon programme.
Avez vous une idée?
Dernière modification par pataqua le 11 juin 2019, 18:56, modifié 1 fois.
Antori91

Re: Données MQTT domoticz

Message par Antori91 »

Bonjour,

Si vous utilisez la librairie pubsub, un problème peut-être similaire et sa solution ici (valeur de MQTT_MAX_PACKET_SIZE )>>> http://domoticz.com/forum/viewtopic.php?f=38&t=21608
pataqua
Messages : 39
Inscription : 01 juin 2017, 14:52

Re: Données MQTT domoticz

Message par pataqua »

Merci beaucoup,
La solution était bien la, La longueur des messages de Domoticz est supérieure à 128.
Il a donc suffit de modifier dans le fichier PubSubClient.h la ligne:
#define MQTT_MAX_PACKET_SIZE 128
en #define MQTT_MAX_PACKET_SIZE 1024

et tout rentre dans l'ordre.
Répondre