Tasmota
-
@seb-h Je confirme un problème dans Tasmota depuis le 21 janvier.
Le dernier Arduino Core à un bug sur la gestion de l'UART ESP32 qui bloque lorsqu'il reçoit un flux important de données.
Je m'en sors avec une version compilée le 16 janvier. -
Bonjour,
Juste un petit post pour vous signaler que j'ai publié ce week-end une nouvelle version de mon Tasmota non officiel.
Coté changelog :- log rotate pour les logs (LittleFS)
- serveur FTP intégré pour accès aux logs (LittleFS)
- serveur TCP intégré pour stream du flux Teleinfo
- chgt des cles IREF et PREF pour éviter des conflits
- refonte du démarrage pour éviter des erreurs
- chgt calcul cosphi pour gestion des valeurs très faibles
- corrections de bugs et petites évolutions
Si vous souhaitez essayer, c'est par là :
https://github.com/NicolasBernaerts/tasmota/tree/master/teleinfoBonne semaine.
-
@nicolas-bernaerts Super, merci pour le partage
-
Hello,
Le tic fonctionne enfin, merci pour le support sur un post séparé.
Je surveille maintenant les informations fournies. Je suis surpris de voir que l'intensité est généralement soit 1, 2 ou 3 Ampères et que le cos phi est généralement exactement égal à 1.
C'est normal? Un problème sur la mesure ?
J'envisage de tester le firmware de Nicolas Bernaerts et voir si il y a une différence. -
@enjoy-combi
Le firmware de Nicolas Bernaerts fonctionne très bien notamment avec son affichage de la puissance active qui est un vrai plus . Il tourne actuellement sur mon linky et sur ma prod photovoltaique et sur mon surplus. Vraiment top ! -
@nicolas-bernaerts Bonjour,
Je teste votre firmware mais j'ai ces erreurs:
09:52:07.664 HTP: Console
09:52:08.422 TIC: Error q Ƃ 000B [;]
09:52:08.626 TIC: Error r:J0 [K]
09:52:09.728 TIC: Error q Ƃ 000B [;]
09:52:09.977 TIC: Error rzJ0 [K]
09:52:11.080 TIC: Error q Ƃ 000B [;]
09:52:11.336 TIC: Error r:J0 [K]
09:52:12.395 TIC: Error q Ƃ 000B [;]
09:52:12.648 TIC: Error r:J0 [K]Je n'ai pas les mêmes valeurs de résistance. J'ai celles recommandées par Charles pour un wemos D1. Différence la plus notable une résistance de 220 ohms sur i1
Est-ce que ça peut venir de là ?
Pour info, la mesure fonctionnait avec le firmware tasmota modifiée par CharlesLa configuration est 9600 pour le mode standard. Par contre je trouve pas le détail des autres modifications possibles après avoir cliqué sur le lien disponible dans le readme.
-
@enjoy-combi Bonjour,
Les erreurs de réception sont effectivement très souvent liées à la valeur de la résistance en sortie TIC. Suivant les compteurs, elle peut varier entre 4.7k (mode historique) et 1k (triphasé standard). Je ne pense pas être descendu en dessous de 1k pour les différents compteurs testés. C'est une piste à suivre ... -
@enjoy-combi normalement avec 220Ohm plus 3K3 sortie d'opto avant le transistor c'est compatible avec tout, jamais eu aucun retour avec.
-
@charles OK. Je vais faire un autre montage et testé.
Je vous tiens informé. Merci ! -
@Nicolas-Bernaerts
Bonjour!
Je continue ici plutôt que sur l'issue github, je suis quand même un poil plus à l'aise en français...
Je suis donc sur votre firmware compilé par mes soins, et je tente de faire marcher le D1 Mini ESP32 fourni par @Charles, ainsi que son shield, sur le compteur linky en mode standard. A noter, je suis incapable d'utiliser le firmware compilé à la mano si j'active le serveur ftp, reboot en boucle de l'esp32.
J'ai l'impression que quand on sauvegarde les paramètres teleinfo, ce n'est pas vraiment sauvegardé, en tout cas un reboot fait retourner sur la configuration stock en 1200bds (ainsi que les autres paramètres). J'ai essayé de passer en 9600, mais j'ai aucun message qui est parsé correctement apparemment. Je suis bien sur le bon gpio (autoconfiguration teleinfo qui semble maper correctement les gpio, mais idem en mapant manuellement).
Je vois les compeurs Message et Reset qui incrémentent (assez lentement pour messages, très rapidement pour reset).
Apparemment il comprend pour le 230v mais c'est tout. Il récupère rien du reste.
Par ex en console :
18:40:30.601 TIC: Message reset
18:40:30.702 TIC: Message reset
18:40:31.352 TIC: Message reset
18:40:32.256 TIC: Message reset
18:40:32.259 TIC: Message reset
18:40:32.473 RSL: SENSOR = {"Time":"2022-07-21T18:40:32","METER":{"PH":1,"ISUB":0,"PSUB":0,"PMAX":0,"U1":230,"P1":0,"W1":0,"I1":0.0,"C1":1.00}}
18:40:32.957 TIC: Message reset
18:40:32.961 TIC: Message reset
18:40:33.207 TIC: Message reset
18:40:33.408 TIC: Message reset
18:40:33.507 TIC: Message reset
18:40:33.808 TIC: Message reset
18:40:33.907 TIC: Message reset
18:40:34.058 TIC: Message reset
18:40:34.157 TIC: Message reset
Sur le home j'ai ça au bout de quelques secondes :
Le baud rate ne change rien à ça, mais pourtant je sens bien un problème de ce côté, sachant que quoi que je change dans le menu de config teleinfo, ça reste identique en terme de "comportement"...
Est-ce que vous auriez une idée de la source?
Je vais revenir sur un autre esp32s2 avec le firmware d'origine tasmota teleinfo plus standard, mais que je n'arrive pas à faire communiquer avec emoncms en attendant de comprendre ça...
Merci! -
J'ai le même comportement avec un esp32s2, la configuration teleinfo est réinitialisée lors d'un redémarrage, et je n'ai pas les commandes energyconfig comme dans la version de Charles. Est-ce que ça pourrait être lié au littlefs? j'ai l'impression pourtant que c'est bien fonctionnel...
Sur l'esp32s2 :
Et la partition n'est pas vide, mais à peine mieux :
-
@Obi_Yoann Hello, alors pour avoir eu ce bug sur tasmota (pas de commande
EnergyConfig
) j'ai du chercher dans le code pour comprendre en effet si aucune pin ne déclareTInfo Rx
alorsEnergyConfig
, ça ne fonctionnera pas car ce n'est pas alors vu comme un module de type Energy (d'ailleurs pas d'index ou autre sur la WEBUI dans ce cas la)attention pour l'exemple sur un denky ce ne sera certainement pas la même pin pour vous.
Ensuite ça doit s'afficher dans les log au boot (TIC: RX on ...)
00:00:00.003-219/51 HDW: ESP32-PICO-V3-02 (PSRAM) 00:00:00.039-217/51 UFS: FlashFS mounted with 300 kB free 00:00:00.077 CFG: Loaded from File, Count 23 00:00:00.092 QPC: Count 1 00:00:00.225 BRY: Berry initialized, RAM used=3756 bytes 00:00:00.282 Project tasmota - Tasmota Version 12.0.2.2(teleinfo)-2_0_3(2022-06-25T15:41:33) 00:00:00.284 TIC: RX on GPIO8, baudrate 1200 00:00:01.040 WIF: Connecting to AP1 CH2I-HOTSPOT Channel 1 BSSId 94:83:C4:12:12:76 in mode 11n as tasmota-E8AE44-3652... 00:00:06.876 QPC: Reset 00:00:12.759 WIF: Connected 08:09:12.024 HTP: Web server active on tasmota-E8AE44-3652 with IP address 192.168.1.116
@Nicolas-Bernaerts , tu confirmes que ta version gère aussi bien le mode historique que standard ?
-
@Charles Merci du retour!
J'ai bien l'affichage (vide) de la partie teleinfo pourtant :
Je penche plutôt sur un problème de configuration, il n'écrit aucun fichier de configuration quand j'enregistre les paramètres.
J'ai trouvé dans le code source les lignes de commande (via la commande tic_help on a un bel aperçu) :
10:07:35.978 CMD: tic_help
10:07:35.982 HLP: tic_enable = enable teleinfo (ON / OFF)
10:07:35.983 HLP: tic_rate = set serial rate (1200, 9600, 19200)
10:07:35.984 HLP: tic_msgp = message publish policy :
10:07:35.984 HLP: 0 - Never
10:07:35.985 HLP: 1 - Every TIC message
10:07:35.986 HLP: 2 - When Power fluctuates (± 5%)
10:07:35.986 HLP: 3 - With Telemetry only
10:07:35.987 HLP: tic_msgt = message type publish policy :
10:07:35.988 HLP: 0 - None
10:07:35.988 HLP: 1 - METER only
10:07:35.989 HLP: 2 - TIC only
10:07:35.990 HLP: 3 - METER and TIC
10:07:35.990 HLP: tic_ival = ROM update interval (mn)
10:07:35.991 HLP: tic_adj = maximum power ajustment ()
10:07:35.992 HLP: tic_log = [littlefs] log policy (0:buffered, 1:immediate)
10:07:35.993 HLP: tic_rot = [littlefs] force log rotate
10:07:35.994 RSL: RESULT = {"tic_help":"Done"}
J'ai tenté de modifié la configuration via la commande tic_rate, elle est bien prise en compte au niveau du webui une fois passée dans la console tasmota (tic_rate 9600), mais n'est pas enregistrée et revient à 1200 après un reboot, et j'ai toujours les "reset" par dizaines, et rien qui remonte comme données...
Par ex j'enregistre le tic_rate à 9600 mais les reset continuent :
10:11:45.615 CMD: tic_rate 9600
10:11:45.620 RSL: RESULT = {"tic_rate":9600}
10:11:45.953 TIC: Message reset
10:11:45.954 TIC: Message reset
10:11:46.221 TIC: Message reset
10:11:46.472 TIC: Message reset
Si je reviens sur le firmware teleinfo d'origine, pas d'erreur visible.
Pour la configuration je suis sur la configuration automatique :
L'écran et la led fonctionne bien! -
@Barbu-Dor
Je fais suite à notre échange qui date d'un moment concernant le choix de la résistance en série avec l'opto. A la base j'avais une 1.5K et j'avais de temps à autre des erreurs de com. Puis je suis passer à une 1K, et il me semble que globlement les erreurs ont augmenter. J'ai donc fait suite à ton post, j'ai sortis l'oscillo, j'obtiens environ comme toi, pas loin de 5v C/C . Avec une 220 ohms, même pas la peine d'essayer, je décode rien du tout... Du coup, je suis repassé a une 1.5K... Si quelqu'un comprend quelque chose la dedans, car moi je pige plus rien -
@Charles je confirme que ma version gère le mode historique et le mode standard.
-
@Obi_Yoann j'avais publié une réponse sur GitHub avant de voir tes messages ici.
J'ai reçu des ESP32S2. J'ai ajouté la prise en compte de ce proc comme une cible de compilation. Le problème du serveur FTP qui plante au boot est réglé. Son démarrage et son arrêt sont maintenant manuels : ftp_start et ftp_stop. Il me reste à le tester en vrai avec un flux TIC (Le S2 n'a pas de port série sur le connecteur USB en mode normal ...). -
@Obi_Yoann dans ton screen tu as 2 GPIO avec Tinfo_RX. Ce doit être une partie du problème.
-
@Obi_Yoann un complément : ton partionnement proposé sur GitHub ne semble pas compatible avec le S2. Il empêche toute mise à jour en OTA et il empêche la sauvegarde de la configuration. Il faut partir du partitionnement standard avec 320k de littlefs. C'est peu, mais c'est le seul qui fonctionne d'après de rapides tests.
Tous les message reset sont classiquement un problème de mauvaise vitesse (1200 pour 9600 ou vive versa). -
@Nicolas-Bernaerts
Merci de ton retour!
Désolé du retard de mon côté, j'étais en vacances et sans les esp32...
J'ai incorporé tes modifications et compilé sans soucis, puis flashé, idem sans soucis. J'ai pu me connecter sur le wifi compteur-xxxx pour lui indiquer mon wifi, ça connecte et reboot nickel.
Pour le moment l'esp n'est pas branché sur le TIC, j'ai configuré le bon gpio pour le TINFO RX (le 11). J'ai testé par contre simplement l'enregistrement du passage de 1200 à 9600, je continue de ne pas avoir ce paramètre d'enregistré, ça ne survit pas au redémarrage, est-ce que tu aurais une idée de ce qui pourrait causer ça?
J'ai toujours le même comportement lorsque je branche le TIC, plein de reset et aucune data utile :
J'ai bien qu'un GPIO cette fois d'enregistré pour le TINFO RX.
Je comprends pas pourquoi ça fait ça, mais c'est clair que c'est pénible de pas pouvoir débugger via l'usb...
OK pour le littlefs, j'ai tenté, ça compilait bien et semblait fonctionner, mais j'avais pas testé l'OTA... je suis revenu sur les partitions normales.
-
@Obi_Yoann
Si tu n'as pas connecté le TIC, il n'y a aucune raison d'avoir des données en entrée.
GPIO11 est une entrée analogique, c'est peut être le problème. D'après la doc, il faudrait plutôt utiliser GPIO21 a GPIO38.
https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-saola-1-v1.2.html