Mon module de téléinformation (TIC) wifi vers MQTT pour compteur linky et autres

Hello @Strangex !

Quand tu parles de perdre le sensor de puissance au reboot, c’est au reboot de HA ou du module teleinfokit ? Car ça serait d’autant plus utile que je mette ces messages MQTT en persistant si met la grouille sur les historiques dans HA le temps qu’il en pousse un nouveau

Et merci @Pbranly, j’ai mis à jour la doc sur mon site avec les device_class et State_class :slight_smile:

Yep j’ai bien la dernière version.

Nico : au reboot de HA, le teleinfo lui fonctionne très bien et les données peuvent être lues sans soucis sur le webserver lorsque les sensors sont en inconnu sur HA.
Ça n’arrive pas systématiquement à chaque reboot mais quand ca arrivé ba soit ca revient tout seul au bout d’une heure soit je reboot le teleinfo et ca repart.

Autre soucis constaté. Parfois le sensor Index et puissance (les meme qui se mettent en inconnu) arrêtent de se mettre à jour dans HA et gardent des valeurs fixes, ça me l’a encore fait à l’instant cf les screen ou ça s’est bloqué depuis 17minutes :

Ça peut rester bloqué comme ça 30 minutes ou plus avant que ça se remette à jour. Ça survient d’un coup sans que je ne touche à quoi que ce soit.
Je précise que lors de la config du teleinfo j’ai mis les deux valeurs à 2 secondes.
J’ai essayé de reset etc. Ça repart quand je le fais.

Mais encore une fois le teleinfo en lui même n’est pas en cause puisque si je vais sur le webserver ça remonte bien les données.

C’est vraiment la remontée sur Mqtt qui ne passe pas chez moi ou du moins qui saute sans que je n’arrive à mettre le doigt sur la cause.

J’ai installé mqtt explorer histoire de voir, quand les sensors sont en inconnu je n’ai plus que adc0 et isousc en topic.
Et dès que ça refonctionne j’ai bien base et papp.
Quand les sensors se bloquent sur des valeurs fixe et ne s’actualisent plus j’ai bien les topics mais je peux voir qu’à un moment ça se bloque.

Cf ce screen ou ça a bloqué 4 minutes puis 20 secondes pour la remontée de la puissance (malgré que des valeurs s’actualisaient bien sur le webserver) :

Et en regardant un peu j’ai des variations sur le délai d’actualisation des deux secondes qui passent parfois à 5, 10, voire plus comme sur le screen. Et du coup ça correspond bien à quand HA bloque en valeur fixe.
Reste plus qu’à trouver pourquoi. :confused:
Et quand c’est bloqué depuis trop longtemps papp et base disparaissent des topics et il ne reste que adc0 et isousc

Hello @Strangex

Super analyse, je pense qu’on a tout ce qu’il faut pour avancer :slightly_smiling_face:

On a donc plusieurs choses :

  • a priori coté teleinfokit et lecture du TIC tout se passe bien
  • le dashboard web se met à jour : le module n’est pas « tanké » vu qu’il répond aux appels API
  • tes sensors MQTT sont bons vu que tu as les données « en temps normal »

Première chose que je me suis dit : un bug dans l’envoi MQTT lorsque on a une valeur différente de 0 (=temps réel) => pourrais-tu essayer de le mettre à 0 pour voir si cela continue à se produire ?

Notes au passage:

  • 2s de délai est relativement proche de la fréquence d’envoi des trames par le compteur, donc ça n’apporte (ou n’enlève) pas grand chose à la quantité de données par rapport au « temps réel »
  • le firmware est prévu pour n’envoyer des trames que si la valeur a changé, peu importe la durée d’update défini en config : cela allège les données transférées et stockées en base HA.

