[Tuto] Mode d'emploi pour envoi de données de téléinfo à un jeedom distant via MQTT

Sur le jeedom où est installé le système de récupération des données de votre compteur via la téléinformation avec un modem type cartelectronique (si vous avez un système qui envoie directement en MQTT ce mode d’emploi ne vous concerne pas => précision suite à discussion avec @rennais35000):

Dans le plugin JMQTT créer un équipement qui contiendra une commande action:

Dans la partie « valeur » de la commande mettre à minima:

{"TIC":{"ADSC":"testMQTT","EAST":"#[Energie][Compteur][EAST]#","EAIT":"#[Energie][Compteur][EAIT]#","EASF01":"#[Energie][Compteur][EASF01]#","EASF02":"#[Energie][Compteur][EASF02]#","EASF03":"#[Energie][Compteur][EASF03]#","EASF04":"#[Energie][Compteur][EASF04]#","EASF05":"#[Energie][Compteur][EASF05]#","EASF06":"#[Energie][Compteur][EASF06]#","EASF07":"#[Energie][Compteur][EASF07]#","EASF08":"#[Energie][Compteur][EASF08]#","EASF09":"#[Energie][Compteur][EASF09]#","EASF10":"#[Energie][Compteur][EASF10]#"}}

Explications succintes:

  • « TIC » : vous pouvez ici mettre le texte que vous souhaitez, il n’y a pas de contrainte
  • « ADSC »: correspond normalement à l’adresse de votre compteur mais là vous pouvez y mettre ce que vous voulez, cette valeur apparaitra dans le numéro du compteur du jeedom distant
  • « EAST », « EASF01 », « EASF02 », … : là il est impératif de mettre les bonnes étiquettes de données, dans l’exemple mon compteur est en mode standard, il faut adapter cela avec le mode et l’abonnement que vous avez chez vous. Pas la peine par exemple d’envoyer les EAFS01, 02, … si votre abonnement est de base, seul EAST suffit. Si vous avez un compteur en mode historique vous mettrez ici « BASE », « HCHC », « HCHP », … qui correspondent à votre abonnement
  • « #[Energie][Compteur][EAST]# » : commandes où sont stockées les informations correspondants aux étiquettes ci dessus

Dans l’exemple je n’ai mis que les infos strictement nécessaires pour élaborer les statistiques d’un compteur en mode standard, vous pouvez bien entendu y ajouter les informations que vous voulez suivre en respectant la même mise en forme.

Si la mise à jour « en temps réel » ne vous intéresse pas, alors il faut décoicher « pub auto » et créer un scénario qui va déclencher cette action dont la programmation sera :

1ere ligne de programmation: toutes les 5 minutes (vous y mettez la valeur que vous voulez)
2ème ligne: à 23h59 tous les jours
3ème ligne à 00h00 tous les jours

Bien respecter la mise en forme, ne pas oublier de { ou de } ou de " ou …

Dans le plugin teleinfo (version minimum v4.8.0) du jeedom distant:
  • valider l’utilisation du MQTT dans les paramètres:

  • paramétrer la partie MQTT avec les données correspondant à l’adresse du jeedom où est situé votre broker MQTT (dans mon exemple le broker est sur la machine locale):

  • relancer le démon

Et si vous n’avez pas interdit la création de compteur dans la configuration de votre plugin, vous verrez apparaitre:

image

Qu’il faudra paramétrer en fonction de votre configuration

3 « J'aime »

Bonjour @Noyax37,

C’est exactement ce qu’il me faut. J’ai suivi ton tuto pas à pas et tout semble fonctionner excepté la dernière étape. En effet, le compteur ne se créé pas. Ça risque d’être un peu long avec les captures mais voilà ce que j’ai fait:
Sur la jeedom source ou est branché le modem






Sur la jeedom cible qui ou est installé le broker



J’ai beau chercher mon erreur, je ne la vois pas. Le problème pourrait-il venir du fait que j"ai utilisé le plugin MQTT Manager (mqtt2) plutôt que jMQTT ?

