Tasmota
-
@Samquad Comme précisé plus haut, les binaires sont disponibles dans son dossier binary du repository.
Enedis a basculé hier la TIC de mon Linky en mode Standard et j'ai pu tester cette dernière version dans un ESP8266 Wemos D1 mini et c'est un vrai régal à utiliser. La charge CPU n'est que de 19% et l'interface reste fluide.
Je ne produis pas d'électricité mais j' ai un contrat Tempo.
Dans la config, j'ai choisi :
- Tic rate: 9600
- Msg policy: 3%
- Msg data: Meter only
J'ai câblé un prototype selon le schéma de de Nicolas avec une charge de 10kΩ (pour optimiser la bande passante car la porteuse est à 50kHz), mais j'ai remplacé R1 par 820Ω + Potentiomètre 4.7kΩ, l'opto est un Sharp LTV814 et le MosFet l'excellent AO3400. J'ai câblé également un 2e MosFet en parallèle du premier pour commander une LED de visualisation.
Mon Linky est un Sagemcom, le signal est de 5Vpp, la plage de fonctionnement sans erreur est 1.24kΩ<R1<1.65kΩ.
À ce propos, le fork de @Nicolas-Bernaerts est bien pratique pour la mise au point, car en cas d'erreur sur le signal, une ligne supplémentaire "Reset/Errors" apparaît dans le menu principal et il n'y a rien à configurer pour ça. Un Restart de Tasmota une fois que le signal est ajusté, que le tableau des valeurs n'affiche plus des zéros et le compteur d'erreur aura disparu.Félicitations @Nicolas-Bernaerts , c'est du bon boulot !
-
> C:/Users/sbouv/Documents/Sam/RPI4/Tasmota/Tasmota-development/tasmota/tasmota_support/support_tasmota.ino:322:29: error: 'union SOBitfield6' has no member named 'bistable_single_pin' > if (Settings->flag6.bistable_single_pin) { // SetOption152 - (Power) Use single pin bistable > ^
...
L'union est définie dans:.\tasmota\include\tasmota_types.h
@Nicolas-Bernaerts précise bien que pour compiler son code il faut commencer par récupérer le code original de Théo Arendst dans la même version que son fork, donc en 12.5.0 et écraser ces fichiers avec ceux du fork.
T'as dû survoler cette étape car c'est vrai que ce n'est pas la méthode habituelle.
-
@localhost61
Merci pour l'info et le lien du code source.
J'ai pu compiler et faire mes premier tests.
J'utilise pitinfo V1.2 pour RPI branché sur Wemos mini d1 8266.
En fait je contacte 45% d'erreurs, c'est pas étonnant que la version Tasmota avec téléinfo officelle est en difficulté et m'affiche beaucoup d'erreur de checksum!Voici mes log:
0:06:23.187 MQT: teleinfo/tele/SENSOR = {"Time":"2023-07-08T10:06:23","TIC":{"ADSC":"031861721681","EASD02":"052672883","ERQ3":"001026972","ERQ4":"006043286","IRMS1":"008","URMS1":"229","PREF":"12","PCOUP":"12","SINSTS":"01796","EASF06":"000000000","EASF07":"000000000","SINSTI":"00000","SMAXIN":"E230708094724 01179","EASD03":"000000000","EASD04":"000000000","EAIT":"008449112","CCAIN-1":"E230708093000 00070","RELAIS":"000","ERQ4":"006043286","IRMS1":"008","URMS1":"229","PREF":"12","PCOUP":"12","NJOURF+1":"00","SINSTS":"01788"}} 10:06:23.493 TIC: Message reset 10:06:25.676 MQT: teleinfo/tele/SENSOR = {"Time":"2023-07-08T10:06:25","TIC":{"ADSC":"031861721681","VTIC":"02","DATE":"E230708100620","LTARF":"BASE","EAST":"085309299","EASF01":"048812616","EASF04":"000000000","EASF05":"000000000","SMAXSN-1":"E230707220002 07280","EASF06":"000000000","EASF09":"000000000","EASF10":"000000000","SMAXIN":"E230708094724 01179","EASD03":"000000000","EASD04":"000000000","EAIT":"008449112","CCAIN-1":"E230708093000 00070","PRM":"12432850902420","IRMS1":"008","URMS1":"229","PREF":"12","PCOUP":"12","SINSTS":"01787","NJOURF+1":"00","SINSTI":"00000","CCASN":"E230708100000 00066","STGE":"003A4101","NTARF":"01","NJOURF":"00","NJOURF+1":"00"}} 10:06:25.689 TIC: Message reset 10:06:27.926 MQT: teleinfo/tele/SENSOR = {"Time":"2023-07-08T10:06:27","TIC":{"ADSC":"031861721681","VTIC":"02","DATE":"E230708100622","EAST":"085309300","ERQ3":"001026972","EASF01":"048812616","EASF04":"000000000","EASF05":"000000000","SMAXSN-1":"E230707220002 07280","EASF06":"000000000","EASF09":"000000000","EASF10":"000000000","SMAXIN":"E230708094724 01179","EASD03":"000000000","EASD04":"000000000","EAIT":"008449112","ERQ1":"004363751","RELAIS":"000","IRMS1":"008","IRMS1":"008","URMS1":"229","PREF":"12","PCOUP":"12","SINSTS":"01797","SINSTI":"00000","SINSTI":"00000","CCASN":"E230708100000 00066","CCASN":"E230708100000 00066","CCAIN-1":"E230708093000 00070","NTARF":"01","NJOURF":"00","NTARF":"01","NJOURF":"00","NJOURF+1":"00"}} 10:06:29.181 MQT: teleinfo/tele/SENSOR = {"Time":"2023-07-08T10:06:29","TIC":{"ADSC":"031861721681","VTIC":"02","ERQ2":"000143666","NGTF":"BASE","ERQ4":"006043287","EAST":"085309300","EASF02":"036496683","EASF05":"000000000","SMAXIN-1":"E230707131502 04978","EASF06":"000000000","EASF06":"000000000","CCAIN":"E230708100000 00422","SMAXIN":"E230708094724 01179","EASD03":"000000000","STGE":"003A4101","EASD02":"052672886","PRM":"12432850902420","RELAIS":"000","NTARF":"01","NJOURF":"00","NJOURF+1":"00","PREF":"12"}} 10:06:29.195 TIC: Message reset 10:06:30.179 MQT: teleinfo/tele/SENSOR = {"Time":"2023-07-08T10:06:30","TIC":{"ADSC":"031861721681","VTIC":"02","ERQ3":"001026972","ERQ4":"006043287","IRMS1":"008","URMS1":"229","PREF":"12","PCOUP":"12","SMAXIN-1":"E230707131502 04978","SMAXSN-1":"E230707220002 07280","SINSTI":"00000","CCAIN":"E230708100000 00422","SMAXIN":"E230708094724 01179","EASD03":"000000000","CCAIN":"E230708100000 00422","EASD02":"052672886","PRM":"12432850902420","STGE":"003A4101","NTARF":"01","PRM":"12432850902420","RELAIS":"000","NTARF":"01","NJOURF":"00","NJOURF+1":"00"}} 10:06:31.427 MQT: teleinfo/tele/SENSOR = {"Time":"2023-07-08T10:06:31","TIC":{"ADSC":"031861721681","VTIC":"02","ERQ3":"001026972","NGTF":"BASE","EAST":"085309302","URMS1":"229","PREF":"12","EASF04":"000000000","EASF05":"000000000","SMAXSN-1":"E230707220002 07280","SINSTI":"00000","EASF09":"000000000","EASF10":"000000000","EASD03":"000000000","EASD04":"000000000","EAIT":"008449112","ERQ1":"004363751","STGE":"003A4101","NTARF":"01","URMS1":"229","PREF":"12","PCOUP":"12","SINSTS":"01795","NJOURF+1":"00","SINSTI":"00000","SMAXIN":"E230708094724 01179","CCASN":"E230708100000 00066","CCAIN-1":"E230708093000 00070","MSG1":"PAS DE MESSAGE","NJOURF":"00","NJOURF+1":"00"}} 10:06:32.676 MQT: teleinfo/tele/SENSOR = {"Time":"2023-07-08T10:06:32","TIC":{"ADSC":"031861721681","VTIC":"02","ERQ3":"001026972","LTARF":"BASE","EAST":"085309303","EASF01":"048812620","PREF":"12","PCOUP":"12","SINSTS":"01789","SMAXSN-1":"E230707220002 07280","EASF07":"000000000","SINSTI":"00000","EASF09":"000000000","EASD03":"000000000","EASD04":"000000000","CCAIN":"E230708100000 00422","ERQ1":"004363751","STGE":"003A4101","STGE":"003A4101","URMS1":"229","PREF":"12","RELAIS":"000","NTARF":"01","NJOURF":"00","NJOURF+1":"00","SMAXIN":"E230708094724 01179"}} 10:06:33.676 MQT: teleinfo/tele/SENSOR = {"Time":"2023-07-08T10:06:33","TIC":{"ADSC":"031861721681","VTIC":"02","ERQ3":"001026972","LTARF":"BASE","EAST":"085309303","EASF01":"048812620","PREF":"12","EASF04":"000000000","EASF05":"000000000","EASF06":"000000000","EASF07":"000000000","SINSTI":"00000","EASF10":"000000000","EASD01":"032636414","EASD04":"000000000","CCAIN":"E230708100000 00422","EAIT":"008449112","ERQ1":"004363751","ERQ2":"000143666","URMS1":"229","PREF":"12","RELAIS":"000","PREF":"12","PCOUP":"12","SINSTS":"01797","SMAXSN":"E230708064605 04098","SMAXIN":"E230708094724 01179","CCAIN-1":"E230708093000 00070"}} 10:06:33.841 TIC: Message reset 10:06:34.927 MQT: teleinfo/tele/SENSOR = {"Time":"2023-07-08T10:06:34","TIC":{"ADSC":"031861721681","VTIC":"02","ERQ2":"000143666","EASF08":"000000000","ERQ4":"006043287","EAST":"085309304","URMS1":"229","PREF":"12","PCOUP":"12","SINSTS":"01794","EASF07":"000000000","SINSTI":"00000","SINSTI":"00000","EASD01":"032636414","CCASN":"E230708100000 00066","CCAIN":"E230708100000 00422","EAIT":"008449112","ERQ1":"004363751","ERQ2":"000143666","URMS1":"229","PREF":"12","NTARF":"01","NJOURF":"00","NJOURF+1":"00","SINSTS":"01797"}} 10:06:34.982 TIC: Message reset
J'attends la réception du module WeMos Teleinfo que j'ai commandé @Charles pour voir si ça améliore le signal de réception
-
@Samquad tu as donc une résistance de ligne de 1.2kΩ avec une charge de 10kΩ. Pour améliorer le signal, il suffit que tu trouves une résistance entre 220Ω et 330Ω, tu débranches un fil du Linky et tu la mets en série pour passer à 1.5kΩ.
---
J'ai un multimètre de poche avec fonction oscillo. monovoie et il me trouve une ondulation basse fréquence superposée au signal différentiel, ça pourrait expliquer les erreurs car comme on redresse théoriquement un signal carré on obtient un état 1 continu avec des impulsions négatives de plus en plus fines au fur et à mesure qu'on sature les diodes du photocoupleur. Et plus cette ondulation est amplifiée, plus elle déplace les transitions de ces états 1.
Je vais tester avec une diode shottky en série...
---
Je viens de mesurer la conso du montage sur 5V : 380mW. -
@localhost61 Merci beaucoup pour ton aide rapide et expertise sur le sujet. Ca fait plusieurs mois que je galère avec ce problème --> depuis que j'ai fait changer le mode historique en mode standard pour récupérer mes index de production solaire.
Je viens d'ajouter une résistance de 220Ω en série sur un des fils branché sur le linky et je n'ai quasiment plus d'erreur checksum avec la version tasmota téléinfo officielle.
J'en ai profité pour installer la version Tasmota 12.5.0 by Theo Arends
Teleinfo 11.1 (esp8266) by Nicolas Bernaerts qui gère plus efficacement la com et ça fonctionne niquel ! je n'ai plus d'erreur !Mon wemos mini d1 dédié au téléinfo gère habituellement un compteur d'impulsion (compteur d'eau) et une sonde extérieure 18b20.
Sais-tu si c'est possible d'ajouter la gestion des sondes 18b20car elle manque à la compilation.
J'ai essayé de modifier le fichier my_user_config.h en décochant la ligne 1021line 1021: define THERMOSTAT_SENSOR_NAME "DS18B20" // Name of the local sensor to be used
Mais j'ai plein d'erreur quand je tente de compiler le programme.
Est-ce que c'est possible d'ajouter DS18B20 ou est-ce qu'il vaut mieux le gérer avec un autre wemos? -
@Samquad non c'est pas là en effet. Les directives d'activation des fonctionnalités commencent toutes par
USE_
Dans
.\tasmota\my_user_config.h
il y a (ligne 574)#define USE_DS18x20
mais, dans ton projet, il a dû être écrasé dans le fichier
.\tasmota\user_config_override.h
par la séquence :#undef USE_DS18x20
Qu'il te suffit de désactiver par:
// #undef USE_DS18x20
---
J'ai un Wemos D1 dédié pour surveiller la consommation d'eau et de fioul et les températures d'eau. Les compteurs sont assez fiables, même si leur sensibilité n'est pas du niveau du compteur principal, car ils ne détectent pas un filet d'eau. J'ai installé 3 compteurs d'eau FS300A : Dure, Adoucie et Chaude (je mesure l'eau froide qui rentre dans le ballon). Plus un compteur de fioul OF05ZAT que je n'ai pas encore calibré et qui a nécessité de passer en monotube.
Les 4 compteurs sont remis à zéro à minuit.
Les compteurs fonctionnent en mode interruption pour ne pas rater une seule impulsion. Dans mon cas je préfère séparer les fonctions. -
@localhost61 said in Tasmota:
...Je vais tester avec une diode shottky en série...
La diode schottky c'était une mauvaise idée, ça introduit une dissymétrie qui déséquilibre le signal, et même avec R1=200Ω le photocoupleur ne détecte pas assez de signal, soit moins de 400µA dans la diode pour saturer le transistor !!! (j'imagine que la sortie du Linky doit être le secondaire d'un transfo.).
-
@localhost61 merci ma sonde de température fonctionne!
-
J'utilise la version tasmota teleinfo officielle V12.1.1.2 et pas supérieure car les autres plus récentes ne fonctionnent pas (reboot en boucle à cause de saturation de buffer en réception)
@Samquad de mémoire dans tasmota la core team a changé la gestion du serial et je pense que c'est pour ça que depuis le mode teleinfo standard (uniquement sur ESP8266) pose un soucis de débordement de buffer. Je n'ai pas investigué mais le code série du module énergie de la téléinfo lui n'a pas changé alors que ca fonctionne avec la version 12.1
Clairement les reset systématiques en standard sur ESP8266 sont liés à ce changement, peut être que @Barbu-Dor pourra nous en dire plus.
-
@localhost61 Bonjour,
Logiquement mon fork devrait savoir gérer les contrats Tempo.
Mais n'en ayant pas moi-même, je n'ai pu le tester.Pour info je viens de publier une version 11.2 basée sur Tasmota 12.5 qui gère beaucoup plus efficacement les mises à jour de graphs en live. Les binaires ont également été mis à jour ...
J'ai ajouté une version pour ESP32-S3 16Mb. Cet ESP32 est un pur bonheur à utiliser. Il est hyper véloce et dispose de toute la mémoire nécessaire pour conserver les CSV de consommation sur plusieurs années.
-
@Nicolas-Bernaerts ta 11.1 tourne depuis 3 semaines environ. Je te confirme que le contrat Tempo est bien reconnu, mais les 6 compteurs ne sont pas exploités graphiquement contrairement à un contrat triphasé.
Je suis allé aussi l'installer chez mes 3 frères en standalone, sans serveur domotique, car elle s'y prête bien.
3 contrats tous différents du mien.- Un contrat HC/HP chez EDF.
- Un triphasé chez TotalEnergie avec auto-production photovoltaïque non officielle car en attente de Consuel.
- Un contrat de Base avec un distributeur tiers, l'ELD SICAE ELY et projet photovoltaïque de revente du surplus.
Sur ces 4 modules au total, 2 sont en ESP32 s2 et 2 en Wemos D1. Et tous ont fonctionné du premier coup.
Pour l'un d'entre eux il a quand même fallu retoucher un peu la valeur de 1.2kΩ pour le faire cohabiter avec un ancien délesteur MerlinGerin/Schneider DSE'clic 2V, les 2 fonctionnent maintenant en parallèle sur la TIC historique.
Pour le triphasé aucun affichage graphique, il faut que j'analyse la chose.
Mon Linky était outdoor (branchement de type 2 ) jusqu'au 18/07, jour où Enedis a procédé au déplacement de ma borne et localisé le Linky indoor (type 1). Jour aussi où la relève CPL d'Enedis a cessé de fonctionner !
Pas de soucis avec la mienne, issue de la TIC et je ne m'en suis rendu compte qu'une semaine après en allant sur les sites Enedis et EDF. Je les ai alerté et mon Linky a été remplacé hier le 01/08.
Un compteur qui revient à 0, c'est une situation que Teleinfo 11.1 a du mal à gérer, va falloir que je lui donne un coup de main ^^ . -
@Nicolas-Bernaerts Attention, dans le repository, les .gz des binaires v11.2 n'ont pas été recompilés, ce sont ceux de la v11.1
Après plusieurs uploads sans effet de mon Wemos D1 et le passage par une version minimal de Tasmota v12.5 qui m'a tout foiré et m'a obligé à repasser par le port série... j'ai enfin fini par comprendre ! XD -
@localhost61 Effectivement je n'avais pas chargé les bin.gz qui étaient restés en v11.1. Je viens de tous les recharger. Sorry
-
@Nicolas-Bernaerts c'est pas grave, ça serait trop facile sinon.
Pour le moment je n'ai pas vu de gros changement à part l'icône du Linky qui remplace celui d'EDF dans les messages et intègre le nom du module et le compteur de messages, plus discret.
Par contre je perd l'info Period dans la Main page et je n'ai plus que l'info de couleur du jour dans le Tag LTARF de la page Messages, pas de la période, il manque le préfixe HC/HP.
-
@localhost61 Je crois comprendre ce qu'il se passe. J'ai modifié la procédure de séparation entre l'étiquette et la donnée. La donnée contenant un espace, cela doit créer le problème. Du coup HP BLEU devient BLEU et n'est plus reconnu. Est ce que tu pourrais m'envoyer un trame enregistrée de quelques ko pour que je puisse le reproduire ? Je regarde cela dans les jours qui viennent.
-
This post is deleted! -
This post is deleted! -
This post is deleted! -
@Nicolas-Bernaerts voici la trace: Tempo_v11.2.txt effectuée avec une commande
curl ip:port
dans une boîte de commande Windows, arrêt avec ctrl+C et copier-coller dans un fichier texte. -
Mise en oeuvre du FTP OK avec FileZilla et le couple
teleinfo:teleinfo
(contrairement aux indications contenues dans l'entête de xdrv_96_ftp_server.ino qui ditftp:password
).
Je n'ai pas encore réussi à utiliser le client FTP de Total Commander.