Tasmota
-
Ou comment faire un bench de test ultra simple vive l'ESP32 avec ses sérial a gogo
-
@charles Je viens de tester, exactement le même soucis en 9600 baud
En revanche, j'ai testé aussi le 1200 baud. Je dois arriver à lire une des premières trames ( car la page principale comporte bien des indications mias n'est pas raffraichi) etdès que je rentre dans la console
Puis plus rien, et je m'aperçoit que la config sur la pin d7 a été supprimé...
-
@sebh tu peux envoyer une photo de ton montage et de ta carte ESP stp, car le mode historique fonctionne depuis toujours chez moi, après ce peut être un pb d'alim, si elle est pas top ou la qualité du regulateur mauvaise ça part en reset, je te dis ça car je l'ai vu très récemment sur des vieux WifInfo, j'ai mis une vrai alim stable 5V et plus de pb.
-
@charles Voici le hard que j'utilise depuis plus d'un an.
https://forum.jeedom.com/viewtopic.php?t=21758
Je pense pas qu'il s'agit d'un problème hard, car j'ai tasmota en v9.3.1.2 qui tourne avec , 1 actuellement sur un compteur linky en standard et 1 sur un autre compteur ancienne génération en historique et je n'ai aucun soucis avec cette version.
En revanche, j'utilise des wemos d1 mini
-
@sebh ok merci de l'info.
ça plante aussi en mode historique ? Franchement je comprends pas, moi ça n'a jamais déconné sur 4 compteurs différents avec des ESP de différents types.
Désolé, je vais me répéter mais si tu veux que je cherche ce foutu bug, il faut que je puisse le reproduire et il me faudrait une capture de trame du compteur (une vraie binaire avec tous les bon caractères)
elle te donne quoi la commande
status 0
? -
@charles Ca plante direct en mode standard, en mode historique c'est différent, je pense qu'il arrive à capturer des trames et au moins à l'afficher une fois sur le menu principal, c'est par la suite qu'il plante...
Aucun problème pour faire une capture ! Mais comment faire pour raccorder la sortie hard de la téléinfo sur mon ordi ? (en sachant que je n'ai pas de port série dispo sur celui ci ??)
Ton soft de capture, on peut pas lui indiquer directement une adresse IP pour la capture ? Car comme je t'ai dis, ma précédente capture a été faite sous putty (mais je copie et je colle le log a l'écran donc source d'erreur..) en lui indiquant l'adresse IP du wemos , et je lui ai chargé un prog qui fait la laision série (ma source ci joint) SerialBridgePortal.zip
Je regarde ce soir ce que la commande status 0 donne..
-
@sebh tout ce qui affiche dans un terminal putty ou autre est soumis à la translation de caractère type CR CR/LF ou autre
il faut un programme (comme celui de la capture) qui lit en RAW et écrit en RAW
bien sur tu peux passer sur IP mais j'ai ni le prog d'envoi ni de reception, et bien sur faut pas que ca arrive dans une fenetre de terminal pour les raisons ci dessous.
Le mieux est un module téléinfo, USB, ou Serie comme le PiTinfo ou un truc fait à la main. Le port série est has been sur les ordi faut des adaptateurs Serie/USB ca coute rien,
https://fr.aliexpress.com/item/32969691125.html
le pb du WeMos ESP8266 c'est que t'as qu'un serial donc tu peux pas lire la téléinfo et l'afficher sur la serial USB en même temps. la seule option c'est l'envoyer sur TDX1 mais il te faudra un adaptateur USB/Serial pour ton ordi du coup.
C'est pour ca que j'ai passé en ESP32 c'est plus simple pour débugguer je me galèrais à chaque fois
-
@charles J'ai un convertisseur ft232 que j'avais utilisé pour flasher un module secteur SONOFF, ca marche pareil non ?? Suffit de raccorder le TX ou le RX du module sur le hard de décodage de la téléinfo ?? Ca doit fonctionner avec ton soft ?? Concernant ton applicatif ca tourne sous WIN10 ??
-
@sebh yes tu as juste a relier la masse et le TX (sortie après opto) sur le RX de FT232 normalement. Ton adaptateur est 3V3 ou 5V?
Si 5V est que le hard de ta sortie téléinfo est 3V3 ca devrait marcher dans ce sens. Idéalement si il était 3V3 ce serait top car directement compatible. -
@charles Voila c'est fait, capture effectué au bon format avec ton applicatif. Il y a 100 trames de capturé capture_linky.zip Tu me diras si c'est ok pour toi ??
-
@charles Voila c'est fait, capture effectué au bon format avec ton applicatif. Il y a 100 trames de capturé capture_linky.zip Tu me diras si c'est ok pour toi ??
Le fichier me semble parfait, merci
-
Désolé pour le français approximatif, ce n' est pas ma langue maternelle.
J' ai installé un weimos D1(Tasmota)+teleinfo sur mon linky (3 phases + panneau solaire en autoconsommation). Je récupère les infos via MQTT + node red + Influxdb 2 + Grafana.
Le problème c' est que Linky donne beaucoup trop de données pour le message MQTT. Le message MQTT est mal formé est ce termine par ... au lieu de }. En plus de cela, certaines informations ne sont pas transmises. Elles sont tronquées et remplacées par les ... .
Avec Node red j ai réussi a faire un code qui marchait mais voila depuis 3 jours la valeur INSTI a changé de place et n'apparaît plus dans le message MQTT.
Existe il un moyen d'agrandir le nombre de caractères du message MQTT?exemple de message MQTT :
{"Time":"2021-04-23T11:55:03","ENERGY":{"TotalStartTime":"2021-03-02T17:05:35","Total":877.823,"Yesterday":9.525,"Today":5.909,"Period":0,"Power":0,"ApparentPower":940,"ReactivePower":940,"Factor":0.00,"Voltage":235,"Current":4.000,"Load":22,"ADSC":"041976307336","VTIC":2,"NGTF":" BASE ","LTARF":" BASE ","EAST":5456201,"EASF01":5456201,"EASF02":0,"EASF03":0,"EASF04":0,"EASF05":0,"EASF06":0,"EASF07":0,"EASF08":0,"EASF09":0,"EASF10":0,"EASD01":5456201,"EASD02":0,"EASD03":0,"EASD04":0,"EAIT":1046651,"ERQ1":227,"ERQ2":27,"ERQ3":394161,"ERQ4":2454708,"IRMS1":4,"IRMS2":3,"IRMS3":5,"URMS1":235,"URMS2":242,"URMS3":238,"PREF":18,"PCOUP":18,"SINSTS":0,"SINSTS1":974,"SINSTS2":0,"SINSTS3":0,"SMAXSN":3713,"SMAXSN1":4847,"SMAXSN2":656,"SMAXSN3":1714,"SMAXSN-1":3612,"SMAXSN1-1":2299,"SMAXSN2-1":838,"SMAXSN3-1":1240,"SMAXIN":3256,"SMAXIN-1":3574,"CCASN":0,"CCASN-1":0,"CCAIN-1":2446,"UMOY1":233,"UMOY2":239,"UMOY3":235,"STGE":"003A0301","MSG1":"PAS DE MESSAGE ","PRM":2147483647,"RELAIS":0,"NTARF":1,"NJOURF"...
-
@alager2 tu peux utiliser la branche modifiée ici, il y a une blacklist des étiquettes trop longues ça devrait aller mieux
https://github.com/hallard/Tasmota/tree/teleinfo
Pour info la liste actuelle
// Blacklisted label from telemetry // Each label shoud be enclosed by pipe const char kLabelBlacklist[] PROGMEM = "|PJOURF+1" "|MSG1" "|" ;
-
Merci,
question bête, je fais comment pour compiler le firmware? La seule fois ou j' ai fais ca, c'était avec Gitpod en suivant les instructions de Canaletto (https://www.canaletto.fr/post/home-assistant-esp-and-teleinfo). Sur les custom parameters je met quoi?#ifndef USE_TELEINFO #define USE_TELEINFO #endif
-
@alager2 perso j'utilise visual studio code couplé à platform.io.
oui le define à mettre c'est bien USE_TELEINFO
voici mon
platformio_override.ini
pour info avec mes différentes cartes dans ton cas surementtasmota-tic
pour un ESP8266[platformio] [common] platform_packages = ${core.platform_packages} build_unflags = ${core.build_unflags} build_flags = ${core.build_flags} extra_scripts = ${scripts_defaults.extra_scripts} lib_extra_dirs = ${library.lib_extra_dirs} board_build.f_cpu = 160000000L board_build.ldscript = eagle.flash.4m2m.ld ; *** Upload Serial reset method for Wemos and NodeMCU upload_port = /dev/tty.usbserial-14230 upload_speed = 460800 [core] [tasmota_stage] ; *** Esp8266 core for Arduino version Tasmota stage. Backport for PWM selection platform_packages = tasmota/framework-arduinoespressif8266 @ ~2.7.4 build_unflags = ${esp_defaults.build_unflags} build_flags = ${esp82xx_defaults.build_flags} ; *** Use ONE of the two PWM variants. Tasmota default is Locked PWM ;-DWAVEFORM_LOCKED_PHASE -DWAVEFORM_LOCKED_PWM [core_stage] ; *** Esp8266 core for Arduino version stage platform_packages = framework-arduinoespressif8266 @ https://github.com/esp8266/Arduino.git ; *** Use Xtensa build chain 10.2. GNU13 from https://github.com/earlephilhower/esp-quick-toolchain mcspr/toolchain-xtensa @ 5.100200.201223 build_unflags = ${esp_defaults.build_unflags} -Wswitch-unreachable build_flags = ${esp82xx_defaults.build_flags} ; *** Use ONE of the two PWM variants. Tasmota default is Locked PWM ;-DWAVEFORM_LOCKED_PHASE -DWAVEFORM_LOCKED_PWM -Wno-switch-unreachable [common32] extends = env:tasmota32 platform_packages = ${core32.platform_packages} build_unflags = ${core32.build_unflags} build_flags = ${core32.build_flags} lib_extra_dirs = ${library.lib_extra_dirs} lib/libesp32 upload_port = /dev/tty.usbserial-denky_A7A8 monitor_speed = 115200 board = pico32 [core32] [core32_stage] platform_packages = framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git platformio/tool-mklittlefs @ ~1.203.200522 build_unflags = ${esp32_defaults.build_unflags} build_flags = ${esp32_defaults.build_flags} -DESP32_STAGE=true [library] shared_libdeps_dir = lib lib_extra_dirs = lib/lib_basic lib/lib_i2c lib/lib_display lib/lib_ssl lib/lib_audio lib/lib_rf lib/lib_div [env:tasmota-tic] extends = env:tasmota platform_packages = ${common.platform_packages} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DUSE_TELEINFO [env:tasmota-tic-display] extends = env:tasmota platform_packages = ${common.platform_packages} build_unflags = ${common.build_unflags} build_flags = ${common.build_flags} -DUSE_TELEINFO -DUSE_DISPLAY -DSHOW_SPLASH [env:tasmota32-tic] extends = env:tasmota32 platform_packages = ${common32.platform_packages} build_unflags = ${common32.build_unflags} build_flags = ${common32.build_flags} -DUSE_TELEINFO [env:tasmota32-tic-display] extends = env:tasmota32 platform_packages = ${common32.platform_packages} build_unflags = ${common32.build_unflags} build_flags = ${common32.build_flags} -DUSE_TELEINFO -DUSE_DISPLAY -DSHOW_SPLASH [env:tasmota32-remora] extends = env:tasmota32 platform_packages = ${common32.platform_packages} build_unflags = ${common32.build_unflags} build_flags = ${common32.build_flags} -DUSE_TELEINFO -DUSE_DISPLAY -DSHOW_SPLASH -DUSE_MCP230xx -DUSE_MCP230xx_OUTPUT -DUSE_MCP230xx_DISPLAYOUTPUT [env:denkyd4] extends = env:tasmota32 platform_packages = ${common32.platform_packages} build_unflags = ${common32.build_unflags} build_flags = ${common32.build_flags} -DUSE_TELEINFO -DARDUINO_DENKY_PICOV3 ; -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw ; *** EXPERIMENTAL Tasmota version for ESP32 IDF4.4. [env:denkyd4-idf4] extends = env:tasmota32_base platform = https://github.com/Jason2866/platform-espressif32.git#feature/arduino-idf-v4.4 platform_packages = framework-arduinoespressif32 @ https://github.com/Jason2866/esp32-arduino-lib-builder/releases/download/v.2.0.0.pre/framework-arduinoespressif32-master-cf457d412.tar.gz platformio/tool-mklittlefs @ ~1.203.200522 build_unflags = ${esp32_defaults.build_unflags} build_flags = ${esp32_defaults.build_flags} -DUSE_TELEINFO -DARDUINO_DENKY_PICOV3 -DBOARD_HAS_PSRAM -mfix-esp32-psram-cache-issue -mfix-esp32-psram-cache-strategy=memw ;-DESP32_STAGE=true
-
@charles Bonjour Charles, je voulais savoir si tu avais pu tester mon fichier de capture ?? Quelqu'un ici a t il pu tester ta version sur un Wemos D1 Mini car chez moi j'avais des soucis de plantage peut être à ma compilation qui est faite encore sous Arduino IDE ? Merci d'avance pour le retour.
-
@charles merci,
cela dépasse mes compétences. Je vais devoir trouver un tutoriel pour comprendre comment platform.io marche.
-
@alager2 Le lien n'est pas bon, c'est plutôt https://platformio.org/ ^^
-
@charles merci,
cela dépasse mes compétences. Je vais devoir trouver un tutoriel pour comprendre comment platform.io marche.
tu peux déjà regarder comment compiler tasmota sur le tuto dédié ça te permet de ne pas forcément entrer dans les entrailles de platform.io
https://tasmota.github.io/docs/Compile-your-build/ -
@charles Bonjour Charles, je voulais savoir si tu avais pu tester mon fichier de capture ?? Quelqu'un ici a t il pu tester ta version sur un Wemos D1 Mini car chez moi j'avais des soucis de plantage peut être à ma compilation qui est faite encore sous Arduino IDE ? Merci d'avance pour le retour.
@Seb-H C'est bon, c'est corrigé tout devrait fonctionner maintenant, merci @Barbu-Dor pour le coup de main.
La PR n'est pas encore mergée mais tu peux l'essayer et me dire si ok pour toi.
Attention le format d'envoi MQTT a changé, tout est dans un objet JSON nommé TIC