Voici également les logs DEBUG de la jeedom cible :

Teleinfo

[2023-09-06 06:09:51][INFO] : [deamon_start_MQTT] Démarrage du service
[2023-09-06 06:09:51][INFO] : ---------------------------------------------
[2023-09-06 06:09:51][INFO] : [MQTT] Démarrage service MQTT 
[2023-09-06 06:09:51][INFO] : SocketHost : 127.0.0.1
[2023-09-06 06:09:51][INFO] : Socketport : 
[2023-09-06 06:09:51][INFO] : Broker : 127.0.0.1
[2023-09-06 06:09:51][INFO] : Port du Broker : 1883
[2023-09-06 06:09:51][INFO] : topic : "#"
[2023-09-06 06:09:51][INFO] : ---------------------------------------------
[2023-09-06 06:09:51][INFO] : [découverte MQTT] Exécution du service : nice -n 19 /usr/bin/python3 /var/www/html/plugins/teleinfo/ressources/teleinfo_mqtt.py --socketport 55065 --mqtt True --mqtt_broker 127.0.0.1 --mqtt_port 1883 --apikey XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --mqtt_keepalive 45 --mqtt_username jeedom --mqtt_password XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --modem aucun --callback http://127.0.0.1:80/plugins/teleinfo/core/php/jeeTeleinfo.php --loglevel debug --mqtt_topic "#"
[2023-09-06 06:09:53][INFO] : [mqtt] Service OK
[2023-09-06 06:09:53][INFO] : [mqtt] Voir les logs MQTT dans le fichier correspondant
[2023-09-06 06:09:53][INFO] : ---------------------------------------------
[2023-09-06 06:09:53][DEBUG] : [TELEINFO_deamon_infoMqtt] test pid
[2023-09-06 06:09:53][DEBUG] : [TELEINFO_deamon_infoMqtt] démon Mqtt => ok
[2023-09-06 06:09:53][DEBUG] : [TELEINFO_deamon_modem] état : sans
[2023-09-06 06:09:53][DEBUG] : [TELEINFO_deamon_MQTT] état : ok
[2023-09-06 06:09:53][DEBUG] : [TELEINFO_deamon_prod] état : sans
[2023-09-06 06:09:53][DEBUG] : [TELEINFO_deamon] état global => retour: ok
[2023-09-06 06:09:58][DEBUG] : [TELEINFO_deamon_infoMqtt] test pid
[2023-09-06 06:09:58][DEBUG] : [TELEINFO_deamon_infoMqtt] démon Mqtt => ok
[2023-09-06 06:09:58][DEBUG] : [TELEINFO_deamon_modem] état : sans
[2023-09-06 06:09:58][DEBUG] : [TELEINFO_deamon_MQTT] état : ok
[2023-09-06 06:09:58][DEBUG] : [TELEINFO_deamon_prod] état : sans
[2023-09-06 06:09:58][DEBUG] : [TELEINFO_deamon] état global => retour: ok
[2023-09-06 06:09:58][DEBUG] : [TELEINFO_deamon_infoMqtt] test pid
[2023-09-06 06:09:58][DEBUG] : [TELEINFO_deamon_infoMqtt] démon Mqtt => ok
[2023-09-06 06:09:58][DEBUG] : [TELEINFO_deamon_modem] état : sans
[2023-09-06 06:09:58][DEBUG] : [TELEINFO_deamon_MQTT] état : ok
[2023-09-06 06:09:58][DEBUG] : [TELEINFO_deamon_prod] état : sans
[2023-09-06 06:09:58][DEBUG] : [TELEINFO_deamon] état global => retour: ok
[2023-09-06 06:10:02][DEBUG] : calculatepapp 
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon_infoMqtt] test pid
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon_infoMqtt] démon Mqtt => ok
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon_modem] état : sans
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon_MQTT] état : ok
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon_prod] état : sans
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon] état global => retour: ok
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon_infoMqtt] test pid
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon_infoMqtt] démon Mqtt => ok
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon_modem] état : sans
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon_MQTT] état : ok
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon_prod] état : sans
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon] état global => retour: ok
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon_infoMqtt] test pid
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon_infoMqtt] démon Mqtt => ok
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon_modem] état : sans
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon_MQTT] état : ok
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon_prod] état : sans
[2023-09-06 06:10:03][DEBUG] : [TELEINFO_deamon] état global => retour: ok
[2023-09-06 06:10:03][INFO] : ----- Calcul des statistiques temps réel -----
[2023-09-06 06:10:03][INFO] : Date de début : 2023-09-06 00:00:00
[2023-09-06 06:10:03][INFO] : Date de fin   : 2023-09-06 06:10:03
[2023-09-06 06:10:03][INFO] : Liste index HP            : EASF02,EASF04,EASF06,HCHP,BBRHPJB,BBRHPJW,BBRHPJR,EJPHPM
[2023-09-06 06:10:03][INFO] : Liste index HC            : EASF01,EASF03,EASF05,HCHC,BBRHCJB,BBRHCJW,BBRHCJR,EJPHN
[2023-09-06 06:10:03][INFO] : Liste index Production    : EAIT
[2023-09-06 06:10:03][INFO] : Liste index Conso Totale  : BASE,EAST,HCHP,HCHC,BBRHPJB,BBRHPJW,BBRHPJR,BBRHCJB,BBRHCJW,BBRHCJR,EJPHPM,EJPHN
[2023-09-06 06:10:03][INFO] : ----------------------------------------------
[2023-09-06 06:10:08][DEBUG] : [TELEINFO_deamon_infoMqtt] test pid
[2023-09-06 06:10:08][DEBUG] : [TELEINFO_deamon_infoMqtt] démon Mqtt => ok
[2023-09-06 06:10:08][DEBUG] : [TELEINFO_deamon_modem] état : sans
[2023-09-06 06:10:08][DEBUG] : [TELEINFO_deamon_MQTT] état : ok
[2023-09-06 06:10:08][DEBUG] : [TELEINFO_deamon_prod] état : sans
[2023-09-06 06:10:08][DEBUG] : [TELEINFO_deamon] état global => retour: ok

