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

    erreur trame TIC ADCO ?

    Téléinfo
    3
    10
    183
    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.
    • G
      Géryko
      last edited by

      Bonjour à tous,

      Je débute et je teste la librairie LibTeleinfo avec un esp32 mais avec Teleinfo_DenkyD4.ino
      (V1.01 2021-04-18 - Refactored for Denky D4 standalone test only)

      Tout semble fonctionner mais il y a une erreur sur la variable ADCO.
      Affiche 2147483647 au lieu de 031762023755.
      La donnée sur la trame traitée n'est pas celle reçue et affichée ! (voir ci- dessous)

      Y a t'il moyen de corriger cela ?
      Nota : sur la version esp32 (ESP32.ino) la valeur ADCO était correcte.

      Merci à vous.

      ... HHPHC A ,
      MOTDETAT 000000 B
      <ETX>

      <STX>
      ADCO 031762023755 @
      OPTARIF BASE 0
      ISOUSC 30 9
      BASE 015572905 -
      PTEC TH.. $
      IINST 002 Y
      IMAX 090 H
      PAPP 00490 .
      HHPHC A ,
      MOTDETAT 000000 B
      {"ADCO":2147483647, "OPTARIF":"BASE", "ISOUSC":30, "BASE":15572905, "PTEC":"TH..", "IINST":2, "IMAX":90, "PAPP":490, "HHPHC":"A", "MOTDETAT":0}
      <ETX>

      <STX>
      ADCO 031762023755 @
      OPTARIF BASE 0
      ISOUSC 30 9 ...

      G 1 Reply Last reply Reply Quote
      • G
        Géryko
        last edited by

        Bonjour,
        Question subsidiaire :
        J'ai actuellement un contrat basique (pas de HP-HC) et une TIC Linky "historique".
        Si j'ai bien compris, en passant en TIC "standard" je n'aurai aucune information supplémentaire ?

        Correct ou pas ?
        Merci.

        1 Reply Last reply Reply Quote
        • G
          Géryko @Géryko
          last edited by Géryko

          @Géryko said in erreur trame TIC ADCO ?:
          Sur mon 1er message :

          Nota : sur la version esp32 (ESP32.ino) la valeur ADCO était correcte.

          Je ne suis plus sûr de mon coup ?
          Sur la version "basique" il y avait le même problème mais je ne l'avais pas remarqué.

          1 Reply Last reply Reply Quote
          • G
            Géryko
            last edited by

            Bonjour,

            Remarques :

            1. Un indice : 2147483647 (dec) = 7fffffff (hex) "Comme c'est bizarre !"
              Je ne suis pas assez connaisseur pour trouver la cause du problème.

            2. Sans rapport avec le problème principal.
              Lorsque je créer un faux checksum sur une des étiquettes, l'affichage de cette étiquette ne se fait pas OK, mais je n'ai aucun signalement !
              Comment faire pour afficher les problèmes sur le moniteur ?
              genre ligne 901 du .cpp : TI_Debugf(PSTR("LibTeleinfo::checkLine Err checksum 0x%02X != 0x%02X"), calc_checksum, checksum);

            Merci à vous.

            Nicolas BernaertsN 1 Reply Last reply Reply Quote
            • Nicolas BernaertsN
              Nicolas Bernaerts @Géryko
              last edited by Nicolas Bernaerts

              @Géryko ADCO doit être traité comme un long long pour être géré en valeur numérique. Sinon, il faut le traiter en string.

              1 Reply Last reply Reply Quote
              • G
                Géryko
                last edited by Géryko

                Bonjour Nicolas Bernaerts,
                et merci pour ta réponse.

                Mais comme je l'ai écrit, c'est un problème de la bibliothèque LibTeleinfo que je ne sais pas traiter.
                Pour l'instant je n'ai rien programmé. L'anomalie est présente avec les exemples fournis.
                je ne suis pas assez "performant". en programmation.

                Je vais quand même y jeter un oeil sur les déclarations mais ???
                En clair, que faudrait-il modifier ?

                PS : à priori, toutes les données sont des "char".

                1 Reply Last reply Reply Quote
                • G
                  Géryko
                  last edited by

                  Bonsoir à tous,

                  Le viens de faire des tests complémentaires.

                  Si ADCO est < à 2147483647 c'est OK ( 7fffffff (hex) 2^31 )
                  Si ADCO est > à 2147483647 c'est mauvais.

                  Mais je ne comprends pas comment cette valeur est déclarée ?
                  Il n'y a que du char dans la librairie LibTeleinfo.h et LibTeleinfo.cpp !

                  Quelqu'un peut-il m'aider à résoudre ce petit problème ?
                  Merci

                  1 Reply Last reply Reply Quote
                  • G
                    Géryko
                    last edited by

                    Bonsoir à tous,

                    J'ai trouvé et résolu le problème.

                    Dans le fichier .ino il y a : Serial.print(atol(me->value));
                    Il faut : Serial.print(me->value);
                    Car "atol" convertit en long alors que (me->value) = 12 chiffres.
                    Merci

                    1 Reply Last reply Reply Quote
                    • G
                      Géryko
                      last edited by

                      Bonjour,
                      Autre possibilité, mettre :
                      (strlen(me->value) > 9) ? SERIAL_DEBUG.print(me->value) : SERIAL_DEBUG.print(atoi(me->value));

                      Mais transformer String en nombre ne sert quasiment à rien pour l'afficher ?
                      (hormis effacer le zéros non significatifs et revérifier qu'il ne s'agit bien que de chiffres)
                      Une double erreur peut provoquer un checksum OK.

                      CharlesC 1 Reply Last reply Reply Quote
                      • CharlesC
                        Charles @Géryko
                        last edited by

                        @Géryko Oui dans la librairie tous les champs sont traité en mode natif, c'est à dire des char, après sur l'affichage ou autre il faut faire du spécifique cf
                        https://github.com/hallard/LibTeleinfo/issues/22

                        1 Reply Last reply Reply Quote
                        • First post
                          Last post

                        1

                        Online

                        5.4k

                        Users

                        461

                        Topics

                        4.3k

                        Posts

                        Top Topics

                        • Stéphane TheodoreS
                          Wemos téléinfo v1.1 + D1 mini V4 + Tasmota + mode Standard
                        • T
                          Denky D4 - démarrage
                        • Jérémie LeguayJ
                          Câblage Denky-D4
                        • SamquadS
                          Wemos téléinfo V1.1 la led s'allume mais le Wemos mini d1 ne reçois pas de trame TIC

                        Popular Tags

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