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. MicroTéléinfo
  5. Lecture Linky via dongle et compteur via GPIO

Lecture Linky via dongle et compteur via GPIO

Scheduled Pinned Locked Moved MicroTéléinfo
35 Posts 3 Posters 9.7k Views 2 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.
  • M mikebzh44

    @charles Super. Merci, je vais déjà en commander un dans un premier temps 😉

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

    @mikebzh44 ok top, désolé je viens de partir du bureau en presta extérieure, ça ne partira que lundi maintenant.

    M 1 Reply Last reply
    • CharlesC Charles

      @mikebzh44 ok top, désolé je viens de partir du bureau en presta extérieure, ça ne partira que lundi maintenant.

      M Offline
      M Offline
      mikebzh44
      wrote on last edited by
      #5

      @charles C'est bon, reçu ce matin au courrier, c'est déjà super rapide !! Je le teste demain soir en rentrant du boulot.

      M 1 Reply Last reply
      • M mikebzh44

        @charles C'est bon, reçu ce matin au courrier, c'est déjà super rapide !! Je le teste demain soir en rentrant du boulot.

        M Offline
        M Offline
        mikebzh44
        wrote on last edited by
        #6

        Je teste mon dongle avec la commande :

        picocom -b 9600 -d 7 -p e -f n /dev/ttyUSB0

        picocom v3.1

        port is : /dev/ttyUSB0
        flowcontrol : none
        baudrate is : 9600
        parity is : even
        databits are : 7
        stopbits are : 1
        escape is : C-a
        local echo is : no
        noinit is : no
        noreset is : no
        hangup is : no
        nolock is : no
        send_cmd is : sz -vv
        receive_cmd is : rz -vv -E
        imap is :
        omap is :
        emap is : crcrlf,delbs,
        logfile is : none
        initstring : none
        exit_after is : not set
        exit is : no

        Type [C-a] [C-h] to see available commands
        Terminal ready

        Mais même en laissant tourner, j'ai rien qui s'affiche.

        Pour info, j'ai la sortie TIC de mon Linky qui est connectée à des wagos 3 voies. Les 2 paires de câbles en sortie vont sur le même Raspberry mais :

        • une paire est connecté sur mon shield et j'interroge donc /dev/ttyAMA0 (et la remontée se fait bien)
        • une paire est connecté sur le dongle et j'interroge donc /dev/ttyUSB0 (et picocom reste muet)

        Si c'est le cas, je peux te retourner le dongle pour que tu fasse la modif ? Je ne suis pas équipé pour souder des composant CMS et je suis pas assez précis pour cela.

        CharlesC 2 Replies Last reply
        • M mikebzh44

          Je teste mon dongle avec la commande :

          picocom -b 9600 -d 7 -p e -f n /dev/ttyUSB0

          picocom v3.1

          port is : /dev/ttyUSB0
          flowcontrol : none
          baudrate is : 9600
          parity is : even
          databits are : 7
          stopbits are : 1
          escape is : C-a
          local echo is : no
          noinit is : no
          noreset is : no
          hangup is : no
          nolock is : no
          send_cmd is : sz -vv
          receive_cmd is : rz -vv -E
          imap is :
          omap is :
          emap is : crcrlf,delbs,
          logfile is : none
          initstring : none
          exit_after is : not set
          exit is : no

          Type [C-a] [C-h] to see available commands
          Terminal ready

          Mais même en laissant tourner, j'ai rien qui s'affiche.

          Pour info, j'ai la sortie TIC de mon Linky qui est connectée à des wagos 3 voies. Les 2 paires de câbles en sortie vont sur le même Raspberry mais :

          • une paire est connecté sur mon shield et j'interroge donc /dev/ttyAMA0 (et la remontée se fait bien)
          • une paire est connecté sur le dongle et j'interroge donc /dev/ttyUSB0 (et picocom reste muet)

          Si c'est le cas, je peux te retourner le dongle pour que tu fasse la modif ? Je ne suis pas équipé pour souder des composant CMS et je suis pas assez précis pour cela.

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

          @mikebzh44 c'est curieux car j'ai justement fait la modif avant envoi, tu as le couple 220 Ohm 3K3 je suis tres surpris que ca ne fonctionne pas tu aurais moyen de test sur un compteur historique

          apres les soudures ont peut etre bougées mais je voudrais m'assurer que ca marche ou pas en histo

          1 Reply Last reply
          • M Offline
            M Offline
            mikebzh44
            wrote on last edited by
            #8

            Oui, je vais tester ce soir sur le compteur Sagem qui me donne ma production solaire. SI ça marche, le linky sera relevé par le shield et ça sera bon 😉

            CharlesC 2 Replies Last reply
            • M mikebzh44

              Oui, je vais tester ce soir sur le compteur Sagem qui me donne ma production solaire. SI ça marche, le linky sera relevé par le shield et ça sera bon 😉

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

              @mikebzh44 ok tiens moi au jus mais ça m'interpelle tout ça, visiblement je n'arrive pas à trouver un couple de valeurs fonctionnant systématiquement, c'est assez ennuyeux

              1 Reply Last reply
              • M Offline
                M Offline
                mikebzh44
                wrote on last edited by
                #10

                Test concluant avec le dongle branché sur la sortie TIC de mon Sagem :

                pi@raspberrypi:~ $ picocom -b 1200 -d 7 -p e -f n /dev/ttyUSB0
                picocom v3.1

                port is : /dev/ttyUSB0
                flowcontrol : none
                baudrate is : 1200
                parity is : even
                databits are : 7
                stopbits are : 1
                escape is : C-a
                local echo is : no
                noinit is : no
                noreset is : no
                hangup is : no
                nolock is : no
                send_cmd is : sz -vv
                receive_cmd is : rz -vv -E
                imap is :
                omap is :
                emap is : crcrlf,delbs,
                logfile is : none
                initstring : none
                exit_after is : not set
                exit is : no

                Type [C-a] [C-h] to see available commands
                Terminal ready
                <tL1766843 .
                PTEC TH.. $
                IINST 000 W
                IMAX 012 B
                PAPP 00000 !
                MOTDETAT 000000 B
                ADCO 021628001921 7
                OPTARIF BASE 0
                ISOUSC 30 9
                BASE 001766843 .
                PTEC TH.. $
                IINST 000 W
                IMAX 012 B
                PAPP 00060 '
                MOTDETAT 000000 B
                ADCO 021628001921 7
                OPTARIF BASE 0
                ISOUSC 30 9
                BASE 001766843 .
                PTEC TH.. $
                IINST 000 W
                IMAX 012 B
                PAPP 00060 '
                MOTDETAT 000000 B
                ADCO 021628001921 7
                OPTARIF BASE 0
                ISOUSC 30 9
                BASE 001766843 .
                PTEC TH.. $
                IINST 000 W
                IMAX 012 B

                Donc c'est ce RPi qi va relever le Linky via le shield et le Sagem via le dongle.

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

                  Par contre, pour l'instant, je lis la sortie TIC du Linky via un programme Python qui utilise la bibliothèque PITinfo mais je dois bidouiller dans un script pour lancer le programme python en arrière plan puis au bout de 10s, je fais un grep et je kill le process car le programme python ne rend jamais la main.

                  Pour le dongle, je pense utiliser ton programme :

                  http://hallard.me/teleinfo-emoncms/

                  Mais si je veux un programme qui sache lire le Linky et un autre qui sache lire le Sagem, il faut que je le compile 2 fois avec des options différentes (pour qu'ils se nomment différemment, pour qu'ils aient des fichiers de conf différents, ...) ? Va falloir que je me plonge de le makefile et le fichier .c, ça va me rappeler ma jeunesse 😄

                  CharlesC Marc DuboisM 2 Replies Last reply
                  • M mikebzh44

                    Par contre, pour l'instant, je lis la sortie TIC du Linky via un programme Python qui utilise la bibliothèque PITinfo mais je dois bidouiller dans un script pour lancer le programme python en arrière plan puis au bout de 10s, je fais un grep et je kill le process car le programme python ne rend jamais la main.

                    Pour le dongle, je pense utiliser ton programme :

                    http://hallard.me/teleinfo-emoncms/

                    Mais si je veux un programme qui sache lire le Linky et un autre qui sache lire le Sagem, il faut que je le compile 2 fois avec des options différentes (pour qu'ils se nomment différemment, pour qu'ils aient des fichiers de conf différents, ...) ? Va falloir que je me plonge de le makefile et le fichier .c, ça va me rappeler ma jeunesse 😄

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

                    @mikebzh44 je crois que tu te complique la vie, la vrai question est comment traites tu les données après et qu'en fait-tu ?

                    A ta place sur le PI je monterais un node red qui écoute sur les 2 serial et qui les envoi ou tu veux (en plus c'est graphique c'est top)

                    Sinon ton script python peut faire l'affaire tu le copie et tu le renommes

                    script_cpt1.py et script_cpt2.py et tu lances les 2 en arrière plan chacun avec ses propres options par exemple.

                    Ya plein d'option mais compiler du C juste pour lire la téléinfo c'est du taff.

                    1 Reply Last reply
                    • M Offline
                      M Offline
                      mikebzh44
                      wrote on last edited by
                      #13

                      Je remonte mes index de compteur dans une base MySQL à une cadence d'une minute.

                      Avec le Node Red, je peux faire une boucle pour lire les 2 serial et envoyer les infos dans ma base MySQL toutes les minutes ?

                      Sinon, je vais dupliquer mon shell + script python pour que chacun lise un serial.

                      CharlesC 1 Reply Last reply
                      • M mikebzh44

                        Je remonte mes index de compteur dans une base MySQL à une cadence d'une minute.

                        Avec le Node Red, je peux faire une boucle pour lire les 2 serial et envoyer les infos dans ma base MySQL toutes les minutes ?

                        Sinon, je vais dupliquer mon shell + script python pour que chacun lise un serial.

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

                        @mikebzh44 oui bien sur tu peux tout faire avec node red, tu peux le lancer en auto au démarrage, ensuite tu peux faire des modifs de code à la volée ou ajouter des modules (envoi dans mysql par exemple) dans la GUI, c'est super pratique, t'as pas besoin de gérer les redémarrages et tout. Tu peux même le faire tourner dans une instance docker, ca ne polluera pas ta machine.

                        pour ton script tu peux aussi regrouper la lecture des 2 serials dans le même script.

                        1 Reply Last reply
                        • M mikebzh44

                          Oui, je vais tester ce soir sur le compteur Sagem qui me donne ma production solaire. SI ça marche, le linky sera relevé par le shield et ça sera bon 😉

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

                          @mikebzh44 ce qui m'inquiète c'est que ton dongle ne lise pas le mode standard, peux tu ré essayer en ne mettant que le dongle connecté à la sortie du linky et bien vérifier les connexions ?

                          1 Reply Last reply
                          • M Offline
                            M Offline
                            mikebzh44
                            wrote on last edited by
                            #16

                            Je vais installer Node Red ce soir et je vais tester le dongle sur le Linky en étant seul sur la sortie TIC.

                            1 Reply Last reply
                            • M mikebzh44

                              Je teste mon dongle avec la commande :

                              picocom -b 9600 -d 7 -p e -f n /dev/ttyUSB0

                              picocom v3.1

                              port is : /dev/ttyUSB0
                              flowcontrol : none
                              baudrate is : 9600
                              parity is : even
                              databits are : 7
                              stopbits are : 1
                              escape is : C-a
                              local echo is : no
                              noinit is : no
                              noreset is : no
                              hangup is : no
                              nolock is : no
                              send_cmd is : sz -vv
                              receive_cmd is : rz -vv -E
                              imap is :
                              omap is :
                              emap is : crcrlf,delbs,
                              logfile is : none
                              initstring : none
                              exit_after is : not set
                              exit is : no

                              Type [C-a] [C-h] to see available commands
                              Terminal ready

                              Mais même en laissant tourner, j'ai rien qui s'affiche.

                              Pour info, j'ai la sortie TIC de mon Linky qui est connectée à des wagos 3 voies. Les 2 paires de câbles en sortie vont sur le même Raspberry mais :

                              • une paire est connecté sur mon shield et j'interroge donc /dev/ttyAMA0 (et la remontée se fait bien)
                              • une paire est connecté sur le dongle et j'interroge donc /dev/ttyUSB0 (et picocom reste muet)

                              Si c'est le cas, je peux te retourner le dongle pour que tu fasse la modif ? Je ne suis pas équipé pour souder des composant CMS et je suis pas assez précis pour cela.

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

                              @mikebzh44

                              je fais partir au courrier demain:

                              • un autre uTeleinfo avec
                                • 1K2 entrée opto
                                • 4.7K sortie opto
                              • Un Shield PITinfo (1K2 / 4K7)

                              Ensuite pourras tu faire des tests avec et nous dire si les deux fonctionnent en mode standard avec ton Linky ?

                              Merci à toi, tu pourra garder le tout.

                              M 1 Reply Last reply
                              • CharlesC Charles

                                @mikebzh44

                                je fais partir au courrier demain:

                                • un autre uTeleinfo avec
                                  • 1K2 entrée opto
                                  • 4.7K sortie opto
                                • Un Shield PITinfo (1K2 / 4K7)

                                Ensuite pourras tu faire des tests avec et nous dire si les deux fonctionnent en mode standard avec ton Linky ?

                                Merci à toi, tu pourra garder le tout.

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

                                @charles Merci, je sais pas si ca vaut le coup, je viens de tester le dongle sur mon Linky sans la double liaison et picocom lit sans problème les trames.

                                C'était soit un soucis de branchement, soit le fait d'avoir dérivé la sortie TIC vers 2 serials

                                J'ai installé Node-Red, je m'attaque à la lecture de mes compteurs maintenant 😉

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

                                  Par contre, j'essaie de lire ma sortie TIC via le dongle et Node Red et d'insérer l'index dans ma base MySQL :

                                  alt text

                                  Ca marche mais j'ai un décalage d'une seconde à chaque ajout :

                                  alt text

                                  Donc avec cette dérive, je vais avoir un moment ou je vais louper une minute. Je sais, c'est pas la mort mais j'aimerais bien garder mon intervalle d'une minute.

                                  Si tu as une idée 😉

                                  CharlesC 1 Reply Last reply
                                  • M mikebzh44

                                    @charles Merci, je sais pas si ca vaut le coup, je viens de tester le dongle sur mon Linky sans la double liaison et picocom lit sans problème les trames.

                                    C'était soit un soucis de branchement, soit le fait d'avoir dérivé la sortie TIC vers 2 serials

                                    J'ai installé Node-Red, je m'attaque à la lecture de mes compteurs maintenant 😉

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

                                    @mikebzh44 ah ok très bien, ça me rassure. merci pour le suivit

                                    1 Reply Last reply
                                    • M mikebzh44

                                      Par contre, j'essaie de lire ma sortie TIC via le dongle et Node Red et d'insérer l'index dans ma base MySQL :

                                      alt text

                                      Ca marche mais j'ai un décalage d'une seconde à chaque ajout :

                                      alt text

                                      Donc avec cette dérive, je vais avoir un moment ou je vais louper une minute. Je sais, c'est pas la mort mais j'aimerais bien garder mon intervalle d'une minute.

                                      Si tu as une idée 😉

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

                                      @mikebzh44 ouais j'suis pas fan des limit je m'en sers uniquement quand ca va très vite et que je veux limiter.

                                      T'as essayer de faire un limit 1msg/59s pour voir ?

                                      Sinon moi je stocke les valeurs de chaque trame dans le contexte (espèce de variable globale node Red) puis je mets des inject node (mode trigger) qui viennent récupérer les valeurs du contexte

                                      Un toutes les 10s pour les valeurs temps réel et un autre tt les 5 min pour toutes les valeurs (inutile de charger la BDD pour les index par exemple) ce qui donne un truc comme ça

                                      a043930e-4a9f-4225-90e6-080918808973-image.png

                                      je te mets le flow (t'as juste à l'importer dans node red) pour que tu puisses trouver des idées

                                      [{"id":"21d0dbd3.42c4f4","type":"function","z":"8b43a51b.e87958","name":"Valeurs Temps Réel","func":"var str = \"\";\nvar ti = context.global.teleinfo;\n\nfor (var label in ti)\n{\n\tif (label==\"ADPS\" || label==\"PAPP\" || label==\"TENSION\" || label==\"IINST1\" || label==\"IMAX1\" )\n\t{\n         if (str.length>0)\n            str+=\",\";\n            \n         str += label + \":\"+ ti[label];\n\t} \n\n\tif ( label==\"PAPP\" )\n\t{\n         if (str.length>0)\n            str+=\",\";\n\n        str += label + \"_\" + ti[\"PTEC\"] +\":\"+ ti[label];\n\t}\n\n}\n\nreturn [ { payload: str } ];\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":350,"y":180,"wires":[object Object]}]
                                      
                                      1 Reply Last reply
                                      • M Offline
                                        M Offline
                                        mikebzh44
                                        wrote on last edited by
                                        #22

                                        Cool, merci pour le tuyau, je teste ça ce soir.

                                        Et avec ce fameux contexte, je peux avoir un flow qui va lire la sortie TIC de mon Sagem via /dev/ttyUSB0, un 2éme qui va lire celle du Linky via /dev/ttyAMA0 et un 3ème qui va récupérer les données de mon sous-compteur d'injection du surplus dans mon chauffe via une requête HTTP (c'est un Wemos sous EspEasy qui est branché à la sortie RS485 du sous-compteur) puis agréger toutes ces informations pour ne faire qu'un seul ordre INSERT dans ma BDD ?

                                        Je suppose qu'il faut que mon flow Linky stocke les données qui m'intéressent dans context.global.Linky (par exemple), de même pour context.global.Sagem et context.global.ECS et toutes les 1m, j'ai une fonction qui récupères les valeurs de ces 3 variables "globales" et je génère mon ordre INSERT, j'ai bon ?

                                        Merci pour ton aide en tout cas, car cette programmation "graphique" est toute nouvelle pour moi 😄

                                        CharlesC 1 Reply Last reply
                                        • M mikebzh44

                                          Cool, merci pour le tuyau, je teste ça ce soir.

                                          Et avec ce fameux contexte, je peux avoir un flow qui va lire la sortie TIC de mon Sagem via /dev/ttyUSB0, un 2éme qui va lire celle du Linky via /dev/ttyAMA0 et un 3ème qui va récupérer les données de mon sous-compteur d'injection du surplus dans mon chauffe via une requête HTTP (c'est un Wemos sous EspEasy qui est branché à la sortie RS485 du sous-compteur) puis agréger toutes ces informations pour ne faire qu'un seul ordre INSERT dans ma BDD ?

                                          Je suppose qu'il faut que mon flow Linky stocke les données qui m'intéressent dans context.global.Linky (par exemple), de même pour context.global.Sagem et context.global.ECS et toutes les 1m, j'ai une fonction qui récupères les valeurs de ces 3 variables "globales" et je génère mon ordre INSERT, j'ai bon ?

                                          Merci pour ton aide en tout cas, car cette programmation "graphique" est toute nouvelle pour moi 😄

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

                                          @mikebzh44 said in Lecture Linky via dongle et compteur via GPIO:

                                          Cool, merci pour le tuyau, je teste ça ce soir.

                                          Et avec ce fameux contexte, je peux avoir un flow qui va lire la sortie TIC de mon Sagem via /dev/ttyUSB0, un 2éme qui va lire celle du Linky via /dev/ttyAMA0 et un 3ème qui va récupérer les données de mon sous-compteur d'injection du surplus dans mon chauffe via une requête HTTP (c'est un Wemos sous EspEasy qui est branché à la sortie RS485 du sous-compteur) puis agréger toutes ces informations pour ne faire qu'un seul ordre INSERT dans ma BDD ?

                                          Tout à fait 🙂

                                          Je suppose qu'il faut que mon flow Linky stocke les données qui m'intéressent dans context.global.Linky (par exemple), de même pour context.global.Sagem et context.global.ECS et toutes les 1m, j'ai une fonction qui récupères les valeurs de ces 3 variables "globales" et je génère mon ordre INSERT, j'ai bon ?

                                          C'est exactement ça

                                          Merci pour ton aide en tout cas, car cette programmation "graphique" est toute nouvelle pour moi 😄

                                          c'est pratique et rapide hein ?

                                          M 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


                                          2

                                          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