Community Forum
    • Blog
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Tasmota

    Scheduled Pinned Locked Moved Téléinfo
    525 Posts 31 Posters 180.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • SebHS Offline
      SebH @Charles
      last edited by

      @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 ??

      CharlesC 1 Reply Last reply Reply Quote
      • CharlesC Offline
        Charles @SebH
        last edited by

        @sebh said in Tasmota:

        @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 🙂

        SebHS 1 Reply Last reply Reply Quote
        • A Offline
          Alager2
          last edited by

          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"...
          
          CharlesC 1 Reply Last reply Reply Quote
          • CharlesC Offline
            Charles @Alager2
            last edited by

            @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"
                "|"
                ;
            
            A 1 Reply Last reply Reply Quote
            • A Offline
              Alager2 @Charles
              last edited by

              @charles

              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  
              
              CharlesC 1 Reply Last reply Reply Quote
              • CharlesC Offline
                Charles @Alager2
                last edited by Charles

                @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 surement tasmota-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
                
                A 1 Reply Last reply Reply Quote
                • SebHS Offline
                  SebH @Charles
                  last edited by

                  @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.

                  CharlesC 1 Reply Last reply Reply Quote
                  • A Offline
                    Alager2 @Charles
                    last edited by

                    @charles merci,

                    cela dépasse mes compétences. Je vais devoir trouver un tutoriel pour comprendre comment platform.io marche.

                    tmsT CharlesC 2 Replies Last reply Reply Quote
                    • tmsT Offline
                      tms @Alager2
                      last edited by

                      @alager2 Le lien n'est pas bon, c'est plutôt https://platformio.org/ ^^

                      1 Reply Last reply Reply Quote
                      • CharlesC Offline
                        Charles @Alager2
                        last edited by

                        @alager2 said in Tasmota:

                        @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/

                        1 Reply Last reply Reply Quote
                        • CharlesC Offline
                          Charles @SebH
                          last edited by

                          @sebh said in Tasmota:

                          @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

                          SebHS 1 Reply Last reply Reply Quote
                          • SebHS Offline
                            SebH @Charles
                            last edited by

                            @charles said in Tasmota:

                            @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

                            Super, je teste ça dans la soirée. Pour ma part, je m'en fiche des messages MQTT, c'est les messages via domoticz qui m’intéresse.

                            CharlesC 1 Reply Last reply Reply Quote
                            • CharlesC Offline
                              Charles @SebH
                              last edited by

                              @sebh said in Tasmota:

                              @charles said in Tasmota:

                              @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

                              Super, je teste ça dans la soirée. Pour ma part, je m'en fiche des messages MQTT, c'est les messages via domoticz qui m’intéresse.

                              Ca a été mergé sur la branche officiel developpement de tasmota 🙂

                              SebHS 1 Reply Last reply Reply Quote
                              • SebHS Offline
                                SebH @Charles
                                last edited by SebH

                                @charles

                                Bravo ca fonctionne sur wemos !! En revanche, il reste toujours un petit soucis concernant la gestion du compteur total . J'ai activé le setoption72 , et automatiquement il met à jour le compteur total de tasmota mais prend en référence l'EAST (qui est le compteur total regroupé de tout les compteur du linky). Il faudrait prendre dans le cas d'un contrat de BASE l'EASF01.
                                Maintenant peut être que cela est différent chez les autres utilisateurs... Il faudrait peut être laisser le choix à chaque utilisateur de l'EASF0x à prendre comme synchro pour le compteur total ?? Je sais pas ce qu'il y a de plus simple...
                                En revanche, le tarif HP/HC ne me concerne plus mais comment se débrouille tasmota pour envoyer la double tarification sur domoticz (vu qu'il le gère nativement..) ??
                                5d6e513c-8f73-43bd-ac4e-e5a646d150fe-image.png

                                1 Reply Last reply Reply Quote
                                • L Offline
                                  lebphi
                                  last edited by

                                  bonjour

                                  je viens juste de mettre en œuvre un tasmota teleinfo wemos sur un ancien compteur edf en mode historique pour remonter les infos dans jeedom.

                                  Dans jeedom j'ai créé un scénario qui lit toutes les minutes le module tasmota et qui met à jour les valeurs qui lui sont associées dans jeedom (indices, poqer et etat de la connection avec tasmota).

                                  L'interrogation du module wemos se fait via file_get_contents en php.

                                  Au bout d'un certain temps (une heure environ) le file_get_contents retourne une chaine vide.
                                  Et si je fais la meme requete dans un navigateur la page retournée par tasmota est bonne !

                                  {"StatusSNS":{"Time":"2021-05-08T07:52:30","ENERGY":{"TotalStartTime":"2021-05-07T13:56:20","Total":3289.434,"Yesterday":23941.357,"Today":22297.748,"Power":[1140,0,0],"Current":[2.000,2.000,1.000],"Load":6,"ADCO":"050426021895","OPTARIF":"HC..","ISOUSC":30,"HCHC":292497726,"HCHP":22297575,"PTEC":"HP..","IINST1":2,"IINST2":2,"IINST3":1,"IMAX1":42,"IMAX2":31,"IMAX3":33,"PMAX":14720,"PAPP":1140,"HHPHC":"A","MOTDETAT":0,"PPOT":0}}}

                                  Enfin si je reboote le tasmota tout rentre dans l'ordre donc j'aurais tendance à mettre en cause ce dernier mais je n'arrive pas a cerner le problème.

                                  J'ai essayé en remplacant file_get_contents par curl et j'ai le meme problème.

                                  En résumé ca marche toujours avec le navigateur, ca marche avec le file_get_contents un moment puis ca ne marche plus et si je reboote le wemos tout rentre dans l'ordre.

                                  Une idée ?

                                  merci d'avance

                                  Ci-dessous le code complet pour info

                                  // lecture des donnees sur tasmota teleinfo solaire
                                  // ip du wemos http://192.168.68.123/
                                  $api = "http://192.168.68.123/cm?cmnd=status 10";

                                  ini_set('default_socket_timeout', 10); // timeout pour commande get
                                  $json = file_get_contents($api, true);
                                  $scenario->setlog( 'json > ' . $json);

                                  $enligne=1;
                                  if($json === false) {
                                  $scenario->setlog("probleme ");
                                  $enligne=0;

                                  } else {

                                  // Step 2: Decodage du JSON et recuperation des infos souhaitees
                                  $jsonData = json_decode($json,true);

                                  // recup power et indices
                                  $power=$jsonData["StatusSNS"]["ENERGY"]["Power"]["0"];
                                  $indhc=$jsonData["StatusSNS"]["ENERGY"]["HCHC"];
                                  $indhp=$jsonData["StatusSNS"]["ENERGY"]["HCHP"];

                                  // log des donnees
                                  //$scenario->setlog($power . ' / ' . $indhc . ' / ' . $indhp);

                                  // mise a jour du virtuel correspondant
                                  $poweractuel = cmd::byString('#[electricite][teleinfo solaire][power]#')->execCmd();
                                  if ($poweractuel != $power) {
                                  cmd::byString('#[electricite][teleinfo solaire][power]#')->event($power);
                                  $scenario->setlog('power ' . $poweractuel . ' > ' . $power);
                                  }

                                  $indhcractuel = cmd::byString('#[electricite][teleinfo solaire][ind hc]#')->execCmd();
                                  if ($indhcractuel != $indhc) {
                                  cmd::byString('#[electricite][teleinfo solaire][ind hc]#')->event($indhc);
                                  $scenario->setlog('ind hc ' . $indhcractuel . ' > ' . $indhc);
                                  }

                                  $indhpactuel = cmd::byString('#[electricite][teleinfo solaire][ind hp]#')->execCmd();
                                  if ($indhpactuel != $indhp) {
                                  cmd::byString('#[electricite][teleinfo solaire][ind hp]#')->event($indhp);
                                  $scenario->setlog('ind hp ' . $indhpactuel . ' > ' . $indhp);
                                  }
                                  }

                                  // recup etat connection actuelle
                                  $enligneactuel = cmd::byString('#[electricite][teleinfo solaire][enligne]#')->execCmd();
                                  if ($enligneactuel != $enligne) {
                                  $scenario->setlog('en ligne ' . $enligneactuel . ' > ' . $enligne);
                                  log::add("alertes","ALERT", 'Etat teleinfo solaire = ' . $enligne);
                                  cmd::byString('#[electricite][teleinfo solaire][enligne]#')->event($enligne);
                                  }

                                  1 Reply Last reply Reply Quote
                                  • Barbu DorB Offline
                                    Barbu Dor
                                    last edited by

                                    Bonjour @lebphi

                                    Tasmota est avant tout fait pour fonctionner en MQTT. L'API http peut permettre de passer des commandes de temps en temps mais poller continuellement l'état des senseurs par http soumet Tasmota a du stress.
                                    Par exemple, l'appli TasmoAdmin qui permet de surveiller un ensemble de Tasmota fonctionne par http et elle est connue pour mettre à mal Tasmota. Elle est fortement déconseillée.
                                    Donc il est fort possible qu'une fuite mémoire finesse par casser quelque chose.

                                    Je vais jeter un coup d'oeil pour voir si j'arrive a reproduire mais pas sur que ca soit facile a régler.

                                    Si tu ne veux absolument pas passer à MQTT, qui est aujourd'hui "LE" standard en domotique, tu peux essayer de fonctionner à l'inverse avec un règle pour publier vers jeedom avec un WebSend. Certaines personnes font cela avec emoncms.
                                    Par exemple: https://github.com/arendst/Tasmota/discussions/11101#discussioncomment-651394

                                    SebHS CharlesC 2 Replies Last reply Reply Quote
                                    • SebHS Offline
                                      SebH @Barbu Dor
                                      last edited by

                                      @barbu-dor said in Tasmota:

                                      Tasmota est avant tout fait pour fonctionner en MQTT.

                                      Et aussi avec entrée/sortie MQTT vers Domoticz . Je suis passé la dessus spécialement pour ça. Ca fonctionne bien sauf qu'il reste toujours le petit soucis de synchro du compteur total tasmota à faire avec le bon index de la téléinfo pour la version linky standard . Et je pense qu'il doit aussi avoir l'envoie HP/HC sur domoticz qui ne doit pas fonctionner correctement..

                                      1 Reply Last reply Reply Quote
                                      • L Offline
                                        lebphi
                                        last edited by

                                        Merci de vos réponses.

                                        En fait j'avais commencé par MQTT mais j'ai galéré avec les 2 plugins jeedom MQTT qui m'ont fait n'importe quoi notamment en dupliquant x fois des commandes MQTT venant de tasmota. Ca devenait ingérable du coup j'ai essayé autrement.
                                        Vu ce que vous me dites je vais ressayer MQTT mais sans les plugins, en passant par un programme python ou php independant de jeedom.

                                        L 1 Reply Last reply Reply Quote
                                        • L Offline
                                          lebphi @lebphi
                                          last edited by

                                          @lebphi Je viens de reactiver MQTT. Tout fonctionne correctement par contre la aussi il y a au bout d'un moment un plantage de tasmoto qui decroche de maqtt et n'arrive plus a se reconnecter. Si je fais un restart tout refonctionne.

                                          D'ou peut venir le probleme ? Ca servirait a quelque chose de refaire une install complete de tasmota ?

                                          Barbu DorB 1 Reply Last reply Reply Quote
                                          • Barbu DorB Offline
                                            Barbu Dor @lebphi
                                            last edited by Barbu Dor

                                            @lebphi Peut être un pb de fiabilité du hard alors ?
                                            Essaye d'effacer et reflasher le D1
                                            As tu une bonne alim ?
                                            C'est un lolin original ou un clone ?
                                            Rien d'autre que l'interface teleinfo dessus ?

                                            Qu'as tu comme messages dans la console quand ca décroche ?

                                            1 Reply Last reply Reply Quote
                                            • First post
                                              Last post

                                            4

                                            Online

                                            5.7k

                                            Users

                                            534

                                            Topics

                                            5.0k

                                            Posts

                                            Top Topics

                                            • Denky 4 - Domoticz - Triphasé -
                                              Nicolas BernaertsN
                                              Nicolas Bernaerts
                                              0
                                              7
                                              259

                                            • Denky D4 et Linky Standard TInfo Rx Non Configuré
                                              CharlesC
                                              Charles
                                              0
                                              5
                                              285

                                            Popular Tags

                                            teleinfo
                                            24 topics
                                            arduino
                                            19 topics
                                            remora
                                            16 topics
                                            esp8266
                                            10 topics
                                            arduipi
                                            10 topics
                                            wifinfo
                                            7 topics
                                            raspberry
                                            7 topics
                                            broadcast
                                            7 topics
                                            Copyright © 2022 Charles-Henri Hallard | Return to blog page | Powered by NodeBB