Tasmota
-
@Barbu-Dor Alors je viens de tester. Je pense que j'ai louper une étape. J'obtiens les mêmes résultats que toi, mais ca ne modifie pas la trame MQTT qui part sur domoticz.
11:42:44.308 RUL: VAR2#STATE performs "publish debug/energy { "compteur1":856867,"compteur2":991027}"
11:42:44.313 MQT: debug/energy = { "compteur1":856867,"compteur2":991027}
11:42:45.265 RUL: EASF01 performs "var1 856867"
11:42:45.270 MQT: stat/tasmota_DB567A/RESULT = {"Var1":"856867"}
11:42:45.276 RUL: EASF02 performs "var2 991027"
11:42:45.282 MQT: stat/tasmota_DB567A/RESULT = {"Var2":"991027"}
11:42:45.309 RUL: VAR2#STATE performs "publish debug/energy { "compteur1":856867,"compteur2":991027}"
11:42:45.313 MQT: debug/energy = { "compteur1":856867,"compteur2":991027}
11:42:45.414 MQT: tele/tasmota_DB567A/STATE = {"Time":"2021-02-11T11:42:45","Uptime":"0T00:20:59","UptimeSec":1259,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"Sylvia&Seb","BSSId":"14:91:82:FC:0E:ED","Channel":1,"RSSI":62,"Signal":-69,"LinkCount":1,"Downtime":"0T00:00:03"}}
11:42:45.421 MQT: domoticz/in = {"idx":84,"nvalue":0,"svalue":"0.0;7.9;0.0;0.0;417;0","Battery":100,"RSSI":6} -
Je n'ai pas testé sur les ports alternatifs D7/D8 car comme je n'ai pas de vrai connexion, je n'ai testé qu'avec des trames pré-enregistrées poussées par mon PC via l'adaptateur USB intégré du nodemcu
Mais effectivement Tasmota fait automatiquement le swap si tu choisit D7/D8
Et si tu choisit d'autres pins, il prend un Uart soft qui risque de poser des problèmes de perfs, surtout en Standard vu le flux tenduSur ESP32, Tasmota laisse l'UART0 pour le debug console et n'autorise les drivers a n'utiliser que UART1 et 2 mais comme on peut remapper les pins n'importe comment ou presque ce n'est pas un problème.
-
@Seb-H Les règles ne permettent pas de modifier la trame qui est envoyée par le mode RAW mais d'en extraire info et d'en recomposer une autre
il faut que tu adapte le publish a ton besoin -
@Barbu-Dor Donc ça veut déjà dire, qu'il faut couper l'envoie de la trame MQTT actuel et en générer une nouvelle.... Moi et comme beaucoup de novice vont à avoir du mal à comprendre.. Tu saurais me donner un exemple concret dans mon cas du comment je peux faire ?? Je ne suis qu'un malheureux utilisateur final
-
@Barbu-Dor Visiblement ca à l'air de fonctionner en sélectionnant le D7 et en mode standard !
-
@Seb-H Tu ne peut pas couper la trame existante (pas tel que prévu pour l'instant dans tasmota)
A toi de l'ignorer dans ton backendEt pour l'exemple, tu as deja.
Je ne connais pas Domoticz donc je ne sais pas quel topic il faudrait utiliser
peut êtrepublish stat/%topic%/teleinfo {....}
?
Il faut que tu publie sur un topic et que ton backend le recupère. Si domoticz attends un topic particulier, je n'en sais rienTasmota n'est pas comme une appli dédiée. Elle fait beaucoup (certains diraient trop) donc il y a pas mal de config a faire. Ce n'est pas forcement l'appli la mieux pour un débutant, il faut s'investir pour en comprendre les arcanes. Mais l'avantage est de disposer d'un environnement unique que ce soit pour contrôler une prise, un interrupteur, un thermostat, la teleinfo, ....
-
Je suis assez d'accord, Tasmota envoie le RAW, ne doit pas faire de calculs, sont taff c'est de récupérer et envoyer la donnée, le reste c'est derrière que ça doit se faire
-
le mode débutant c'est le mode par défaut de Tasmota avec le message SENSOR + ENERGY
Après on peut voir s'il y a des choses a améliorer, rendre cela plus configurable
-
@Charles J'ai du mal à comprendre vos échanges...Pour ma part, d'après ce que j'ai pu tester , dans le cas de la téléinfo avec tarification HC/HP, tasmota envoit dans la trame MQTT que l'état d'un seul compteur et qui de plus n'est pas l'image exact de l'index réel du compteur. A ce jour, moi j'ai un wifiinfo modifié qui gère le mode standard et m'envoit une trame impeccable dans une requête HTTP /json.htm?type=command¶m=udevice&idx=xx&nvalue=0&svalue=%EASF02%;%EASF01%;0;0;%SINSTS%;0
Comment faire pour y arriver simplement avec tasmota ? Ca na pas l'air aussi simple visiblement. -
Je sais pas si je suis bien arrivé à bien me faire comprendre par rapport à la problèmatique de la transmission de trame d'info pour domoticz
Je vous donne un exemple
Ci dessous une capture avec le setoption 108 0
20:42:30.845 MQT: domoticz/in = {"idx":84,"nvalue":0,"svalue":"0.0;719.0;0.0;0.0;366;0","Battery":100,"RSSI":6}
20:42:30.850 MQT: tele/tasmota_DB567A/SENSOR = {"Time":"2021-02-17T20:42:30","ENERGY":{"TotalStartTime":"2021-02-11T18:24:47","Total":0.720,"Yesterday":0.000,"Today":0.720,"Period":1,"Power":366,"ApparentPower":452,"ReactivePower":265,"Factor":0.81,"Voltage":226,"Current":2.000,"Load":22,"ADSC":"061961361253","VTIC":2,"NGTF":"H PLEINE/CREUSE ","LTARF":" HEURE PLEINE ","EAST":1893378,"EASF01":876569,"EASF02":1016809,Dans la 1ère trame qui est envoyé à Domoticz, voici ce qu'attends domoticz dans le cas d'un capteur P1 SmartMeter
On peut voir, qu'il n'y l'index du Compteur A HC qui est renseigné et dans la 2ème trame, on peut voir que c'est l'image de "Today":0.720
Le problème c'est que le compteur Today est remis à 0 toutes les 24h par tasmota, et que l'on perd la notion de l'état de l'index réel de son compteur.
Si on reste sur le même fonctionnement que Wifinfo, on devrait retrouver dans la trame domoticz, pour l'index Cpt (A) HP (actuellement reste à 0), le contenue de EASF02 soit "1016809" et pour l'index Cpt (A) HC (actuellement l'image de today) , le contenue de EASF01 soit "876569"
Avec le setoption108 1(mode RAW), la problématique est exactement la même, ça ne change rien à la trame envoyé à domoticz
Alors comment peut on faire facilement ??
-
Bonjour à tous, et merci au passage aux développeurs,
J'espère poster au bon endroit !
Je découvre Tasmota et essaye de mettre en place la TeleInfo vers HA. Je pense ne plus être loin du but. J'ai configuré un Wemos avec Tasmota et (j'espère) téléinfo. Le Wemos envoie bien des messages MQTT sur mon serveur, mais je n'arrive pas a voir de message concernant la consommation (avec ENERGY etc...).
Je ne vois que ce message ttes les 5mins :maison/tasmota/wemos_teleinfo/tele/STATE = {"Time":"2021-02-23T21:02:14","Uptime":"0T01:30:12","UptimeSec":5412,"Heap":26,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Wifi":{"AP":1,"SSId":"xxxxx","BSSId":"60:35:C0:16:33:D6","Channel":6,"RSSI":50,"Signal":-75,"LinkCount":1,"Downtime":"0T00:00:06"}}
Q1 : est-ce que Tasmota, s'il est bien configuré envoie les messages ENERGY (même vides) quelle que soit ce qui est reçu sur l'entrée RX (sur GPIO3) ?
J'ai toutefois bien un signal sur RX, que je suppose maintenant correct. (Après avoir galéré avec des BS170 chinois en mode on permanent !).Avant que vérifier plus avant la partie connexion, je voudrais être sûr que mon module est correctement configuré !
-
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.