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

    WifInfo - coquilles version 1.0.7

    Scheduled Pinned Locked Moved WifInfo
    2 Posts 2 Posters 526 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.
    • G Offline
      Guillaume
      last edited by

      Bonjour à tous,
      Je profite de ce confinement pour résoudre mes dysfonctionnements wifinfo depuis passage en compteur linky.
      Je suis reparti de la dernière version que j'ai trouvé 1.0.7 (https://github.com/theGressier/LibTeleinfo).
      Je pense avoir trouvé quelques coquilles dans le code (pas liées aux dernières modifs v1.0.7) que je vous remonte donc :

      1. problème fonction Debug et agresse ip
      2. problème fonction Debug si le message dépasse la taille de logbuffer => reset par watchdog hard
      3. problème fonction jeedompost qui n'envoie pas le premier label
      4. checksum dans la libraire mise en défaut par les caractères ascii minuscules

      Voici plus en détail les différents problèmes :
      1/ problème fonction Debug et agresse ip :
      En activant l'option syslog, j'ai une erreur à la compilation
      "call of overloaded 'Myprintln(IPAddress)' is ambiguous"
      le problème vient de la ligne suivante. j'ai résolu ça en convertissant l'adresse ip en texte d'abord.

      DebugF("IP address   : "); Debugln(WiFi.softAPIP());
      

      2/ problème fonction Debug si le message dépasse la taille de logbuffer => reset par watchdog hard
      Le problème apparaît dans l'appel Debug(data); dans la fonction jeedomPost (webclient.cpp)

      } // While me
            // Json end
            data += "}}}";
            Debug(data);
            
            ret = httpPost( config.jeedom.host, config.jeedom.port, (char *) url.c_str(), (char *) data.c_str()) ;
      

      J'ai sécurisé la fonction myprint et myprintln pour qu'elle tronque le message si il est trop long

      3/ problème fonction jeedompost qui n'envoie pas le premier label
      Au début de la boucle while on fait me= me->next

                  
            // Loop thru the node
            while (me->next) {
              // go to next node
              me = me->next;
      
              if( ! me->free ) {
      

      Il faudrait soit le faire à la fin soit ne pas le faire la première fois comme c'est fait dans la fonction build_emoncms_json

            while (me->next) {
      
               if(! first_item) 
                // go to next node
                me = me->next;
              
               if( ! me->free ) {
      

      4/ checksum dans la libraire mise en défaut par les caractères ascii minuscules
      j'ai de mon côté des anomalies de nom ou de valeur d'étiquette qui remonte sur la page wifinfo ou sous jeedom. Les dernière modifs de Dombrain ne couvrent pas les valeurs qui contiennent des lettres au lieu de chiffres. Je pense que le problème de base vient du fait que le checksum dans la librairie teleinfo est mis en défaut par les lettres en minuscule.
      voici un exemple concret que j'ai :
      Nom : ADCO
      Data=811961841v61
      Checksum =75
      L'ADCO normal vaut 811961841661
      si je recalcul le checksum :
      ADCO =65+68+67+79=279
      Data nok=811961841v61=56+49+49+57+54+49+56+52+49+118+54+49=692
      Data ok =811961841661=56+49+49+57+54+49+56+52+49+54 +54+49=628
      ADCO+Data +espace = 279+32+692=1003 = Bin ‭‭‭001111101011‬‬‬
      ADCO+Data ok+espace = 279+32+628=939 = Bin ‭001110101011
      on ne conserve que les 6 bits de poids faible + 32 (espace)
      ce qui donne :
      cas data NOK=>Bin 101011=43 =>43+32=75
      cas data OK ‬‬‬ =>Bin 101011=43 =>43+32=75

      la lettre v et le chiffre 6 ont les mêmes 6 premiers bits
      '6'=dec 54=bin 0110110
      'v'=dec 118=bin 1110110
      le checksum ne semble pas compatible de caractère ASCII à 7 bit

      1 Reply Last reply Reply Quote
      • D Offline
        dugolf
        last edited by

        Prenez cette version, elle est validée en mode historique et en mode standard
        Elle fonctionne aussi bien sur ESP8266 que sur ESP32

        https://github.com/Duglof/LibTeleinfo/tree/esp32

        Bon usage

        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