Teleinfo_deamon_Mqtt

[2023-09-06 06:39:23][DEBUG] : MQTT------Topic : jeedom/cmd/event/1354
[2023-09-06 06:39:23][DEBUG] : MQTT------Data  : {"value":"650","humanName":"[Appartement][Téléinfo (Electricité)][PAPP]","unite":"","name":"PAPP","type":"info","subtype":"numeric"}
[2023-09-06 06:39:26][DEBUG] : MQTT------Topic : jeedom/cmd/event/1351
[2023-09-06 06:39:26][DEBUG] : MQTT------Data  : {"value":"26108850","humanName":"[Appartement][Téléinfo (Electricité)][BASE]","unite":"","name":"BASE","type":"info","subtype":"numeric"}
[2023-09-06 06:39:33][DEBUG] : MQTT------Topic : jeedom/cmd/event/1351
[2023-09-06 06:39:33][DEBUG] : MQTT------Data  : {"value":"26108851","humanName":"[Appartement][Téléinfo (Electricité)][BASE]","unite":"","name":"BASE","type":"info","subtype":"numeric"}
[2023-09-06 06:39:33][DEBUG] : MQTT------Topic : jeedom/cmd/event/1354
[2023-09-06 06:39:33][DEBUG] : MQTT------Data  : {"value":"670","humanName":"[Appartement][Téléinfo (Electricité)][PAPP]","unite":"","name":"PAPP","type":"info","subtype":"numeric"}
[2023-09-06 06:39:36][DEBUG] : MQTT------Topic : jeedom/cmd/event/1354
[2023-09-06 06:39:36][DEBUG] : MQTT------Data  : {"value":"660","humanName":"[Appartement][Téléinfo (Electricité)][PAPP]","unite":"","name":"PAPP","type":"info","subtype":"numeric"}
[2023-09-06 06:39:39][DEBUG] : MQTT------Topic : jeedom/cmd/event/1351
[2023-09-06 06:39:39][DEBUG] : MQTT------Data  : {"value":"26108852","humanName":"[Appartement][Téléinfo (Electricité)][BASE]","unite":"","name":"BASE","type":"info","subtype":"numeric"}
[2023-09-06 06:39:46][DEBUG] : MQTT------Topic : jeedom/cmd/event/1351
[2023-09-06 06:39:46][DEBUG] : MQTT------Data  : {"value":"26108853","humanName":"[Appartement][Téléinfo (Electricité)][BASE]","unite":"","name":"BASE","type":"info","subtype":"numeric"}
[2023-09-06 06:39:46][DEBUG] : MQTT------Topic : jeedom/cmd/event/1354
[2023-09-06 06:39:46][DEBUG] : MQTT------Data  : {"value":"650","humanName":"[Appartement][Téléinfo (Electricité)][PAPP]","unite":"","name":"PAPP","type":"info","subtype":"numeric"}
[2023-09-06 06:39:52][DEBUG] : MQTT------Topic : jeedom/cmd/event/1351
[2023-09-06 06:39:52][DEBUG] : MQTT------Data  : {"value":"26108854","humanName":"[Appartement][Téléinfo (Electricité)][BASE]","unite":"","name":"BASE","type":"info","subtype":"numeric"}
[2023-09-06 06:39:52][DEBUG] : MQTT------Topic : jeedom/cmd/event/1354
[2023-09-06 06:39:52][DEBUG] : MQTT------Data  : {"value":"660","humanName":"[Appartement][Téléinfo (Electricité)][PAPP]","unite":"","name":"PAPP","type":"info","subtype":"numeric"}
[2023-09-06 06:39:56][DEBUG] : MQTT------Topic : jeedom/cmd/event/1354
[2023-09-06 06:39:56][DEBUG] : MQTT------Data  : {"value":"650","humanName":"[Appartement][Téléinfo (Electricité)][PAPP]","unite":"","name":"PAPP","type":"info","subtype":"numeric"}
[2023-09-06 06:39:58][DEBUG] : MQTT------Topic : jeedom/cmd/event/1351
[2023-09-06 06:39:58][DEBUG] : MQTT------Data  : {"value":"26108855","humanName":"[Appartement][Téléinfo (Electricité)][BASE]","unite":"","name":"BASE","type":"info","subtype":"numeric"}
[2023-09-06 06:40:07][DEBUG] : MQTT------Topic : jeedom/cmd/event/1351
[2023-09-06 06:40:07][DEBUG] : MQTT------Data  : {"value":"26108856","humanName":"[Appartement][Téléinfo (Electricité)][BASE]","unite":"","name":"BASE","type":"info","subtype":"numeric"}
[2023-09-06 06:40:07][DEBUG] : MQTT------Topic : jeedom/cmd/event/1354
[2023-09-06 06:40:07][DEBUG] : MQTT------Data  : {"value":"660","humanName":"[Appartement][Téléinfo (Electricité)][PAPP]","unite":"","name":"PAPP","type":"info","subtype":"numeric"}
[2023-09-06 06:40:08][DEBUG] : MQTT------Topic : jeedom/cmd/event/1354
[2023-09-06 06:40:08][DEBUG] : MQTT------Data  : {"value":"650","humanName":"[Appartement][Téléinfo (Electricité)][PAPP]","unite":"","name":"PAPP","type":"info","subtype":"numeric"}
[2023-09-06 06:40:09][DEBUG] : MQTT------Topic : jeedom/cmd/event/1357
[2023-09-06 06:40:09][DEBUG] : MQTT------Data  : {"value":"8198","humanName":"[Appartement][Téléinfo (Electricité)][STAT_TODAY]","unite":"Wh","name":"STAT_TODAY","type":"info","subtype":"numeric"}
[2023-09-06 06:40:09][DEBUG] : MQTT------Topic : jeedom/cmd/event/1614
[2023-09-06 06:40:09][DEBUG] : MQTT------Data  : {"value":"8198","humanName":"[Appartement][Téléinfo (Electricité)][STAT_TODAY_INDEX00]","unite":"Wh","name":"STAT_TODAY_INDEX00","type":"info","subtype":"numeric"}
[2023-09-06 06:40:12][DEBUG] : MQTT------Topic : jeedom/cmd/event/1615
[2023-09-06 06:40:12][DEBUG] : MQTT------Data  : {"value":"1.69","humanName":"[Appartement][Téléinfo (Electricité)][STAT_TODAY_INDEX00_COUT]","unite":"€","name":"STAT_TODAY_INDEX00_COUT","type":"info","subtype":"numeric"}
[2023-09-06 06:40:12][DEBUG] : MQTT------Topic : jeedom/cmd/event/1351
[2023-09-06 06:40:12][DEBUG] : MQTT------Data  : {"value":"26108857","humanName":"[Appartement][Téléinfo (Electricité)][BASE]","unite":"","name":"BASE","type":"info","subtype":"numeric"}
[2023-09-06 06:40:13][DEBUG] : MQTT------Topic : jeedom/cmd/event/1354
[2023-09-06 06:40:13][DEBUG] : MQTT------Data  : {"value":"670","humanName":"[Appartement][Téléinfo (Electricité)][PAPP]","unite":"","name":"PAPP","type":"info","subtype":"numeric"}
[2023-09-06 06:40:14][DEBUG] : MQTT------Topic : jeedom/cmd/event/1359
[2023-09-06 06:40:14][DEBUG] : MQTT------Data  : {"value":"8198","humanName":"[Appartement][Téléinfo (Electricité)][STAT_TODAY_HP]","unite":"Wh","name":"STAT_TODAY_HP","type":"info","subtype":"numeric"}
[2023-09-06 06:40:18][DEBUG] : MQTT------Topic : jeedom/cmd/event/1351
[2023-09-06 06:40:18][DEBUG] : MQTT------Data  : {"value":"26108858","humanName":"[Appartement][Téléinfo (Electricité)][BASE]","unite":"","name":"BASE","type":"info","subtype":"numeric"}
[2023-09-06 06:40:18][DEBUG] : MQTT------Topic : jeedom/cmd/event/1354
[2023-09-06 06:40:18][DEBUG] : MQTT------Data  : {"value":"650","humanName":"[Appartement][Téléinfo (Electricité)][PAPP]","unite":"","name":"PAPP","type":"info","subtype":"numeric"}
[2023-09-06 06:40:20][DEBUG] : MQTT------Topic : jeedom/cmd/event/1354
[2023-09-06 06:40:20][DEBUG] : MQTT------Data  : {"value":"660","humanName":"[Appartement][Téléinfo (Electricité)][PAPP]","unite":"","name":"PAPP","type":"info","subtype":"numeric"}
[2023-09-06 06:40:24][DEBUG] : MQTT------Topic : jeedom/cmd/event/1351
[2023-09-06 06:40:24][DEBUG] : MQTT------Data  : {"value":"26108859","humanName":"[Appartement][Téléinfo (Electricité)][BASE]","unite":"","name":"BASE","type":"info","subtype":"numeric"}
[2023-09-06 06:40:25][DEBUG] : MQTT------Topic : jeedom/cmd/event/1354

