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. Téléinfo
  5. Tasmota

Tasmota

Scheduled Pinned Locked Moved Téléinfo
525 Posts 31 Posters 476.3k Views 14 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.
  • Nicolas BernaertsN Nicolas Bernaerts

    @Obi_Yoann Hello,
    En fait il faut compiler au préalable tasmota32s2 en version fastboot. Il l'utilise au moment de la compilation pour générer l'image .firmware.bin

    • soit tu la compiles avec le projet tasmota officiel
    • soit tu la récupères depuis le download de tasmota. Tu la places ensuite là où il l'attend ... et cela devrait rouler.

    Je te confirme que la 1ere compilation d'une cible esp32 est toujours galère 😔

    O Offline
    O Offline
    Obi_Yoann
    wrote on last edited by
    #360

    @Nicolas-Bernaerts YES!
    J'ai réussi à compiler la version 12.1.1 avec cette technique! 👍🏻
    Pas possible de compiler la cible tasmota32s2 avec tes fichiers présents, j'ai une erreur sur un include incorrect :

    Indexing .pio/build/tasmota32s2/lib8be/libWire.a
    Archiving .pio/build/tasmota32s2/liba79/libAdafruit_CCS811-1.0.0.14.a
    Indexing .pio/build/tasmota32s2/liba79/libAdafruit_CCS811-1.0.0.14.a
    Archiving .pio/build/tasmota32s2/lib345/libSPI.a
    Indexing .pio/build/tasmota32s2/lib345/libSPI.a
    /home/yoann/platformio-core/Tasmota-12.1.1_MOD/tasmota/tasmota_xdrv_driver/xdrv_17_rcswitch.ino:44:10: fatal error: RCSwitch.h: No such file or directory
    
    ******************************************************************
    * Looking for RCSwitch.h dependency? Check our library registry!
    *
    * CLI  > platformio lib search "header:RCSwitch.h"
    * Web  > https://registry.platformio.org/search?q=header:RCSwitch.h
    *
    ******************************************************************
    
     #include <RCSwitch.h>
              ^~~~~~~~~~~~
    compilation terminated.
    Archiving .pio/build/tasmota32s2/lib5c1/libAdafruit_MAX31865-1.1.0-custom
    Indexing .pio/build/tasmota32s2/lib5c1/libAdafruit_MAX31865-1.1.0-custom
    Archiving .pio/build/tasmota32s2/lib325/libAdafruit_MCP9808_Tasmota.a
    Indexing .pio/build/tasmota32s2/lib325/libAdafruit_MCP9808_Tasmota.a
    Archiving .pio/build/tasmota32s2/lib628/libAdafruit_SGP30-1.2.0.a
    Indexing .pio/build/tasmota32s2/lib628/libAdafruit_SGP30-1.2.0.a
    

    A la place j'ai téléchargé dans le dossier ~/.platformio/packages/framework-arduinoespressif32/variants/tasmota/ le fichier http://ota.tasmota.com/tasmota32/release/tasmota32s2-safeboot.bin et relancé la compilation de teleinfo32s2, je confirme que ça fonctionne...
    Bref, j'ai pu compiler la version 12.1.1 c'est déjà cool! Merci de ton aide!
    J'essaierais plus tard de regarder pourquoi ça foire avec la 12.2.0, il y a du y avoir une évolution importante sur cette version.

    @Charles mais c'est TRES juste ce que tu dis ma foi! Encore une défaillance de mes yeux, je n'avais même pas remarqué! ^^

    Je vais tenter le reset, je l'avais essayé sur une ancienne version mais pas sur la dernière.

    Je vais aussi tenter l'ESP32 Passthru dont tu parles, mais ça implique un pc pas loin du compteur j'imagine j'ai juste?

    CharlesC 1 Reply Last reply
    • O Offline
      O Offline
      Obi_Yoann
      wrote on last edited by Obi_Yoann
      #361

      @Nicolas-Bernaerts je reviens sur le sujet compilation de la 12.1.1, a priori le plus simple serait de renommer la cible, au lieu de teleinfo32s2 j'ai changé en tasmota32s2-ticnb et ça compile direct sans manipulation, et sans devoir placer une fichier manuellement... Plutôt cool! Pas encore trouvé de solution pour la 12.2.0...

      EDIT : ok j'ai la raison de l'erreur lors de la compilation en 12.2.0.
      Pour rappel j'ai ce message lors de la phase "linking" en fin de compilation :

      Compiling .pio/build/tasmota32s2-ticnb/FrameworkArduino/stdlib_noniso.c.o
      Compiling .pio/build/tasmota32s2-ticnb/FrameworkArduino/wiring_pulse.c.o
      Compiling .pio/build/tasmota32s2-ticnb/FrameworkArduino/wiring_shift.c.o
      Archiving .pio/build/tasmota32s2-ticnb/libFrameworkArduino.a
      Indexing .pio/build/tasmota32s2-ticnb/libFrameworkArduino.a
      Linking .pio/build/tasmota32s2-ticnb/firmware.elf
      /home/yoann/.platformio/packages/toolchain-xtensa-esp32s2@8.4.0+2021r2-patch5/bin/../lib/gcc/xtensa-esp32s2-elf/8.4.0/../../../../xtensa-esp32s2-elf/bin/ld: /tmp/cc9rHlIH.ltrans5.ltrans.o:(.literal+0x300): undefined reference to `ESP_getFlashChipRealSize()'
      /home/yoann/.platformio/packages/toolchain-xtensa-esp32s2@8.4.0+2021r2-patch5/bin/../lib/gcc/xtensa-esp32s2-elf/8.4.0/../../../../xtensa-esp32s2-elf/bin/ld: /tmp/cc9rHlIH.ltrans5.ltrans.o: in function `HTTPClient::HTTPClient()':
      <artificial>:(.text+0x428f): undefined reference to `ESP_getFlashChipRealSize()'
      collect2: error: ld returned 1 exit status
      *** [.pio/build/tasmota32s2-ticnb/firmware.elf] Error 1
      ============================================================================================================================= [FAILED] Took 57.43 seconds =============================================================================================================================
      
      Environment        Status    Duration
      -----------------  --------  ------------
      tasmota32s2-ticnb  FAILED    00:00:57.428
      ======================================================================================================================== 1 failed, 0 succeeded in 00:00:57.428 ========================================================================================================================
      

      Le problème concerne effectivement la fonction ESP_getFlashChipRealSize, appelée dans le fichier xdrv_01_9_webserver.ino ligne 2453 :
      WSContentSend_P(PSTR("}1" D_FLASH_CHIP_SIZE "}2%d KB"), ESP_getFlashChipRealSize() / 1024);

      Le problème c'est qu'entre la 12.1.1 et la 12.2.0, la déclaration de cette fonction a sauté dans le fichier ./tasmota/tasmota_support/support_esp.ino !
      Elle est bien déclarée mais uniquement dans une section ESP8266, plus dans la section ESP32.
      A priori c'est le commit 452c6fabb05f5700e59c4d9bb90eb4b0cafada47 du 17 septembre : https://github.com/arendst/Tasmota/commit/452c6fabb05f5700e59c4d9bb90eb4b0cafada47
      d5a99825-6b14-440f-9379-74a4d83ce052-image.png

      Si je comprends l'évolution suivante :
      75acc9e1-bdb1-424a-bf97-dc323b7d8825-image.png
      Il faudrait probablement faire une modification similaire... 🙂

      EDIT 2 :
      f029274f-20b8-4179-8dcd-7a98d449c564-image.png
      Et la lumière fut! 😎
      J'ai modifié la ligne 2453 du fichier ./tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino comme suivant :

      WSContentSend_P(PSTR("}1" D_FLASH_CHIP_SIZE "}2%d KB"), ESP.getFlashChipSize() / 1024);
      
      Nicolas BernaertsN 2 Replies Last reply
      • O Obi_Yoann

        @Nicolas-Bernaerts je reviens sur le sujet compilation de la 12.1.1, a priori le plus simple serait de renommer la cible, au lieu de teleinfo32s2 j'ai changé en tasmota32s2-ticnb et ça compile direct sans manipulation, et sans devoir placer une fichier manuellement... Plutôt cool! Pas encore trouvé de solution pour la 12.2.0...

        EDIT : ok j'ai la raison de l'erreur lors de la compilation en 12.2.0.
        Pour rappel j'ai ce message lors de la phase "linking" en fin de compilation :

        Compiling .pio/build/tasmota32s2-ticnb/FrameworkArduino/stdlib_noniso.c.o
        Compiling .pio/build/tasmota32s2-ticnb/FrameworkArduino/wiring_pulse.c.o
        Compiling .pio/build/tasmota32s2-ticnb/FrameworkArduino/wiring_shift.c.o
        Archiving .pio/build/tasmota32s2-ticnb/libFrameworkArduino.a
        Indexing .pio/build/tasmota32s2-ticnb/libFrameworkArduino.a
        Linking .pio/build/tasmota32s2-ticnb/firmware.elf
        /home/yoann/.platformio/packages/toolchain-xtensa-esp32s2@8.4.0+2021r2-patch5/bin/../lib/gcc/xtensa-esp32s2-elf/8.4.0/../../../../xtensa-esp32s2-elf/bin/ld: /tmp/cc9rHlIH.ltrans5.ltrans.o:(.literal+0x300): undefined reference to `ESP_getFlashChipRealSize()'
        /home/yoann/.platformio/packages/toolchain-xtensa-esp32s2@8.4.0+2021r2-patch5/bin/../lib/gcc/xtensa-esp32s2-elf/8.4.0/../../../../xtensa-esp32s2-elf/bin/ld: /tmp/cc9rHlIH.ltrans5.ltrans.o: in function `HTTPClient::HTTPClient()':
        <artificial>:(.text+0x428f): undefined reference to `ESP_getFlashChipRealSize()'
        collect2: error: ld returned 1 exit status
        *** [.pio/build/tasmota32s2-ticnb/firmware.elf] Error 1
        ============================================================================================================================= [FAILED] Took 57.43 seconds =============================================================================================================================
        
        Environment        Status    Duration
        -----------------  --------  ------------
        tasmota32s2-ticnb  FAILED    00:00:57.428
        ======================================================================================================================== 1 failed, 0 succeeded in 00:00:57.428 ========================================================================================================================
        

        Le problème concerne effectivement la fonction ESP_getFlashChipRealSize, appelée dans le fichier xdrv_01_9_webserver.ino ligne 2453 :
        WSContentSend_P(PSTR("}1" D_FLASH_CHIP_SIZE "}2%d KB"), ESP_getFlashChipRealSize() / 1024);

        Le problème c'est qu'entre la 12.1.1 et la 12.2.0, la déclaration de cette fonction a sauté dans le fichier ./tasmota/tasmota_support/support_esp.ino !
        Elle est bien déclarée mais uniquement dans une section ESP8266, plus dans la section ESP32.
        A priori c'est le commit 452c6fabb05f5700e59c4d9bb90eb4b0cafada47 du 17 septembre : https://github.com/arendst/Tasmota/commit/452c6fabb05f5700e59c4d9bb90eb4b0cafada47
        d5a99825-6b14-440f-9379-74a4d83ce052-image.png

        Si je comprends l'évolution suivante :
        75acc9e1-bdb1-424a-bf97-dc323b7d8825-image.png
        Il faudrait probablement faire une modification similaire... 🙂

        EDIT 2 :
        f029274f-20b8-4179-8dcd-7a98d449c564-image.png
        Et la lumière fut! 😎
        J'ai modifié la ligne 2453 du fichier ./tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino comme suivant :

        WSContentSend_P(PSTR("}1" D_FLASH_CHIP_SIZE "}2%d KB"), ESP.getFlashChipSize() / 1024);
        
        Nicolas BernaertsN Offline
        Nicolas BernaertsN Offline
        Nicolas Bernaerts
        wrote on last edited by
        #362

        @Obi_Yoann très smart ...
        Je vais tester avec la 12.2
        Si cela fonctionne, je change le nom de la destination.

        1 Reply Last reply
        • O Obi_Yoann

          @Nicolas-Bernaerts YES!
          J'ai réussi à compiler la version 12.1.1 avec cette technique! 👍🏻
          Pas possible de compiler la cible tasmota32s2 avec tes fichiers présents, j'ai une erreur sur un include incorrect :

          Indexing .pio/build/tasmota32s2/lib8be/libWire.a
          Archiving .pio/build/tasmota32s2/liba79/libAdafruit_CCS811-1.0.0.14.a
          Indexing .pio/build/tasmota32s2/liba79/libAdafruit_CCS811-1.0.0.14.a
          Archiving .pio/build/tasmota32s2/lib345/libSPI.a
          Indexing .pio/build/tasmota32s2/lib345/libSPI.a
          /home/yoann/platformio-core/Tasmota-12.1.1_MOD/tasmota/tasmota_xdrv_driver/xdrv_17_rcswitch.ino:44:10: fatal error: RCSwitch.h: No such file or directory
          
          ******************************************************************
          * Looking for RCSwitch.h dependency? Check our library registry!
          *
          * CLI  > platformio lib search "header:RCSwitch.h"
          * Web  > https://registry.platformio.org/search?q=header:RCSwitch.h
          *
          ******************************************************************
          
           #include <RCSwitch.h>
                    ^~~~~~~~~~~~
          compilation terminated.
          Archiving .pio/build/tasmota32s2/lib5c1/libAdafruit_MAX31865-1.1.0-custom
          Indexing .pio/build/tasmota32s2/lib5c1/libAdafruit_MAX31865-1.1.0-custom
          Archiving .pio/build/tasmota32s2/lib325/libAdafruit_MCP9808_Tasmota.a
          Indexing .pio/build/tasmota32s2/lib325/libAdafruit_MCP9808_Tasmota.a
          Archiving .pio/build/tasmota32s2/lib628/libAdafruit_SGP30-1.2.0.a
          Indexing .pio/build/tasmota32s2/lib628/libAdafruit_SGP30-1.2.0.a
          

          A la place j'ai téléchargé dans le dossier ~/.platformio/packages/framework-arduinoespressif32/variants/tasmota/ le fichier http://ota.tasmota.com/tasmota32/release/tasmota32s2-safeboot.bin et relancé la compilation de teleinfo32s2, je confirme que ça fonctionne...
          Bref, j'ai pu compiler la version 12.1.1 c'est déjà cool! Merci de ton aide!
          J'essaierais plus tard de regarder pourquoi ça foire avec la 12.2.0, il y a du y avoir une évolution importante sur cette version.

          @Charles mais c'est TRES juste ce que tu dis ma foi! Encore une défaillance de mes yeux, je n'avais même pas remarqué! ^^

          Je vais tenter le reset, je l'avais essayé sur une ancienne version mais pas sur la dernière.

          Je vais aussi tenter l'ESP32 Passthru dont tu parles, mais ça implique un pc pas loin du compteur j'imagine j'ai juste?

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

          @Obi_Yoann said in Tasmota:

          Je vais aussi tenter l'ESP32 Passthru dont tu parles, mais ça implique un pc pas loin du compteur j'imagine j'ai juste?

          yes un portable quelconque avec une console série 🙂

          1 Reply Last reply
          • CharlesC Charles

            @Obi_Yoann said in Tasmota:

            Ah et pour une raison qui m'échappe, le contrat n'est plus bon, j'étais en 6A et j'ai pas changé!

            En fait c'était buggué le contrat en historique est en Ampères et en standard en KVA donc ça affichait 6A au lieu de 6KVA (ce qui fait 30A) donc maintenant c'est correct.

            energy total est "négatif

            tu as bien fait un reset du compteur d'énergie? ca m'est arrivé au début puis ça à disparu il est possible que j'ai un bug mais j'ai regardé ce qu'a fait @Nicolas-Bernaerts je n'ai pas vu de différence, si il a un oeil expert sur le sujet je suis preneur.

            Hélas toujours les checksum

            Peux-tu essayer le programme de test ESP32 Passthru, ça se compile et flash avec l'Arduino IDE (board ESP32 type Denky)

            Nicolas BernaertsN Offline
            Nicolas BernaertsN Offline
            Nicolas Bernaerts
            wrote on last edited by
            #364

            @Charles Hello,
            Je pense que la différence se situe ligne 2148 et 2149 de teleinfo.ino. De mémoire c'est la différence de modèle de données apparue avec la version 12.1.

            CharlesC 1 Reply Last reply
            • O Obi_Yoann

              @Nicolas-Bernaerts je reviens sur le sujet compilation de la 12.1.1, a priori le plus simple serait de renommer la cible, au lieu de teleinfo32s2 j'ai changé en tasmota32s2-ticnb et ça compile direct sans manipulation, et sans devoir placer une fichier manuellement... Plutôt cool! Pas encore trouvé de solution pour la 12.2.0...

              EDIT : ok j'ai la raison de l'erreur lors de la compilation en 12.2.0.
              Pour rappel j'ai ce message lors de la phase "linking" en fin de compilation :

              Compiling .pio/build/tasmota32s2-ticnb/FrameworkArduino/stdlib_noniso.c.o
              Compiling .pio/build/tasmota32s2-ticnb/FrameworkArduino/wiring_pulse.c.o
              Compiling .pio/build/tasmota32s2-ticnb/FrameworkArduino/wiring_shift.c.o
              Archiving .pio/build/tasmota32s2-ticnb/libFrameworkArduino.a
              Indexing .pio/build/tasmota32s2-ticnb/libFrameworkArduino.a
              Linking .pio/build/tasmota32s2-ticnb/firmware.elf
              /home/yoann/.platformio/packages/toolchain-xtensa-esp32s2@8.4.0+2021r2-patch5/bin/../lib/gcc/xtensa-esp32s2-elf/8.4.0/../../../../xtensa-esp32s2-elf/bin/ld: /tmp/cc9rHlIH.ltrans5.ltrans.o:(.literal+0x300): undefined reference to `ESP_getFlashChipRealSize()'
              /home/yoann/.platformio/packages/toolchain-xtensa-esp32s2@8.4.0+2021r2-patch5/bin/../lib/gcc/xtensa-esp32s2-elf/8.4.0/../../../../xtensa-esp32s2-elf/bin/ld: /tmp/cc9rHlIH.ltrans5.ltrans.o: in function `HTTPClient::HTTPClient()':
              <artificial>:(.text+0x428f): undefined reference to `ESP_getFlashChipRealSize()'
              collect2: error: ld returned 1 exit status
              *** [.pio/build/tasmota32s2-ticnb/firmware.elf] Error 1
              ============================================================================================================================= [FAILED] Took 57.43 seconds =============================================================================================================================
              
              Environment        Status    Duration
              -----------------  --------  ------------
              tasmota32s2-ticnb  FAILED    00:00:57.428
              ======================================================================================================================== 1 failed, 0 succeeded in 00:00:57.428 ========================================================================================================================
              

              Le problème concerne effectivement la fonction ESP_getFlashChipRealSize, appelée dans le fichier xdrv_01_9_webserver.ino ligne 2453 :
              WSContentSend_P(PSTR("}1" D_FLASH_CHIP_SIZE "}2%d KB"), ESP_getFlashChipRealSize() / 1024);

              Le problème c'est qu'entre la 12.1.1 et la 12.2.0, la déclaration de cette fonction a sauté dans le fichier ./tasmota/tasmota_support/support_esp.ino !
              Elle est bien déclarée mais uniquement dans une section ESP8266, plus dans la section ESP32.
              A priori c'est le commit 452c6fabb05f5700e59c4d9bb90eb4b0cafada47 du 17 septembre : https://github.com/arendst/Tasmota/commit/452c6fabb05f5700e59c4d9bb90eb4b0cafada47
              d5a99825-6b14-440f-9379-74a4d83ce052-image.png

              Si je comprends l'évolution suivante :
              75acc9e1-bdb1-424a-bf97-dc323b7d8825-image.png
              Il faudrait probablement faire une modification similaire... 🙂

              EDIT 2 :
              f029274f-20b8-4179-8dcd-7a98d449c564-image.png
              Et la lumière fut! 😎
              J'ai modifié la ligne 2453 du fichier ./tasmota/tasmota_xdrv_driver/xdrv_01_9_webserver.ino comme suivant :

              WSContentSend_P(PSTR("}1" D_FLASH_CHIP_SIZE "}2%d KB"), ESP.getFlashChipSize() / 1024);
              
              Nicolas BernaertsN Offline
              Nicolas BernaertsN Offline
              Nicolas Bernaerts
              wrote on last edited by Nicolas Bernaerts
              #365

              @Obi_Yoann hello,
              Bien joué !
              En fait concernant ce fichier xdrv_01_9_webserver.ino, c'est encore plus simple ... j'ajoute seulement ces lignes au fichier d'origine :

              #ifdef EXTENSION_NAME
              "<div style='text-align:right;font-size:11px;'>" EXTENSION_NAME " " EXTENSION_VERSION " <small>(" EXTENSION_BUILD ")</small> " D_BY " " EXTENSION_AUTHOR "</div>"
              #endif

              Cela me permet entre autre d'avoir la version de build dans la home page.

              Donc dans le fichier de la 12.2.0, tu ajoutes ces lignes au même endroit ...et c'est tout.

              O 1 Reply Last reply
              • Nicolas BernaertsN Nicolas Bernaerts

                @Charles Hello,
                Je pense que la différence se situe ligne 2148 et 2149 de teleinfo.ino. De mémoire c'est la différence de modèle de données apparue avec la version 12.1.

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

                @Nicolas-Bernaerts said in Tasmota:

                @Charles Hello,
                Je pense que la différence se situe ligne 2148 et 2149 de teleinfo.ino. De mémoire c'est la différence de modèle de données apparue avec la version 12.1.

                Hello, merci de ta réponse effectivement je faisais

                Energy.import_active[0] = (float)total/1000.0f;
                EnergyUpdateTotal();
                

                Je vais essayer avec

                Energy.total[0] = (float) total / 1000.0f;
                Energy.import_active[0] = Energy.total[0];
                

                du coups tu confirmes tu n'appelles jamais EnergyUpdateTotal() ?

                Edit ah si pardon, c'est pas super clair pour moi de ce qui doit être fait et quand, et j'ai pas trouvé de doc sur le module energy de tasmota

                Nicolas BernaertsN 1 Reply Last reply
                • Nicolas BernaertsN Nicolas Bernaerts

                  @Obi_Yoann hello,
                  Bien joué !
                  En fait concernant ce fichier xdrv_01_9_webserver.ino, c'est encore plus simple ... j'ajoute seulement ces lignes au fichier d'origine :

                  #ifdef EXTENSION_NAME
                  "<div style='text-align:right;font-size:11px;'>" EXTENSION_NAME " " EXTENSION_VERSION " <small>(" EXTENSION_BUILD ")</small> " D_BY " " EXTENSION_AUTHOR "</div>"
                  #endif

                  Cela me permet entre autre d'avoir la version de build dans la home page.

                  Donc dans le fichier de la 12.2.0, tu ajoutes ces lignes au même endroit ...et c'est tout.

                  O Offline
                  O Offline
                  Obi_Yoann
                  wrote on last edited by
                  #367

                  @Nicolas-Bernaerts said in Tasmota:

                  @Obi_Yoann hello,
                  Bien joué !
                  En fait concernant ce fichier xdrv_01_9_webserver.ino, c'est encore plus simple ... j'ajoute seulement ces lignes au fichier d'origine :

                  #ifdef EXTENSION_NAME
                  "<div style='text-align:right;font-size:11px;'>" EXTENSION_NAME " " EXTENSION_VERSION " <small>(" EXTENSION_BUILD ")</small> " D_BY " " EXTENSION_AUTHOR "</div>"
                  #endif

                  Cela me permet entre autre d'avoir la version de build dans la home page.

                  Donc dans le fichier de la 12.2.0, tu ajoutes ces lignes au même endroit ...et c'est tout.

                  Effectivement c'est bien plus simple et propre! Modification faite et compilée chez moi, ras nickel.
                  Pour info petit script berry pour cette version pour la remontée vers emoncms :

                  import json
                  
                  var api_url = "http://192.168.xxx.xxx/input/post"
                  var api_key = "xxx"
                  var node_name = "ENERGY"
                  
                  def setcolor(iinst, isousc)
                    var red = tasmota.scale_uint(iinst, 0, isousc, 0, 255)
                    var green = 255 - red
                    var channels = [red, green, 0]
                    light.set({"channels":channels, "bri":64, "power":true})
                  end
                  
                  def rule_tic(value, trigger)
                    # Convert map to json
                    var obj_json = json.dump(value)
                    # Create URL to call
                    var param="?fulljson="+obj_json + "&node="+node_name + "&apikey="+api_key 
                    # Post Data to EMONCMS
                    var cl = webclient()
                    cl.begin( api_url + param)
                    var r =  cl.GET()
                    print(r, param) 
                  end
                  
                  # Callback on each MQTT interception
                  tasmota.add_rule("METER",rule_tic)
                  tasmota.add_rule("ENERGY",rule_tic)
                  

                  Cela transmets à emoncms deux objets, METER en fonction du délai de journalisation (par défaut 300s/5mn), et ENERGY apparemment à chaque trame reçue du TIC (si je dis pas de bêtise).
                  Voici ce qui est envoyé pour ENERGY :
                  c63a4a8a-9b8d-4d86-b1db-cceedad41a44-image.png
                  Et pour METER :
                  34444e5d-63a3-43b4-9cf0-858d1101c104-image.png
                  La puissance souscrite utilisée pour calculer le "LOAD" et règler la couleur de la led n'est hélas présent que dans l'objet "METER", du coup que toutes les 5mn (ou moins si on règle moins).
                  C'est une alternative qui peut être intéressante quand on est une buse comme moi en MQTT et pas fichu de comprendre comment faire pour envoyer les données de Tasmota vers emoncms via MQTT!!! 🤣

                  CharlesC Nicolas BernaertsN 2 Replies Last reply
                  • O Obi_Yoann

                    @Nicolas-Bernaerts said in Tasmota:

                    @Obi_Yoann hello,
                    Bien joué !
                    En fait concernant ce fichier xdrv_01_9_webserver.ino, c'est encore plus simple ... j'ajoute seulement ces lignes au fichier d'origine :

                    #ifdef EXTENSION_NAME
                    "<div style='text-align:right;font-size:11px;'>" EXTENSION_NAME " " EXTENSION_VERSION " <small>(" EXTENSION_BUILD ")</small> " D_BY " " EXTENSION_AUTHOR "</div>"
                    #endif

                    Cela me permet entre autre d'avoir la version de build dans la home page.

                    Donc dans le fichier de la 12.2.0, tu ajoutes ces lignes au même endroit ...et c'est tout.

                    Effectivement c'est bien plus simple et propre! Modification faite et compilée chez moi, ras nickel.
                    Pour info petit script berry pour cette version pour la remontée vers emoncms :

                    import json
                    
                    var api_url = "http://192.168.xxx.xxx/input/post"
                    var api_key = "xxx"
                    var node_name = "ENERGY"
                    
                    def setcolor(iinst, isousc)
                      var red = tasmota.scale_uint(iinst, 0, isousc, 0, 255)
                      var green = 255 - red
                      var channels = [red, green, 0]
                      light.set({"channels":channels, "bri":64, "power":true})
                    end
                    
                    def rule_tic(value, trigger)
                      # Convert map to json
                      var obj_json = json.dump(value)
                      # Create URL to call
                      var param="?fulljson="+obj_json + "&node="+node_name + "&apikey="+api_key 
                      # Post Data to EMONCMS
                      var cl = webclient()
                      cl.begin( api_url + param)
                      var r =  cl.GET()
                      print(r, param) 
                    end
                    
                    # Callback on each MQTT interception
                    tasmota.add_rule("METER",rule_tic)
                    tasmota.add_rule("ENERGY",rule_tic)
                    

                    Cela transmets à emoncms deux objets, METER en fonction du délai de journalisation (par défaut 300s/5mn), et ENERGY apparemment à chaque trame reçue du TIC (si je dis pas de bêtise).
                    Voici ce qui est envoyé pour ENERGY :
                    c63a4a8a-9b8d-4d86-b1db-cceedad41a44-image.png
                    Et pour METER :
                    34444e5d-63a3-43b4-9cf0-858d1101c104-image.png
                    La puissance souscrite utilisée pour calculer le "LOAD" et règler la couleur de la led n'est hélas présent que dans l'objet "METER", du coup que toutes les 5mn (ou moins si on règle moins).
                    C'est une alternative qui peut être intéressante quand on est une buse comme moi en MQTT et pas fichu de comprendre comment faire pour envoyer les données de Tasmota vers emoncms via MQTT!!! 🤣

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

                    @Obi_Yoann tu as levé un point sur lequel j'ai eu une discussion avec @Barbu-Dor cet après midi. Le berry que j'ai mis en exemple est pas bon, je m'explique le

                    tasmota.add_rule("TIC",rule_tic)
                    

                    que j'avais mis ne tient pas compte du skip (c'est fait comme ça en fait) donc toutes les trames tu post emoncms genre tt les secondes, tu satures le tout et c'est pour ça que j'avais des soucis et de checksum aussi (tu m'étonnes), je ne sais pas comment se comporte la version METER ou ENERGY à tester

                    J'ai réglé ce problème autrement dans le berry à chaque trame j'update les valeurs et je poste seulement toutes les 15s ça donne un truc comme ça beaucoup plus efficace et un payload bien plus light (avec le LOAD).

                    import json
                    var node_name = "maison"
                    var post_every = 15000
                    var payload = {}
                    
                    def send_emoncms()
                      # Convert JSON object to string 
                      var obj_json = json.dump(payload)
                      #print(obj_json) 
                    
                      # Create URL to call
                      var param="?fulljson="+obj_json + "&node="+node_name + "&apikey="+api_key 
                      # Post Data to EMONCMS
                      var cl = webclient()
                      cl.begin( api_url + param)
                      var r =  cl.GET()
                      #print(r, load, param) 
                      tasmota.set_timer(post_every, send_emoncms)
                    end
                    
                    def setcolor(iinst, isousc)
                      var red = tasmota.scale_uint(iinst, 0, isousc, 0, 255)
                      var green = 255 - red
                      var channels = [red, green, 0]
                      light.set({"channels":channels, "bri":64, "power":true})
                    #  tasmota.set_timer(200, led_off)
                    end
                    
                    def led_off()
                      var channels = [0, 0, 0]
                      light.set({"channels":channels, "power":true})
                    end
                    
                    def rule_tic(value, trigger)
                      # Calculate current percent Load 
                      var iinst = value['IRMS1']
                      var isousc= value['PREF']*5
                      if iinst != nil && isousc != nil 
                        # Drive RGB LED
                        setcolor(iinst, isousc)
                        if isousc > 0
                          load = 100 * iinst / isousc
                          payload['LOAD'] = load
                        end
                      end
                      # build the light payload 
                      # Here I keep name of historique mode
                      payload['ADCO']  = value['ADSC']
                      payload['HTOT']  = value['EAST']
                      payload['HCHP']  = value['EASF01']
                      payload['HCHC']  = value['EASF02']
                      payload['ISOUSC']= isousc
                      payload['PAPP']  = value['SINSTS']
                      payload['IINST'] = iinst
                    end
                    
                    # Callback on each frame interception
                    tasmota.add_rule("TIC",rule_tic)
                    # fire 1st post
                    tasmota.set_timer(post_every, send_emoncms)
                    

                    j'ai aussi un PR en cours pour augmenter la taille du buffer série et régler les soucis de total négatif suite aux conseil de @Nicolas-Bernaerts

                    1 Reply Last reply
                    • O Obi_Yoann

                      @Nicolas-Bernaerts said in Tasmota:

                      @Obi_Yoann hello,
                      Bien joué !
                      En fait concernant ce fichier xdrv_01_9_webserver.ino, c'est encore plus simple ... j'ajoute seulement ces lignes au fichier d'origine :

                      #ifdef EXTENSION_NAME
                      "<div style='text-align:right;font-size:11px;'>" EXTENSION_NAME " " EXTENSION_VERSION " <small>(" EXTENSION_BUILD ")</small> " D_BY " " EXTENSION_AUTHOR "</div>"
                      #endif

                      Cela me permet entre autre d'avoir la version de build dans la home page.

                      Donc dans le fichier de la 12.2.0, tu ajoutes ces lignes au même endroit ...et c'est tout.

                      Effectivement c'est bien plus simple et propre! Modification faite et compilée chez moi, ras nickel.
                      Pour info petit script berry pour cette version pour la remontée vers emoncms :

                      import json
                      
                      var api_url = "http://192.168.xxx.xxx/input/post"
                      var api_key = "xxx"
                      var node_name = "ENERGY"
                      
                      def setcolor(iinst, isousc)
                        var red = tasmota.scale_uint(iinst, 0, isousc, 0, 255)
                        var green = 255 - red
                        var channels = [red, green, 0]
                        light.set({"channels":channels, "bri":64, "power":true})
                      end
                      
                      def rule_tic(value, trigger)
                        # Convert map to json
                        var obj_json = json.dump(value)
                        # Create URL to call
                        var param="?fulljson="+obj_json + "&node="+node_name + "&apikey="+api_key 
                        # Post Data to EMONCMS
                        var cl = webclient()
                        cl.begin( api_url + param)
                        var r =  cl.GET()
                        print(r, param) 
                      end
                      
                      # Callback on each MQTT interception
                      tasmota.add_rule("METER",rule_tic)
                      tasmota.add_rule("ENERGY",rule_tic)
                      

                      Cela transmets à emoncms deux objets, METER en fonction du délai de journalisation (par défaut 300s/5mn), et ENERGY apparemment à chaque trame reçue du TIC (si je dis pas de bêtise).
                      Voici ce qui est envoyé pour ENERGY :
                      c63a4a8a-9b8d-4d86-b1db-cceedad41a44-image.png
                      Et pour METER :
                      34444e5d-63a3-43b4-9cf0-858d1101c104-image.png
                      La puissance souscrite utilisée pour calculer le "LOAD" et règler la couleur de la led n'est hélas présent que dans l'objet "METER", du coup que toutes les 5mn (ou moins si on règle moins).
                      C'est une alternative qui peut être intéressante quand on est une buse comme moi en MQTT et pas fichu de comprendre comment faire pour envoyer les données de Tasmota vers emoncms via MQTT!!! 🤣

                      Nicolas BernaertsN Offline
                      Nicolas BernaertsN Offline
                      Nicolas Bernaerts
                      wrote on last edited by Nicolas Bernaerts
                      #369

                      @Obi_Yoann La fréquence d'envoi de METER est paramétrable a travers Configure / Teleinfo.
                      Tu peux envoyer METER seulement, ENERGY seulement ou les 2 et le faire à chaque Telemetry ou dès que la puissance varie en %.
                      Si j'ai bien compris, cela devrait régler ton problème.

                      1 Reply Last reply
                      • CharlesC Charles

                        @Nicolas-Bernaerts said in Tasmota:

                        @Charles Hello,
                        Je pense que la différence se situe ligne 2148 et 2149 de teleinfo.ino. De mémoire c'est la différence de modèle de données apparue avec la version 12.1.

                        Hello, merci de ta réponse effectivement je faisais

                        Energy.import_active[0] = (float)total/1000.0f;
                        EnergyUpdateTotal();
                        

                        Je vais essayer avec

                        Energy.total[0] = (float) total / 1000.0f;
                        Energy.import_active[0] = Energy.total[0];
                        

                        du coups tu confirmes tu n'appelles jamais EnergyUpdateTotal() ?

                        Edit ah si pardon, c'est pas super clair pour moi de ce qui doit être fait et quand, et j'ai pas trouvé de doc sur le module energy de tasmota

                        Nicolas BernaertsN Offline
                        Nicolas BernaertsN Offline
                        Nicolas Bernaerts
                        wrote on last edited by
                        #370

                        @Charles Je te confirme que la doc du module Energy est ... minimaliste.
                        Je suis allé regarder le code de EnergyUpdateTotal pour comprendre ce qui est fait et ce qui doit être mis à jour. A priori cela fonctionne bien ... La prochaine étape sera de gérer les totaux en mode triphasé afin de prendre en compte l'évolution du modèle.

                        CharlesC 1 Reply Last reply
                        • Nicolas BernaertsN Nicolas Bernaerts

                          @Charles Je te confirme que la doc du module Energy est ... minimaliste.
                          Je suis allé regarder le code de EnergyUpdateTotal pour comprendre ce qui est fait et ce qui doit être mis à jour. A priori cela fonctionne bien ... La prochaine étape sera de gérer les totaux en mode triphasé afin de prendre en compte l'évolution du modèle.

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

                          @Nicolas-Bernaerts Merci de ton retour.

                          A quand une intégration de ton travail (qui est bien plus avancé que le mien) en direct dans tasmota ? ça t'éviterais de devoir suivre les montées de version (je sais que c'est lourd pour l'avoir fait) 🙂

                          Nicolas BernaertsN 1 Reply Last reply
                          • CharlesC Charles

                            @Nicolas-Bernaerts Merci de ton retour.

                            A quand une intégration de ton travail (qui est bien plus avancé que le mien) en direct dans tasmota ? ça t'éviterais de devoir suivre les montées de version (je sais que c'est lourd pour l'avoir fait) 🙂

                            Nicolas BernaertsN Offline
                            Nicolas BernaertsN Offline
                            Nicolas Bernaerts
                            wrote on last edited by
                            #372

                            @Charles c'est une très bonne idée, mais je ne sais par quel bout le prendre. Si quelqu'un peut m'aider à proposer le premier merge request, why not...

                            CharlesC 1 Reply Last reply
                            • Nicolas BernaertsN Nicolas Bernaerts

                              @Charles c'est une très bonne idée, mais je ne sais par quel bout le prendre. Si quelqu'un peut m'aider à proposer le premier merge request, why not...

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

                              @Nicolas-Bernaerts ça je peux t'aider j'ai un peu l'habitude
                              je vois que dans la nouvelle version du coups tu as changé que très peu de fichiers (juste 2) le ficher nrg de téléinfo (ça logique) et juste le web serveur c'est bien ça ?

                              Nicolas BernaertsN 1 Reply Last reply
                              • CharlesC Charles

                                @Nicolas-Bernaerts ça je peux t'aider j'ai un peu l'habitude
                                je vois que dans la nouvelle version du coups tu as changé que très peu de fichiers (juste 2) le ficher nrg de téléinfo (ça logique) et juste le web serveur c'est bien ça ?

                                Nicolas BernaertsN Offline
                                Nicolas BernaertsN Offline
                                Nicolas Bernaerts
                                wrote on last edited by Nicolas Bernaerts
                                #374

                                @Charles hello,
                                C'est cela. Je suis en train de faire évoluer la gestion des graphs pour accélérer l'affichage et afficher les consos annuelles sous forme de bargraph mois/mois.
                                Mais au final c'est principalement le nrg teleinfo qui évolue.
                                Mon questionnement sur le merge est le suivant :

                                • Comment faire pour merger ta version et la mienne côté Teleinfo nrg ?
                                • Comment faire pour intégrer les librairies ou extensions sur lesquelles je me base (FTP, TCP, CSV, ...) ?

                                Pour le reste, j'essaye de suivre au maximum les règles de codage de tasmota.
                                Merci

                                CharlesC 1 Reply Last reply
                                • Nicolas BernaertsN Nicolas Bernaerts

                                  @Charles hello,
                                  C'est cela. Je suis en train de faire évoluer la gestion des graphs pour accélérer l'affichage et afficher les consos annuelles sous forme de bargraph mois/mois.
                                  Mais au final c'est principalement le nrg teleinfo qui évolue.
                                  Mon questionnement sur le merge est le suivant :

                                  • Comment faire pour merger ta version et la mienne côté Teleinfo nrg ?
                                  • Comment faire pour intégrer les librairies ou extensions sur lesquelles je me base (FTP, TCP, CSV, ...) ?

                                  Pour le reste, j'essaye de suivre au maximum les règles de codage de tasmota.
                                  Merci

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

                                  @Nicolas-Bernaerts Hello,

                                  Désolé j'étais pas mal occupé a faire des test sur le Linky en mode Standard.

                                  Pour le merge je pense qu'il faut faire étape par étape, tout ce qui concerne la teleinfo ne posera pas de problème à la team tasmota car c'est spécifique à la France en revanche intégrer une lib FTP à mon avis ca va être refusé, on aurait moyen de faire un full HTTP?

                                  Peut être on peut faire une version minimale fonctionnelle (ton interface, tes calculs, tes affichages) puis ensuite venir enrichir avec CSV et TCP (si ça passe)

                                  Qu'appelles tu merger ma version et la tienne, ajouter les commandes spécifiques que j'ai faite? parce que pour le reste on peut prendre ta version. Juste vérifier la loop mais ça devrait aller.

                                  Je sais c'est un peu relou mais il va falloir rester dans l'esprit tasmota et y aller pas à pas sous peine de se voir refuser le merge

                                  Nicolas BernaertsN 2 Replies Last reply
                                  • CharlesC Charles

                                    @Nicolas-Bernaerts Hello,

                                    Désolé j'étais pas mal occupé a faire des test sur le Linky en mode Standard.

                                    Pour le merge je pense qu'il faut faire étape par étape, tout ce qui concerne la teleinfo ne posera pas de problème à la team tasmota car c'est spécifique à la France en revanche intégrer une lib FTP à mon avis ca va être refusé, on aurait moyen de faire un full HTTP?

                                    Peut être on peut faire une version minimale fonctionnelle (ton interface, tes calculs, tes affichages) puis ensuite venir enrichir avec CSV et TCP (si ça passe)

                                    Qu'appelles tu merger ma version et la tienne, ajouter les commandes spécifiques que j'ai faite? parce que pour le reste on peut prendre ta version. Juste vérifier la loop mais ça devrait aller.

                                    Je sais c'est un peu relou mais il va falloir rester dans l'esprit tasmota et y aller pas à pas sous peine de se voir refuser le merge

                                    Nicolas BernaertsN Offline
                                    Nicolas BernaertsN Offline
                                    Nicolas Bernaerts
                                    wrote on last edited by Nicolas Bernaerts
                                    #376

                                    @Charles hello,
                                    Merci pour ta réponse.
                                    En regardant bien, les deux seuls fichiers indispensables pour faire fonctionner la Teleinfo avec du littlefs en dehors de xnrg_15_teleinfo.ino sont :

                                    • xdrv_50_filesystem_cfg_csv.ino
                                    • xdrv_97_tcp_server.ino

                                    Sans littlefs, nous n'avons aucun graph hormis le live, c'est vraiment dommage.
                                    Pour le TCP, c'est un super outil de débug qui permet de diffuser les trames TIC directement sur ton LAN. Idem, c'est un vrai plus de l'avoir.

                                    D'après toi, faut-il les intégrer à xnrg_15_teleinfo.ino ou faut-il les déclarer comme librairie ?
                                    Pour le reste c'est du plus, mais non indispensable.

                                    Barbu DorB 1 Reply Last reply
                                    • Nicolas BernaertsN Nicolas Bernaerts

                                      @Charles hello,
                                      Merci pour ta réponse.
                                      En regardant bien, les deux seuls fichiers indispensables pour faire fonctionner la Teleinfo avec du littlefs en dehors de xnrg_15_teleinfo.ino sont :

                                      • xdrv_50_filesystem_cfg_csv.ino
                                      • xdrv_97_tcp_server.ino

                                      Sans littlefs, nous n'avons aucun graph hormis le live, c'est vraiment dommage.
                                      Pour le TCP, c'est un super outil de débug qui permet de diffuser les trames TIC directement sur ton LAN. Idem, c'est un vrai plus de l'avoir.

                                      D'après toi, faut-il les intégrer à xnrg_15_teleinfo.ino ou faut-il les déclarer comme librairie ?
                                      Pour le reste c'est du plus, mais non indispensable.

                                      Barbu DorB Offline
                                      Barbu DorB Offline
                                      Barbu Dor
                                      wrote on last edited by
                                      #377

                                      Hello @Nicolas-Bernaerts @Charles
                                      Il vaut mieux y aller doucement si les ajouts sont importants
                                      Une des règles est qu'une PR ne doit toucher/apporter qu'une seule fonctionalité à la fois.
                                      Pouvez vous l'indiquer où se trouve cette branche ? Je peux essayer de vous apporter mon éclairage, mais je suis assez busy coté boulot ces jours ci.
                                      Si une sous-fonctionalité de Teleinfo a besoin du filesystem, il faut être sûr que l'on puisse compiler sans le filesystem et que cette sous-fonctionalité soit alors désactivée sans impact.
                                      Rappelezvous que la philosophie générale de Tasmota est l'intégration MQTT et que l'interface Web est uniquement là pour aider à la config initiale et que ce n'est pas la place pour des affichages complexes.
                                      Toutefois on peut faire des graphes avec le Scripting-Language, on peut aussi ajouter des elements web avec Berry, et le support du Zigbee permet aussi d'afficher graphiquement la carte du réseau zigbee. Donc l'équipe n'en est pas à une contradiction près 😄

                                      Nicolas BernaertsN 2 Replies Last reply
                                      • Barbu DorB Barbu Dor

                                        Hello @Nicolas-Bernaerts @Charles
                                        Il vaut mieux y aller doucement si les ajouts sont importants
                                        Une des règles est qu'une PR ne doit toucher/apporter qu'une seule fonctionalité à la fois.
                                        Pouvez vous l'indiquer où se trouve cette branche ? Je peux essayer de vous apporter mon éclairage, mais je suis assez busy coté boulot ces jours ci.
                                        Si une sous-fonctionalité de Teleinfo a besoin du filesystem, il faut être sûr que l'on puisse compiler sans le filesystem et que cette sous-fonctionalité soit alors désactivée sans impact.
                                        Rappelezvous que la philosophie générale de Tasmota est l'intégration MQTT et que l'interface Web est uniquement là pour aider à la config initiale et que ce n'est pas la place pour des affichages complexes.
                                        Toutefois on peut faire des graphes avec le Scripting-Language, on peut aussi ajouter des elements web avec Berry, et le support du Zigbee permet aussi d'afficher graphiquement la carte du réseau zigbee. Donc l'équipe n'en est pas à une contradiction près 😄

                                        Nicolas BernaertsN Offline
                                        Nicolas BernaertsN Offline
                                        Nicolas Bernaerts
                                        wrote on last edited by Nicolas Bernaerts
                                        #378

                                        @Barbu-Dor Merci pour ce feedback.
                                        Cette nouvelle version de xnrg_15_teleinfo.ino est disponible sur Github sous https://github.com/NicolasBernaerts/tasmota/tree/master/teleinfo.

                                        Cote filesystem, je te confirme que la compilation peut se faire sans.
                                        J'utilise systématiquement #ifdef USE_UFILESYS

                                        Pour les graphs, ils sont aujourd'hui toujours disponibles car cela fait partie des fonctionnalités de base (suivi de conso). Certains graphs ne sont dispos que si LittleFS est disponible. C'est également géré via #ifdef USE_UFILESYS

                                        Merci d'avance pour ton retour.

                                        1 Reply Last reply
                                        • doul59D Offline
                                          doul59D Offline
                                          doul59
                                          wrote on last edited by doul59
                                          #379

                                          Bonjour,
                                          Je viens d'acquérir un Teleinfo wemos avec un esp32 c3 mini (rev2.1)
                                          J'ai flashé avec tasmota32c3-teleinfo (https://github.com/Jason2866/Tasmota-specials/blob/firmware/firmware/tasmota32/other/tasmota32c3-teleinfo.bin)
                                          mode : historique
                                          Contrat : Tempo

                                          1.png

                                          Mais je n'ai rien dans la partie Energy

                                          ce qui est actif dans Template :
                                          {"NAME":"Wemos Teleinfo","GPIO":[1,1,1376,1,5632,1,1,288,640,1,608,1,1,1,1376,1,1,640,1,0,1,1],"FLAG":0,"BASE":1}

                                          2.png

                                          J'ai soudé (7 plots) en suivant ça :
                                          alt text

                                          Auriez-vous une piste ?

                                          Merci d'avance

                                          Barbu DorB 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