Donc je me demande si ta consommation est si stable que tu ne vois du coup pas de nouvelles données car elle n’a pas changé ^^’
Sur 17 minutes ce serait étonnant mais pas impossible surtout que tu as une conso « au repos » assez basse (240VA). Est-ce que les index continuent de s’incrémenter lorsque la conso ne bouge pas ?
Le trou vers 21h dans ton graphe d’index est du au reboot de ton instance HA c’est ça ? on retrouve le même dans le graphe de ta puissance consommée.

Et si le sensor ne voit pas de mise à jour de valeur coté HA il passerait en « unknown » (notamment au reboot de HA cela fait du sens) auquel cas ce serait la configuration du sensor à améliorer pour bien faire comprendre à HA que c’est une valeur de conso qui n’a pas de raison d’être nulle ou inconnue.

Donc il faudrait savoir si c’est « juste » à cause du redémarrage de HA ou bien si HA considère le sensor « unknown » au bout d’un moment de non mise à jour (ça m’étonnerait) ou bien si c’est bel et bien un bug dans la remontée MQTT avec un délai configuré.

Si tu peux creuser avec ça je veux bien ton retour on verra en fonction.

En tout cas je pense qu’une évolution utile pourrait être de au moins envoyer une valeur par minute lorsqu’elle ne change pas (et qu’on a paramètre un update < à 60s).

Hey merci pour le retour, je le passe de suite à 0 et je vais voir ce qu’il en est sur la journée et tenter des reboot aussi.
Yep j’ai vu pour les valeurs qui changent uniquement en cas de changement :stuck_out_tongue:

Le trou c’est effectivement après un reboot ou ça s’est mis en inconnu.

Quand il est inconnu et que je vois la conso fluctuer sur le webserver ça ne change pas la valeur sur ha.
Pour l’index c’est pareil si c’est en inconnu ça ne s’incrémente pas sur HA

J’essaye ça et je te fais le retour demain !


Toujours pareil même avec les délais à 0 secondes. :confused:
Et pourtant j’ai bien ma puissance qui a variée sur le webserver j’ai même lancé des appareils energivores ça ne bouge pas.
J’ai vérifié sur MQTT explorer et je n’ai plus que adc0 et isousc

Les données sur le webserver remontent bien. :confused:

C’est bizarre ton affaire . J’ai aussi constaté parfois des trous dans la transmission des données mais finalement ça arrive très peu souvent sauf à rester devant !
Et finalement ce n’est pas très grave car ce qui compte, c’est de faire un delta entre 2 valeurs entre T0 et T1.
J’avais constaté qu’en cas de « trous » dans les valeurs, la page web du kit perdait toutes les valeurs antérieures au démarrage du « trou « et idem pour l’historique sur le mini écran .
On s’était dit avec @NicoP4 que c’était peut être un reboot du module.
Question peut être déjà posée: ton niveau wifi est suffisamment bon pour éviter des pertes de connection ?

J’ai aussi constaté les trous, par contre chez moi c’est un peu plus fréquents !
du coté de l’interface c’est mieux mais en mqqt j’en est toujours.

J’ai aussi eu pas mal de reboot. J’ai reflashé le module, et c’est mieux, mais il m’arrive encore que le module reboot sans raison.
Le réseau WiFi est impec chez moi, et un réseau WLAN spéciale pour la domotique est priorisé et isolé.
Ca ne vient dont pas de là.
J’ai mis un transfo plus puissant, ça n’a rien changé.

Attention aussi à ne pas être trop gourmand sur l’intervalle de remonté des index…
J’ai 5 sec pour la puissance instantanée et 120 pour les index
La puissance instantanée relevée plus souvent me permet de gérer des scénarios de délestage si besoin… (coupure clim/chauffage/ballon d’eau chaude au besoin)…

Hello !

C’est étrange cette absence de remontée MQTT ! Surtout temporaire comme ça. Je ne pense vraiment pas à un souci de charge du broker MQTT, même hébergé sur un RPi ça devrait tenir largement pour ce que lui envoie le module.

