Utilisation de MQTT

Bonjour,

J’aurais voulu des petites explications quand à la partie MQTT.

J’ai un dongle Téléinfo sur un BPI.
Pour publier la trame sur mon Broker j’utilise ce qui est fait ici : PiTInfo : Téléinfo, Emoncms avec Node Red sur Raspberry PI, moins de 30 min, moins de 10€ – Charles's Blog
A savoir un Flux Node-RED.

Il me sort :

{"ADCO":"841875248517","OPTARIF":"BASE","ISOUSC":"45","BASE":"086526784","PTEC":"TH..","IINST":"032","IMAX":"090","PAPP":"07520","HHPHC":"A","MOTDETAT":"000000"}

Et dans les logs teleinfo_deamon_Mqtt j’ai ceci :

[2024-01-23 16:48:51][DEBUG] : MQTT------Topic : teleinfo/841875248517
[2024-01-23 16:48:51][DEBUG] : MQTT------Data  : {"ADCO":"841875248517","OPTARIF":"BASE","ISOUSC":"45","BASE":"086526784","PTEC":"TH..","IINST":"032","IMAX":"090","PAPP":"07520","HHPHC":"A","MOTDETAT":"000000"}

Faut-il formater autrement ?
Passer par un équipement dans jMQTT ?
Ou le plugin téléinfo est-il capable de lire le Topic tout seul ?

Par avance, merci
Alexis

Bonsoir,
Si tu passes par Jmqtt, il a ce qu’il faut pour traiter le json et créer les commandes automatiquement.
Il suffit de cliquer sur le bouton json une fois reçu le json en étant inscrit au bon topic principal bien sur.

1 « J'aime »

Oui j’ai fait un équipement avec jMQTT.
En effet le bouton JSON simplifie la création des commandes séparées.

Mais ensuite ? :rofl:

Il faut dire quelque chose en particulier à teleinfo pour qu’il lise cette équipement jMQTT ?

Pour expliquer ma démarche. Ma VM Jeedom et mon Linky sont éloigné (comme beaucoup). Actuellement mon dongle est sur un BananaPI dans mon garage. Ce nano-ordi partage ses ports USB pour ma VM avec USB-Redirector. Ça fonctionne bien. Mais plutôt que de partager le port série, je eme suis dit « et pourquoi ne pas nourrir le broker MQTT présent sur ma VM et demander à tetelinfo de le lire le Topic » :grin:

Par avance, merci
Alexis

Précision quand même :

MQTT------Topic : teleinfo
MQTT------Data  : {"ADCO":"841875248517","OPTARIF":"BASE","ISOUSC":"45","BASE":"086544119","PTEC":"TH..","IINST":"013","IMAX":"090","PAPP":"03060","HHPHC":"A","MOTDETAT":"000000"}
MQTT------Connection error

Ce connection error pop dès qu’une ligne intéressante pour lui arrive.

Pas sur d’avoir compris, mais as tu configurer teleinfo pour le mqtt ?
Dans configuration en bas tu dois renseigner le broker et le topic sur lequel tu publies tes données


Là si tu cliques sur Configuration de la partie MQTT tu auras un nouveau menu.


Yep :wink:

Du coup c’est bon, ça marche ?


Malheureusement non :smiling_face_with_tear:

tu as bien coché ici aussi ?

Bloquer la création… ?

activer le mqtt

Oui c’est actif :wink:
Le plugin est assez bien pensé pour ça, si ça n’est pas coché les champs de config sont masqués.

comme moi c’est déjà configuré depuis longtemps, je ne me rappel plus :slight_smile:
Essaie de mettre l’ip de ton mosquito et le port 1883 dans la config, moi je l’ai renseigné.
Mais je ne sais pas plus te dire.

J’ai essayé avec IP et port, j’obtiens la même erreur dans le log de teleinfo_mqtt.

En revanche mon équipement dans jMQTT reçoit bien les données.

Tu dois avoir qq chose de mal configuré, mais là je ne vois pas. Vérifie tranquillement

De mémoire il me semble qu’il faut inclure tes infos mqtt dans un topic « TIC: »

{"TIC":{"ADCO":"testMQTT HCHP","...

Je n’ai plus l’échec de connexion en formatant autrement le payload du topic

MQTT------Topic : teleinfo/TIC
MQTT------Data  : {"TIC":{"ADCO":"841875248517","OPTARIF":"1","ISOUSC":"45","BASE":"086566473","PTEC":"1","IINST1":"013","IMAX1":"090","PAPP":"03100","HHPHC":"65","MOTDETAT":"000000"}
MQTT------message autre

Mais visiblement les données ne semblent toujours pas interprétées :sweat:

Est-ce bien ainsi que doit apparaitre mon topic ?

Par avance, merci à vous deux :wink:

Trouvé !!!

C’était bien le formatage :grin:
Il manquait un… deux… lutin de }} à la fin de mon payload

Voilà affaire résolu (à la suivante) :rofl:

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.