J’aurais enfin une dernière question qui est de savoir si il est prévu que le pligin passe en stable dans cette présente version ?

Merci d’avance et pardon d’avoir été si long.

Bonjour
Vos 2 Jeedom sont sur le même réseau ou séparé?

Si séparé il faut mettre l’adresse IP qui permet d’accéder à Jedom de l’exterieur pour le broker distant

Dams

Bonjour,
Les deux Jeedom sont bien sur le même réseau.
La source a pour IP 192.168.0.134 et la cible 192.168.0.150.

Tu es sure de ta configuration réseau?
Les équipements arrivent à communiquer?

Dams

J’en suis sûr mais je peux toujours essayer ta suggestion. Ça ne coûte rien.

En fait je me suis avancé un peu vite parce que pour accéder à mes jeedom depuis l’extérieur, je passe par mon nom de domaine, des redirections des ports 80 et 443 au niveau de mon routeur et enfin un reverse-proxy pour aiguiller tout ça.

Cela dit, je suis sûr des IP locales de mes jeedoms. Elles apparaissent correctement sur mon routeur et le serveur DHCP est configuré pour leur attribuer des IP locales statiques.

Tu as paramètré cela?


Tu n’as pas l’air d’utiliser JMQTT mais MQTT Manager. La différence est peut être là

