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

    Tasmota

    Scheduled Pinned Locked Moved Téléinfo
    525 Posts 31 Posters 180.9k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • CharlesC Offline
      Charles @Nicolas Bernaerts
      last edited by 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 1 Reply Last reply Reply Quote
      • O Offline
        Obi_Yoann @Nicolas Bernaerts
        last edited by

        @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 Reply Quote
        • CharlesC Offline
          Charles @Obi_Yoann
          last edited by Charles

          @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 Reply Quote
          • Nicolas BernaertsN Offline
            Nicolas Bernaerts @Obi_Yoann
            last edited by Nicolas Bernaerts

            @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 Reply Quote
            • Nicolas BernaertsN Offline
              Nicolas Bernaerts @Charles
              last edited by

              @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 Reply Quote
              • CharlesC Offline
                Charles @Nicolas Bernaerts
                last edited by

                @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 Reply Quote
                • Nicolas BernaertsN Offline
                  Nicolas Bernaerts @Charles
                  last edited by

                  @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 Reply Quote
                  • CharlesC Offline
                    Charles @Nicolas Bernaerts
                    last edited by

                    @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 Reply Quote
                    • Nicolas BernaertsN Offline
                      Nicolas Bernaerts @Charles
                      last edited by 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 1 Reply Last reply Reply Quote
                      • CharlesC Offline
                        Charles @Nicolas Bernaerts
                        last edited by

                        @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 Reply Quote
                        • Nicolas BernaertsN Offline
                          Nicolas Bernaerts @Charles
                          last edited by 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 1 Reply Last reply Reply Quote
                          • Barbu DorB Offline
                            Barbu Dor @Nicolas Bernaerts
                            last edited by

                            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 Reply Quote
                            • Nicolas BernaertsN Offline
                              Nicolas Bernaerts @Barbu Dor
                              last edited by Nicolas Bernaerts

                              @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 Reply Quote
                              • doul59D Offline
                                doul59
                                last edited by doul59

                                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 Reply Quote
                                • Barbu DorB Offline
                                  Barbu Dor @doul59
                                  last edited by

                                  @doul59 ce qu'il faudrait c'est ce qu'il se passe dans la console, éventuellement après un Weblog 3 et un redémarrage

                                  Quand tu dis que tu as soudé 7 plots que veux tu dire ?
                                  Une photo de l'ensemble monté pourrais nous aider à comprendre

                                  doul59D 1 Reply Last reply Reply Quote
                                  • doul59D Offline
                                    doul59 @Barbu Dor
                                    last edited by doul59

                                    @Barbu-Dor
                                    Exemple de log :

                                    19:29:52.248 RSL: STATE = {"Time":"2022-11-20T19:29:52","Uptime":"0T03:51:14","UptimeSec":13874,"Heap":189,"SleepMode":"Dynamic","Sleep":10,"LoadAvg":99,"MqttCount":0,"Berry":{"HeapUsed":4,"Objects":44},"POWER":"ON","Dimmer":52,"Color":"3B8507","HSBColor":"95,95,52","Channel":[23,52,2],"Scheme":0,"Width":1,"Fade":"OFF","Speed":1,"LedTable":"ON","Wifi":{"AP":1,"SSId":"MONWIFI","BSSId":"04:D4:C4:BF:24:E0","Channel":2,"Mode":"11n","RSSI":100,"Signal":-12,"LinkCount":1,"Downtime":"0T00:00:03"}}
                                    19:29:52.296 RSL: SENSOR = {"Time":"2022-11-20T19:29:52","ENERGY":{"TotalStartTime":"2022-11-20T12:57:50","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":2250,"Current":10.000,"Load":22},"TIC":{"ADCO":"xXx","OPTARIF":"BBR(","ISOUSC":45,"BBRHCJB":15500793,"BBRHPJB":2445383,"BBRHCJW":17026,"BBRHPJW":57214,"BBRHCJR":0,"BBRHPJR":0,"PTEC":"HPJB","DEMAIN":"----","IINST":10,"IMAX":90,"PAPP":2250,"HHPHC":"A","MOTDETAT":0}}
                                    

                                    en weblog3

                                    19:38:38.883 TIC: Power 02030, now 2030
                                    19:38:41.384 TIC: Current IINST=009, now 9
                                    19:38:41.633 TIC: Power 02030, now 2030
                                    19:38:43.885 TIC: Current IINST=009, now 9
                                    19:38:44.136 TIC: Power 02040, now 2040
                                    19:38:46.133 TIC: Total counter updated to 0 Wh
                                    19:38:46.631 TIC: Current IINST=009, now 9
                                    19:38:46.882 TIC: Power 02030, now 2030
                                    19:38:49.138 TIC: Current IINST=009, now 9
                                    19:38:49.632 TIC: Power 02030, now 2030
                                    19:38:51.895 TIC: Current IINST=009, now 9
                                    19:38:52.135 TIC: Power 02030, 
                                    

                                    Pour les pins soudés : j'ai suivi ça https://github.com/hallard/WeMos-TIC#detailed-description
                                    (j'ai juste pas soudé "ONBOARD LED")

                                    Info build :
                                    afa364f2-8b27-4e6f-92b3-36875107a3bb-image.png

                                    CharlesC 1 Reply Last reply Reply Quote
                                    • CharlesC Offline
                                      Charles @doul59
                                      last edited by

                                      @doul59 pas de soucis de câblage ou de fonctionnement, tes informations remontent bien on le voit dans le TIC

                                      {"ADCO":"xXx","OPTARIF":"BBR(","ISOUSC":45,"BBRHCJB":15500793,"BBRHPJB":2445383,"BBRHCJW":17026,"BBRHPJW":57214,"BBRHCJR":0,"BBRHPJR":0,"PTEC":"HPJB","DEMAIN":"----","IINST":10,"IMAX":90,"PAPP":2250,"HHPHC":"A","MOTDETAT":0}
                                      

                                      D'ailleurs l'affichage active power et current est correct, c'est juste que tu es en contrat TEMPO (ex EJP avec jour Bleu/Blanc/Rouge) et que pour le moment ce n'est pas géré dans l'affichage de tasmota.

                                      doul59D 1 Reply Last reply Reply Quote
                                      • doul59D Offline
                                        doul59 @Charles
                                        last edited by

                                        @Charles Il y a du mieux avec ta PR de ce matin 🤙
                                        98c32fa7-993c-4e04-b8c9-d072c6b436ae-image.png

                                        CharlesC 1 Reply Last reply Reply Quote
                                        • CharlesC Offline
                                          Charles @doul59
                                          last edited by Charles

                                          @doul59 tu pourrais me faire une capture complète de l'écran avec toutes les valeurs que je vois si ça fonctionne comme ça doit stp (ça doit afficher la couleur du lendemain aussi) ?

                                          doul59D 1 Reply Last reply Reply Quote
                                          • doul59D Offline
                                            doul59 @Charles
                                            last edited by doul59

                                            @Charles c'etait justement ça
                                            b1023373-2119-4128-a80b-ba44cad45fdb-image.png

                                            19:22:37.263 MQT: tele/tasmota_1F0510/STATE = {"Time":"2022-11-22T19:22:37","Uptime":"0T04:56:01","UptimeSec":17761,"Heap":188,"SleepMode":"Dynamic","Sleep":10,"LoadAvg":99,"MqttCount":1,"Berry":{"HeapUsed":4,"Objects":46},"POWER":"ON","Dimmer":52,"Color":"3B8507","HSBColor":"95,95,52","Channel":[23,52,2],"Scheme":0,"Width":1,"Fade":"OFF","Speed":1,"LedTable":"ON","Wifi":{"AP":1,"SSId":"Quorum2","BSSId":"04:D4:C4:BF:24:E0","Channel":2,"Mode":"11n","RSSI":100,"Signal":-12,"LinkCount":1,"Downtime":"0T00:00:03"}}
                                            19:22:37.314 MQT: tele/tasmota_1F0510/SENSOR = {"Time":"2022-11-22T19:22:37","ENERGY":{"TotalStartTime":"2022-11-20T12:57:50","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":0,"Power":2200,"Current":10.000,"Load":22},"TIC":{"ADCO":"XXX","OPTARIF":"BBR(","ISOUSC":45,"BBRHCJB":15506797,"BBRHPJB":2462788,"BBRHCJW":17026,"BBRHPJW":57214,"BBRHCJR":0,"BBRHPJR":0,"PTEC":"HPJB","DEMAIN":"----","IINST":10,"IMAX":90,"PAPP":2200,"HHPHC":"A","MOTDETAT":0}}

                                            doul59D 1 Reply Last reply Reply Quote
                                            • First post
                                              Last post

                                            4

                                            Online

                                            5.7k

                                            Users

                                            534

                                            Topics

                                            5.0k

                                            Posts

                                            Top Topics

                                            • Denky 4 - Domoticz - Triphasé -
                                              Nicolas BernaertsN
                                              Nicolas Bernaerts
                                              0
                                              7
                                              266

                                            • Denky D4 et Linky Standard TInfo Rx Non Configuré
                                              CharlesC
                                              Charles
                                              0
                                              5
                                              303

                                            Popular Tags

                                            teleinfo
                                            24 topics
                                            arduino
                                            19 topics
                                            remora
                                            16 topics
                                            esp8266
                                            10 topics
                                            arduipi
                                            10 topics
                                            wifinfo
                                            7 topics
                                            raspberry
                                            7 topics
                                            broadcast
                                            7 topics
                                            Copyright © 2022 Charles-Henri Hallard | Return to blog page | Powered by NodeBB