Skip to content
  • Blog
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Community Forum

  1. Home
  2. Categories
  3. Téléinfo
  4. Téléinfo
  5. Tasmota

Tasmota

Scheduled Pinned Locked Moved Téléinfo
525 Posts 31 Posters 476.3k Views 14 Watching
  • 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.
  • CharlesC Charles

    @Obi_Yoann en CDC ya pas de baudrate en fait il s'en fout peut importe celui que tu choisis ça fonctionne.
    Fais gaffe certains terminaux séries contrôlent les ligne DTR/CTS et parfois ça met le S2 en mode download et le firmware démarre jamais (c'est du vécu)

    Barbu DorB Offline
    Barbu DorB Offline
    Barbu Dor
    wrote on last edited by
    #339

    @Charles
    J'ai des pbs avec Termite sous windows, je peux envoyer des commandes mais je ne reçoit rien
    Avec le terminal intégré au tasmota web-installer ca marche bien
    Pas eu le temps de tester d'autres terminaux pour l'instant

    CharlesC 1 Reply Last reply
    • Barbu DorB Barbu Dor

      @Charles
      J'ai des pbs avec Termite sous windows, je peux envoyer des commandes mais je ne reçoit rien
      Avec le terminal intégré au tasmota web-installer ca marche bien
      Pas eu le temps de tester d'autres terminaux pour l'instant

      CharlesC Offline
      CharlesC Offline
      Charles
      wrote on last edited by
      #340

      @Barbu-Dor j’ai jamais trouvé de terminal idéal sous Windows depuis qq décennies 😜
      Sous Mac j’ai trouvé mon bonheur avec Serial

      1 Reply Last reply
      • CharlesC Charles

        @Obi_Yoann il est pas beau le nouveau Denky D4
        8Mb de Flash
        2Mb de PSRAM
        USB-C
        Mini WS2812 RGB
        QWIIC Connecteur
        USB/SERIAL on board
        Antenne performante

        e443b23d-431a-440d-9fc3-93878f9726ec-image.png

        Avec ça aucun pb de comm/USB et Berry a de la ressource 🙂

        O Offline
        O Offline
        Obi_Yoann
        wrote on last edited by Obi_Yoann
        #341

        @Charles
        b915b2f1-c0b2-4b94-b555-a5597908f935-image.png
        la CB est prête!!!! Blague à part ça serait pour quand cette pépite? Pas de connecteur pour un SSD1306? 😅

        Pour revenir sur le sujet export des données vers emoncms via le script berry, ce matin il retournait à nouveau des erreurs 400 lors du GET, avec des balises plus ou moins foireuses qui sont arrivées dans le emoncms, genre des concaténation d'étiquettes :
        e0e34343-6cd1-4496-9ead-03ddf21ddc25-image.png
        Mais aussi et surtout des chaines très longues qui ne passaient pas dans le GET (je n'ai pas fais de capture d'écran, après un reboot du tasmota c'était revenu à la normale).
        Je voulais éviter ça mais avec le TIC qui est quand même pas mal normé par ENEDIS (par ex ici), j'ai finis par faire une nouvelle map, en reprenant les entrée du tic et en recopiant si présent en sortie. Comme ça en sortie vers le emoncms je n'ai que des balises "attendues" et on peut, si besoin, ne garder que celles qui nous intéressent (il suffit de commenter le bloc de recopie de la balise concernée). Je n'ai pas contrôlé s'il manque des balises par rapport à la spec, j'ai juste pris toutes les balises présentes en sortie de mon linky et fais quelques macro dessus via notepad++...
        A voir si c'est stable sur quelques heures...

        import json
        
        var api_url = "http://emoncms.mondomaine.local/input/post"
        var api_key = "XXX"
        var node_name = "linky"
        
        def setcolor(iinst, isousc)
          var red = tasmota.scale_uint(iinst, 0, isousc, 0, 255)
          var green = 255 - red
          var channels = [red, green, 0]
          light.set({"channels":channels, "bri":64, "power":true})
        end
        
        def rule_tic(value, trigger)
          # Calculate current percent Load 
          var iinst = value['SINSTS']
          var isousc= value['PREF'] * 1000
          if iinst != nil && isousc != nil 
            # Drive RGB LED
            setcolor(iinst, isousc)
            if isousc > 0
              load = 100 * iinst / isousc
              value['LOAD'] = load
            end
          end
          var output = {}
          if value['ADSC'] != nil
            output['ADSC'] = value['ADSC']
          end
          if value['CCASN'] != nil
            output['CCASN'] = value['CCASN']
          end
          if value['CCASN-1'] != nil
            output['CCASN-1'] = value['CCASN-1']
          end
          if value['EASD01'] != nil
            output['EASD01'] = value['EASD01']
          end
          if value['EASD02'] != nil
            output['EASD02'] = value['EASD02']
          end
          if value['EASD03'] != nil
            output['EASD03'] = value['EASD03']
          end
          if value['EASD04'] != nil
            output['EASD04'] = value['EASD04']
          end
          if value['EASF01'] != nil
            output['EASF01'] = value['EASF01']
          end
          if value['EASF02'] != nil
            output['EASF02'] = value['EASF02']
          end
          if value['EASF03'] != nil
            output['EASF03'] = value['EASF03']
          end
          if value['EASF04'] != nil
            output['EASF04'] = value['EASF04']
          end
          if value['EASF05'] != nil
            output['EASF05'] = value['EASF05']
          end
          if value['EASF06'] != nil
            output['EASF06'] = value['EASF06']
          end
          if value['EASF07'] != nil
            output['EASF07'] = value['EASF07']
          end
          if value['EASF08'] != nil
            output['EASF08'] = value['EASF08']
          end
          if value['EASF09'] != nil
            output['EASF09'] = value['EASF09']
          end
          if value['EASF10'] != nil
            output['EASF10'] = value['EASF10']
          end
          if value['EAST'] != nil
            output['EAST'] = value['EAST']
          end
          if value['IRMS1'] != nil
            output['IRMS1'] = value['IRMS1']
          end
          if value['LOAD'] != nil
            output['LOAD'] = value['LOAD']
          end
          if value['LTARF'] != nil
        #    output['LTARF'] = value['LTARF']
            output['LTARF'] = "BASE"
          end
          if value['NGTF'] != nil
        #    output['NGTF'] = value['NGTF']
            output['NGTF'] = "BASE"
          end
          if value['NJOURF'] != nil
            output['NJOURF'] = value['NJOURF']
          end
          if value['NJOURF+1'] != nil
            output['NJOURF+1'] = value['NJOURF+1']
          end
          if value['NTARF'] != nil
            output['NTARF'] = value['NTARF']
          end
          if value['PCOUP'] != nil
            output['PCOUP'] = value['PCOUP']
          end
          if value['PREF'] != nil
            output['PREF'] = value['PREF']
          end
          if value['PRM'] != nil
            output['PRM'] = value['PRM']
          end
          if value['RELAIS'] != nil
            output['RELAIS'] = value['RELAIS']
          end
          if value['SINSTS'] != nil
            output['SINSTS'] = value['SINSTS']
          end
          if value['SMAXSN'] != nil
            output['SMAXSN'] = value['SMAXSN']
          end
          if value['SMAXSN-1'] != nil
            output['SMAXSN-1'] = value['SMAXSN-1']
          end
          if value['STGE'] != nil
            output['STGE'] = value['STGE']
          end
          if value['UMOY1'] != nil
            output['UMOY1'] = value['UMOY1']
          end
          if value['URMS1'] != nil
            output['URMS1'] = value['URMS1']
          end
          if value['VTIC'] != nil
            output['VTIC'] = value['VTIC']
          end
        
          # Convert map to json
          var obj_json = json.dump(output)
          # Create URL to call
          var param="?fulljson="+obj_json + "&node="+node_name + "&apikey="+api_key 
          # Post Data to EMONCMS
          var cl = webclient()
          cl.begin( api_url + param)
          var r =  cl.GET()
          print(r, load, param) 
        end
        
        # Callback on each MQTT interception
        tasmota.add_rule("TIC",rule_tic)
        
        
        CharlesC 1 Reply Last reply
        • O Obi_Yoann

          @Charles
          b915b2f1-c0b2-4b94-b555-a5597908f935-image.png
          la CB est prête!!!! Blague à part ça serait pour quand cette pépite? Pas de connecteur pour un SSD1306? 😅

          Pour revenir sur le sujet export des données vers emoncms via le script berry, ce matin il retournait à nouveau des erreurs 400 lors du GET, avec des balises plus ou moins foireuses qui sont arrivées dans le emoncms, genre des concaténation d'étiquettes :
          e0e34343-6cd1-4496-9ead-03ddf21ddc25-image.png
          Mais aussi et surtout des chaines très longues qui ne passaient pas dans le GET (je n'ai pas fais de capture d'écran, après un reboot du tasmota c'était revenu à la normale).
          Je voulais éviter ça mais avec le TIC qui est quand même pas mal normé par ENEDIS (par ex ici), j'ai finis par faire une nouvelle map, en reprenant les entrée du tic et en recopiant si présent en sortie. Comme ça en sortie vers le emoncms je n'ai que des balises "attendues" et on peut, si besoin, ne garder que celles qui nous intéressent (il suffit de commenter le bloc de recopie de la balise concernée). Je n'ai pas contrôlé s'il manque des balises par rapport à la spec, j'ai juste pris toutes les balises présentes en sortie de mon linky et fais quelques macro dessus via notepad++...
          A voir si c'est stable sur quelques heures...

          import json
          
          var api_url = "http://emoncms.mondomaine.local/input/post"
          var api_key = "XXX"
          var node_name = "linky"
          
          def setcolor(iinst, isousc)
            var red = tasmota.scale_uint(iinst, 0, isousc, 0, 255)
            var green = 255 - red
            var channels = [red, green, 0]
            light.set({"channels":channels, "bri":64, "power":true})
          end
          
          def rule_tic(value, trigger)
            # Calculate current percent Load 
            var iinst = value['SINSTS']
            var isousc= value['PREF'] * 1000
            if iinst != nil && isousc != nil 
              # Drive RGB LED
              setcolor(iinst, isousc)
              if isousc > 0
                load = 100 * iinst / isousc
                value['LOAD'] = load
              end
            end
            var output = {}
            if value['ADSC'] != nil
              output['ADSC'] = value['ADSC']
            end
            if value['CCASN'] != nil
              output['CCASN'] = value['CCASN']
            end
            if value['CCASN-1'] != nil
              output['CCASN-1'] = value['CCASN-1']
            end
            if value['EASD01'] != nil
              output['EASD01'] = value['EASD01']
            end
            if value['EASD02'] != nil
              output['EASD02'] = value['EASD02']
            end
            if value['EASD03'] != nil
              output['EASD03'] = value['EASD03']
            end
            if value['EASD04'] != nil
              output['EASD04'] = value['EASD04']
            end
            if value['EASF01'] != nil
              output['EASF01'] = value['EASF01']
            end
            if value['EASF02'] != nil
              output['EASF02'] = value['EASF02']
            end
            if value['EASF03'] != nil
              output['EASF03'] = value['EASF03']
            end
            if value['EASF04'] != nil
              output['EASF04'] = value['EASF04']
            end
            if value['EASF05'] != nil
              output['EASF05'] = value['EASF05']
            end
            if value['EASF06'] != nil
              output['EASF06'] = value['EASF06']
            end
            if value['EASF07'] != nil
              output['EASF07'] = value['EASF07']
            end
            if value['EASF08'] != nil
              output['EASF08'] = value['EASF08']
            end
            if value['EASF09'] != nil
              output['EASF09'] = value['EASF09']
            end
            if value['EASF10'] != nil
              output['EASF10'] = value['EASF10']
            end
            if value['EAST'] != nil
              output['EAST'] = value['EAST']
            end
            if value['IRMS1'] != nil
              output['IRMS1'] = value['IRMS1']
            end
            if value['LOAD'] != nil
              output['LOAD'] = value['LOAD']
            end
            if value['LTARF'] != nil
          #    output['LTARF'] = value['LTARF']
              output['LTARF'] = "BASE"
            end
            if value['NGTF'] != nil
          #    output['NGTF'] = value['NGTF']
              output['NGTF'] = "BASE"
            end
            if value['NJOURF'] != nil
              output['NJOURF'] = value['NJOURF']
            end
            if value['NJOURF+1'] != nil
              output['NJOURF+1'] = value['NJOURF+1']
            end
            if value['NTARF'] != nil
              output['NTARF'] = value['NTARF']
            end
            if value['PCOUP'] != nil
              output['PCOUP'] = value['PCOUP']
            end
            if value['PREF'] != nil
              output['PREF'] = value['PREF']
            end
            if value['PRM'] != nil
              output['PRM'] = value['PRM']
            end
            if value['RELAIS'] != nil
              output['RELAIS'] = value['RELAIS']
            end
            if value['SINSTS'] != nil
              output['SINSTS'] = value['SINSTS']
            end
            if value['SMAXSN'] != nil
              output['SMAXSN'] = value['SMAXSN']
            end
            if value['SMAXSN-1'] != nil
              output['SMAXSN-1'] = value['SMAXSN-1']
            end
            if value['STGE'] != nil
              output['STGE'] = value['STGE']
            end
            if value['UMOY1'] != nil
              output['UMOY1'] = value['UMOY1']
            end
            if value['URMS1'] != nil
              output['URMS1'] = value['URMS1']
            end
            if value['VTIC'] != nil
              output['VTIC'] = value['VTIC']
            end
          
            # Convert map to json
            var obj_json = json.dump(output)
            # Create URL to call
            var param="?fulljson="+obj_json + "&node="+node_name + "&apikey="+api_key 
            # Post Data to EMONCMS
            var cl = webclient()
            cl.begin( api_url + param)
            var r =  cl.GET()
            print(r, load, param) 
          end
          
          # Callback on each MQTT interception
          tasmota.add_rule("TIC",rule_tic)
          
          
          CharlesC Offline
          CharlesC Offline
          Charles
          wrote on last edited by
          #342

          @Obi_Yoann si il y a le connecteur QWIIC avec tous les cables existants tu trouveras ton bonheur exemple. J'ai qq protos si ça t'intéressse, passe en MP.

          Pour les étiquettes je fais la même je trie et envoie que celle qui m'intéressent, tout l'avantage du berry, pas de firmware à compiler pour des petits traitements de ce type

          1 Reply Last reply
          • Barbu DorB Offline
            Barbu DorB Offline
            Barbu Dor
            wrote on last edited by
            #343

            @Obi_Yoann QWIIC est un connecteur I2C/IIC standardisé par Sparkfun mais rien n'oblige à utiliser des modules Sparkfun avec

            https://www.sparkfun.com/qwiic

            CharlesC 1 Reply Last reply
            • Barbu DorB Barbu Dor

              @Obi_Yoann QWIIC est un connecteur I2C/IIC standardisé par Sparkfun mais rien n'oblige à utiliser des modules Sparkfun avec

              https://www.sparkfun.com/qwiic

              CharlesC Offline
              CharlesC Offline
              Charles
              wrote on last edited by Charles
              #344

              @Barbu-Dor et même les modules Adafruit au format Stemma QT (c'est le même que le QWIIC), pour une fois que 2 concurrents se mettent d'accord sur le format ça aide 🙂
              https://learn.adafruit.com/introducing-adafruit-stemma-qt/what-is-stemma-qt

              Tous les modules sensors adafruit et sparkfun ont tendance à utiliser ce format maintenant et en plus ils sont chainables de par leur design

              1 Reply Last reply
              • O Offline
                O Offline
                Obi_Yoann
                wrote on last edited by Obi_Yoann
                #345

                Bonjour à tous! j'ai un soucis récurrent sur mon compteur, et je n'arrive pas à trouver de solution.
                J'ai des erreurs checksum en pagaille, et le passage du hat wemos teleinfo avec esp32s2 au fameux Denky D4 1.1 de @Charles n'a hélas pas fait évoluer positivement ce soucis, au contraire j'ai même l'impression que c'est encore pire :
                ead8178b-b203-4f18-8952-548c1abca19c-image.png
                Je suis en TIC Standard et non historique, et j'ai du coup des trames TIC incomplètes (des balises manquantes notamment), que je n'avais pas avec le wemos teleinfo classique.
                En terme de stabilité je dois toujours redémarrer l'esp32 relativement régulièrement (toutes les semaines environ) sans quoi il n'arrive plus à analyser les trames pour les rebalancer vers emoncms.
                Ces erreurs checksums m'embêtent et je pense qu'il faut que je trouve pourquoi ça fait ça.
                Je me demande s'il n'y aurait pas une incompatibilité entre mon compteur et le teleinfo.
                Suite à une suggestion de @Charles j'ai refait mes fils, en étamant des deux côtés pour que ça tienne bien, c'est le cas mais pas d'évolution sur les checksum.
                Est-ce qu'il faudrait que je change une résistance pour améliorer la compatibilité? Si oui laquelle et pour quelle valeur???
                Est-ce que d'autres personnes utilisent le tasmota teleinfo avec un compteur linky en mode Standard? Pas de soucis de checksum pour vous?

                CharlesC 2 Replies Last reply
                • O Obi_Yoann

                  Bonjour à tous! j'ai un soucis récurrent sur mon compteur, et je n'arrive pas à trouver de solution.
                  J'ai des erreurs checksum en pagaille, et le passage du hat wemos teleinfo avec esp32s2 au fameux Denky D4 1.1 de @Charles n'a hélas pas fait évoluer positivement ce soucis, au contraire j'ai même l'impression que c'est encore pire :
                  ead8178b-b203-4f18-8952-548c1abca19c-image.png
                  Je suis en TIC Standard et non historique, et j'ai du coup des trames TIC incomplètes (des balises manquantes notamment), que je n'avais pas avec le wemos teleinfo classique.
                  En terme de stabilité je dois toujours redémarrer l'esp32 relativement régulièrement (toutes les semaines environ) sans quoi il n'arrive plus à analyser les trames pour les rebalancer vers emoncms.
                  Ces erreurs checksums m'embêtent et je pense qu'il faut que je trouve pourquoi ça fait ça.
                  Je me demande s'il n'y aurait pas une incompatibilité entre mon compteur et le teleinfo.
                  Suite à une suggestion de @Charles j'ai refait mes fils, en étamant des deux côtés pour que ça tienne bien, c'est le cas mais pas d'évolution sur les checksum.
                  Est-ce qu'il faudrait que je change une résistance pour améliorer la compatibilité? Si oui laquelle et pour quelle valeur???
                  Est-ce que d'autres personnes utilisent le tasmota teleinfo avec un compteur linky en mode Standard? Pas de soucis de checksum pour vous?

                  CharlesC Offline
                  CharlesC Offline
                  Charles
                  wrote on last edited by
                  #346

                  @Obi_Yoann j'attends qu'ils me passent mon linky en mode standard et je fais des tests chez moi, quand ils sont venus installer le linky impossible qu'ils veuillent me le mettre en mode standard

                  O 1 Reply Last reply
                  • CharlesC Charles

                    @Obi_Yoann j'attends qu'ils me passent mon linky en mode standard et je fais des tests chez moi, quand ils sont venus installer le linky impossible qu'ils veuillent me le mettre en mode standard

                    O Offline
                    O Offline
                    Obi_Yoann
                    wrote on last edited by
                    #347

                    @Charles
                    Hello!
                    J'ai à nouveau mon tasmota en rad depuis 20h apparemment, plus de remontée dans emoncms.
                    En console j'ai ça :
                    93d1e677-d2f6-469b-b8ff-b1a2e42d3bd1-image.png
                    Je pense que les buffer overflows sont ce qui me pose soucis là par rapport à la remontée et le script berry (qui ne tourne plus), probablement parce que je n'ai pas un super décodage/de mauvaises trames dans mon cas.
                    Je précise, mon père est lui aussi équipé d'un Denky D4 tout frais et énormément moins de soucis pour lui! il a une erreur checksum toutes les 10s alors que moi c'est des dizaines par secondes... Donc clairement je penche pour un soucis de compatibilité avec mon modèle de compteur.
                    Mon linky est un ITRON ITE411L3H a priori, type 61 (monophasé, 60 A, généralisation, génération CPL G3)
                    Je trouve très très peu d'info sur ce compteur et des éventuels problèmes sur sa sortie teleinfo. Globalement le dongle USB n'avait pas fonctionné du tout pour moi avec ce compteur, le HAT wemos teleinfo et le Denky D4 fonctionnent un peu mais avec des corruptions et instabilité.

                    CharlesC 1 Reply Last reply
                    • O Obi_Yoann

                      @Charles
                      Hello!
                      J'ai à nouveau mon tasmota en rad depuis 20h apparemment, plus de remontée dans emoncms.
                      En console j'ai ça :
                      93d1e677-d2f6-469b-b8ff-b1a2e42d3bd1-image.png
                      Je pense que les buffer overflows sont ce qui me pose soucis là par rapport à la remontée et le script berry (qui ne tourne plus), probablement parce que je n'ai pas un super décodage/de mauvaises trames dans mon cas.
                      Je précise, mon père est lui aussi équipé d'un Denky D4 tout frais et énormément moins de soucis pour lui! il a une erreur checksum toutes les 10s alors que moi c'est des dizaines par secondes... Donc clairement je penche pour un soucis de compatibilité avec mon modèle de compteur.
                      Mon linky est un ITRON ITE411L3H a priori, type 61 (monophasé, 60 A, généralisation, génération CPL G3)
                      Je trouve très très peu d'info sur ce compteur et des éventuels problèmes sur sa sortie teleinfo. Globalement le dongle USB n'avait pas fonctionné du tout pour moi avec ce compteur, le HAT wemos teleinfo et le Denky D4 fonctionnent un peu mais avec des corruptions et instabilité.

                      CharlesC Offline
                      CharlesC Offline
                      Charles
                      wrote on last edited by Charles
                      #348

                      @Obi_Yoann peux tu essayer de flasher ton denky avec le soft d'exemple de base du denky D4 téléinfo et voir ce qui arrive dans la console Série ?

                      @Barbu-Dor c'est toi de mémoire qui avait ajouté le mode standard dans tamota non ?
                      Tu sais si il y a eu des modifs au niveau de la sérial, visiblement 2 users ont des gros soucis de checksum depuis le passage en mode standard avec des buffer overflow, je cherche une piste des fois qu'il y aurai eu des modif coté driver serial.
                      Merci à toi

                      O 1 Reply Last reply
                      • CharlesC Charles

                        @Obi_Yoann peux tu essayer de flasher ton denky avec le soft d'exemple de base du denky D4 téléinfo et voir ce qui arrive dans la console Série ?

                        @Barbu-Dor c'est toi de mémoire qui avait ajouté le mode standard dans tamota non ?
                        Tu sais si il y a eu des modifs au niveau de la sérial, visiblement 2 users ont des gros soucis de checksum depuis le passage en mode standard avec des buffer overflow, je cherche une piste des fois qu'il y aurai eu des modif coté driver serial.
                        Merci à toi

                        O Offline
                        O Offline
                        Obi_Yoann
                        wrote on last edited by
                        #349

                        @Charles pas de soucis pour moi, mais aurais-tu un binaire pour pouvoir reflasher le denky après en tasmota? j'ai pas réussi (ni trop tenté en fait) de recompiler tasmota pour lui n'ayant pas la cible... 😅
                        Comme board tu utilises esp32_8M c'est ça?
                        Merci de ton aide!

                        CharlesC 1 Reply Last reply
                        • O Obi_Yoann

                          @Charles pas de soucis pour moi, mais aurais-tu un binaire pour pouvoir reflasher le denky après en tasmota? j'ai pas réussi (ni trop tenté en fait) de recompiler tasmota pour lui n'ayant pas la cible... 😅
                          Comme board tu utilises esp32_8M c'est ça?
                          Merci de ton aide!

                          CharlesC Offline
                          CharlesC Offline
                          Charles
                          wrote on last edited by Charles
                          #350

                          @Obi_Yoann j'utilise les versions non officielle flashée avec le WebFlasher (ça se débrouille tout seul, pas besoin de choisir le chip)
                          Tu as tous les binaires non officiels dont celui avec la téléinfo
                          https://github.com/Jason2866/Tasmota-specials lis le readme pour le flash 🙂

                          1 Reply Last reply
                          • Nicolas BernaertsN Nicolas Bernaerts

                            @Obi_Yoann Je viens de mettre à jour tasmota-flash sur GitHub. Il intègre le bon paramètre -fm dio pour les ESP32.

                            O Offline
                            O Offline
                            Obi_Yoann
                            wrote on last edited by Obi_Yoann
                            #351

                            @Nicolas-Bernaerts Bonjour!
                            Je tente à nouveau d'utiliser ta version, j'ai pu la flasher sans soucis sur mon esp32s2 pour info, et elle fonctionne apparemment au poil.
                            Je voulais recompiler pour ajouter le support de l'écran, mais même sans aller jusque là juste en suivant les instructions je n'arrive plus à compiler.
                            J'ai tenté sur les releases suivantes de Tasmota :

                            • v12.0.2
                            • v12.1.0
                            • v12.1.1
                            • v12.2.0
                              La version 12.0.2 me sort plein d'erreurs sur xdrv_01_9_webserver.ino :
                            Compiling .pio/build/teleinfo32s2/libdb5/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o
                            /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino: In function 'void HandleWifiConfiguration()':
                            /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1866:11: error: 'WIFI_NOT_TESTING' was not declared in this scope
                                   if (WIFI_NOT_TESTING == Wifi.wifiTest) {
                                       ^~~~~~~~~~~~~~~~
                            Compiling .pio/build/teleinfo32s2/lib90c/Adafruit_VEML7700/Adafruit_VEML7700.cpp.o
                            /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1866:11: note: suggested alternative: 'WIFI_NO_SLEEP'
                                   if (WIFI_NOT_TESTING == Wifi.wifiTest) {
                                       ^~~~~~~~~~~~~~~~
                                       WIFI_NO_SLEEP
                            /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1866:36: error: 'struct WIFI' has no member named 'wifiTest'
                                   if (WIFI_NOT_TESTING == Wifi.wifiTest) {
                                                                ^~~~~~~~
                            /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1867:37: error: 'struct WIFI' has no member named 'old_wificonfig'
                                     if (MAX_WIFI_OPTION == Wifi.old_wificonfig) { Wifi.old_wificonfig = Settings->sta_config; }
                                                                 ^~~~~~~~~~~~~~
                            /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1867:60: error: 'struct WIFI' has no member named 'old_wificonfig'
                                     if (MAX_WIFI_OPTION == Wifi.old_wificonfig) { Wifi.old_wificonfig = Settings->sta_config; }
                                                                                        ^~~~~~~~~~~~~~
                            /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1869:14: error: 'struct WIFI' has no member named 'save_data_counter'
                                     Wifi.save_data_counter = TasmotaGlobal.save_data_counter;
                                          ^~~~~~~~~~~~~~~~~
                            /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1872:12: error: 'struct WIFI' has no member named 'wifi_test_counter'; did you mean 'config_counter'?
                                   Wifi.wifi_test_counter = 9;   // seconds to test user's proposed AP
                            

                            Tasmota a visiblement évolué sur ce fichier, si j'ai bien compris, et du coup ton fichier était en double du fichier d'origine ? J'avais tenté la 12.0.2 ayant vu que c'était la version que tu avais compilé pour tes binaires de fin aout... 🙂
                            Toutes les versions à part la 12.0.2 me sortent moins d'erreurs mais échouent quand même :

                            Compiling .pio/build/teleinfo32s2/lib3b5/Adafruit_VEML7700/Adafruit_VEML7700.cpp.o
                            /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino: In function 'void TeleinfoLoadConfig()':
                            /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:662:111: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                               teleinfo_config.baud_rate       = TeleinfoValidateBaudRate (UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_RATE));
                                                                                                                                           ^
                            /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                             int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                 ^~~~~~~~~~~~~~~~
                            /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:663:92: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                               teleinfo_config.log_policy      = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_LOG_POLICY);
                                                                                                                        ^
                            /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                             int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                 ^~~~~~~~~~~~~~~~
                            /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:664:92: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                               teleinfo_config.msg_policy      = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_MSG_POLICY);
                                                                                                                        ^
                            /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                             int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                 ^~~~~~~~~~~~~~~~
                            /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:665:88: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                               teleinfo_config.msg_type        = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_MSG_TYPE);
                                                                                                                    ^
                            /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                             int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                 ^~~~~~~~~~~~~~~~
                            /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:666:95: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                               teleinfo_config.update_interval = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_INTERVAL);
                                                                                                                           ^
                            /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                             int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                 ^~~~~~~~~~~~~~~~
                            /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:667:92: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                               teleinfo_config.percent_adjust  = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_ADJUST);
                                                                                                                        ^
                            /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                             int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                            

                            Là j'avoue que je sèche complètement...
                            J'ai bien trouvé la déclaration de la fonction par ex UfsCfgLoadKeyInt où effectivement on a 3 arguments :

                            int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                            

                            J'ai aussi trouvé que le fichier où cette fonction était déclarée avait évolué le 16 octobre dernier, et qu'avant la déclaration était :

                            int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value = INT_MAX)
                            

                            Donc avec une valeur par défaut en cas d'absence du 3ème argument. Je pense que mes erreurs de compilation viennent de là... Qu'en penses-tu?

                            Merci d'avance pour ton aide!!! 🙂

                            EDIT : j'ai repris l'ancien fichier avant refactoring, la compilation va effectivement bien plus loin mais échoue cette fois sur l'erreur suivante :

                            Retrieved `.pio/build/teleinfo32s2/lib3d8/Adafruit_seesaw_soilsensor_1.3.1/Adafruit_seesaw.cpp.o' from cache
                            /home/yoann/platformio-core/Tasmota-12.2.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino: In function 'void TeleinfoInit()':
                            /home/yoann/platformio-core/Tasmota-12.2.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:1334:13: error: 'struct TSettings' has no member named 'energy_kWhtotal'; did you mean 'energy_kWhtotal_ph'?
                               Settings->energy_kWhtotal = 0;
                                         ^~~~~~~~~~~~~~~
                                         energy_kWhtotal_ph
                            Retrieved `.pio/build/teleinfo32s2/libcc1/BM8563_RTC/BM8563.cpp.o' from cache
                            Retrieved `.pio/build/teleinfo32s2/lib6e4/AT24C256_512/Eeprom24C128_256.cpp.o' from cache
                            

                            En effet la déclaration de energy_kWhtotal n'est plus présente dans tasmota_types.h depuis la version 12.1.0 a priori. Là par contre je ne vois pas de solution à ce problème... 😞

                            Nicolas BernaertsN 2 Replies Last reply
                            • O Obi_Yoann

                              @Nicolas-Bernaerts Bonjour!
                              Je tente à nouveau d'utiliser ta version, j'ai pu la flasher sans soucis sur mon esp32s2 pour info, et elle fonctionne apparemment au poil.
                              Je voulais recompiler pour ajouter le support de l'écran, mais même sans aller jusque là juste en suivant les instructions je n'arrive plus à compiler.
                              J'ai tenté sur les releases suivantes de Tasmota :

                              • v12.0.2
                              • v12.1.0
                              • v12.1.1
                              • v12.2.0
                                La version 12.0.2 me sort plein d'erreurs sur xdrv_01_9_webserver.ino :
                              Compiling .pio/build/teleinfo32s2/libdb5/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o
                              /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino: In function 'void HandleWifiConfiguration()':
                              /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1866:11: error: 'WIFI_NOT_TESTING' was not declared in this scope
                                     if (WIFI_NOT_TESTING == Wifi.wifiTest) {
                                         ^~~~~~~~~~~~~~~~
                              Compiling .pio/build/teleinfo32s2/lib90c/Adafruit_VEML7700/Adafruit_VEML7700.cpp.o
                              /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1866:11: note: suggested alternative: 'WIFI_NO_SLEEP'
                                     if (WIFI_NOT_TESTING == Wifi.wifiTest) {
                                         ^~~~~~~~~~~~~~~~
                                         WIFI_NO_SLEEP
                              /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1866:36: error: 'struct WIFI' has no member named 'wifiTest'
                                     if (WIFI_NOT_TESTING == Wifi.wifiTest) {
                                                                  ^~~~~~~~
                              /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1867:37: error: 'struct WIFI' has no member named 'old_wificonfig'
                                       if (MAX_WIFI_OPTION == Wifi.old_wificonfig) { Wifi.old_wificonfig = Settings->sta_config; }
                                                                   ^~~~~~~~~~~~~~
                              /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1867:60: error: 'struct WIFI' has no member named 'old_wificonfig'
                                       if (MAX_WIFI_OPTION == Wifi.old_wificonfig) { Wifi.old_wificonfig = Settings->sta_config; }
                                                                                          ^~~~~~~~~~~~~~
                              /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1869:14: error: 'struct WIFI' has no member named 'save_data_counter'
                                       Wifi.save_data_counter = TasmotaGlobal.save_data_counter;
                                            ^~~~~~~~~~~~~~~~~
                              /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1872:12: error: 'struct WIFI' has no member named 'wifi_test_counter'; did you mean 'config_counter'?
                                     Wifi.wifi_test_counter = 9;   // seconds to test user's proposed AP
                              

                              Tasmota a visiblement évolué sur ce fichier, si j'ai bien compris, et du coup ton fichier était en double du fichier d'origine ? J'avais tenté la 12.0.2 ayant vu que c'était la version que tu avais compilé pour tes binaires de fin aout... 🙂
                              Toutes les versions à part la 12.0.2 me sortent moins d'erreurs mais échouent quand même :

                              Compiling .pio/build/teleinfo32s2/lib3b5/Adafruit_VEML7700/Adafruit_VEML7700.cpp.o
                              /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino: In function 'void TeleinfoLoadConfig()':
                              /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:662:111: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                                 teleinfo_config.baud_rate       = TeleinfoValidateBaudRate (UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_RATE));
                                                                                                                                             ^
                              /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                               int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                   ^~~~~~~~~~~~~~~~
                              /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:663:92: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                                 teleinfo_config.log_policy      = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_LOG_POLICY);
                                                                                                                          ^
                              /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                               int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                   ^~~~~~~~~~~~~~~~
                              /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:664:92: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                                 teleinfo_config.msg_policy      = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_MSG_POLICY);
                                                                                                                          ^
                              /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                               int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                   ^~~~~~~~~~~~~~~~
                              /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:665:88: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                                 teleinfo_config.msg_type        = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_MSG_TYPE);
                                                                                                                      ^
                              /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                               int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                   ^~~~~~~~~~~~~~~~
                              /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:666:95: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                                 teleinfo_config.update_interval = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_INTERVAL);
                                                                                                                             ^
                              /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                               int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                   ^~~~~~~~~~~~~~~~
                              /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:667:92: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                                 teleinfo_config.percent_adjust  = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_ADJUST);
                                                                                                                          ^
                              /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                               int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                              

                              Là j'avoue que je sèche complètement...
                              J'ai bien trouvé la déclaration de la fonction par ex UfsCfgLoadKeyInt où effectivement on a 3 arguments :

                              int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                              

                              J'ai aussi trouvé que le fichier où cette fonction était déclarée avait évolué le 16 octobre dernier, et qu'avant la déclaration était :

                              int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value = INT_MAX)
                              

                              Donc avec une valeur par défaut en cas d'absence du 3ème argument. Je pense que mes erreurs de compilation viennent de là... Qu'en penses-tu?

                              Merci d'avance pour ton aide!!! 🙂

                              EDIT : j'ai repris l'ancien fichier avant refactoring, la compilation va effectivement bien plus loin mais échoue cette fois sur l'erreur suivante :

                              Retrieved `.pio/build/teleinfo32s2/lib3d8/Adafruit_seesaw_soilsensor_1.3.1/Adafruit_seesaw.cpp.o' from cache
                              /home/yoann/platformio-core/Tasmota-12.2.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino: In function 'void TeleinfoInit()':
                              /home/yoann/platformio-core/Tasmota-12.2.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:1334:13: error: 'struct TSettings' has no member named 'energy_kWhtotal'; did you mean 'energy_kWhtotal_ph'?
                                 Settings->energy_kWhtotal = 0;
                                           ^~~~~~~~~~~~~~~
                                           energy_kWhtotal_ph
                              Retrieved `.pio/build/teleinfo32s2/libcc1/BM8563_RTC/BM8563.cpp.o' from cache
                              Retrieved `.pio/build/teleinfo32s2/lib6e4/AT24C256_512/Eeprom24C128_256.cpp.o' from cache
                              

                              En effet la déclaration de energy_kWhtotal n'est plus présente dans tasmota_types.h depuis la version 12.1.0 a priori. Là par contre je ne vois pas de solution à ce problème... 😞

                              Nicolas BernaertsN Offline
                              Nicolas BernaertsN Offline
                              Nicolas Bernaerts
                              wrote on last edited by Nicolas Bernaerts
                              #352

                              @Obi_Yoann hello,
                              En fait j'ai fait évoluer pas mal de choses depuis tasmota 12, mais je n'ai pas tout republié sur GitHub. C'est dans doute pour cela que tes compilations sont en erreur.
                              Mais je te confirme que tout compile sans problème chez moi sur la base de Tasmota 12.1.1.
                              Je vais essayer de déposer tous les dernières versions des fichiers demain matin.

                              1 Reply Last reply
                              • O Obi_Yoann

                                Bonjour à tous! j'ai un soucis récurrent sur mon compteur, et je n'arrive pas à trouver de solution.
                                J'ai des erreurs checksum en pagaille, et le passage du hat wemos teleinfo avec esp32s2 au fameux Denky D4 1.1 de @Charles n'a hélas pas fait évoluer positivement ce soucis, au contraire j'ai même l'impression que c'est encore pire :
                                ead8178b-b203-4f18-8952-548c1abca19c-image.png
                                Je suis en TIC Standard et non historique, et j'ai du coup des trames TIC incomplètes (des balises manquantes notamment), que je n'avais pas avec le wemos teleinfo classique.
                                En terme de stabilité je dois toujours redémarrer l'esp32 relativement régulièrement (toutes les semaines environ) sans quoi il n'arrive plus à analyser les trames pour les rebalancer vers emoncms.
                                Ces erreurs checksums m'embêtent et je pense qu'il faut que je trouve pourquoi ça fait ça.
                                Je me demande s'il n'y aurait pas une incompatibilité entre mon compteur et le teleinfo.
                                Suite à une suggestion de @Charles j'ai refait mes fils, en étamant des deux côtés pour que ça tienne bien, c'est le cas mais pas d'évolution sur les checksum.
                                Est-ce qu'il faudrait que je change une résistance pour améliorer la compatibilité? Si oui laquelle et pour quelle valeur???
                                Est-ce que d'autres personnes utilisent le tasmota teleinfo avec un compteur linky en mode Standard? Pas de soucis de checksum pour vous?

                                CharlesC Offline
                                CharlesC Offline
                                Charles
                                wrote on last edited by Charles
                                #353

                                @Obi_Yoann hello alors ce soir j'ai regardé la console de tasmota (ESP32 + WeMos TIC) et effectivement je suis aussi gavé d'erreurs de checksum

                                mais je subodore que ca va trop vite et qu'il n'a pas le temps de tout traiter. du coups j'ai désactivé le script berry qui intercepte MQTT pour poster sur emoncms et la bingo plus d'erreur.

                                d46edb18-be04-421d-9bcd-65abb08e8b4c-image.png

                                On va investiguer ce coté là car c'est clairement ça

                                Edit : j'ai réactivé le script pour savoir ou ça déconnait, et bien j'ai trouvé, en fait c'est pas l'interception MQTT elle elle fonctionne parfaitement mais les erreurs arrivent au moment ou le script fait un cl.get() pour poster (dans mon cas sur emoncms)

                                Donc ce que j'ai fait, j'ai activé le skip pour avoir l'émission d'une trame complète toutes les 20 secondes environ (en mode standard)
                                energyconfig skip 15
                                au moment ou la trame est reçue il fait un post sur emoncms et la série n'arrive plus à suivre, il s'en suit qq erreur de checksum mais c'est pas très grave il se rattrape après.

                                Ensuite j'ai fait la même chose en postant sur emoncms mais sans SSL (le truc gourmand) et du coups quand je fais ça, plus d'erreur (moins secure)

                                O 1 Reply Last reply
                                • CharlesC Charles referenced this topic on
                                • O Obi_Yoann

                                  @Nicolas-Bernaerts Bonjour!
                                  Je tente à nouveau d'utiliser ta version, j'ai pu la flasher sans soucis sur mon esp32s2 pour info, et elle fonctionne apparemment au poil.
                                  Je voulais recompiler pour ajouter le support de l'écran, mais même sans aller jusque là juste en suivant les instructions je n'arrive plus à compiler.
                                  J'ai tenté sur les releases suivantes de Tasmota :

                                  • v12.0.2
                                  • v12.1.0
                                  • v12.1.1
                                  • v12.2.0
                                    La version 12.0.2 me sort plein d'erreurs sur xdrv_01_9_webserver.ino :
                                  Compiling .pio/build/teleinfo32s2/libdb5/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o
                                  /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino: In function 'void HandleWifiConfiguration()':
                                  /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1866:11: error: 'WIFI_NOT_TESTING' was not declared in this scope
                                         if (WIFI_NOT_TESTING == Wifi.wifiTest) {
                                             ^~~~~~~~~~~~~~~~
                                  Compiling .pio/build/teleinfo32s2/lib90c/Adafruit_VEML7700/Adafruit_VEML7700.cpp.o
                                  /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1866:11: note: suggested alternative: 'WIFI_NO_SLEEP'
                                         if (WIFI_NOT_TESTING == Wifi.wifiTest) {
                                             ^~~~~~~~~~~~~~~~
                                             WIFI_NO_SLEEP
                                  /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1866:36: error: 'struct WIFI' has no member named 'wifiTest'
                                         if (WIFI_NOT_TESTING == Wifi.wifiTest) {
                                                                      ^~~~~~~~
                                  /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1867:37: error: 'struct WIFI' has no member named 'old_wificonfig'
                                           if (MAX_WIFI_OPTION == Wifi.old_wificonfig) { Wifi.old_wificonfig = Settings->sta_config; }
                                                                       ^~~~~~~~~~~~~~
                                  /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1867:60: error: 'struct WIFI' has no member named 'old_wificonfig'
                                           if (MAX_WIFI_OPTION == Wifi.old_wificonfig) { Wifi.old_wificonfig = Settings->sta_config; }
                                                                                              ^~~~~~~~~~~~~~
                                  /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1869:14: error: 'struct WIFI' has no member named 'save_data_counter'
                                           Wifi.save_data_counter = TasmotaGlobal.save_data_counter;
                                                ^~~~~~~~~~~~~~~~~
                                  /home/yoann/platformio-core/Tasmota-12.0.2_MOD3/tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino:1872:12: error: 'struct WIFI' has no member named 'wifi_test_counter'; did you mean 'config_counter'?
                                         Wifi.wifi_test_counter = 9;   // seconds to test user's proposed AP
                                  

                                  Tasmota a visiblement évolué sur ce fichier, si j'ai bien compris, et du coup ton fichier était en double du fichier d'origine ? J'avais tenté la 12.0.2 ayant vu que c'était la version que tu avais compilé pour tes binaires de fin aout... 🙂
                                  Toutes les versions à part la 12.0.2 me sortent moins d'erreurs mais échouent quand même :

                                  Compiling .pio/build/teleinfo32s2/lib3b5/Adafruit_VEML7700/Adafruit_VEML7700.cpp.o
                                  /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino: In function 'void TeleinfoLoadConfig()':
                                  /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:662:111: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                                     teleinfo_config.baud_rate       = TeleinfoValidateBaudRate (UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_RATE));
                                                                                                                                                 ^
                                  /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                                   int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                       ^~~~~~~~~~~~~~~~
                                  /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:663:92: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                                     teleinfo_config.log_policy      = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_LOG_POLICY);
                                                                                                                              ^
                                  /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                                   int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                       ^~~~~~~~~~~~~~~~
                                  /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:664:92: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                                     teleinfo_config.msg_policy      = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_MSG_POLICY);
                                                                                                                              ^
                                  /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                                   int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                       ^~~~~~~~~~~~~~~~
                                  /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:665:88: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                                     teleinfo_config.msg_type        = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_MSG_TYPE);
                                                                                                                          ^
                                  /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                                   int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                       ^~~~~~~~~~~~~~~~
                                  /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:666:95: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                                     teleinfo_config.update_interval = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_INTERVAL);
                                                                                                                                 ^
                                  /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                                   int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                       ^~~~~~~~~~~~~~~~
                                  /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:667:92: error: too few arguments to function 'int UfsCfgLoadKeyInt(const char*, const char*, int)'
                                     teleinfo_config.percent_adjust  = UfsCfgLoadKeyInt (D_TELEINFO_CFG, D_CMND_TELEINFO_ADJUST);
                                                                                                                              ^
                                  /home/yoann/platformio-core/Tasmota-12.1.0_MOD/tasmota/tasmota_xdrv_driver/xdrv_50_filesystem_cfg_csv.ino:105:5: note: declared here
                                   int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                  

                                  Là j'avoue que je sèche complètement...
                                  J'ai bien trouvé la déclaration de la fonction par ex UfsCfgLoadKeyInt où effectivement on a 3 arguments :

                                  int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value)
                                  

                                  J'ai aussi trouvé que le fichier où cette fonction était déclarée avait évolué le 16 octobre dernier, et qu'avant la déclaration était :

                                  int UfsCfgLoadKeyInt (const char* pstr_filename, const char* pstr_key, const int default_value = INT_MAX)
                                  

                                  Donc avec une valeur par défaut en cas d'absence du 3ème argument. Je pense que mes erreurs de compilation viennent de là... Qu'en penses-tu?

                                  Merci d'avance pour ton aide!!! 🙂

                                  EDIT : j'ai repris l'ancien fichier avant refactoring, la compilation va effectivement bien plus loin mais échoue cette fois sur l'erreur suivante :

                                  Retrieved `.pio/build/teleinfo32s2/lib3d8/Adafruit_seesaw_soilsensor_1.3.1/Adafruit_seesaw.cpp.o' from cache
                                  /home/yoann/platformio-core/Tasmota-12.2.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino: In function 'void TeleinfoInit()':
                                  /home/yoann/platformio-core/Tasmota-12.2.0_MOD/tasmota/tasmota_xnrg_energy/xnrg_15_teleinfo.ino:1334:13: error: 'struct TSettings' has no member named 'energy_kWhtotal'; did you mean 'energy_kWhtotal_ph'?
                                     Settings->energy_kWhtotal = 0;
                                               ^~~~~~~~~~~~~~~
                                               energy_kWhtotal_ph
                                  Retrieved `.pio/build/teleinfo32s2/libcc1/BM8563_RTC/BM8563.cpp.o' from cache
                                  Retrieved `.pio/build/teleinfo32s2/lib6e4/AT24C256_512/Eeprom24C128_256.cpp.o' from cache
                                  

                                  En effet la déclaration de energy_kWhtotal n'est plus présente dans tasmota_types.h depuis la version 12.1.0 a priori. Là par contre je ne vois pas de solution à ce problème... 😞

                                  Nicolas BernaertsN Offline
                                  Nicolas BernaertsN Offline
                                  Nicolas Bernaerts
                                  wrote on last edited by
                                  #354

                                  @Obi_Yoann Je viens de publier la version 9.3.3 ainsi que les dernières versions des fichiers common. Tu devrais pouvoir compiler sans problème maintenant.

                                  1 Reply Last reply
                                  • CharlesC Charles

                                    @Obi_Yoann hello alors ce soir j'ai regardé la console de tasmota (ESP32 + WeMos TIC) et effectivement je suis aussi gavé d'erreurs de checksum

                                    mais je subodore que ca va trop vite et qu'il n'a pas le temps de tout traiter. du coups j'ai désactivé le script berry qui intercepte MQTT pour poster sur emoncms et la bingo plus d'erreur.

                                    d46edb18-be04-421d-9bcd-65abb08e8b4c-image.png

                                    On va investiguer ce coté là car c'est clairement ça

                                    Edit : j'ai réactivé le script pour savoir ou ça déconnait, et bien j'ai trouvé, en fait c'est pas l'interception MQTT elle elle fonctionne parfaitement mais les erreurs arrivent au moment ou le script fait un cl.get() pour poster (dans mon cas sur emoncms)

                                    Donc ce que j'ai fait, j'ai activé le skip pour avoir l'émission d'une trame complète toutes les 20 secondes environ (en mode standard)
                                    energyconfig skip 15
                                    au moment ou la trame est reçue il fait un post sur emoncms et la série n'arrive plus à suivre, il s'en suit qq erreur de checksum mais c'est pas très grave il se rattrape après.

                                    Ensuite j'ai fait la même chose en postant sur emoncms mais sans SSL (le truc gourmand) et du coups quand je fais ça, plus d'erreur (moins secure)

                                    O Offline
                                    O Offline
                                    Obi_Yoann
                                    wrote on last edited by
                                    #355

                                    @Charles Merci pour ton retour, je pense que mon problème est différent, de base j'étais sans SSL et j'ai pas testé avec (le emoncms est local, je crains pas trop les interceptions) mais j'ai testé à l'instant de désactiver le script (et rebooter) mais pareil toujours autant d'erreur checksum :
                                    0c8d6e70-e789-4d5f-b09c-3e010f713f42-image.png
                                    Mon père est passé aussi en TIC Standard sur le sien et très très peu d'erreur, même avec le même script berry que sur le mien et sans skip. Ca sent la différence de compteur, mais je sais pas ce qu'il a...
                                    Sur la version précompilée de @Nicolas-Bernaerts, je n'ai pas encore testé le script Berry (pas sûr qu'il marche tel quel d'ailleurs, je pense qu'il faut que j'ajoute le support de Berry qui n'est pas dedans je crois de base), mais aucune erreur checksum avec le wemos tic et l'esp32s2. Il interprête, apparemment, tout parfaitement!
                                    Le energy total est correct, la barre de "charge" est correcte aussi, current est plus précis et active power aussi :
                                    f5feff4c-c4a6-49b5-8b8c-db314c898897-image.png
                                    @Nicolas-Bernaerts merci beaucoup! je récupère tout et tente la compilation!!! 😎🙏🏻

                                    CharlesC 1 Reply Last reply
                                    • O Obi_Yoann

                                      @Charles Merci pour ton retour, je pense que mon problème est différent, de base j'étais sans SSL et j'ai pas testé avec (le emoncms est local, je crains pas trop les interceptions) mais j'ai testé à l'instant de désactiver le script (et rebooter) mais pareil toujours autant d'erreur checksum :
                                      0c8d6e70-e789-4d5f-b09c-3e010f713f42-image.png
                                      Mon père est passé aussi en TIC Standard sur le sien et très très peu d'erreur, même avec le même script berry que sur le mien et sans skip. Ca sent la différence de compteur, mais je sais pas ce qu'il a...
                                      Sur la version précompilée de @Nicolas-Bernaerts, je n'ai pas encore testé le script Berry (pas sûr qu'il marche tel quel d'ailleurs, je pense qu'il faut que j'ajoute le support de Berry qui n'est pas dedans je crois de base), mais aucune erreur checksum avec le wemos tic et l'esp32s2. Il interprête, apparemment, tout parfaitement!
                                      Le energy total est correct, la barre de "charge" est correcte aussi, current est plus précis et active power aussi :
                                      f5feff4c-c4a6-49b5-8b8c-db314c898897-image.png
                                      @Nicolas-Bernaerts merci beaucoup! je récupère tout et tente la compilation!!! 😎🙏🏻

                                      CharlesC Offline
                                      CharlesC Offline
                                      Charles
                                      wrote on last edited by
                                      #356

                                      @Obi_Yoann tu n’as pas flashé la dernière version de tasmota spécial car la barre et le contrat sont fixés depuis cette semaine 😉

                                      O 1 Reply Last reply
                                      • CharlesC Charles

                                        @Obi_Yoann tu n’as pas flashé la dernière version de tasmota spécial car la barre et le contrat sont fixés depuis cette semaine 😉

                                        O Offline
                                        O Offline
                                        Obi_Yoann
                                        wrote on last edited by
                                        #357

                                        @Charles said in Tasmota:

                                        @Obi_Yoann tu n’as pas flashé la dernière version de tasmota spécial car la barre et le contrat sont fixés depuis cette semaine 😉

                                        Tout à fait!!! Merci de l'info!!!
                                        Flashé et effectivement la barre fonctionne!
                                        420c46f7-04ef-43e7-8841-bea6a6d83362-image.png
                                        Hélas toujours les checksums, et energy total est "négatif".
                                        Ah et pour une raison qui m'échappe, le contrat n'est plus bon, j'étais en 6A et j'ai pas changé! 😅
                                        En tout cas c'est top, merci!

                                        @Nicolas-Bernaerts je suis vraiment désolé d'être aussi pénible mais toujours pas possible de compiler hélas avec la dernière release, j'ai bien tout récupéré et replacé aux bons endroits, mais en 12.1.1 et en 12.2.0 j'ai des erreurs à la toute fin de la compilation.
                                        Le script que je passe pour placer tes fichiers aux bons endroits (j'espère) :

                                        cp ../tasmota/teleinfo/platformio_override.ini .
                                        cp ../tasmota/teleinfo/user_config_override.h tasmota/
                                        cp ../tasmota/common/esp8266_16M14M.json boards/
                                        cp ../tasmota/teleinfo/xnrg_15_teleinfo.ino tasmota/tasmota_xnrg_energy/
                                        cp ../tasmota/teleinfo/xdrv_01_9_webserver.ino tasmota/tasmota_xdrv_driver/
                                        cp ../tasmota/common/xdrv_50_filesystem_cfg_csv.ino tasmota/tasmota_xdrv_driver/
                                        cp ../tasmota/common/xdrv_94_ip_address.ino tasmota/tasmota_xdrv_driver/
                                        cp ../tasmota/common/xdrv_96_ftp_server.ino tasmota/tasmota_xdrv_driver/
                                        cp ../tasmota/common/xdrv_97_tcp_server.ino tasmota/tasmota_xdrv_driver/
                                        cp ../tasmota/common/xdrv_98_esp32_board.ino tasmota/tasmota_xdrv_driver/
                                        cp ../tasmota/common/xsns_120_timezone.ino tasmota/tasmota_xsns_sensor/
                                        unzip ../tasmota/common/FTPClientServer.zip -d lib/default/
                                        
                                        

                                        Mon arborescence :
                                        ~/platformio-core/tasmota (ton repo github)
                                        ~/platformio-core/Tasmota-12.1.1_MOD (version 12.1.1 avec tes fichiers)
                                        ~/platformio-core/Tasmota-12.2.0_MOD (version 12.2.0 avec tes fichiers)
                                        Le script ci-dessus je le passe depuis les dossiers Tasmota*_MOD naturellement.
                                        Pour la 12.1.1 l'erreur que j'ai :

                                        Creating filesystem with content:
                                        No files added -> will NOT create littlefs.bin and NOT overwrite fs partition!
                                        Unexpected naming conventions in this build environment -> Undefined behavior for further build process!!
                                        Expected build environment name like 'tasmota32-whatever-you-want'
                                        Will download safeboot binary from URL:
                                        http://ota.tasmota.com/tasmota32/release/teleinfo32s2-safeboot.bin
                                        safeboot binary written to variants dir.
                                            Offset | File
                                         -  0x1000 | /home/yoann/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32s2/bin/bootloader_dout_80m.bin
                                         -  0x8000 | /home/yoann/platformio-core/Tasmota-12.1.1_MOD/.pio/build/teleinfo32s2/partitions.bin
                                         -  0xe000 | /home/yoann/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin
                                         -  0x10000 | /home/yoann/.platformio/packages/framework-arduinoespressif32/variants/tasmota/tasmota32s2-safeboot.bin
                                         - 0xe0000 | /home/yoann/platformio-core/Tasmota-12.1.1_MOD/.pio/build/teleinfo32s2/firmware.bin
                                        usage: esptool merge_bin [-h] --output OUTPUT [--format {r,a,w}]
                                                                 [--flash_freq {keep,80m,60m,48m,40m,30m,26m,24m,20m,16m,15m,12m}]
                                                                 [--flash_mode {keep,qio,qout,dio,dout}]
                                                                 [--flash_size FLASH_SIZE]
                                                                 [--spi-connection SPI_CONNECTION]
                                                                 [--target-offset TARGET_OFFSET]
                                                                 [--fill-flash-size FILL_FLASH_SIZE]
                                                                 <address> <filename> [<address> <filename> ...]
                                        esptool merge_bin: error: argument <address> <filename>: [Errno 2] No such file or directory: '/home/yoann/.platformio/packages/framework-arduinoespressif32/variants/tasmota/tasmota32s2-safeboot.bin'
                                        *** [.pio/build/teleinfo32s2/firmware.bin] Explicit exit, status 2
                                        ============================================================================================================================= [FAILED] Took 46.89 seconds =============================================================================================================================
                                        
                                        Environment    Status    Duration
                                        -------------  --------  ------------
                                        teleinfo32s2   FAILED    00:00:46.890
                                        ======================================================================================================================== 1 failed, 0 succeeded in 00:00:46.890 ========================================================================================================================
                                        

                                        J'ai regardé dans le dossier mentionné, je n'ai effectivement pas ce fichier mais un autre :

                                        (platformio-core) yoann@powerripper:~/platformio-core/Tasmota-12.1.1_MOD$ ls ~/.platformio/packages/framework-arduinoespressif32/variants/tasmota/
                                        teleinfo32s2-safeboot.bin
                                        

                                        teleinfo32s2 au lieu de tasmota32s2, aucune idée de pourquoi!
                                        Avant de compiler teleinfo32s2, et avant d'incorporer tes fichiers via mon script, j'avais compilé avec succès tasmota32s2 depuis ce même dossier Tasmota-12.1.1_MOD (puis j'ai purgé les dossier .cache et .pio).

                                        Pour la version 12.2.0 :

                                        Compiling .pio/build/teleinfo32s2/FrameworkArduino/stdlib_noniso.c.o
                                        Compiling .pio/build/teleinfo32s2/FrameworkArduino/wiring_pulse.c.o
                                        Compiling .pio/build/teleinfo32s2/FrameworkArduino/wiring_shift.c.o
                                        Archiving .pio/build/teleinfo32s2/libFrameworkArduino.a
                                        Indexing .pio/build/teleinfo32s2/libFrameworkArduino.a
                                        Linking .pio/build/teleinfo32s2/firmware.elf
                                        /home/yoann/.platformio/packages/toolchain-xtensa-esp32s2@8.4.0+2021r2-patch5/bin/../lib/gcc/xtensa-esp32s2-elf/8.4.0/../../../../xtensa-esp32s2-elf/bin/ld: /tmp/ccBxihnE.ltrans5.ltrans.o:(.literal+0x300): undefined reference to `ESP_getFlashChipRealSize()'
                                        /home/yoann/.platformio/packages/toolchain-xtensa-esp32s2@8.4.0+2021r2-patch5/bin/../lib/gcc/xtensa-esp32s2-elf/8.4.0/../../../../xtensa-esp32s2-elf/bin/ld: /tmp/ccBxihnE.ltrans5.ltrans.o: in function `HTTPClient::HTTPClient()':
                                        <artificial>:(.text+0x428f): undefined reference to `ESP_getFlashChipRealSize()'
                                        collect2: error: ld returned 1 exit status
                                        *** [.pio/build/teleinfo32s2/firmware.elf] Error 1
                                        ============================================================================================================================= [FAILED] Took 52.68 seconds =============================================================================================================================
                                        
                                        Environment    Status    Duration
                                        -------------  --------  ------------
                                        teleinfo32s2   FAILED    00:00:52.682
                                        ======================================================================================================================== 1 failed, 0 succeeded in 00:00:52.682 ========================================================================================================================
                                        

                                        Là je sèche complètement, aucune idée de pourquoi ça fait ça. 😞
                                        Vraiment désolé, je sais pas pourquoi je galère à ce point mais je pense pas être très loin de "la vérité"! ^^

                                        Nicolas BernaertsN CharlesC 2 Replies Last reply
                                        • O Obi_Yoann

                                          @Charles said in Tasmota:

                                          @Obi_Yoann tu n’as pas flashé la dernière version de tasmota spécial car la barre et le contrat sont fixés depuis cette semaine 😉

                                          Tout à fait!!! Merci de l'info!!!
                                          Flashé et effectivement la barre fonctionne!
                                          420c46f7-04ef-43e7-8841-bea6a6d83362-image.png
                                          Hélas toujours les checksums, et energy total est "négatif".
                                          Ah et pour une raison qui m'échappe, le contrat n'est plus bon, j'étais en 6A et j'ai pas changé! 😅
                                          En tout cas c'est top, merci!

                                          @Nicolas-Bernaerts je suis vraiment désolé d'être aussi pénible mais toujours pas possible de compiler hélas avec la dernière release, j'ai bien tout récupéré et replacé aux bons endroits, mais en 12.1.1 et en 12.2.0 j'ai des erreurs à la toute fin de la compilation.
                                          Le script que je passe pour placer tes fichiers aux bons endroits (j'espère) :

                                          cp ../tasmota/teleinfo/platformio_override.ini .
                                          cp ../tasmota/teleinfo/user_config_override.h tasmota/
                                          cp ../tasmota/common/esp8266_16M14M.json boards/
                                          cp ../tasmota/teleinfo/xnrg_15_teleinfo.ino tasmota/tasmota_xnrg_energy/
                                          cp ../tasmota/teleinfo/xdrv_01_9_webserver.ino tasmota/tasmota_xdrv_driver/
                                          cp ../tasmota/common/xdrv_50_filesystem_cfg_csv.ino tasmota/tasmota_xdrv_driver/
                                          cp ../tasmota/common/xdrv_94_ip_address.ino tasmota/tasmota_xdrv_driver/
                                          cp ../tasmota/common/xdrv_96_ftp_server.ino tasmota/tasmota_xdrv_driver/
                                          cp ../tasmota/common/xdrv_97_tcp_server.ino tasmota/tasmota_xdrv_driver/
                                          cp ../tasmota/common/xdrv_98_esp32_board.ino tasmota/tasmota_xdrv_driver/
                                          cp ../tasmota/common/xsns_120_timezone.ino tasmota/tasmota_xsns_sensor/
                                          unzip ../tasmota/common/FTPClientServer.zip -d lib/default/
                                          
                                          

                                          Mon arborescence :
                                          ~/platformio-core/tasmota (ton repo github)
                                          ~/platformio-core/Tasmota-12.1.1_MOD (version 12.1.1 avec tes fichiers)
                                          ~/platformio-core/Tasmota-12.2.0_MOD (version 12.2.0 avec tes fichiers)
                                          Le script ci-dessus je le passe depuis les dossiers Tasmota*_MOD naturellement.
                                          Pour la 12.1.1 l'erreur que j'ai :

                                          Creating filesystem with content:
                                          No files added -> will NOT create littlefs.bin and NOT overwrite fs partition!
                                          Unexpected naming conventions in this build environment -> Undefined behavior for further build process!!
                                          Expected build environment name like 'tasmota32-whatever-you-want'
                                          Will download safeboot binary from URL:
                                          http://ota.tasmota.com/tasmota32/release/teleinfo32s2-safeboot.bin
                                          safeboot binary written to variants dir.
                                              Offset | File
                                           -  0x1000 | /home/yoann/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32s2/bin/bootloader_dout_80m.bin
                                           -  0x8000 | /home/yoann/platformio-core/Tasmota-12.1.1_MOD/.pio/build/teleinfo32s2/partitions.bin
                                           -  0xe000 | /home/yoann/.platformio/packages/framework-arduinoespressif32/tools/partitions/boot_app0.bin
                                           -  0x10000 | /home/yoann/.platformio/packages/framework-arduinoespressif32/variants/tasmota/tasmota32s2-safeboot.bin
                                           - 0xe0000 | /home/yoann/platformio-core/Tasmota-12.1.1_MOD/.pio/build/teleinfo32s2/firmware.bin
                                          usage: esptool merge_bin [-h] --output OUTPUT [--format {r,a,w}]
                                                                   [--flash_freq {keep,80m,60m,48m,40m,30m,26m,24m,20m,16m,15m,12m}]
                                                                   [--flash_mode {keep,qio,qout,dio,dout}]
                                                                   [--flash_size FLASH_SIZE]
                                                                   [--spi-connection SPI_CONNECTION]
                                                                   [--target-offset TARGET_OFFSET]
                                                                   [--fill-flash-size FILL_FLASH_SIZE]
                                                                   <address> <filename> [<address> <filename> ...]
                                          esptool merge_bin: error: argument <address> <filename>: [Errno 2] No such file or directory: '/home/yoann/.platformio/packages/framework-arduinoespressif32/variants/tasmota/tasmota32s2-safeboot.bin'
                                          *** [.pio/build/teleinfo32s2/firmware.bin] Explicit exit, status 2
                                          ============================================================================================================================= [FAILED] Took 46.89 seconds =============================================================================================================================
                                          
                                          Environment    Status    Duration
                                          -------------  --------  ------------
                                          teleinfo32s2   FAILED    00:00:46.890
                                          ======================================================================================================================== 1 failed, 0 succeeded in 00:00:46.890 ========================================================================================================================
                                          

                                          J'ai regardé dans le dossier mentionné, je n'ai effectivement pas ce fichier mais un autre :

                                          (platformio-core) yoann@powerripper:~/platformio-core/Tasmota-12.1.1_MOD$ ls ~/.platformio/packages/framework-arduinoespressif32/variants/tasmota/
                                          teleinfo32s2-safeboot.bin
                                          

                                          teleinfo32s2 au lieu de tasmota32s2, aucune idée de pourquoi!
                                          Avant de compiler teleinfo32s2, et avant d'incorporer tes fichiers via mon script, j'avais compilé avec succès tasmota32s2 depuis ce même dossier Tasmota-12.1.1_MOD (puis j'ai purgé les dossier .cache et .pio).

                                          Pour la version 12.2.0 :

                                          Compiling .pio/build/teleinfo32s2/FrameworkArduino/stdlib_noniso.c.o
                                          Compiling .pio/build/teleinfo32s2/FrameworkArduino/wiring_pulse.c.o
                                          Compiling .pio/build/teleinfo32s2/FrameworkArduino/wiring_shift.c.o
                                          Archiving .pio/build/teleinfo32s2/libFrameworkArduino.a
                                          Indexing .pio/build/teleinfo32s2/libFrameworkArduino.a
                                          Linking .pio/build/teleinfo32s2/firmware.elf
                                          /home/yoann/.platformio/packages/toolchain-xtensa-esp32s2@8.4.0+2021r2-patch5/bin/../lib/gcc/xtensa-esp32s2-elf/8.4.0/../../../../xtensa-esp32s2-elf/bin/ld: /tmp/ccBxihnE.ltrans5.ltrans.o:(.literal+0x300): undefined reference to `ESP_getFlashChipRealSize()'
                                          /home/yoann/.platformio/packages/toolchain-xtensa-esp32s2@8.4.0+2021r2-patch5/bin/../lib/gcc/xtensa-esp32s2-elf/8.4.0/../../../../xtensa-esp32s2-elf/bin/ld: /tmp/ccBxihnE.ltrans5.ltrans.o: in function `HTTPClient::HTTPClient()':
                                          <artificial>:(.text+0x428f): undefined reference to `ESP_getFlashChipRealSize()'
                                          collect2: error: ld returned 1 exit status
                                          *** [.pio/build/teleinfo32s2/firmware.elf] Error 1
                                          ============================================================================================================================= [FAILED] Took 52.68 seconds =============================================================================================================================
                                          
                                          Environment    Status    Duration
                                          -------------  --------  ------------
                                          teleinfo32s2   FAILED    00:00:52.682
                                          ======================================================================================================================== 1 failed, 0 succeeded in 00:00:52.682 ========================================================================================================================
                                          

                                          Là je sèche complètement, aucune idée de pourquoi ça fait ça. 😞
                                          Vraiment désolé, je sais pas pourquoi je galère à ce point mais je pense pas être très loin de "la vérité"! ^^

                                          Nicolas BernaertsN Offline
                                          Nicolas BernaertsN Offline
                                          Nicolas Bernaerts
                                          wrote on last edited by Nicolas Bernaerts
                                          #358

                                          @Obi_Yoann Hello,
                                          En fait il faut compiler au préalable tasmota32s2 en version fastboot. Il l'utilise au moment de la compilation pour générer l'image .firmware.bin

                                          • soit tu la compiles avec le projet tasmota officiel
                                          • soit tu la récupères depuis le download de tasmota. Tu la places ensuite là où il l'attend ... et cela devrait rouler.

                                          Je te confirme que la 1ere compilation d'une cible esp32 est toujours galère 😔

                                          O 1 Reply Last reply

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          0

                                          Online

                                          5.8k

                                          Users

                                          565

                                          Topics

                                          5.3k

                                          Posts

                                          Top Topics

                                          Popular Tags

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

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Blog
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups