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. Ré-écriture de Wifinfo pour traiter le mode standard du Linky

Ré-écriture de Wifinfo pour traiter le mode standard du Linky

Scheduled Pinned Locked Moved WifInfo
110 Posts 27 Posters 62.0k Views 12 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.
  • A Offline
    A Offline
    Arly
    wrote on last edited by
    #1

    Partant de l'excellent travail de M. Hallard et de celui de Doume, j'ai complètement revu le code afin de pouvoir gérer le mode standard du Linky.
    Cette version est capable de gérer les 71 étiquettes de ce mode et de fournir un JSON standard des valeurs reçues.
    J'ai conservé la partie liaison avec Jeedom et Emoncms. Pour ce dernier n'ayant pas les connaissances suffisantes sur les valeurs des étiquettes de contrat/mode horaire et autres valeurs que M. Hallard convertissait en valeur numeriques, je me suis contenté de ne transmettre que les valeurs numériques de la téléinfo (toutes les informations de consommation donc).
    Attention les nouvelles étiquettes n'ont pas grand chose à voir avec le mode Historique (par exemple pas d'alerte ADPS, ADCO est devenu ADCS, on a la puissance instantané et non l’ampérage, etc...).
    Mon module tourne depuis ce matin sans soucis.
    Je ne sais pas ou déposer mes fichiers sources et compilés, si quelqu'un peut m'aider (je n'ai jamais fait de Github) ?

    AuFilElecA 1 Reply Last reply
    • A Arly

      Partant de l'excellent travail de M. Hallard et de celui de Doume, j'ai complètement revu le code afin de pouvoir gérer le mode standard du Linky.
      Cette version est capable de gérer les 71 étiquettes de ce mode et de fournir un JSON standard des valeurs reçues.
      J'ai conservé la partie liaison avec Jeedom et Emoncms. Pour ce dernier n'ayant pas les connaissances suffisantes sur les valeurs des étiquettes de contrat/mode horaire et autres valeurs que M. Hallard convertissait en valeur numeriques, je me suis contenté de ne transmettre que les valeurs numériques de la téléinfo (toutes les informations de consommation donc).
      Attention les nouvelles étiquettes n'ont pas grand chose à voir avec le mode Historique (par exemple pas d'alerte ADPS, ADCO est devenu ADCS, on a la puissance instantané et non l’ampérage, etc...).
      Mon module tourne depuis ce matin sans soucis.
      Je ne sais pas ou déposer mes fichiers sources et compilés, si quelqu'un peut m'aider (je n'ai jamais fait de Github) ?

      AuFilElecA Offline
      AuFilElecA Offline
      AuFilElec
      wrote on last edited by
      #2

      Salut @Arly

      Pour partager tes sources avec tout le monde, il te faut un dépôt sur Github.
      Pour commencer, tu dois te créer un compte et ensuite, tu crées un repository.
      Il te faudra aussi avoir le programme Git sur ton ordinateur, pour pouvoir pousser tes sources sur ton repository sur Github.
      Je t'invite à regarder l'aide fournit par Github, ils expliquent bien la marche à suivre pour toutes les plateformes.
      Bon courage,
      Manuel

      1 Reply Last reply
      • C Offline
        C Offline
        Christophe
        wrote on last edited by
        #3

        Bonjour,

        A propos quelqu'un sait il ou se procurer les modules Wifinfo ? Il n'y en a pas sur Tiddie

        Merci

        CharlesC 1 Reply Last reply
        • C Christophe

          Bonjour,

          A propos quelqu'un sait il ou se procurer les modules Wifinfo ? Il n'y en a pas sur Tiddie

          Merci

          CharlesC Offline
          CharlesC Offline
          Charles
          wrote on last edited by Charles
          #4

          @Christophe les sources sont dans les exemple de la librairie Teleinfo mais ils sont un peu obsolètes
          https://github.com/hallard/LibTeleinfo/tree/master/examples/Wifinfo

          Je suis en train de ré-écrire de code à l'aide de @sremy et je pense que je vais sortir les sources de la librairie. De plus le code sera capable de gérer des compteurs d'impulsions et quelques capteurs.

          Capture.JPG

          N S 2 Replies Last reply
          • S Offline
            S Offline
            seb82
            wrote on last edited by
            #5

            @Charles très content d'apprendre que vous travaillez sur une nouvelle version.
            Pour la partie Jeedom, serait-il possible de prendre en compte la nouvelle version du plugin Teleinfo qui attend les données au format json ?
            @mjeanne a fait un script de contournement que l'on peut trouver sur le forum de jeedom. Cela fonctionne très bien, mais tant qu'à faire ce serait encore mieux que ce soit géré directement.

            1 Reply Last reply
            • S Offline
              S Offline
              Seb3d
              wrote on last edited by
              #6

              Salut @Charles

              Content aussi d’apprendre que vous bossez sur une nouvelle version.

              Comme je disais dans un autre post j’ai modifier ton exemple pour ajouter le support MQTT (pour publier vers home assistant par exemple ) et ajouter le support de capteur type DHT et BME (le tout enregistrer via option de la page web dans la config)

              Si je peux aider à quelque chose n’hésite pas 😉

              Seb@stien

              1 Reply Last reply
              • M Offline
                M Offline
                Marco40
                wrote on last edited by
                #7

                Bonjour Charles
                Je ne sais pas ou vous en êtes dans la réécriture du code, j'ai remanié entièrement wifinfo pour une application perso,
                je pense la mettre plus tard sur github. Je peux déjà vous l'envoyer si ça vous intéresse.
                J'ai mis en place les classes:
                les fonctionnalités présentes dans wifinfo
                -myWifi ajout start stop wifi horaire paramétrés par l'interface web
                -myOta
                -webClient
                -webServer
                -config
                -LibTeleinfo mode standard à terminer(j'ai pas encore le linky)
                -mySyslog version de Dominique DAMBRAIN 2017-07-10
                -ledRGBSerial (pour des APA106)
                ajout
                -myNTP mise à l'heure datation
                -simuTempo simulation de trames tempo (historique)
                -enregistrement enregistrement d'informations (compteur couleur imax...)

                ajouts pour mon application qui pilote la vmc et affiche les couleurs tempo et jour/nuit
                -vmc
                -interRelais
                -buzzer
                -canBus liaison vers un module d'affichage commande + capteur déporté st7735
                -capteur
                -ta12 surveillance du courant vmc
                -dht
                -smt160

                le programme principal
                traitement_tempo.ino

                M 1 Reply Last reply
                • M Marco40

                  Bonjour Charles
                  Je ne sais pas ou vous en êtes dans la réécriture du code, j'ai remanié entièrement wifinfo pour une application perso,
                  je pense la mettre plus tard sur github. Je peux déjà vous l'envoyer si ça vous intéresse.
                  J'ai mis en place les classes:
                  les fonctionnalités présentes dans wifinfo
                  -myWifi ajout start stop wifi horaire paramétrés par l'interface web
                  -myOta
                  -webClient
                  -webServer
                  -config
                  -LibTeleinfo mode standard à terminer(j'ai pas encore le linky)
                  -mySyslog version de Dominique DAMBRAIN 2017-07-10
                  -ledRGBSerial (pour des APA106)
                  ajout
                  -myNTP mise à l'heure datation
                  -simuTempo simulation de trames tempo (historique)
                  -enregistrement enregistrement d'informations (compteur couleur imax...)

                  ajouts pour mon application qui pilote la vmc et affiche les couleurs tempo et jour/nuit
                  -vmc
                  -interRelais
                  -buzzer
                  -canBus liaison vers un module d'affichage commande + capteur déporté st7735
                  -capteur
                  -ta12 surveillance du courant vmc
                  -dht
                  -smt160

                  le programme principal
                  traitement_tempo.ino

                  M Offline
                  M Offline
                  Marco40
                  wrote on last edited by
                  #8

                  @Marco40
                  Bonjour
                  J'ai mis une version de Wifinfo/Libteleinfo réorganisée sur github:
                  https://github.com/marco402/LibTeleinfo/tree/rewrite-Wifinfo.

                  -Je n'ai pas re testé:
                  -Les sorties leds(leds.cpp et leds.h),j'ai conservé les fonctions d'origine mais j'ai une autre version avec des leds APA106.
                  -Les sortie emoncms,jeedom et httpRequest, fonctions qui sont d'origine à la mise en place des classes près.

                  1 Reply Last reply
                  • M Offline
                    M Offline
                    mangoose
                    wrote on last edited by
                    #9

                    Bonjour Marc,

                    J'ai commencé à regarder votre code concernant la gestion du mode Standard. Il détecte bien des trames, mais je n'ai pas réussi à les afficher et à vérifier qu'elles sont bien correctes. Je vais continuer à regarder ce soir et demain.

                    Par contre, le mode Standard ne gère plus les mêmes noms de valeurs, l'envoi de données vers Emoncms ou Domoticz ne fonctionne pas car les champs attendus ne sont pas renvoyés. Je verrai ce qu'il est possible de faire pour ajouter les champs dans la requêtes.

                    Pierre

                    M 1 Reply Last reply
                    • M mangoose

                      Bonjour Marc,

                      J'ai commencé à regarder votre code concernant la gestion du mode Standard. Il détecte bien des trames, mais je n'ai pas réussi à les afficher et à vérifier qu'elles sont bien correctes. Je vais continuer à regarder ce soir et demain.

                      Par contre, le mode Standard ne gère plus les mêmes noms de valeurs, l'envoi de données vers Emoncms ou Domoticz ne fonctionne pas car les champs attendus ne sont pas renvoyés. Je verrai ce qu'il est possible de faire pour ajouter les champs dans la requêtes.

                      Pierre

                      M Offline
                      M Offline
                      Marco40
                      wrote on last edited by
                      #10

                      @mangoose

                      Bonjour Pierre,
                      Je pense que c'est normal, j'ai bien précisé que le mode standard est à terminer (je n'ai pas encore le linky pour essayer).
                      Marc

                      1 Reply Last reply
                      • M Offline
                        M Offline
                        mangoose
                        wrote on last edited by
                        #11

                        Bonjour Marc,

                        J'ai pu avancer sur le sujet, en fait tout est bon dans le code si ce n'est le calcul du checksum.
                        En fait, il faut que le début du calcul soit le suivant:

                        uint16_t sum = ' ';
                        //5.3.6. Couche liaison document enedis Enedis-NOI-CPT_54E.pdf  
                        if (!this->modeLinkyHistorique){
                        	sum = 0x09 * 2;// Somme des codes ASCII du message + deux tabulations
                        }
                        

                        En fait, il n'y a pas d'espace et 2 tabulations. En faisant ça, les checksums sont corrects et cela fonctionne bien mieux.

                        Pour l'url, j'ai rajouté les éléments suivants:

                              if (valName == "SINSTS"){
                                url.replace("%SINSTS%",me->value);
                              }
                              if (valName == "EAST"){
                                url.replace("%EAST%", me->value);
                              }
                              if (valName == "EASF01"){
                                url.replace("%EASF01%", me->value);
                              }
                              if (valName == "EASF02"){
                                url.replace("%EASF02%", me->value);
                              }
                        

                        J'espere que ça pourra aider d'autres personnes.

                        Pour le moment, je me bats avec le Wemos qui passe son temps à rebooter sans que j'ai compris pourquoi. Si vous avez une idée, je suis prenneur.

                        Pierre

                        M 1 Reply Last reply
                        • M Offline
                          M Offline
                          man
                          wrote on last edited by
                          #12

                          Bonjour, je suis en train de regarder pour adapter l'envoi du code actuel vers jeedom car le plugin teleinfo à changé et il faut envoyer des variables en POST. (webclient.cpp)
                          Hors c'était http.GET qui était utilisé et le http.POST ne fonctionne pas. Je ne suis pas connaisseur du cpp, qqun aurait une idée ? je reçois bien l'url (GET) mais rien en POST.
                          Merci

                          boolean httpPost(char * host, uint16_t port, char * url,char * varPost ) {
                          HTTPClient http;
                          bool ret = false;

                          unsigned long start = millis();

                          // configure traged server and url
                          http.begin(host, port, url);

                          Debugf("http%s://%s:%d%s => ", port==443?"s":"", host, port, url);

                          http.addHeader("Content-Type", "text/plain");
                          // start connection and send HTTP header
                          int httpCode = http.POST(varPost);
                          if(httpCode) {
                          // HTTP header has been send and Server response header has been handled
                          Debug(httpCode);
                          Debug(" ");
                          // file found at server
                          if(httpCode == 200) {
                          String payload = http.getString();
                          Debug(payload);
                          ret = true;
                          }
                          } else {
                          DebugF("failed!");
                          }
                          Debugf(" in %d ms\r\n",millis()-start);
                          http.end();
                          return ret;
                          }

                          1 Reply Last reply
                          • M mangoose

                            Bonjour Marc,

                            J'ai pu avancer sur le sujet, en fait tout est bon dans le code si ce n'est le calcul du checksum.
                            En fait, il faut que le début du calcul soit le suivant:

                            uint16_t sum = ' ';
                            //5.3.6. Couche liaison document enedis Enedis-NOI-CPT_54E.pdf  
                            if (!this->modeLinkyHistorique){
                            	sum = 0x09 * 2;// Somme des codes ASCII du message + deux tabulations
                            }
                            

                            En fait, il n'y a pas d'espace et 2 tabulations. En faisant ça, les checksums sont corrects et cela fonctionne bien mieux.

                            Pour l'url, j'ai rajouté les éléments suivants:

                                  if (valName == "SINSTS"){
                                    url.replace("%SINSTS%",me->value);
                                  }
                                  if (valName == "EAST"){
                                    url.replace("%EAST%", me->value);
                                  }
                                  if (valName == "EASF01"){
                                    url.replace("%EASF01%", me->value);
                                  }
                                  if (valName == "EASF02"){
                                    url.replace("%EASF02%", me->value);
                                  }
                            

                            J'espere que ça pourra aider d'autres personnes.

                            Pour le moment, je me bats avec le Wemos qui passe son temps à rebooter sans que j'ai compris pourquoi. Si vous avez une idée, je suis prenneur.

                            Pierre

                            M Offline
                            M Offline
                            Marco40
                            wrote on last edited by
                            #13

                            @mangoose
                            Bonjour Pierre

                            J'ai corrigé sur Github et j'ai ajouté une classe myTinfo pour sortir les fonctions de Wifinfo.ino.

                            Pour ton problème, est-ce lié à ma version ?
                            Est ce que le reboot se fait sur l'initialisation ?
                            As tu des messages console au moment du reboot (watchdog...)?

                            Marc

                            1 Reply Last reply
                            • M Offline
                              M Offline
                              mangoose
                              wrote on last edited by
                              #14

                              Bonjour

                              J'ai continué à avancer, en fait il faut que les valeurs soient remontées de la manière suivante:

                                url = *CONFIGURATION.config.httpReq.path ? CONFIGURATION.config.httpReq.path : "/";
                                //url += "?";
                              
                                // Loop thru the node
                                while (me->next) {
                                  // go to next node
                                  me = me->next;
                                  skip_item = false;
                              
                                  // Si Item virtuel, on le met pas
                                  if (*me->name =='_')
                                    skip_item = true;
                              
                                  // On doit ajouter l'item ?
                                  if (!skip_item)
                                  {
                                    String valName = String(me->name);
                                    /* FOR STANDARD TYPE */
                                    if (valName == "SINSTS"){
                                      url.replace("%SINSTS%",String(atol(me->value)));
                                    }
                                    if (valName == "EAST"){
                                      url.replace("%EAST%", String(atol(me->value)));
                                    }
                                    if (valName == "EASF01"){
                                      url.replace("%EASF01%", String(atol(me->value)));
                                    }
                                    if (valName == "EASF02"){
                                      url.replace("%EASF02%", String(atol(me->value)));
                                    }
                              

                              Concernant les reboots, j'ai remarqué que c'est quand je suis connecté à l'interface web en même temps que ça envoie les informations à Domoticz. Si je ne me connecte pas à l'interface, c'est relativement stable.

                              Je vais creer un clone de ton github et ensuite je vais injecter le code que j'ai écrit, ca sera plus simple.

                              Pierre

                              1 Reply Last reply
                              • M Offline
                                M Offline
                                mangoose
                                wrote on last edited by mangoose
                                #15

                                C'est bon j'ai fait un pull request sur github.

                                Voici ce que j'ai quand ça reboote:
                                May 1 18:05:43 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                May 1 18:07:21 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                May 1 18:08:51 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                May 1 18:17:01 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                May 1 18:20:11 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                May 1 18:37:21 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !

                                M 3 Replies Last reply
                                • M mangoose

                                  C'est bon j'ai fait un pull request sur github.

                                  Voici ce que j'ai quand ça reboote:
                                  May 1 18:05:43 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                  May 1 18:07:21 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                  May 1 18:08:51 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                  May 1 18:17:01 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                  May 1 18:20:11 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                  May 1 18:37:21 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !

                                  M Offline
                                  M Offline
                                  Marco40
                                  wrote on last edited by
                                  #16

                                  Bonjour Pierre

                                  J'ai fait une erreur dans la dernière version:
                                  en fin de webClient.cpp fonction validate_value_name
                                  Il faut que tu remplace sizeof(tabNames) par 38 ou la nouvelle taille du tableau tabName si tu ajoute des champs(ce que j'ai fait dans la dernière version pour les 4 champs que tu avait indiqué).
                                  J'ai ajouté par sécurité un ESP.wdtFeed(); en début de build_emoncms_json.

                                  marc

                                  1 Reply Last reply
                                  • M mangoose

                                    C'est bon j'ai fait un pull request sur github.

                                    Voici ce que j'ai quand ça reboote:
                                    May 1 18:05:43 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                    May 1 18:07:21 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                    May 1 18:08:51 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                    May 1 18:17:01 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                    May 1 18:20:11 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                    May 1 18:37:21 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !

                                    M Offline
                                    M Offline
                                    Marco40
                                    wrote on last edited by
                                    #17

                                    Il y a un autre problème, le buffer dimensionné à 136 est trop petit avec les variables ajoutées, je l'ai passé de 136 à 300.

                                    webClient-->httpPost -->char buffer[300];

                                    marc

                                    1 Reply Last reply
                                    • M mangoose

                                      C'est bon j'ai fait un pull request sur github.

                                      Voici ce que j'ai quand ça reboote:
                                      May 1 18:05:43 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                      May 1 18:07:21 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                      May 1 18:08:51 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                      May 1 18:17:01 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                      May 1 18:20:11 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !
                                      May 1 18:37:21 WifInfo-423FC4 Wifinfo Good CRC, not set! From now, we can use EEPROM config !

                                      M Offline
                                      M Offline
                                      Marco40
                                      wrote on last edited by
                                      #18

                                      J'ai ajouté un test dans build_emoncms_json au cas ou on a jamais reçu de message teleinfo , dans ce cas j'avais un reboot par le watchdog.

                                          if(! first_item) 
                                            // go to next node
                                           me = me->next;
                                         //marc
                                         else
                                      	   if (me->free) {
                                      		   //1st item is free : empty list !
                                      		   Debugln("Teleinfo list is empty !");
                                      		   break;
                                      	   }
                                         //fin marc
                                          if( ! me->free ) {
                                      

                                      C'est le code qui était déjà dans tinfoJSONTable.

                                      Il faudra voir pour httpRequest si tu as encore un soucis et pour jeedomPost.

                                      J'ai dimensionné le tableau à 400 et j'ai mis ta modif String(atol(me->value)).

                                      Github est à jour.

                                      Marc

                                      1 Reply Last reply
                                      • M Offline
                                        M Offline
                                        mangoose
                                        wrote on last edited by
                                        #19

                                        Bonjour

                                        J'ai trouvé 2 problèmes dans le code.

                                        Il faut commenter la ligne 339 du fichier webclient.cpp
                                        La fonction this->on("/tinfo.json", & { plante systématiquement chez moi. J'ai fait en sorte qu'elle sorte des le début et je n'ai visiblement plus de plantage intempestif.

                                        Je ne sais pas trop bien ou ça plante, mais je recois juste le message "setReinit tinfoJSONTable" et ensuite ça fait un hard reset.

                                        Je n'ai pas encore trouvé d'où ca peut provenir. Si je trouve, je ferait à nouveau un pull request pour que ce soit incorporé à ton code sans que l'un ou l'autre ait à reprendre les modifs manuellement.

                                        Pierre

                                        M 1 Reply Last reply
                                        • M mangoose

                                          Bonjour

                                          J'ai trouvé 2 problèmes dans le code.

                                          Il faut commenter la ligne 339 du fichier webclient.cpp
                                          La fonction this->on("/tinfo.json", & { plante systématiquement chez moi. J'ai fait en sorte qu'elle sorte des le début et je n'ai visiblement plus de plantage intempestif.

                                          Je ne sais pas trop bien ou ça plante, mais je recois juste le message "setReinit tinfoJSONTable" et ensuite ça fait un hard reset.

                                          Je n'ai pas encore trouvé d'où ca peut provenir. Si je trouve, je ferait à nouveau un pull request pour que ce soit incorporé à ton code sans que l'un ou l'autre ait à reprendre les modifs manuellement.

                                          Pierre

                                          M Offline
                                          M Offline
                                          Marco40
                                          wrote on last edited by
                                          #20

                                          as-tu remplacé sizeof(tabNames) par 38 ?
                                          Marc

                                          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


                                          0

                                          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