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. WifInfo
  5. WifInfo - coquilles version 1.0.7

WifInfo - coquilles version 1.0.7

Scheduled Pinned Locked Moved WifInfo
2 Posts 2 Posters 1.4k Views 1 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.
  • G Offline
    G Offline
    Guillaume
    wrote on last edited by
    #1

    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
    • D Offline
      D Offline
      dugolf
      wrote on last edited by
      #2

      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

      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


      3

      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