Tasmota
-
Petite question . Au niveau du hard, le signal téléinfo arrivait sur la pin D7 sur Esp8266 wemos D1. Actuellement, j'ai du faire une modif hard , que le signal arrive sur la pin RX. J'ai fait mes test uniquement en sélectionnant la pin RX sur tasmota. Est ce que ca pourrait fonctionner aussi avec la pin D7 ?
-
@Barbu-Dor Je crois que je viens de trouver un petit bug? Donc mon wemos vient d'être flashé et encore alimenté par le 5V de l'ordi. Je n'ai pas de signal téléinfo qui arrive dessus et pourtant il m'envoit une donnée sur le MQTT .. Il aurait gardé une mémoire d'avant ?? A moins que ce soit normal ??
![0_1613038627432_fe54f319-dab7-4d7f-8352-1d676b5ba278-image.png](Uploading 100%)
-
arff quelle idée, deux s-h bossant sur tasmota
Pour info RX/GPIO3 et TX/GPIO1 sont les 2 pins officielles serial mais il y a un swap possible dans l'ESP8266 qui permet de passer ces 2 pins sur
D7/GPIO13/RX et D8/GPIO15/TX
C'est un swap hardware (positionné en software parSerial.swap()
et c'est automatique dans tasmota si tu positionnes dans l'interface de config tasmotaTInfo Rx (210)
sur GPIO7
donc la réponse est oui -
Pour info avec la téléinfo j'utilise que des ESP32 c'est trop chiant avec le 8266 pour débugguer car la sérial est prise par la téléinfo (bien qu'on puisse prendre TDX1 pour debug)
avec l'ESP32 je laisse la Serial par défaut pour le debug et je prends une 2eme pour la téléinfo, bien plus souple. -
@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