Dams

J’utilise effectivement MQTT Manager parce qi’il est installé avec ZwaveJS.

Je l’ai paramétré (ce doit être le 6ème screen de mon 1er post). Par contre, est-ce correct ? ça c’est une autre affaire. Mon compteur est en mode historique.

Salut @Dams et @goulouche , alors pour être certain que je comprenne bien.

Je ne comprends pas tout, tu as paramétré MQTT sur ton jeedom source aussi, pourquoi? Là tu demandes à ton jeedom source d’interroger le MQTT de ton jeedom cible pour rapatrier des infos qu’il a déjà via le modem.

Le log MQTT que tu nous montres est sur le jeedom source ou le cible?

Le broker de ton jeedom source est bien paramétré pour pointer vers celui de ton jeedom cible?

Dans MQTT Manager il n’y a pas la case à coché publication auto
Comment le gères tu?

tu es sûr que ce n’est pas 192.168.0.134? Si tu en es sûr alors oui c’est peut être la cause car ils ne sont pas dans les mêmes plages d’adresse ip

D’où ma question

Dams

normalement il n’y a pas de différences

ah si en fait, je viens de vérifier et MQTT manager ne permet pas d’avoir d’autres broker que lui même, donc il faut que ce soit lui le source et que ton jeedom cible pointe bien vers le broker du jeedom source

