Tasmota
-
@Charles j'ai changé l'appel à MqttPublish() par MqttPublishRules() (ou du meme genre) ainsi le JSON est parsé par le moteur de règles
Chaque champ est alors un trigger
Pour composer un nouveau message il faut récupérer chaque champ dans une variable par son propre trigger puis sur la mise à jour de la dernière variable on peut publier.
Un peu lourd et intensif surtout avec un json à chaque seconde.
Il faudrait peut être considérer des évolutions pour réduire la fréquence du raw -
@Barbu-Dor ah ah ok j'ai regardé tes changements vite fait j'ai pas vu de code pour les règles, je comprends mieux la subtilité, sur le publish. Tasmota est quand même super bien pensé, j'adore.
Ouais dans le loop téléinfo, peut être coller un compteur et envoyer le raw uniquement tous les X du compteurs (géré par un setoption ou autre) pour envoyer un raw uniquement tt les 10 secondes (environ) par exemple
Super boulot en tout cas, merci à toi d'avoir pris le temps. pour ta contribution ça te dirait que je t'envoi une carte WiFiInfo32 ? j'ai qq proto (et un cruel manque de temps)
De mémoire j'en ai envoyé un à @Seb-H, à moins que ce ne soit pas le meme seb, celui qui fait le zigbee de tasmota c'est pas toi @Seb-H ?
-
@Charles Salut Charles, non tu dois te tromper, c'est pas moi . J'ai pas la prétention de toucher du code comme vous le faites, moi je reste un petit rigolo , mouahhh !! Néanmoins, si tu veux que je teste avec un de tes protos, je suis partant, je te le retourne après test pas de soucis...
-
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 !