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

    Trames corrompues MQTT

    Scheduled Pinned Locked Moved Denky D4
    72 Posts 8 Posters 6.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • CharlesC Offline
      Charles @labu73
      last edited by

      @labu73 Bonjour,

      Pour le moment tu peux pallier ce soucis avec un règle tasmota pour un reboot quand tu souhaites via les timer, puis associer une règle au timer.
      cf ici
      ce n'est pas très orthodoxe mais efficace.

      Concernant les données corrompues il faut investiguer ce bug car les données sont stockées en mémoire à reception et celle-ci ne sont stockées uniquement si la validité a été vérifiée via contrôle de checksum. Or si elles deviennent corrompues après (ce cas précis) c'est que quelque chose s'est mal passé plus tard et vient écraser (donc modifier) les données à postériori.

      La vrai question c'est qui quoi quand (débordement de buffer, pb d'allocation, d'alignement, buffer MQTT trop petit, ...) et comment et si tenté que ce ne soit pas un problème lié au hardware CPU ou autre.

      Une solution pourrait être de stocker la checksum dans cette liste et revérifier avant envoi et supprimer les étiquettes avec une mauvaise checksum, ça solutionnerait le problème mais pas la cause.

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

        @Charles

        Merci pour ta réponse,. Le côté rémanent du défaut et la reprise systématique au reboot me fait penser à un souci dans la mise en place de la liste des tags. En effet, la liste étant établie au fur et à mesure que des tags sont découverts, un bug dans la com Linky/Denky peut créer des tags erronés.

        Que penses tu de mon hypothèse?

        Je passerai bien à EnergyConfig Changed pour ne pas répéter cette erreur, par contre, sans skip, je me retrouve avec des infos power toutes les 5 secondes. Ne peut on pas baisser cette fréquence autrement que par skip?

        CharlesC 1 Reply Last reply Reply Quote
        • O Offline
          OuiLinky
          last edited by

          Bonjour,

          Personnellement j'ai déjà observé des trames au checksum valide mais complètement erroné.
          Il est possible que ce sois le cas ici aussi.
          Est-ce-que tu peux avoir accès à des trames erronées pour vérifier leurs checksums ?

          Pour régler le souci j'ai vérifié que les étiquettes des trames reçues soient bien des étiquettes valides (dispo dans la doc). Ce n'est pas parfait mais ça réduit de beaucoup la probabilité d'un checksum validé mais d'une trame erronée.

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

            @labu73

            un bug dans la com Linky/Denky peut créer des tags erronés

            C'est impossible c'est bien ça le soucis, le tag n'est "enregistré" que si la checksum est bonne c'est donc après que le problème se produit, quelque chose vient corrompre la table ou lors de l'envoi

            j'ai fait une PR pour revérifier cette checksum avant l'envoi via MQTT, comme ça si ça se corromps après ça ne sera pas pris en compte.

            Tu pourrais essayer cette version tasmota32-teleinfo.bin pour voir ?

            Par ailleurs une nouvelle option pour voir les erreurs dans la Web UI
            EnergyConfig Stats 1

            Tiens nous au courant 🙂

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

              @OuiLinky said in Trames corrompues MQTT:

              Personnellement j'ai déjà observé des trames au checksum valide mais complètement erroné.

              tu veux dire une ligne (la checksum étant par ligne) ? Intéressant, néanmoins je doute que ca vienne du compteur en lui-même mais je vois pas bien hormis un bug coté libraire comment c'est possible.

              Le calcul est assez basique néanmoins on ne peut pas exclure le risque d'une bonne checksum avec mauvaise étiquette mais ça doit être un très mauvais concours de circonstance.

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

                @Charles

                Merci pour toutes ces réponses.

                Comment installer la version dans mon Denky?

                Quel outil pour transférer?

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

                  @labu73
                  voir ici, upgrade par l'interface WEB, en utilisant le fichier .bin indiqué au dessus

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

                    @Charles

                    Youpi, plus rien ne marche 🙂

                    J'en conclus que ma ligne est excessivement parasitée et qu'il faut que je revoie le cablage. D'un autre côté, commment cela pouvait il fonctionner?

                    Je pense que l'ancien Firmware ne voyait rien.

                    00:00:00.003 HDW: ESP32-PICO-V3-02 (PSRAM)
                    00:00:00.052 UFS: FlashFS mounted with 4396 kB free
                    00:00:00.076 CFG: Loaded from File, Count 120
                    00:00:00.086 QPC: Count 1
                    00:00:00.240 BRY: Berry initialized, RAM used=4071 bytes
                    00:00:00.314 CFG: Energy loaded from file
                    00:00:00.315 NRG: Init driver 15
                    00:00:00.325 Project tasmota - Tasmota Version 12.4.0.1(teleinfo)-2_0_7(2023-02-27T16:47:33)
                    00:00:00.327 TIC: RX on GPIO8, baudrate 9600
                    00:00:00.329 TIC: Raw mode enabled
                    00:00:00.340 TIC: Sending only one frame over 14 
                    00:00:01.201 WIF: Connecting to AP1 LoEtLo Channel 7 BSSId C0:06:C3:69:A2:B2 in mode 11n as Linky-5592...
                    00:00:01.992 WIF: Connected
                    00:00:02.251 HTP: Web server active on Linky-5592 with IP address 192.168.68.20
                    09:49:30.260 MQT: Attempting connection...
                    09:49:30.297 MQT: Connected
                    09:49:30.301 MQT: tele/Linky/LWT = Online (retained)
                    09:49:30.303 MQT: cmnd/Linky/POWER = 
                    09:49:30.308 MQT: tele/Linky/INFO1 = {"Info1":{"Module":"Denky D4 (v1.1)","Version":"12.4.0.1(teleinfo)","FallbackTopic":"cmnd/DVES_D6D5D8_fb/","GroupTopic":"cmnd/tasmotas/"}}
                    09:49:30.323 MQT: tele/Linky/INFO2 = {"Info2":{"WebServerMode":"Admin","Hostname":"Linky-5592","IPAddress":"192.168.68.20","IP6Global":"","IP6Local":"fe80::3283:98ff:fed6:d5d8"}}
                    09:49:30.337 MQT: tele/Linky/INFO3 = {"Info3":{"RestartReason":"Software reset CPU","BootCount":20}}
                    09:49:30.350 MQT: stat/Linky/RESULT = {"POWER":"OFF"}
                    09:49:30.355 MQT: stat/Linky/POWER = OFF
                    09:49:32.492 LibTeleinfo::checkLine frame format error, total=1
                    09:49:32.894 QPC: Reset
                    09:49:33.902 MQT: tele/Linky/STATE = {"Time":"2023-02-28T09:49:33","Uptime":"0T00:00:07","UptimeSec":7,"Heap":168,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Berry":{"HeapUsed":3,"Objects":45},"POWER":"OFF","Dimmer":0,"Color":"000000","HSBColor":"0,0,0","Channel":[0,0,0],"Scheme":0,"Width":1,"Fade":"OFF","Speed":1,"LedTable":"ON","Wifi":{"AP":1,"SSId":"LoEtLo","BSSId":"C0:06:C3:69:A2:B2","Channel":7,"Mode":"11n","RSSI":68,"Signal":-66,"LinkCount":1,"Downtime":"0T00:00:03"}}
                    09:49:33.956 TIC: bad checksum for SMAXSN
                    09:49:33.957 TIC: bad checksum for SMAXSN1
                    09:49:33.957 TIC: bad checksum for SMAXSN2
                    09:49:33.966 MQT: tele/Linky/SENSOR = {"Time":"2023-02-28T09:49:33","ENERGY":{"TotalStartTime":"2023-01-29T09:53:32","Total":1259.411,"Yesterday":27.862,"Today":15.406,"Period":[0,0,0],"Power":[237,0,0],"ApparentPower":[237,0,238],"ReactivePower":[0,0,238],"Factor":[1.00,0.00,0.00],"Voltage":[237,238,238],"Current":[1.000,0.000,1.000],"Load":1},"TIC":{"ADSC":"022276116693","VTIC":2,"NGTF":"TEMPO","LTARF":"HP  BLANC","EAST":1259411,"EASF01":918154,"EASF02":108799,"EASF03":106299,"EASF04":110144,"EASF05":8101,"EASF06":7914,"EASF07":0,"EASF08":0,"EASF09":0,"EASF10":0,"EASD01":1032554,"EASD02":226857,"EASD03":0,"EASD04":0,"IRMS1":1,"IRMS2":0,"IRMS3":1,"URMS1":237,"URMS2":238,"URMS3":238,"PREF":12,"PCOUP":12,"SINSTS":479,"SINSTS1":281,"SINSTS2":38,"SINSTS3":158}}
                    09:49:35.442 LibTeleinfo::checkLine frame format error, total=2
                    09:49:36.458 TIC: bad checksum for SMAXSN
                    09:49:36.459 TIC: bad checksum for SMAXSN1
                    09:49:36.460 TIC: bad checksum for SMAXSN2
                    09:49:36.461 TIC: bad checksum for SMAXSN3
                    09:49:36.472 TIC: bad checksum for SMAXSN-1
                    09:49:36.473 TIC: bad checksum for SMAXSN1-1
                    09:49:36.474 TIC: bad checksum for SMAXSN2-1
                    09:49:36.485 TIC: bad checksum for SMAXSN3-1
                    09:49:36.485 TIC: bad checksum for CCASN
                    09:49:36.486 TIC: bad checksum for CCASN-1
                    09:49:36.487 TIC: bad checksum for UMOY1
                    09:49:36.498 TIC: bad checksum for UMOY2
                    09:49:36.499 TIC: bad checksum for UMOY3
                    09:49:36.500 TIC: bad checksum for FPM1
                    09:49:37.615 LibTeleinfo::checkLine frame format error, total=3
                    09:49:39.438 TIC: bad checksum for SMAXSN
                    09:49:39.439 TIC: bad checksum for SMAXSN1
                    09:49:39.440 TIC: bad checksum for SMAXSN2
                    09:49:39.441 TIC: bad checksum for SMAXSN3
                    09:49:39.452 TIC: bad checksum for SMAXSN-1
                    09:49:39.453 TIC: bad checksum for SMAXSN1-1
                    09:49:39.454 TIC: bad checksum for SMAXSN2-1
                    09:49:39.465 TIC: bad checksum for SMAXSN3-1
                    09:49:39.466 TIC: bad checksum for CCASN
                    09:49:39.467 TIC: bad checksum for CCASN-1
                    09:49:39.468 TIC: bad checksum for UMOY1
                    09:49:39.479 TIC: bad checksum for UMOY2
                    09:49:39.480 TIC: bad checksum for UMOY3
                    09:49:39.482 TIC: bad checksum for FPM1
                    09:49:40.094 LibTeleinfo::checkLine frame format error, total=4
                    
                    CharlesC 1 Reply Last reply Reply Quote
                    • CharlesC Offline
                      Charles @labu73
                      last edited by

                      @labu73 j'ai fait un fix vite fait y'a peut être des soucis, tu peux taper dans la console la commande
                      EnergyConfing Stats 1 et mettre une copie de l'écran d'accueil après ?

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

                        @Charles

                        Il passe une trame de temps en temps, ce qui met à jour mon HA.

                        Sinon, voici l'écran et les états depuis 2h

                        61e31642-0c68-4fb4-8f30-345b7b8b1e91-image.png

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

                          @labu73 yes tu as raison je viens de tester chez moi en mode standard j'ai le meme soucis, je vais regarder ça

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

                            @Charles

                            Merci d'avance, j'aime être le beta testeur moi qui passe mon temps à me faire debugger mes programmes automatismes et robotique industrielle.

                            Bon courage,

                            Laurent

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

                              @labu73

                              Tout est rentré dans l'ordre avec cette PR le temps que ce soit mergé et build dans tasmota-special voici le FW à flasher (ESP32 seulement)

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

                                @Charles
                                👏 👏 👏
                                Tout est rentré dans l'ordre, merci.

                                1 Reply Last reply Reply Quote
                                • N Offline
                                  NPO
                                  last edited by Charles

                                  Bonjour à tous 🙂

                                  Je rencontre également des problèmes de checksum récurrents bien que j'ai déplacé mon module au plus prés du compteur

                                  12:13:21.043 TIC: bad checksum for FPM2
                                  12:13:21.046 TIC: bad checksum for SMAXSN
                                  12:13:21.048 TIC: bad checksum for DPM2
                                  12:13:21.050 TIC: bad checksum for SHNSTS
                                  12:13:21.051 TIC: bad checksum for UMOY1
                                  12:13:21.063 TIC: bad checksum for EASD02 01203695
                                  12:13:21.065 TIC: bad checksum for SL@XSN
                                  12:13:21.070 LibTeleinfo::checkLine Err checksum 0x49 != 0x2E (total errors=3788)
                                  12:13:21.073 LibTeleinfo::checkLine Err checksum 0x52 != 0x27 (total errors=3789)
                                  12:13:21.085 LibTeleinfo::checkLine Err checksum 0x23 != 0x33 (total errors=3790)
                                  12:13:21.287 LibTeleinfo::checkLine Err checksum 0x33 != 0x34 (total errors=3791)
                                  12:13:21.290 LibTeleinfo::checkLine Err checksum 0x24 != 0x25 (total errors=3792)
                                  12:13:21.302 LibTeleinfo::checkLine Err checksum 0x39 != 0x3A (total errors=3793)
                                  12:13:21.304 LibTeleinfo::checkLine Err checksum 0x41 != 0x42 (total errors=3794)
                                  12:13:21.316 LibTeleinfo::checkLine frame format error, total=879
                                  12:13:21.318 LibTeleinfo::checkLine Err checksum 0x2D != 0x3F (total errors=3795)
                                  12:13:21.331 LibTeleinfo::checkLine Err checksum 0x39 != 0x3B (total errors=3796)
                                  12:13:21.333 LibTeleinfo::checkLine Err checksum 0x2C != 0x3D (total errors=3797)
                                  12:13:21.346 LibTeleinfo::checkLine Err checksum 0x2C != 0x29 (total errors=3798)
                                  

                                  je viens d'essayer le firmware mais impossible de flasher car erreur suivante "Invalid file signature"

                                  Merci pour votre aide !!!

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

                                    @NPO le build est maintenant dispo ici pour toutes les plateformes.

                                    tu es bien en ESP32 et tu essaies de flasher via l'interface WEB ?

                                    N 2 Replies Last reply Reply Quote
                                    • N Offline
                                      NPO @Charles
                                      last edited by

                                      @Charles c'est bien une ESP32 😉

                                      Par ailleurs j'ai téléchargé le fichier "tasmota32c3-teleinfo.bin" et j'ai une erreur "Upload failed. Enable logging 3" et j'ai tenté avec "tasmota32-teleinfo.factory.bin" et j'ai ""Invalid file signature" en erreur ...

                                      1 Reply Last reply Reply Quote
                                      • N Offline
                                        NPO @Charles
                                        last edited by

                                        @Charles complément ...
                                        c'est bien une ESP32 et j'ai tenté la mise a jour par la web UI ... (c'est mieux quand on lis les questions jusqu'au bout !)
                                        Finalement j'ai flashé "en dur" et ça a fonctionné mais j'ai toujours des erreurs de checksum ...
                                        Y'a t'il un lien avec le fait que les trames MQTT ne sont pas formatées en JSON ?
                                        je m'explique la première trame reçue par le broker est bien en JSON mais pas les suivantes ...

                                        Merci

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

                                          Vu que je suis en Tempo triphasé, mon compteur cause beaucoup mais avec un bon format json

                                          16:20:51.039 MQT: tele/Linky/SENSOR = {"TIC":{"ADSC":"022276116693","VTIC":2,"NGTF":"TEMPO","LTARF":"HP  ROUGE","EAST":1291834,"EASF01":918154,"EASF02":108799,"EASF03":121563,"EASF04":122694,"EASF05":8101,"EASF06":12523,"EASF07":0,"EASF08":0,"EASF09":0,"EASF10":0,"EASD01":1047818,"EASD02":244016,"EASD03":0,"EASD04":0,"IRMS1":1,"IRMS2":1,"IRMS3":1,"URMS1":241,"URMS2":241,"URMS3":241,"PREF":12,"PCOUP":12,"SINSTS":518,"SINSTS1":228,"SINSTS2":125,"SINSTS3":162,"SMAXSN":7010,"SMAXSN1":2560,"SMAXSN2":2080,"SMAXSN3":2360,"SMAXSN-1":7010,"SMAXSN1-1":2830,"SMAXSN2-1":2100,"SMAXSN3-1":2330,"CCASN":390,"CCASN-1":504,"UMOY1":240,"UMOY2":241,"UMOY3":239,"STGE":"833A5401","DPM2":0,"FPM2":0,"PRM":2147483647,"RELAIS":0,"NTARF":6,"NJOURF":0,"NJOURF+1":0}}
                                          

                                          J'ai encore des trames bizarres sur la fin mais il semble que cela reste un json correct voir le tag 30300113310000 en fin de trame après quelques temps

                                          a61b7d0d-583c-4bae-a8a4-e8c6d4cf1a5b-image.png

                                          16:12:47.687 MQT: tele/Linky/SENSOR = {"TIC":{"ADSC":"022276116693","VTIC":2,"NGTF":"TEMPO","LTARF":"HP  ROUGE","EAST":1291776,"EASF01":918154,"EASF02":108799,"EASF03":121563,"EASF04":122694,"EASF05":8101,"EASF06":12465,"EASF07":0,"EASF08":0,"EASF09":0,"EASF10":0,"EASD01":1047818,"EASD02":243958,"EASD03":0,"EASD04":0,"IRMS1":1,"IRMS2":1,"IRMS3":1,"URMS1":240,"URMS2":242,"URMS3":240,"PREF":12,"PCOUP":12,"SINSTS":504,"SINSTS1":205,"SINSTS2":137,"SINSTS3":161,"SMAXSN":7010,"SMAXSN1":2560,"SMAXSN2":2080,"SMAXSN3":2360,"SMAXSN-1":7010,"SMAXSN1-1":2830,"SMAXSN2-1":2100,"SMAXSN3-1":2330,"CCASN":390,"CCASN-1":504,"UMOY1":239,"UMOY2":240,"UMOY3":239,"STGE":"833A5401","DPM2":0,"FPM2":0,"PRM":2147483647,"RELAIS":0,"NTARF":6,"NJOURF":0,"NJOURF+1":0,"30301131000":237}}
                                          

                                          Je continue de surveiller cela, mais pour le moment je récupère des trames cohérentes.

                                          MErci

                                          N 1 Reply Last reply Reply Quote
                                          • N Offline
                                            NPO @labu73
                                            last edited by Charles

                                            @labu73 Aucune amélioration de mon coté ... il me semble que @Charles a évoqué un probleme sur les trames standard ...

                                            68a9ef08-a61e-4689-9e89-ba0e9385ed40-image.png Capture d’écran 2023-03-01 à 18.25.53

                                            Et en sortie mes trames ne sont toujours pas correctement formatées en JSON

                                            {
                                              "Time": "2023-03-01T18:28:15",
                                              "ENERGY": {
                                                "TotalStartTime": "2023-03-01T18:17:53",
                                                "Total": 14538.407,
                                                "Yesterday": 0,
                                                "Today": 0,
                                                "Period": 0,
                                                "Power": 153,
                                                "ApparentPower": 237,
                                                "ReactivePower": 181,
                                                "Factor": 0.65,
                                                "Voltage": 237,
                                                "Current": 1,
                                                "Load": 3
                                              },
                                              "TIC": {
                                                "VTIC": 2,
                                                "NGTF": "TEMPO",
                                                "EAST": 14538407,
                                                "EASF01": 12734205,
                                                "EASF02": 1714927,
                                                "EASF04": 38258,
                                                "EASF05": 15195,
                                                "EASF07": 0,
                                                "EASF09": 0,
                                                "EASF10": 0,
                                                "EASD04": 2593655,
                                                "IRMS1": 1,
                                                "URMS1": 237,
                                                "PREF": 6,
                                                "PCOUP": 6,
                                                "SMAXSN": 287,
                                                "PRM": 2147483647,
                                                "RELAIS": 0,
                                                "NTARF": 6,
                                                "NJOURF": 0,
                                                "NJOURF+1": 0,
                                                "LTARF": "HP  ROUGE",
                                                "EASF03": 29956,
                                                "EASF06": 5866,
                                                "EASD01": 7258333,
                                                "EASD02": 3482724,
                                                "EASD03": 1203695,
                                                "SINSTS": 153,
                                                "SMAXSN-1": 2494,
                                                "UMOY1": 231,
                                                "DPM2": 0,
                                                "P@OINTE": "000040 5 06004006 2"004005 NONUTILE NONUTILE NONUTILE NONETILE NONUTILE NONUTILE NONUTILE NONUTILE",
                                                "ADSC": "031662280532",
                                                "STGE": "83DAD401",
                                                "FPM2": 0,
                                                "EASF08": 0,
                                                "CINSTS": 156
                                              }
                                            }
                                            

                                            J'ai vu qu'une API HTTP existe depuis l'interface web mais je ne trouve pas comment elle fonctionne ... tu aurais une idée ?

                                            1 Reply Last reply Reply Quote
                                            • First post
                                              Last post

                                            6

                                            Online

                                            5.7k

                                            Users

                                            534

                                            Topics

                                            5.0k

                                            Posts

                                            Top Topics

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

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

                                            • CC1101
                                              CharlesC
                                              Charles
                                              0
                                              2
                                              116

                                            Popular Tags

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