Tasmota
-
Bonjour @patrice-becquet
As tu bien compris que la fonctionnalité Téléinfo n'est pas incluse pas défaut dans les binaires standards et qu'il faut compiler ta propre version ? => https://tasmota.github.io/docs/Compile-your-build/
Si tu as compilé une version avec Téléinfo, il faut aussi configurer la GPIO de réception série.
Sur un ESP8266 c'est soit l'entrée RX standard GPIO3 ou l'entrée alternative GPIO13-D7. Dans "Configure" -> "Configure Module" tu dois mettre "Teleinfo RX" en face de la GPIO choisie.
Je suggère fortement GPIO13 ce qui permet de garder l'USB branchée au PC si besoin.
Une fois cette configuration enregistrée, Tasmota redémarre et sur la page d'accueil tu devrais avoir des champs lié à l'énergie (sous le nom du module et au dessus des boutons bleus). Ces champs restent a 0 tant que Tasmota n'arrive pas a décoder une trame téléinfo valide.Suivant le mode de ton compteur, il faut éventuellement utiliser la commande SetOption102
- Si tu es en mode Historique, c'est le mode par défaut
- Si tu es en mode Standard, il faut entrer la commande
SetOption102 1
(Tasmota redémarre)
@Charles Est-ce qu'il serait possible de faire un tuto en français sur ton site car sur le site Tasmota on ne peut faire que des docs en anglais, ce qui a peu d'intérêt pour vu que cette fonction n'intéresse que des français.
-
@barbu-dor said in Tasmota:
Téléinfo, il faut
Bonjour, et merci pour cette réponse détaillée !
J'ai suivi les instructions données sur cette page: https://www.canaletto.fr/post/home-assistant-esp-and-teleinfoJ'ai utilisé TasmoCompiler (en ligne donc) en cochant "Energy sensor", "Home assistant", "Scripts", "Timers" & "Web interface".
J'ai aussi ajouté :
#ifndef USE_TELEINFO
#define USE_TELEINFO
#endif
Je pense donc avoir ce qu'il faut (j'espère).
Coté config, je suis en Mode Historique (Mode vérifié sur le Menu du Linky).
Côté I/O j'ai aussi essayé GPIO13, mais cela ne change rien aux infos remontées dans MQTT. D'ou ma question concernant la présence de messages Energie quelle que soit la connexion au capteur (bonne ou mauvaise). Des messages, mêmes vides seraient déjà un pas en avant !
Voici la config actuelle du module :
Le cas échéant je refait une nouvelle compilation.
Autre question (je suis nouveau sous Tasmota) : Je n'ai pas bien compris l'interaction entre "Configuration du modèle" et "Configuration du module" dans le menu Configuration !Encore un grand merci pour cette aide !
-
Bonjour @patrice-becquet
Si tu as "TInfo RX" dans la liste, c'est que la compilation s'est bien passée.
Voici le schema que je préconise pour utiliser l'entrée série alternative (GPIO13) :
Comme tu peux le constater, il n'y a aucun conflit avec l'interface USB (composant CH340G situé sur le mini-D1 ou similaire sur le NodeMCU)
Tu peux activer
Weblog 3
pour avoir plus de détails et éventuellement copier ici les premières lignes de ton log (notamment les lignes avecTIC:
Pour vérifier si ton interface Teleinfo fonctionne tu peux faire la manip suivante:
- Maintenir l'ESP8266 en reset en connectant la pin RST du mini-D1 au GND
- Connecter la sortie Teleinfo a la pin ** TX ** du mini-D1 ce qui va vers l'interface USB
- Utiliser un terminal série (Putty, Termite, ...) pour vérifier que tu reçois des données Teleinfo
-
@barbu-dor
Encore merci pour ton aide !!
J'ai pu faire des relevés après avoir trouvé le "terminal" adéquat sur Mac ( Coolterm, après qq autre tests). Ca roule, les data qui sortent de l'interface sont OK !Un extrait de ce que je lis dans le term :
ADCO 841775678802 V
OPTARIF HC.. <
ISOUSC 45 ?
HCHC 007110440 W
HCHP 017934253 5
PTEC HP..
IINST 003 Z
IMAX 090 H
PAPP 00780 0
HHPHC A ,
MOTDETAT 000000 B
..
ADCO 841775678802 V
OPTARIF HC.. <
ISOUSC 45 ?
HCHC 007110440 W
HCHP 017934253 5
PTEC HP..
IINST 003 Z
IMAX 090 H
PAPP 00780 0
HHPHC A ,
MOTDETAT 000000 BCa ressemble à qq chose
Reste à comprendre pourquoi Tasmota ne renvoie rien de cela sur MQTT !
-
@patrice-becquet cool si ça marche.
Si tu cherches le terminal ultime pour MAC essaiesSerial
je rêve depuis des années qu'il puisse être porté sous windows. J'ai acheté la license tellement je l'utilise tous les jours.
https://www.decisivetactics.com/products/serial/@Barbu-Dor je suis d'accord avec toi il faudrait faire une documentation pour ça (car moi même je vais dans le code pour me souvenir) Quand tu parles de faire un tuto, tu veux dire que je l'écrive ou juste pouvoir le publier sur mon blog ?
Je demande car je suis sous l'eau, en plus j'ai du changé de serveur pour héberger la communauté, j'en ai profiter pour toutdockeriser
. Donc ça plus maintenir tout le reste des infras c'est ultra consommateur et je peine un peu niveau tempsAu fait, regarde l'ingéniosité de certains users
Dire que j'avais quelques shield en tests aussi
Tasmota fait revivre tout ça, et en plus
-
Oui, j'ai vu serial dans ma recherche, mais mon usage reste très ponctuel. Lorsque TéléInfo sera OK sur HA, je ne suis pas sûr de l'utiliser à nouveau !
En tt cas merci pour ton travail et ton investissement sur ce projet.
Pour les assemblages Interface / Wemos, j'étais moi aussi parti sur un shield (cablé, car usage unique). Mais je l'ai tellement trituré à cause des ces $£ù@# BS170 chinois, qu'il est trop abimé pour que j'en envoie un photo ! J'ai tout refait sur un Breadboard pour débugger ! Je n'avais encore jamais eu de souci comme ça avec le matos commandé sur AliExpress.@charles @Barbu-Dor
Sachant que maintenant j'ai des données série qui arrivent comme attendu sur GPIO13, et que Tasmota envoie bien des données sur le broker MQTT (qui les reçois bien). Auriez vous une piste pour comprendre pourquoi Tasmota n'envoie pas les données ENERGY ?Je avoir aussi avoir enfin compris l'option "Configuration du modèle", qui serait à mon avis plutôt à comprendre comme "Configuration DES modèles". Ensuite on utilise le modèle choisi.
-
@patrice-becquet Pourrais tu faire comme suggéré un
Weblog 3
, redémarrer (commanderestart 1
) et partager les logs depuis le redémarrage sur quelques secondes ? (tu peux supprimer les lignes qui concernent le Wifi, j'ai surtout besoin de celles concernant Teleinfo généralement préfixées parTIC:
)Si cela ne donne rien, je peux faire une version avec plus de logs. J'ai vu que tu avais coché "Energy sensor", "Home assistant", "Scripts", "Timers" & "Web interface"
As tu gardé le fichier user_config_override.h ?@Charles Je veux bien écrire le tuto. Mais je n'ai pas de blog et où serait-il mieux que sur le tiens ?
Dis moi quel format tu as besoin pour que cela demande le moins de travail de publication ? -
@barbu-dor
Voici les première lignes suivant l'activation Weblog 3 + restart (pas de trace de TIC !) c'est bien ce qui me tracasse ! Je soupçonne le truc trivial. Une activation non faite... je ne sais pas.
J'ai refais tt le process de compilation/setup et mis ça sur un nouveau Wemos.
Avec exactement le même résultat ! Tasmota / MQTT ok. Téléinfo KO.00:00:00.049 CFG: Chargé de la flash à FA, Compte 13 00:00:00.055 QPC: Count 1 00:00:00.056 CFG: CR 388/699, Busy 0 00:00:00.060 SRC: Restart 00:00:00.061 Projet tasmota Tasmota Version 9.3.1(tasmota)-2_7_4_9(2021-02-24T17:09:00) 00:00:00.215 WIF: Tentative de connexion... 00:00:00.551 WIF: Connexion à l'AP1 SteamPunk Channel 6 BSSId 60:35:C0:16:33:D6 en mode 11n comme wemos_teleinfo-2962... 00:00:01.754 WIF: Tentative de connexion... 00:00:02.752 WIF: Tentative de connexion... 00:00:03.754 WIF: Tentative de connexion... 00:00:04.758 WIF: Connecté 00:00:05.012 HTP: Serveur web actif sur wemos_teleinfo-2962 avec l'adresse IP 192.168.1.65 00:00:05.698 RTC: UTC 2021-02-24T18:32:22, DST 2021-03-28T02:00:00, STD 2021-10-31T03:00:00 19:32:23.051 MQT: Tentative de connexion... 19:32:24.029 MQT: Connecté 19:32:24.032 MQT: maison/tasmota/wemos_teleinfo/tele/LWT = Online (persistant) 19:32:24.035 MQT: maison/tasmota/wemos_teleinfo/cmnd/POWER = 19:32:24.036 MQT: S'abonner à maison/tasmota/wemos_teleinfo/cmnd/# 19:32:24.038 MQT: S'abonner à maison/tasmota/tasmotas/cmnd/# 19:32:24.040 MQT: S'abonner à cmnd/DVES_756B92_fb/# 19:32:24.043 MQT: maison/tasmota/wemos_teleinfo/tele/INFO1 = {"Module":"TeleInfo Pat","Version":"9.3.1(tasmota)","FallbackTopic":"cmnd/DVES_756B92_fb/","GroupTopic":"maison/tasmota/tasmotas/cmnd/"} 19:32:24.055 MQT: maison/tasmota/wemos_teleinfo/tele/INFO2 = {"WebServerMode":"Admin","Hostname":"wemos_teleinfo-2962","IPAddress":"192.168.1.65"} 19:32:24.067 MQT: maison/tasmota/wemos_teleinfo/tele/INFO3 = {"RestartReason":"Software/System restart"} 19:32:24.101 QPC: Reset 19:32:25.058 SRC: MQTT 19:32:25.060 CMD: Groupe 0, Index 1, Commande "STATUS", Donnée "None" 19:32:25.065 MQT: maison/tasmota/wemos_teleinfo/stat/STATUS = {"Status":{"Module":0,"DeviceName":"Tasmota","FriendlyName":["Tasmota"],"Topic":"wemos_teleinfo","ButtonTopic":"0","Power":0,"PowerOnState":3,"LedState":1,"LedMask":"FFFF","SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[0,0,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":0,"InfoRetain":0,"StateRetain":0}} 19:32:25.407 APP: Nombre de boot 6 19:32:26.401 CFG: Enregistré en flash à F9, Compte 14, Octets 4096 19:32:27.413 MQT: maison/tasmota/wemos_teleinfo/tele/STATE = {"Time":"2021-02-24T19:32:27","Uptime":"0T00:00:12","UptimeSec":12,"Heap":29,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"SteamPunk","BSSId":"60:35:C0:16:33:D6","Channel":6,"RSSI":48,"Signal":-76,"LinkCount":1,"Downtime":"0T00:00:06"}} 19:32:34.520 HTP: Console 19:37:27.414 MQT: maison/tasmota/wemos_teleinfo/tele/STATE = {"Time":"2021-02-24T19:37:27","Uptime":"0T00:05:12","UptimeSec":312,"Heap":27,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"SteamPunk","BSSId":"60:35:C0:16:33:D6","Channel":6,"RSSI":50,"Signal":-75,"LinkCount":1,"Downtime":"0T00:00:06"}} 19:40:37.255 HTP: Console
J'ai bien gardé le fichier user_config_override.h. Comment le partager ? Un copié collé serait un peu long (env 500 lignes). Je ne vois pas de PJ ?
A tt hazard, un lien direct vers le fichier sur mon site.
(J'ai mis t'extension en txt pour faciliter l'interprétation par le navigateur).A minima, j'y vois bien en fin de fichier :
#ifndef USE_TELEINFO #define USE_TELEINFO #endif
MERCI encore
-
@patrice-becquet Je pense qu'il y a un problème dans l'activation de "TInfo RX"
Voici les lignes importantes concernant Teleinfo dans le log de demarrage:00:00:00.062 TIC: RX on GPIO13, baudrate 1200 00:00:00.063 TIC: always enabled 00:00:00.077 SNS: Hardware Serial 00:00:00.077 TIC: using hardware serial 00:00:00.078 TIC: Ready
Confirmant l'init du module Teleinfo avec la GPION 13 en reception à 1200 baud et l'utulisation de l'UART hardware.
Dans "Configure" => "Configure autres" , est-ce que la case "activer" est bien cochée ?
Dans quel écran as tu configuré "TInfo RX" ?
Généralement quand j'utilise un mini-D1 ou un NoceMCU (par opposition à un équipement type Sonoff, interrupteur mural, etc), Dans "Configure Modèle" je suis sur "Generic 18" et toutes les broches sont sur "User" sauf les 2 broches 9 et 10 sur "None".
Ensuite c'est dans "Configure Module" que j'assigne mes broches <=> fonctionsDans Tasmota, un modèle (template) correspond à un modèle d'équipment de référence connu dont les pins et le comportement est en dur dans le code. Sur un Sonoff Dual, telle pin est le Relay1, telle autre le Relay2 etc....) et seules certaines pins sont accessibles à l'utilisateur (User). Seules les pins User peuvent ensuite est customisées dans "Configure Module".
Par exemple sur un Sonoff TH, la pin GPIO14 accessible a l'extérieur sur un jack. Quand tu choisit "Sonoff TH (4)", les pins correspondant au boutons, à la led et au relay sont automatiquement assignée. La pin GPIO14 est en User et les pins non accessibles, sont en None (GPIO1..4 sont accessibles mais en interne uniquement). Avec cela, tu obtiens le comportement standard d'un Sonoff TH.
Après tu peux décider ce que tu veux faire de la pin GPIO14 : mettre un capteur de temperature DS18B20, un Temp+Hum DHT22 ou un interrupteur extérieur et tu définis ton usage dans "Configure Module".Mais avec le nombre d'équipement supporté qui augmentait, ils ont introduit la notion de Template JSON que tu peux saisir dans "Configure autres". Dans ce cas, le template peut se référer à un des templates originaux pré-codé pour le comportement mais avec des pins associées différentes...
Je comprend que cela soit bizarre mais Tasmota a un lourd historique et des fois certains concepts sont compliqués du fait de l'évolution dans le temps avec de plus en plus d'équipements supportés.
Généralement je n'ai pas de soucis si la cache "Activate" est cochée. Si ce n'est pas le cas, certaines config ne sont pas prises en compte.
-
Un truc pour vérifier quelles pins sont effectivement prise en compte : la commande
gpio
te retourne un JSON avec les pins :23:09:38.248 CMD: gpio 23:09:38.261 MQT: stat/nodemcu/GPIO = {"GPIO0":{"608":"I2C SCL"},"GPIO1":{"0":"None"},"GPIO2":{"640":"I2C SDA"},"GPIO3":{"0":"None"},"GPIO4":{"0":"None"},"GPIO5":{"0":"None"},"GPIO12":{"0":"None"},"GPIO13":{"5152":"TInfo Rx"},"GPIO14":{"0":"None"},"GPIO15":{"0":"None"},"GPIO16":{"0":"None"},"GPIO17":{"0":"None"}}
Ou l'on voit bien le "TInfoRX" sur la GPIO13
-
@barbu-dor à raison, si t'as pas de TIC dans les log c'est curieux surtout que t'as bien compilé avec l'OPTION téléinfo sinon la pin
TInfo rx
n'apparaitrait pas. C'est l'indicateur ultime.J'arrive pas à comprendre pourquoi t'as aucun log concernant la téléinfo (les fameux
TIC
)Tu peux mettre ce template ci (basic) avec Téléinfo sur GPIO13
{"NAME":"TIinfo_IO13","GPIO":[1,1,1,1,640,608,1,1,1,5152,1,1,1,1],"FLAG":0,"BASE":18}
Et surtout n'oublies pas de cocher
activate
cette case à la con m'a value de nombreuses prise de têtes -
@barbu-dor
VICTOIRE !!!La case activée était bien là. Mais en reprenant les vérifications, et grace a tes explication et un éclair de lucidité (en fin de journée après avoir tourné en rond, on est plus bon a grand chose !). J'ai noté que j'avais bien affecté la pin Rx a GPIO13. Oui, mais la pin "Série RX", au lieu de TéléInfoRX ! (Sur la précédente capture d'écran de l'autre Wemos, on constate que c'était OK à ce niveau). Je subodorais un détail trivial, mais radical dans le genre.
Mais bon, le dernier problème était là. J'ai bien la Télé Info sur la page d'accueil de Tasmota, dans les messages MQTT, jusqu'au Broker. Nickel.
Un énorme merci pour ton aide. Je te dois une bière comme on dit dans le milieu ! Si tu passe en Essonne, quand les bars seront ouverts !!!...
-
Ca y ai , après de nombreux essais , j'ai basculé mes 3 compteurs existants de wifinfo sur tasmota.
La première problématique est que visiblement tasmota n'arrive pas à gérer 2 compteurs HP/HC indépendamment et de ce fait renvoit uniquement un seul compteur sur Domoticz.
Mais de mon coté je suis passé récement en tarification de BASE unique, donc je ne suis plus concerné par ce soucis. Néanmoins, la solution proposé est de récupérer les trames MQTT via NODE RED, de récupérer l'état des 2 compteur et de le renvoyer à domoticz via JSON, mais faut il encore connaitre un minimum NODE RED.
Ayant maintenant 3 compteurs (dont 2 en 1200 baud et 1 en 9600 baud), j'ai donc exploité tasmota pour essayer de se rapprocher au même fonctionnement de Winfo, mais je tombe sur des bugs.
La 1ère des chose est de caler le compteur total de tasmota sur l'index du compteur réel , suivant l’exemple ci dessous par la commande EnergyReset3 4014698
Le soucis principal dans ce cas, c'est qu'à la moindre perte secteur, on va désynchroniser les deux compteurs...
En fouillant dans la doc des commandes tasmota, j'ai trouvé la Setoption72 qui permettrait pour certain compteur (comme le DDS238) de copier l'état du compteur hardware dans le compteur total de tasmota. J'ai tester avec notre module téléinfo, et ça ne fonctionne pas. Ca serait possible de l'inclure, vous en pensez quoi ?? Du coup, le compteur total de tasmota = index du compteur téléinfo, avec ou sans coupure secteur !
Autre chose, que je constate en utilisant l’envoi de données sur domoticz géré par tasmota. Tasmota envoi dans une trame jusqu’à 4 index de compteurs, mais avec la particularité d'utiliser un chiffre derrière la virgule, par exemple dans le cas ci dessous, il envoit à domoticz 2069838.1 alors que le compteur total est a 2069.838 Kwh. Cette gestion de virgule dans le temps vient rendre incohérent l'état de l'index et le compteur total car un décalage se fait au fur et à mesure. Maintenant, si on arrive en activant l'option 72 , à dire compteur hardware = compteur total cela corrigerait certainement aussi ce problème?
-
@sebh
Voici une capture au bout de 2 jours après avoir calé le compteur total sur le compteur teleinfo BASE. Je confirme bien un décalage entre les 2 compteurs... Naturellement on parle pas de Kwh, on parle de quelques Wh entre 2 jours. C'est normal docteur ?? -
@sebh je ne suis pas surpris que tu trouves un décalage, en fait le module Energy de tasmota calcul tout seul ta consommation (avec la puissance, et tout ce qu'il peut mesurer) or effectivement ça peut shifter en fonction des échantillonnages et reception des valeurs.
Je maitrise pas les entrailles de tasmota mais ca mériterait une petite investigation. Clairement la synchro sur le compteur réel est la solution sauf que pour ça je pense que la téléinfo doit être de type module "smart meter" comme les autres (SDM, PZEM, ..) or la teleinfo est tellement spécifique (et encore plus avec le linky) que ca deviendrait ingérable de les intégrer (j'avais commencer à regarder à l'époque)
Tu as 2 solutions:- soit via un node red script ou autre tu récupères les données via MQTT et tu les renvois au bon format dans domoticz
- normalement dans la trame de télémétrie ENERGY envoyée par tasmota tu as les etiquettes des compteurs, et c'est celles-ci que domoticz doit prendre (mais ça nécessite un ajustement dans domoticz)
La encore je n'utilise pas domoticz donc je ne te serais pas d'une grande aide sur le sujet mais ça de devrait pas être trop compliqué.
-
@charles Merci pour ton retour.
Clairement, je pense couper l'emission de la trame domoticz/in de tasmota , et je pense que NodeRed est la solution mais les script JS je ne connais pas du tout. J'ai fait un peu de VB dans le temps avec des fonctions de recherche de chaine de caractère mais c'est vieux LOL !
Je viens de publier sur le forum domoticz en espérant que quelqu'un puisse me conseiller afin de pouvoir écrire un script JS . Je suis sur le coup, mais si jamais quelqu'un veut me filer un coup de patte , voici le lien de mon post https://www.easydomoticz.com/forum/viewtopic.php?f=10&t=11224
Sinon, je viens de voir ça à l'instant sur le tasmota qui tourne sur mon linky en mode standard.
Par moment j'ai une erreur checkline err checksum 0x51 != 0x43
En fait, je m'aperçoit qu'il me fait un paquet d'erreur en fait (j'avais pas fait attention)
C'est quoi le soucis avec cette erreur ??
-
@sebh bonsoir, aucun problème pour intégrer cette version dans la branche officielle tasmota. Mais j'avoue ne pas savoir quelle démarche suivre.
-
@nicolas-bernaerts Bonjour Nicolas, je viens de vous mettre un mail car on a déjà échangé il y a quelques temps...
Alors pour l'intégration officielle , je ne sais pas comment s'y prendre, c'est plutôt @Charles Charles qui pourra répondre
Sinon j'ai demandé de l'aide pour essayer d'écrire un script sous Nodered mais pas eu un seul coup de main... -
ci joint une petite copie écran d'un de mes tasmota, après une semaine en fonctionnement
Donc actuellement on transmet à Domoticz 2097547.8 Wh , alors que le compteur total de tasmota est a 2097548 Wh et que l'index transmis par le linky est a 2097569 Wh . On a pratiquement un décalage de 20 Wh en une semaine ... -
@sebh je suis en train de regarder comment fonctionne tasmota avec domoticz
Le truc c'est qu'il y a une tonne de contrats différents avec la téléinfo et domoticz gère 2 tarifs, je vais essayer d'implémenter ca pour heures creuse heures pleines du mode historique (car j'ai pas de linky)