Bonjour,
Ça m’avait complètement échappé mais c’est une erreur de frappe. Je confirme l’IP est bien 192.168.0.134

Comment est géré la publication avec MQTT manager?

Dams

tu as un problème dans la structure du json que tu demandes d’envoyer. Supprime le /jeedom/cmd que tu as avant {TIC:…

Ensuite si tu dis que ta TIC est en ADSC alors il faut que tu envoie 'EAST':'#Appartement... sinon téléinfo pense que tu es en mode standard et tu lui envoie l’index du mode historique et ça ne fonctionnera pas.

Possible que je fasse complètement fausse route. Corrigez-moi si je me trompe :

Mon jeedom source est celui sur lequel le modem est physiquement branché. J’ai dessus le plugin téléinfo 4.8.2a. Sur ce jeedom source (IP 192.168.0.134) j’ai configuré MQTT Manager et j’ai créé un équipement que j’ai nommé Téléinfo MQTT (les screens sont dans mon premier post). MQTT Manager pointe vers un broker distant installé sur le jeedom cible. La partie Téléinfo pointe également vers le broker distant (IP 192.168.0.150).

Mon jeedom cible (IP 192.168.0.150) n’a pas de modem mais c’est sur cette machine que le broker est installé. Sur cette machine, sont également installés téléinfo 4.8.2a et MQTT Manager mais là, je n’ai pas créé d’équipement. Donc ici, le broker pointe localement sur 127.0.0.1. Même chose pour la configuration du plugin téléinfo.

Désolé d’avoir été un peu long mais je m’y perds moi-même :sleepy:.

En effet j’ai moi aussi lu un peu vite tes screens, ok pour la partie MQTT mais tu n’as pas besoin de paramétrer la partie MQTT de teleinfo. Cette partie sert pour aller chercher les données sur un broker or ces données tu les as déjà puisque tu as ton modem raccordé dessus.

ok pour cette partie là.

Les logs que tu as montré de teleinfo_mqtt sont ceux du plugin installé sur le jeedom source ou le cible?

tu as modifié les autres points dont je t’ai parlé? jeedom/cmd à enlever et EAST à mettre à la place de BASE?