En revanche un souci de charge au niveau de l’ESP-01 en lui même, surtout si le dashboard web est actif car il doit lire les trames TIC, faire sa tambouille interne pour les calculs des graphes et stocker les données, pousser le tout sur MQTT, gérer la Stack WiFi et éventuellement répondre aux appels HTTP (le dashboard est pas tendre en terme de sollicitations…)
Si une de ces actions prend trop de temps le watchdog peut se déclencher et rebooter le module…

Est-ce que ces manques de trames MQTT sont vues pendant que le Dashboard web est ouvert ?

Pour savoir si le module reboote, via l’api /info vous avez le champ startuptime qui contient un timestamp du démarrage, ça donnera une idée de l’uptime.
Le rssi est donné dans signalStrengh ça peut donner uni indication pour le signal wifi, mais pas sur la congestion du channel utilisé qui pourrait avoir un rôle ? (je réfléchis en écrivant, pour aborder toutes les possibilités…).

Dernier point à creuser : pourrait-on voir si la connection MQTT est refusée coté broker ?
Vois du coté du topic $SYS s’il y a des fluctuations sur le nombre de clients actifs/déconnectés :

mqtt

De mon coté c’est plutôt stable, je n’ai pas le nez dessus en permanence mais coté grafana qui stocke vraiment tout tout tout, j’ai l’air de bien avoir toutes les données !

1 « J'aime »

Hello,

Et en essayant d’augmenter le délais à 10s (à la place de 0s qui correspondant à un envoie à chaque changement d’index/valeur) par ex ? Afin de voir si ça soulagerait l’ESP-01 ?

Yes ça peut nous donner des informations, et si jamais tu constates le truc, essaie de regarder le startuptime du module pour voir depuis combien de temps il tourne :wink:

Petit retour, depuis hier tout roule.
Je n’ai pas fait de reboot. A savoir que j’ai aussi viré tout l’addon mqtt et l’intégration en réinstallant le tout proprement.
Je vais voir si ça continue à rouler correctement.

Je checkerai si le module reboot.
Ça m’est arrivé au tout début pendant les premières installations où il rebootait tout seul, j’avais fait un reset en appuyant au démarrage sur le bouton et ça avait résolu le soucis. :stuck_out_tongue:

3 messages ont été scindés en un nouveau sujet : Module TIC auto-alimenté

Hello @Strangex !

Content de voir que ça se comporte bien maintenant :slight_smile:
Il semble que les soucis soient du pur MQTT, et avec les reboots de Home Assistant au milieu ça complexifiait le tout :thinking:

Un message a été fusionné à un sujet existant : Module TIC auto-alimenté

Petit update!

J’ai refait faire une série de PCB vu qu’il ne m’en restait plus du tout, ils viennent d’arriver un peu plus tôt que prévu dans une magnifique livrée noire cette fois :star_struck: (mais bon je suis peut être le seul a les trouver beaux ^^) et bon ils seront cachés dans le boitier…

Bref voilà ce que ça donne en noir

Je vais pouvoir reprendre les assemblages s’il y a des personnes intéressées vous pouvez toujours me contacter via le site 342apps.net ou par message direct ici.

Reste à recevoir aussi des écrans et ESP-01, j’en ai une poignée d’avance mais j’en ai recommandé à nouveau.

5 « J'aime »

Est-ce que quelqu’un utilise la version flashé sous ESPHome ?
Je n’arrive pas à trouver comment le configurer… :thinking:

Hello @Sylvain_G

C’est quelle partie que tu n’arrives pas à configurer? Côté HA ou module TeleInfoKit?

Avec esphome il est normalement découvert automatiquement si tu as bien l’intégration ESPHome.

Actuellement, j’ai branché le module teleinfokit sur mon PC via le cable micro USB et je n’ai pas fait de branchement sur le compteur Linky.
Lorsque je vais dans HA > Supervisor > ESPHome > Ouvrir l’interface utilisateur Web, je ne vois pas de nouveau module teleinfokit. C’est bien ici que je devrais voir le nouveau module ?
Si c’est plus facile en passant par PlatformIO, depuis ma demande de flasher le module en ESPHome, j’ai enfin réussi à installer PlatformIO (c’était un problème de conflit de version de Python).
En plus j’ai l’impression que le firmware sous PlatformIO est bieeeen plus complet que sous ESPHome.

