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

    Trames corrompues MQTT

    Scheduled Pinned Locked Moved Denky D4
    72 Posts 8 Posters 5.3k 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.
    • F Offline
      FredLo @NPO
      last edited by

      @Charles

      J'ai regardé le code source de LibTeleinfo.cpp et j'arrive à la même conclusion que toi. Lors du calcul du Checksum, au moindre caractère qui sort des clous, la fonction retourne 0, qui n'est pas un checksum valide. Pour intégrer un couple tag + valeur, il faut que le Checksum extrait de la trame soit différent de zéro et égal au Checksum calculé.

      Du coup, la corruption que l'on observe peut difficilement être expliquée par une corruption de la trame entrante car elle devrait être détectée dès le calcul du checksum et exclue, même si le checksum extrait est valide (une chance sur 64).

      Une routine périodique qui parcourt la liste de tags et exclu les "chelous" me semble une solution de contournement efficace. Même si c'est plus satisfaisant d'identifier la corruption à la source.

      J'ai activé les stats et j'ai pour l'instant un seul 1 seul "Bad Checksum"

      Bonne soirée.

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

        @Charles en faisant marcher ma tête; ça n'arrive pas souvent mais comme quoi ... j'ai ajouté une résistance; de 100 ohm environ; branchée série sur la sortie TIC du compteur et le miracle apparu 🙂 Tout fonctionne depuis plusieurs heures de manière stable. En sortie forcement le JSON est correctement formaté !
        Par contre il reste une question en suspens ... comment fonctionne l'API ? j'ai beau chercher sur la doc je n'arrive pas à la faire fonctionner ...

        CharlesC 1 Reply Last reply Reply Quote
        • F Offline
          FredLo @FredLo
          last edited by

          @Charles Le code source que j'ai relu incluait ta dernière Pull Request qui n'est pas encore dans le build officiel ... Donc oui, cette nouvelle vérification lors du calcul du checksum devrait être très efficace !

          D'après les stats du Denky, j'ai environ 10 "Bad Checksum" par jour. Je ne suis donc pas un bon candidat pour tester une acquisition bruitée ...

          J'ai mis en place un Watchdog sur Jeedom qui surveille la collecte de données Teleinfo. Sans nouvelle remontée d'information au bout de 5 minutes, j'envoie une commande MQTT de reset au module. Pour ceux que ça intéresse, J'ai incrémenté une variable à chaque reception de données valides. Cette dernière est vérifiée toutes les 5 minutes par un scénario. Si la variable est différente de zéro, des données arrivent et on remet le compteur à zéro. Dans le cas contraire, on reset le Tasmota et on post un e-mail d'alerte.

          Bonne journée

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

            @NPO mais t'es un génie, je suis trop jaloux de ne pas y avoir pensé !!

            Bien sur le plus simple pour l'augmenter et d'en mettre une en série (et au début fallait la diminuer donc pas possible si simplement) et le plus simple est d'en mettre une avant, très bien joué et en plus ca conforte nos expériences, en standard il faut l'augmenter d'ou le potentiomètre de 1K qui sera sur toutes les prochaines séries (déjà sur le Denky et MicroTeleinfo V3) en lieu et place de la 220 Ohm, merci du retour.

            Pour l'API tu dois utiliser MQTT ou faire des WEBPost depuis tasmota vers ta cible, tu peux faire tout ça très simplement avec un script Berry si t'es en ESP32 sinon avec des command WebQuery avec des rules (moins fun que le Berry)

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

              @FredLo merci du retour, je viens de regarder j'ai ça en 3 Jours

              96aa87ea-1239-41e1-a2e8-908478ccd5b8-image.png

              Effectivement sur 2000 erreurs statistiquement la possibilité d'en avoir une bonne (1/64) et valide et pour moi depuis le debut le soucis est là.

              D'ailleur ma trame MQTT ne contient pas d'étiquette chelou donc la vérification implémentée semble être assez efficace, surtout que le JSON sera toujours valide (faut peut être mais valide)

              le code source que j'ai relu incluait ta dernière Pull Request qui n'est pas encore dans le build officiel

              Si dans celui là (version teleinfo), car il ne sera jamais dans l'officiel la Teleinfo.

              F 1 Reply Last reply Reply Quote
              • F Offline
                FredLo @Charles
                last edited by

                @Charles

                Ma liaison Linky/Denky est effectivement bien moins perturbée, mais mon watchdog s'est quand même déclenché deux fois aujourd'hui. Depuis, tous les compteurs de stats restent à zéro.

                Je vais laisser tourner quelques jours pour avoir plus de statistiques et après je bascule sur un firmware avec ton dernier patch.

                Bonne soirée.

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

                  Un petit bilan après 3 jours.

                  8c867b4a-c317-439d-b476-45ad8f93b9ca-image.png

                  A noter que les 2 erreurs systématiques n'ont toujours pas causé de trames json incohérentes. A part le nombre d'errerus checksum, cela semble bon.

                  Bonne Journée

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

                    @labu73 tu as quand même pas mal d'erreurs de checksum, une petite resistance de 1K en série avec ta teleinfo devrait y faire le plus grand bien 🙂

                    j'étais environ à 30/heure à la 220 Ohm et maintenant je suis à 10/heure (j'ai changé par une 1K) je vais augmenter pour voir

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

                      @Charles
                      Bonsoir,

                      Tu as surement raison, il faut dire qu'une dizaine de mêtres d'un câble quelconque qui chemine au milieu de toutes les connexions de mon tableau principal, c'est pas idéal.

                      En tout cas, le remède a été efficace, plus de corruption MQTT.

                      Par contre, le côté systématique de 2 checksum par trame systématiques avec le dernier Firmware alors que sur l'avant dernier il y en avait peu me surprends.

                      Merci de ton aide et tes conseils

                      1 Reply Last reply Reply Quote
                      • P Offline
                        Pi57
                        last edited by

                        Bonsoir,

                        Je suis un tout nouvel utilisateur de la teleinfo via tasmota 🙂
                        Je pense être dans un cas similaire à ceux de ce thread.
                        J'ai beaucoup de bad checksum.

                        Checksum1.png Checksum2.png

                        Le checksum est toujours à 0...

                        De plus je pense qu'il me manque des étiquettes avec la TIC standard.

                        Comme indiqué plus haut j'ai déjà ajouté une résistance de 1K sur un des fils de la TIC.

                        Qu'est ce que je pourrais essayer de plus ?

                        Merci

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

                          @Pi57 je pense que tu as le firmware avec le fix codé trop rapidement (toutes les checksum à 0) peux tu installer la dernière version dispo ici ?

                          Tu as quoi comme carte ?

                          P 2 Replies Last reply Reply Quote
                          • P Offline
                            Pi57 @Charles
                            last edited by

                            @Charles
                            Ok je met à jour avec le firmware indiqué.
                            J'ai un esp32 D1 mini + Wemos teleinfo

                            1 Reply Last reply Reply Quote
                            • P Offline
                              Pi57 @Charles
                              last edited by

                              @Charles qu'elle est la différence entre le firmware teleinfo et le firmware teleinfo.factory ?

                              J'ai flashé le premier via l'interface web et pas de changement au niveau des checksum

                              1 Reply Last reply Reply Quote
                              • P Offline
                                Pi57
                                last edited by

                                Bonsoir,

                                J'ai checké ce qui passe sur ma liaison série avec PuttY. A priori les données passent correctement, et il ne manque pas d'étiquettes. Ce que je recoit en MQTT est bien ce qui est envoyé par mon compteur 🙂

                                Est ce qu'il existe un mode debug pour avoir plus d'infos dans les log pour essayer de trouver le problème de checksum ? Si oui comment l'activer ?

                                Merci

                                1 Reply Last reply Reply Quote
                                • P Offline
                                  Pi57
                                  last edited by Pi57

                                  @Charles Bonjour,
                                  Je pense avoir trouvé mon problème de checksum.
                                  J'ai un abonnement HP/HC. La valeur contient un /, qui n'est pas autorisé dans les validity check (voir images).
                                  Est ce que ca pourrait être ca ?

                                  Bonne journée.

                                  Checksum3.png Checksum4.png

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

                                    @Pi57 c'est exactement ça et c'est pour ça que tu n'as que des checksum errors et pas d'autres. Il faut que j'ajoute ce caractère, j'ai cherché tous ceux autorisés dans la spécification mais je n'ai pas trouvé.

                                    En l'état aucun soucis pour toi, juste tu ne peux pas avoir cette étiquette retournée en attendant le fix mergé

                                    En tous cas merci pour avoir trouvé le bug

                                    P 1 Reply Last reply Reply Quote
                                    • P Offline
                                      Pi57 @Charles
                                      last edited by

                                      @Charles Pas de soucis 😉
                                      Et d'ailleurs on peux faire soit même des pull request pour corriger des bugs de se style ? ou ca doit passer par toi ?

                                      Du coup ma teleinfo fonctionne plutot bien, merci encore pour le dev de la carte et le firmware 🙂
                                      Il me reste plus qu'à réussir à faire fonctionner l'afficheur qui n'affiche rien pour le moment :s

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

                                        @Pi57

                                        Et d'ailleurs on peux faire soit même des pull request pour corriger des bugs de se style ? ou ca doit passer par toi ?

                                        Absolument pas tout le monde peut faire des PR dans tasmota, j'ai tout ce qu'il faut sous la main et l'habitude ça m'a pris 2 min mais la 1ere fois chaud, faut avoir un fork, le maintenir en sync faire une branche et la merger, et parfois des rebase, le process est lourd au début mais si tu maitrises git aucun soucis (c'était pas mon cas et ça l'est pas toujours)

                                        F 1 Reply Last reply Reply Quote
                                        • F Offline
                                          FredLo @Charles
                                          last edited by

                                          @Charles

                                          Bonjour,

                                          Je confirme également le bon fonctionnement de la lib teleinfo suite à ton check sur les caractères autorisés lors du calcul du checksum.

                                          J'avais une ou deux alertes par jour mais plus rien depuis. J'ai un abonnement Base en mode Standard.

                                          Merci pour ton travail, aussi bien sur la carte que sur le soft.

                                          Bonne journée

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

                                            Bravo pour le fix, toujours aucun souci, malgré mon cablage pourri.

                                            eab3cc22-330f-40d8-9f20-6ed6150cfde2-image.png

                                            Au moins c'est robuste.

                                            1 Reply Last reply Reply Quote
                                            • First post
                                              Last post

                                            1

                                            Online

                                            5.7k

                                            Users

                                            534

                                            Topics

                                            5.0k

                                            Posts

                                            Top Topics

                                            • Bonjour Nicolas
                                              Nicolas BernaertsN
                                              Nicolas Bernaerts
                                              0
                                              19
                                              353

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

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

                                            • CC1101 mini shield pour raspberry
                                              CharlesC
                                              Charles
                                              0
                                              5
                                              161

                                            • CC1101
                                              CharlesC
                                              Charles
                                              0
                                              2
                                              71

                                            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