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. Denky D4
  5. Wemos D1 ESP32 + TIC v1.1 - checksum errors

Wemos D1 ESP32 + TIC v1.1 - checksum errors

Scheduled Pinned Locked Moved Denky D4
7 Posts 3 Posters 1.5k Views 2 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.
  • sdxS Offline
    sdxS Offline
    sdx
    wrote on last edited by
    #1

    Bonjour à tous,

    J'essaie de récupérer les infos d'un linky avec le setup suivant:

    • Wemos D1 ESP32 (Aliexpress)
    • TIC v1.1
    • Linky mode standard
    • Tasmota 12.4.0.2

    Mon pb est la réception de trames erronnées: je vois plein d’erreurs comme celles-ci dans la console:

    20:41:14.208 LibTeleinfo::checkLine Err checksum 0x00 != 0x57 (total errors=21)
    20:41:35.464 LibTeleinfo::checkLine Err checksum 0x00 != 0x3E (total errors=22)
    20:41:42.966 LibTeleinfo::checkLine Err checksum 0x00 != 0x3E (total errors=23)
    20:41:52.967 LibTeleinfo::checkLine Err checksum 0x00 != 0x57 (total errors=24)
    20:42:03.209 LibTeleinfo::checkLine Err checksum 0x00 != 0x3E (total errors=25)
    

    392b74b2-e27d-44fc-a400-bd1bcd3ab0a6-image.png

    et les infos restent à 0, sauf EnergyTotal (pourquoi celui-là et pas les autres???):

    cb3dc081-9be6-4d16-bbd8-d8a788c122d6-image.png

    Du coup, pour debugger, j'ai intégré et flashé le code Teleinfo_stats en ajustant le code pour utiliser le GPIO 23: celui-ci confirme la mauvaise réception: je ne vois passer que des caractères de controle de manière erratique (STX, ETX, INTERRUPT etc. mais rarement des infos intelligibles)

    Donc ensuite j'ai branché mon oscilloscope et comparé l’entrée du module teleinfo (la modulation TIC directe du linky et la sortie sur le port RX du D1). Je pense qu’il y a un soucis dans la transformation du signal vers un signal série classique:

    6f0cfd99-f8a5-4302-a29a-c87b757507fe-image.png

    A noter que j'ai fait une capture à un moment pas forcément idéal car manque de chance, le signal RX était plat à ce moment là... En fait, il y a parfois des signaux carrés (courbe bleue), mais le truc, c'est que les signaux carrés fabriqués coté RX ne semblent pas reliés au signal modulé 50kHz du Linky.

    J'utilise picoscope et le soft "sait" décoder les signaux UART: quand je mets un décodage approprié (9600 bauds, 7bits, 1 bit de stop, parité paire etc.), j'ai des "frame errors" dans ~90% des cas.

    Bref, j'ai un soucis de signal RX transmis au D1...

    Composant défectueux ?

    Pb de résistances ? (j'ai cru voir qu'il fallait peut être ajuster certaines valeurs). En gros, on voit que la sortie du Linky semble correcte mais ca ne se traduit pas par un signal clair coté RX.

    Merci par avance pour vos idées 🙂


    Stéphane Desneux
    Web: https://iot.bzh

    CharlesC 1 Reply Last reply
    • sdxS sdx

      Bonjour à tous,

      J'essaie de récupérer les infos d'un linky avec le setup suivant:

      • Wemos D1 ESP32 (Aliexpress)
      • TIC v1.1
      • Linky mode standard
      • Tasmota 12.4.0.2

      Mon pb est la réception de trames erronnées: je vois plein d’erreurs comme celles-ci dans la console:

      20:41:14.208 LibTeleinfo::checkLine Err checksum 0x00 != 0x57 (total errors=21)
      20:41:35.464 LibTeleinfo::checkLine Err checksum 0x00 != 0x3E (total errors=22)
      20:41:42.966 LibTeleinfo::checkLine Err checksum 0x00 != 0x3E (total errors=23)
      20:41:52.967 LibTeleinfo::checkLine Err checksum 0x00 != 0x57 (total errors=24)
      20:42:03.209 LibTeleinfo::checkLine Err checksum 0x00 != 0x3E (total errors=25)
      

      392b74b2-e27d-44fc-a400-bd1bcd3ab0a6-image.png

      et les infos restent à 0, sauf EnergyTotal (pourquoi celui-là et pas les autres???):

      cb3dc081-9be6-4d16-bbd8-d8a788c122d6-image.png

      Du coup, pour debugger, j'ai intégré et flashé le code Teleinfo_stats en ajustant le code pour utiliser le GPIO 23: celui-ci confirme la mauvaise réception: je ne vois passer que des caractères de controle de manière erratique (STX, ETX, INTERRUPT etc. mais rarement des infos intelligibles)

      Donc ensuite j'ai branché mon oscilloscope et comparé l’entrée du module teleinfo (la modulation TIC directe du linky et la sortie sur le port RX du D1). Je pense qu’il y a un soucis dans la transformation du signal vers un signal série classique:

      6f0cfd99-f8a5-4302-a29a-c87b757507fe-image.png

      A noter que j'ai fait une capture à un moment pas forcément idéal car manque de chance, le signal RX était plat à ce moment là... En fait, il y a parfois des signaux carrés (courbe bleue), mais le truc, c'est que les signaux carrés fabriqués coté RX ne semblent pas reliés au signal modulé 50kHz du Linky.

      J'utilise picoscope et le soft "sait" décoder les signaux UART: quand je mets un décodage approprié (9600 bauds, 7bits, 1 bit de stop, parité paire etc.), j'ai des "frame errors" dans ~90% des cas.

      Bref, j'ai un soucis de signal RX transmis au D1...

      Composant défectueux ?

      Pb de résistances ? (j'ai cru voir qu'il fallait peut être ajuster certaines valeurs). En gros, on voit que la sortie du Linky semble correcte mais ca ne se traduit pas par un signal clair coté RX.

      Merci par avance pour vos idées 🙂

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

      @sdx si tu es en mode standard, tu peux ajouter une 1K en série avec l'un des fils allant à la téléinfo du compteur (ceci afin de faire passer la résistance d'entrée de 220Ohm à 1.22KOhm) ? peu importe quel fil.

      sdxS 1 Reply Last reply
      • CharlesC Charles

        @sdx si tu es en mode standard, tu peux ajouter une 1K en série avec l'un des fils allant à la téléinfo du compteur (ceci afin de faire passer la résistance d'entrée de 220Ohm à 1.22KOhm) ? peu importe quel fil.

        sdxS Offline
        sdxS Offline
        sdx
        wrote on last edited by
        #3

        @Charles

        Effectivement, c'est beaucoup mieux:

        19604b8b-1716-4dba-9d4d-599f27eb66e8-image.png

        Et là, le programme TeleinfoStats semble afficher des trames qui ont du sens:

        Est-ce qu'une sortie "normale" ressemble bien à ca ?

        =====================================
                  Teleinfo stats
        =====================================
          You can change teleinfo mode from
        Historique to Standard with B0 button
        TIC RX=GPIO23  Mode:Standard
        
        ...
        
        ADSC<TAB>031961839946<TAB>H
        VTIC<TAB>02<TAB>J
        DATE<TAB>E230429191959<TAB><TAB>T
        NGTF<TAB>      BASE      <TAB><
        LTARF<TAB>      BASE      <TAB>F
        EAST<TAB>027700365<TAB>-
        EASF01<TAB>027700365<TAB>@
        EASF02<TAB>000000000<TAB>#
        EASF03<TAB>000000000<TAB>$
        EASF04<TAB>000000000<TAB>%
        EASF05<TAB>000000000<TAB>&
        EASF06<TAB>000000000<TAB>'
        EASF07<TAB>000000000<TAB>(
        EASF08<TAB>000000000<TAB>)
        EASF09<TAB>000000000<TAB>*
        EASF10<TAB>000000000<TAB>"
        EASD01<TAB>021304609<TAB>9
        EASD02<TAB>006395756<TAB>J
        EASD03<TAB>000000000<TAB>"
        EASD04<TAB>000000000<TAB>#
        IRMS1<TAB>004<TAB>2
        URMS1<TAB>236<TAB>E
        PREF<TAB>06<TAB>E
        PCOUP<TAB>06<TAB>_
        SINSTS<TAB>00966<TAB>[
        SMAXSN<TAB>E230429122605<TAB>03544<TAB>>
        SMAXSN-1<TAB>E230428123414<TAB>03776<TAB>!
        CCASN<TAB>E230429190000<TAB>01904<TAB>D
        CCASN-1<TAB>E230429183000<TAB>01034<TAB>^
        UMOY1<TAB>E230429191000<TAB>237<TAB>6
        STGE<TAB>003A4001<TAB>>
        MSG1<TAB>PAS DE          MESSAGE         <TAB><
        PRM<TAB>14836179379910<TAB>E
        RELAIS<TAB>000<TAB>B
        NTARF<TAB>01<TAB>N
        NJOURF<TAB>00<TAB>&
        NJOURF+1<TAB>00<TAB>B
        PJOURF+1<TAB>00008001 NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE<TAB>9<ETX><STX>
        

        Stéphane Desneux
        Web: https://iot.bzh

        sdxS 1 Reply Last reply
        • sdxS sdx

          @Charles

          Effectivement, c'est beaucoup mieux:

          19604b8b-1716-4dba-9d4d-599f27eb66e8-image.png

          Et là, le programme TeleinfoStats semble afficher des trames qui ont du sens:

          Est-ce qu'une sortie "normale" ressemble bien à ca ?

          =====================================
                    Teleinfo stats
          =====================================
            You can change teleinfo mode from
          Historique to Standard with B0 button
          TIC RX=GPIO23  Mode:Standard
          
          ...
          
          ADSC<TAB>031961839946<TAB>H
          VTIC<TAB>02<TAB>J
          DATE<TAB>E230429191959<TAB><TAB>T
          NGTF<TAB>      BASE      <TAB><
          LTARF<TAB>      BASE      <TAB>F
          EAST<TAB>027700365<TAB>-
          EASF01<TAB>027700365<TAB>@
          EASF02<TAB>000000000<TAB>#
          EASF03<TAB>000000000<TAB>$
          EASF04<TAB>000000000<TAB>%
          EASF05<TAB>000000000<TAB>&
          EASF06<TAB>000000000<TAB>'
          EASF07<TAB>000000000<TAB>(
          EASF08<TAB>000000000<TAB>)
          EASF09<TAB>000000000<TAB>*
          EASF10<TAB>000000000<TAB>"
          EASD01<TAB>021304609<TAB>9
          EASD02<TAB>006395756<TAB>J
          EASD03<TAB>000000000<TAB>"
          EASD04<TAB>000000000<TAB>#
          IRMS1<TAB>004<TAB>2
          URMS1<TAB>236<TAB>E
          PREF<TAB>06<TAB>E
          PCOUP<TAB>06<TAB>_
          SINSTS<TAB>00966<TAB>[
          SMAXSN<TAB>E230429122605<TAB>03544<TAB>>
          SMAXSN-1<TAB>E230428123414<TAB>03776<TAB>!
          CCASN<TAB>E230429190000<TAB>01904<TAB>D
          CCASN-1<TAB>E230429183000<TAB>01034<TAB>^
          UMOY1<TAB>E230429191000<TAB>237<TAB>6
          STGE<TAB>003A4001<TAB>>
          MSG1<TAB>PAS DE          MESSAGE         <TAB><
          PRM<TAB>14836179379910<TAB>E
          RELAIS<TAB>000<TAB>B
          NTARF<TAB>01<TAB>N
          NJOURF<TAB>00<TAB>&
          NJOURF+1<TAB>00<TAB>B
          PJOURF+1<TAB>00008001 NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE NONUTILE<TAB>9<ETX><STX>
          
          sdxS Offline
          sdxS Offline
          sdx
          wrote on last edited by sdx
          #4

          @Charles

          Suite à un essai en mode "en vrac" où j'ai ajouté une résistance en amont (avant le connecteur vert - voir résultats précédents), j'ai rendu le montage plus stable.

          Je n'avais pas de 1 KΩ en CMS donc j'ai déssoudé R3 (220 Ω) et fait un pont avec une résistance "normale" enveloppée dans du thermo rouge, histoire de garder la charte de couleur intacte 😀

          Donc j'ai bien 1 KΩ en entrée au lieu de 220 Ω (et non pas 1.2 KΩ, comme dans le montage "volant" précédent où j'avais les 2 résistances en série). La valeur ne semble pas changer grand chose: 1 KΩ ou 1.2 KΩ reviennent au même a priori.

          f6aeb89c-3703-4ff8-b55f-aabd2a476a5f-image.png

          93b8ee0f-0cd3-4fb2-9ece-667ab80c36e6-image.png

          Le résultat est maintenant correct:

          9f5892c2-bcd9-4f87-a91e-e0d380957a4b-image.png

          (en bleu, l'entrée du linky, en rouge la sortie = le signal sur l'IO23).

          Je ne sais pas trop ce qui t'as amené à mettre une résistance de 220Ω au lieu de 4.7KΩ, car la plupart des montages utilisent 4.7KΩ en entrée de l'optocoupleur 814, y compris dans d'autres de tes montages, comme ici:

          75621b33-4e97-4f11-a242-b4b25714b91b-image.png
          [ref: https://hallard.me/pitinfov12/]

          Conclusion: pour le Wemos TIC V1.2, ca pose qqes questions:

          • faut-il prévoir une résistance variable selon le mode standard/historique ?
          • est-ce que mon montage fonctionnerait en mode historique ?
          • faut-il implanter 2 résistances en série et ajouter un ou 2 jumpers sur la carte pour faire un bypass par ex ?
          • faut-il simplement caler un potentiomètre (difficile à régler sans oscillo !) ?

          Merci en tous cas pour le coup de main: tout remonte via Tasmota dans Home Assistant et ca marche nickel 😀


          Stéphane Desneux
          Web: https://iot.bzh

          CharlesC 1 Reply Last reply
          • sdxS sdx

            @Charles

            Suite à un essai en mode "en vrac" où j'ai ajouté une résistance en amont (avant le connecteur vert - voir résultats précédents), j'ai rendu le montage plus stable.

            Je n'avais pas de 1 KΩ en CMS donc j'ai déssoudé R3 (220 Ω) et fait un pont avec une résistance "normale" enveloppée dans du thermo rouge, histoire de garder la charte de couleur intacte 😀

            Donc j'ai bien 1 KΩ en entrée au lieu de 220 Ω (et non pas 1.2 KΩ, comme dans le montage "volant" précédent où j'avais les 2 résistances en série). La valeur ne semble pas changer grand chose: 1 KΩ ou 1.2 KΩ reviennent au même a priori.

            f6aeb89c-3703-4ff8-b55f-aabd2a476a5f-image.png

            93b8ee0f-0cd3-4fb2-9ece-667ab80c36e6-image.png

            Le résultat est maintenant correct:

            9f5892c2-bcd9-4f87-a91e-e0d380957a4b-image.png

            (en bleu, l'entrée du linky, en rouge la sortie = le signal sur l'IO23).

            Je ne sais pas trop ce qui t'as amené à mettre une résistance de 220Ω au lieu de 4.7KΩ, car la plupart des montages utilisent 4.7KΩ en entrée de l'optocoupleur 814, y compris dans d'autres de tes montages, comme ici:

            75621b33-4e97-4f11-a242-b4b25714b91b-image.png
            [ref: https://hallard.me/pitinfov12/]

            Conclusion: pour le Wemos TIC V1.2, ca pose qqes questions:

            • faut-il prévoir une résistance variable selon le mode standard/historique ?
            • est-ce que mon montage fonctionnerait en mode historique ?
            • faut-il implanter 2 résistances en série et ajouter un ou 2 jumpers sur la carte pour faire un bypass par ex ?
            • faut-il simplement caler un potentiomètre (difficile à régler sans oscillo !) ?

            Merci en tous cas pour le coup de main: tout remonte via Tasmota dans Home Assistant et ca marche nickel 😀

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

            @sdx correct, les valeurs ont toujours été empiriques en fonction des remontés utilisateurs (car j'ai pas tous les compteurs et leurs dérives sous la main) donc on a du faire en fonction des expériences utilisateurs.

            La 4K7 était pour être conforme à la spéc EdF mais une fois de plus le mieux étant l'ennemi du bien (règle d'or).

            D'ailleurs beaucoup des retours sont sur ce forum. Et une fois callés les bonnes valeurs fonctionnelles partout (ce qui a pris quelques années et m'a valu un nombre incalculable de déssoudage / ressoudages de CMS à la main sur les uTInfo vendus) est apparu le mode standard du Linky venu à nouveau tout casser (après la première vague de production sinon c'est pas drôle)

            faut-il prévoir une résistance variable selon le mode standard/historique ?

            Idéalement oui mais sachant que la 1K2 doit marcher dans 95% des cas en mode historique

            est-ce que mon montage fonctionnerait en mode historique ?

            oui à 95%

            faut-il implanter 2 résistances en série et ajouter un ou 2 jumpers sur la carte pour faire un bypass par ex ?

            j'y ai pensé mais la resistance variable est plus simple

            faut-il simplement caler un potentiomètre (difficile à régler sans oscillo !) ?

            C'est la solution retenue, maintenant les uTinfo possèdent la résistance variable tout comme les Denky D4. Bien entendu la prochaine fournée des WeMos TIC auront cette résistance variable aussi tout comme les PITinfo.

            ça fonctionne dans 100% des cas en historique, donc tu règles uniquement si ça fonctionne pas en standard (cas rares), tu tournes jusque'au moement ou ça fonctionne, généralement en butée 1K.

            sdxS 1 Reply Last reply
            • CharlesC Charles

              @sdx correct, les valeurs ont toujours été empiriques en fonction des remontés utilisateurs (car j'ai pas tous les compteurs et leurs dérives sous la main) donc on a du faire en fonction des expériences utilisateurs.

              La 4K7 était pour être conforme à la spéc EdF mais une fois de plus le mieux étant l'ennemi du bien (règle d'or).

              D'ailleurs beaucoup des retours sont sur ce forum. Et une fois callés les bonnes valeurs fonctionnelles partout (ce qui a pris quelques années et m'a valu un nombre incalculable de déssoudage / ressoudages de CMS à la main sur les uTInfo vendus) est apparu le mode standard du Linky venu à nouveau tout casser (après la première vague de production sinon c'est pas drôle)

              faut-il prévoir une résistance variable selon le mode standard/historique ?

              Idéalement oui mais sachant que la 1K2 doit marcher dans 95% des cas en mode historique

              est-ce que mon montage fonctionnerait en mode historique ?

              oui à 95%

              faut-il implanter 2 résistances en série et ajouter un ou 2 jumpers sur la carte pour faire un bypass par ex ?

              j'y ai pensé mais la resistance variable est plus simple

              faut-il simplement caler un potentiomètre (difficile à régler sans oscillo !) ?

              C'est la solution retenue, maintenant les uTinfo possèdent la résistance variable tout comme les Denky D4. Bien entendu la prochaine fournée des WeMos TIC auront cette résistance variable aussi tout comme les PITinfo.

              ça fonctionne dans 100% des cas en historique, donc tu règles uniquement si ça fonctionne pas en standard (cas rares), tu tournes jusque'au moement ou ça fonctionne, généralement en butée 1K.

              sdxS Offline
              sdxS Offline
              sdx
              wrote on last edited by
              #6

              @Charles

              Merci pour toutes les précisions.

              Heureux de voir que le schmilblick avance malgré tout et que tu peux converger vers une solution unique 🙂

              Si tu as besoin d'un testeur qui possède un Linky en mode standard, n'hésites pas à me contacter par la suite.

              Kenavo!


              Stéphane Desneux
              Web: https://iot.bzh

              1 Reply Last reply
              • ChartreusitoC Offline
                ChartreusitoC Offline
                Chartreusito
                wrote on last edited by
                #7

                Bonjour,

                Je me permet de rebondir sur ce sujet ayant été confronté à un problème de bad crc visible sur l'interface web du teleinfo. J'utilise également un Wemos D1 ESP32 avec le TIC v1.1, et pour info je suis en contrat Tempo.

                J'ai installé l'ESP via ESPHome pour remontée des infos dans Home Assistant.

                J'avais déjà le soucis de bad crc en mode historique et il était toujours présent en mode standard donc je me suis décidé à mettre une résistance de 1k Ohms comme proposé ici, cela semble avoir résolu durablement mon soucis.

                J'avais quelques soucis de valeurs incohérentes qui faussaient les stats, à voir si cela règlera également ce problème.

                Merci beaucoup pour votre travail et vos conseils.

                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


                1

                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