Pour la configuration via PlatformIO, je suis en train de suivre le tuto : Flashage du TeleInfoKit – 342apps
Voilà ce que j’ai comme environnement :

J’ai cloné ton repository et je retrouve bien dans Project Tasks les deux sections :

  • esp01_1m
  • esp01_1m_ota

Je retrouve aussi le sous-dossier General mais pas le sous dossier Platform est-ce normal ?

J’ai aussi une question sur les façons de flasher les firmwares, je n’ai pas compris quand doit-on utiliser l’une ou l’autre section esp01_1m et esp01_1m_ota.
Est-ce que l’on doit commencer par flasher via USB avec esp01_1m puis on peut mettre à jour via WiFi ou si on choisi le 1er flashage par USB on doit toujours flasher par USB ? Et idem, si on choisi de flasher avec la section esp01_1m_ota, on devra toujours flasher via WiFi ? Et dans ce cas comment flasher la 1ère fois avec la section esp01_1m_ota ? avec l’USB ? ou le WiFi ?

De plus, sur ton tuto, j’ai plusieurs captures d’image absentes, comme on peut le voir sur ces captures :


En tout cas super boulot, je bave devant les captures d’écran que je vais avoir … :drooling_face:

Hello Sylvain!

Je te fais une réponse courte car il est l’heure d’aller au lit et je détaillerai dès que je peux :sweat_smile:

Première précision : le port USB du module sert uniquement à l’alimenter en 5V. Il n’y a pas de data qui peut transiter. Pour cela il est nécessaire d’avoir une puce qui fait la transition du protocole USB vers série que sait interpréter l’ESP-01 (plus toute la mécanique de démarrage en mode flash et reboot automatiques), c’est faisable et je le fais sur d’autres modules à moi, et on retrouve ça sur les board de dev type nodeMcu, mais en terme de cout (à mon niveau) on ne serait plus du tout dans la même plage :confused:

Bref les modules que j’ai envoyés sont déjà flashé, rien à faire de plus :slight_smile:
Par contre s’il ne se passe rien à l’écran du module lorsque tu le branches c’est qu’il y a un souci, dans ce cas on verra ensemble!

Donc la mise à jour des firmware se fait uniquement en wifi (sauf à sortir le module et le flasher directement)
Je t’ai envoyé un module flashé ESPHome donc la seule chose à faire est de le brancher en usb (accessoirement au compteur) et il va créer un Hotspot wifi sur lequel il faut se connecter via un smartphone par exemple pour renseigner les infos de ton wifi local afin qu’il s’y connecte. Et la Home Assistant devrait le voir tout seul :slight_smile:

Il faut voir le firmware ESPHome comme un firmware alternatif au mien, et bien qu’il ait moins de « features » au final les données remontées dans HA sont les mêmes (les index, et la conso instantanée)
ESPHome est juste plus « souple » dans le sens ou c’est plus simple de configurer un fichier yaml que de s’attaquer au code C++ pour le faire évoluer.

Ma documentation sur ESPHome laisse à désirer c’est indéniable ^^

J’ai abordé une partie de tout ça dans la FAQ, mais ça reste à compléter : FAQ TeleInfoKit – 342apps

Dans mon code sous platformio en effet il y a la section esp01_1m et esp01_1m_ota, la première me servant à flasher via usb avec un adaptateur, la deuxième utilisée pour mettre à jour en wifi (ota = over the air), et c’est pour le firmware TeleInfoKit uniquement (le fichier de config ESPHome est dans un autre repo)

Et merci pour l’info sur les images manquantes! c’est pas la première fois que le site me fait ca…
J’ai un peu développé ma réponse finalement, mais j’ai peut-être oublié des points, je reviendrai un peu plus tard :slight_smile: