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 @SebH
      last edited by Charles

      @sebh peux tu essayer la denière version de la branche developement ma modif a été mergée cette nuit 🙂

      https://github.com/arendst/Tasmota/

      Et me poster une copie d'écran de Tasmota une fois en route stp

      SebHS 1 Reply Last reply Reply Quote
      • SebHS Offline
        SebH @Charles
        last edited by

        @charles pas de soucis je te fais ça ce soir.
        Sinon avec la version de hier, j'ai eu ces erreurs ce matin.

        1456dd63-8f13-4152-b15a-075b09c95cc8-image.png

        Barbu DorB 1 Reply Last reply Reply Quote
        • Barbu DorB Offline
          Barbu Dor @SebH
          last edited by

          @sebh Ca veut dire que de temps en temps, Tasmota loupe des caractères.
          Si ca n'arrive que de temps en temps ce n'est pas très grave puisque - sauf erreur de ma part - les données sont répétées et auto-incrémentées.
          (c'est a dire que si tu perds une trame, tu perds un peu de temps réel mais tu retrouves tes données correctes le coup d'après).

          Le buffer en mode 9600 est de 512 octets et on vient le lire toutes les 250 ms
          Je n'ai pas voulu changer cela mais on peut éventuellement accelerer la cadence en changeant dans le code pour venir traiter toutes les 50ms.

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

            @barbu-dor ouais carrément on peut essayer en passant à 100ms mais comme tu l'indiques, rater qq caractères c'est pas très grave, c'est repris la trame d'après.

            SebHS 1 Reply Last reply Reply Quote
            • SebHS Offline
              SebH @Charles
              last edited by SebH

              @charles Ok c'est noté pour les erreurs. Oui effectivement il n'y a pas vraiment de soucis. Quand j'ai vu des erreurs checksum je pensais qu'il y avait un autre problème qui pouvait être problématique, donc je voulais juste vous le remonter.

              Sinon je viens de flasher la dernière version et là, gros plantage.

              Serveur web actif sur tasmota_D84B6D-2925 avec l'adresse IP 192.168.1.151
              17:13:47.294 RSL: tele/tasmota_D84B6D/INFO1 = {"Module":"Generic","Version":"9.3.1.2(tasmota)","FallbackTopic":"cmnd/DVES_D84B6D_fb/","GroupTopic":"cmnd/tasmotas/"}
              17:13:47.295 RSL: tele/tasmota_D84B6D/INFO2 = {"WebServerMode":"Admin","Hostname":"tasmota_D84B6D-2925","IPAddress":"192.168.1.151"}
              17:13:47.298 RSL: tele/tasmota_D84B6D/INFO3 = {"RestartReason":{"Exception":3,"Reason":"Exception","EPC":["4025983c","00000000","00000000"],"EXCVADDR":"40294cfc","DEPC":"00000000","CallChain":["4021d2d8","402321cb","40254ea0","4024db72","402527f9","4025290e","40252904","4024dc6d","4021d71f","401010c0","402361cb","4021da1c","40220b0c","40218cf5","4023270b","40232760","40100a58","40250cd0","40101d05"]}}

              Dès que je bascule en 9600 baud, il me reset la config sur la pin d7... J'arrive plus rien à voir et à lire

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

                @sebh arff voilà ce qui se passe quand on a rien pour valider/tester son code mais je crois que j'ai trouvé le bug, tu peux essayer la dernière version tasmota, Theo vient de merger ma PR

                CharlesC SebHS 3 Replies Last reply Reply Quote
                • CharlesC Offline
                  Charles @Charles
                  last edited by

                  @Barbu-Dor j'ai changé pas mal de choses dans le soft notamment le fait de pouvoir configurer tout un tas de choses avec des nouvelles commandes en mode console.

                  Sauf que j'aurai besoin de ton expertise, j'ai bien créé tout ce qu'il faut, ca compile ça tourne j'appelle bien ma fonction de gestion des commandes lorsque je reçois FUNC_COMMAND dans le driver teleinfo, sauf que je ne reçois jamais ca, même qd je tape une commande dans la console, j'ai surement oublié un truc genre register ma callback pour les commandes, mais je ne trouves pas, tu sais ou on fait ça ?

                  bool Xnrg15(uint8_t function)
                  {
                      bool result = false;
                      switch (function)
                      {
                          case FUNC_EVERY_250_MSECOND:
                              TInfoProcess();
                              break;
                          case FUNC_COMMAND:
                              AddLog(LOG_LEVEL_INFO, PSTR("TIC: FUNC_COMMAND"));
                              result = TInfoCmd();
                              break;
                  
                          case FUNC_JSON_APPEND:
                              TInfoShow(1);
                              break;
                      #ifdef USE_WEBSERVER
                          case FUNC_WEB_SENSOR:
                              TInfoShow(0);
                              break;
                      #endif  // USE_WEBSERVER
                          case FUNC_INIT:
                              TInfoInit();
                              break;
                          case FUNC_PRE_INIT:
                              TInfoDrvInit();
                              break;
                      }
                      return result;
                  }
                  

                  Le code source si tu veux jeter un oeil sur la branche teleinfo

                  https://github.com/hallard/Tasmota/blob/teleinfo/tasmota/xnrg_15_teleinfo.ino

                  Barbu DorB 1 Reply Last reply Reply Quote
                  • Barbu DorB Offline
                    Barbu Dor @Charles
                    last edited by

                    @charles En effet ta gestion de commande est légèrement erronée
                    Ce qui te manque surtout pour que ton driver soit enregistré c'est de définir

                    #define XDRV_15 15
                    

                    au debut de ton code
                    A partir de là tu devrais voir arriver les FUNC_COMMAND

                    Ensuite normalement les commandes sont faite d'un prefixe et d'une partie variable.
                    Par exemple pour le driver display les commandes sont : DisplayModel, DisplayType, DisplayWidth etc....
                    La chaine kDisplayCommands vaut (une fois remplacé les macros) "Display|Model|Type|Width..."
                    Et Tasmota te fourni une fonction de décodage que tu peux appeller dans FUNC_COMMAND:

                          case FUNC_COMMAND:
                            result = DecodeCommand(kTinfoCommands, TinfoCommand);
                            break;
                    

                    où TinfoCommand[] est un tableau de pointeurs vers les fonctions de chacune de test commandes.

                    Après, il est vrai que pas tous les drivers utilisent DecodeCommand(), certains font comme toi et decrypte la commande "à la main"
                    L'avantage d'utiliser DecodeCommand() c'est d'éviter de recréer un code identique dans tous les drivers et donc d'optimiser l'occupation en flash.

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

                      @barbu-dor My bad, tu as deja XNRG_15 15 au debut (tu es un driver NRG, pas un driver générique)

                      Et les drivers energy ne peuvent pas recevoir de commandes individuelles mais uniquement les commandes standards energy

                      Donc c'est pour cela que tu ne reçoit pas les commandes

                      1 Reply Last reply Reply Quote
                      • SebHS Offline
                        SebH @Charles
                        last edited by SebH

                        @charles Je pensais tester ce soir. C'est bon je peux récupérer les sources sur le github ??

                        Barbu DorB 1 Reply Last reply Reply Quote
                        • Barbu DorB Offline
                          Barbu Dor @SebH
                          last edited by

                          @Charles Tu es sur Discord ? Ca serait plus simple d'en chatter en live

                          Mais les driver xnrg_xx sont des ous drivers de xdrv_03_energy
                          xdrv_03_energy decode les commandes liées à l'energie (voir au debut du module) et passe au sous driver uniquement ces commandes là

                          Je suis en train de discuter sur le discord de l'equipe pour voir les options possibles

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

                            @charles
                            Je viens de tester ce soir, et exactement même symptôme que la dernière fois.
                            Tu choisis la pin D7, il reboote, tu rentres dans la console pour passer en 9600 baud, il ne décode rien, et si tu rentres dans la config la pin D7 sélectionné a disparu..

                            21:08:09.037 MQT: tele/tasmota_D84B6D/LWT = Online (persistant)
                            21:08:09.038 MQT: cmnd/tasmota_D84B6D/POWER =
                            21:08:09.042 MQT: tele/tasmota_D84B6D/INFO1 = {"Info1":{"Module":"Generic","Version":"9.3.1.2(tasmota)","FallbackTopic":"cmnd/DVES_D84B6D_fb/","GroupTopic":"cmnd/tasmotas/"}}
                            21:08:09.044 MQT: tele/tasmota_D84B6D/INFO2 = {"Info2":{"WebServerMode":"Admin","Hostname":"tasmota_D84B6D-2925","IPAddress":"192.168.1.151"}}
                            21:08:09.047 MQT: tele/tasmota_D84B6D/INFO3 = {"Info3":{"RestartReason":{"Exception":3,"Reason":"Exception","EPC":["402596f4","00000000","00000000"],"EXCVADDR":"40294bbc","DEPC":"00000000","CallChain":["4021d33c","40231b38","4024da2e","40218d4d","402527ca","402527c0","401010c0","4024db29","4021d77f","401010c0","402360ab","4021da7c","40220b7c","40218d4d","402325f3","40232648","40100a58","40250b8c","40101d05"]}}}
                            21:08:12.401 QPC: Reset

                            Barbu DorB 1 Reply Last reply Reply Quote
                            • Barbu DorB Offline
                              Barbu Dor @SebH
                              last edited by Barbu Dor

                              @sebh said in Tasmota:

                              Tu choisis la pin D7, il reboote,

                              Ca c'est normal. Quand tu appliques une config de GPIO et que tu cliques "SAVE", Tasmota reboote

                              Si tu vas vérifier la config juste après le reboot, est que D7 est toujours configurée en Teleinfo ?

                              Peux tu te mettre en WebLog 3 avant d'appliquer la config sur D7, puis après le reboot copier ici les premières lignes du log, jusqu'à la connexion WIFI, cela suffira

                              Quoi que là, ton log semble vouloir dire qu'il y a eu un crash
                              J'essayerais demain soir. Pour l'instant game-over
                              Bonne nuit

                              SebHS 1 Reply Last reply Reply Quote
                              • SebHS Offline
                                SebH @Barbu Dor
                                last edited by SebH

                                @barbu-dor
                                Weblog 3 avant de sélectionner la pin d7
                                00:00:00.029 CFG: Chargé de la flash à F8, Compte 7
                                00:00:00.032 QPC: Count 1
                                00:00:00.033 CFG: CR 353/699, Busy 0
                                00:00:00.036 SRC: Restart
                                00:00:00.037 Projet tasmota Tasmota Version 9.3.1.2(tasmota)-2_7_4(2021-04-08T22:00:10)
                                00:00:00.189 WIF: Tentative de connexion...
                                00:00:00.524 WIF: Connexion à l'AP1 Sylvia&Seb Channel 1 BSSId xx:xx:xx:xx:xx:xx en mode 11n comme tasmota_D84B6D-2925...
                                00:00:01.754 WIF: Connecté

                                Puis une fois la pin d7 sélectionné, j'ai un message étranges NRG: Energy reset by invalid data

                                22:54:41.412 APP: Nombre de boot 3
                                22:54:41.434 HTP: Configuration
                                22:54:42.302 CFG: Enregistré en flash à FC, Compte 11, Octets 4096
                                22:54:42.933 HTP: Configuration du Module
                                22:54:47.380 HTP: Configuration
                                22:54:49.106 HTP: Menu principal
                                22:54:52.706 HTP: Console
                                22:54:53.413 NRG: Energy reset by invalid data

                                Puis une fois le setoption102 1 validé, voici le résultat

                                00:00:00.031 CFG: Chargé de la flash à FA, Compte 13
                                00:00:00.034 FRC: Some settings have been reset (2)
                                00:00:00.035 CFG: CR 353/699, Busy 0
                                00:00:00.037 SRC: Restart
                                00:00:00.038 Projet tasmota Tasmota Version 9.3.1.2(tasmota)-2_7_4(2021-04-08T22:00:10)
                                00:00:00.039 TIC: RX on GPIO13, baudrate 9600
                                00:00:00.039 TIC: always enabled
                                00:00:00.090 SNS: Hardware Serial
                                00:00:00.090 TIC: using hardware serial
                                00:00:00.090 TIC: Ready
                                00:00:00.169 WIF: Tentative de connexion...
                                00:00:00.504 WIF: Connexion à l'AP1 Sylvia&Seb Channel 1 BSSId xx:xx:xx:xx:xx:xx en mode 11n comme tasmota_D84B6D-2925...
                                00:00:01.500 WIF: Connecté
                                00:00:01.751 HTP: Serveur web actif sur tasmota_D84B6D-2925 avec l'adresse IP 192.168.1.151
                                00:00:02.459 RTC: UTC 2021-04-08T21:56:45, DST 2021-03-28T02:00:00, STD 2021-10-31T03:00:00
                                22:57:08.015 RSL: tele/tasmota_D84B6D/INFO1 = {"Info1":{"Module":"Generic","Version":"9.3.1.2(tasmota)","FallbackTopic":"cmnd/DVES_D84B6D_fb/","GroupTopic":"cmnd/tasmotas/"}}
                                22:57:08.016 RSL: tele/tasmota_D84B6D/INFO2 = {"Info2":{"WebServerMode":"Admin","Hostname":"tasmota_D84B6D-2925","IPAddress":"192.168.1.151"}}
                                22:57:08.019 RSL: tele/tasmota_D84B6D/INFO3 = {"Info3":{"RestartReason":{"Exception":3,"Reason":"Exception","EPC":["402596f4","00000000","00000000"],"EXCVADDR":"40294bbc","DEPC":"00000000","CallChain":["4021d33c","402360ab","40236070","4024da2e","4024e157","4024e157","402527ca","402527c0","4024db29","4021d77f","401010c0","402360ab","4021da7c","40220b7c","40218d4d","402325f3","40232648","40100a58","40250b8c","40101d05"]}}}
                                22:57:11.471 QPC: Reset
                                22:57:12.438 RSL: tele/tasmota_D84B6D/STATE = {"Time":"2021-04-08T22:57:12","Uptime":"0T00:00:09","UptimeSec":9,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":0,"Wifi":{"AP":1,"SSId":"Sylvia&Seb","BSSId":"14:91:82:FC:0E:ED","Channel":1,"RSSI":66,"Signal":-67,"LinkCount":1,"Downtime":"0T00:00:03"}}
                                22:57:13.413 APP: Nombre de boot 4
                                22:57:13.564 CFG: Enregistré en flash à F8, Compte 15, Octets 4096

                                Barbu DorB 1 Reply Last reply Reply Quote
                                • Barbu DorB Offline
                                  Barbu Dor @SebH
                                  last edited by

                                  @sebh said in Tasmota:

                                  00:00:00.039 TIC: RX on GPIO13, baudrate 9600
                                  00:00:00.039 TIC: always enabled
                                  00:00:00.090 SNS: Hardware Serial
                                  00:00:00.090 TIC: using hardware serial
                                  00:00:00.090 TIC: Ready

                                  Pourtant le module Teleinfo (TIC) est bien démarré et sur la GPIO13 (D7)
                                  Donc a ce moment là il devrait être en mesure de recevoir
                                  Par contre le dernier redémarrage est quand même du à un crash

                                  Il faudra que j'essaye ce soir

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

                                    @barbu-dor J’Ai fait des modifs pour afficher plus de chose en mode standard je dois avoir un bug dans un des sends pour afficher ou envoyer des donnés mais sans linky chaud à trouver

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

                                      @barbu-dor yes j’y suis. 😉

                                      Oui j’ai vu que ça dépendait du module energy après coup depuis le début je le dit que c’était pas forcément la meilleure des idées de pas passer par un driver standard 😉

                                      Barbu DorB 1 Reply Last reply Reply Quote
                                      • Barbu DorB Offline
                                        Barbu Dor @Charles
                                        last edited by

                                        @charles Theo vient de merger ma PR
                                        Il y a maintenant une commande EnergyConfig qui est poussée jusqu'au driver energie actif
                                        A partir de là tu peux traite la commande comme tu veux (la chaine est dans XDrvMailbox.data)
                                        Regarde le petit exemple ajouté dans xnrg_20_dummy

                                        CharlesC 2 Replies Last reply Reply Quote
                                        • CharlesC Offline
                                          Charles @Barbu Dor
                                          last edited by

                                          @barbu-dor ok top je fais ça ASAP s'suis déjà sur 2 autres trucs, mais tu connais ça je suppose

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

                                            @barbu-dor et voila c'est fait un grand merci à toi

                                            Maintenant toute la config téléinfo se fait en mode console et sans les SetOption, donc depuis la branche developpement de tasmota de ce matin, les 2 options SetOption102 et SetOption108 n'ont plus d'incidence elles ne servent plus à rien et ont été marquée obsolètes dans le code.

                                            Description:

                                            Comment ça se passe maintenant ? Très simple avec la commande EnergyConfig depuis la console

                                            EnergyConfig affiche la configuration de la téléinfo

                                            14:03:38.161 MQT: emoncms/ch2i/factory/wifinfo_09AFD3/tele/RESULT = { "ADCO":"031428067147","OPTARIF":"HC..","ISOUSC":15,"HCHC":2478378,"HCHP":0,"PTEC":"HC..","IINST":0,"IMAX":2,"PAPP":100,"HHPHC":3,"MOTDETAT":0}
                                            14:03:38.605 CMD: EnergyConfig
                                            14:03:38.609 TIC: Settings Mode:historique, Raw:full, Skip:0, Limit:0
                                            14:03:38.630 MQT: emoncms/ch2i/factory/wifinfo_09AFD3/stat/RESULT = {"EnergyConfig":"Done"}
                                            14:03:39.664 MQT: emoncms/ch2i/factory/wifinfo_09AFD3/tele/RESULT = { "ADCO":"031428067147","OPTARIF":"HC..","ISOUSC":15,"HCHC":2478378,"HCHP":0,"PTEC":"HC..","IINST":0,"IMAX":2,"PAPP":100,"HHPHC":3,"MOTDETAT":0}
                                            14:03:41.411 MQT: emoncms/ch2i/factory/wifinfo_09AFD3/tele/RESULT = { "ADCO":"031428067147","OPTARIF":"HC..","ISOUSC":15,"HCHC":2478378,"HCHP":0,"PTEC":"HC..","IINST":0,"IMAX":2,"PAPP":100,"HHPHC":3,"MOTDETAT":0}
                                            14
                                            

                                            EnergyConfig Standard Configure la téléinfo en mode Linky Standard (9600bps)
                                            EnergyConfig Historique Configure la téléinfo en mode Linky Historique (1200bps)

                                            Au dela de la trame complète de télémetrie (topic SENSOR) envoyée régulièrement (menu configuration/configure logging)

                                            14:00:01.561 MQT: emoncms/ch2i/factory/wifinfo_09AFD3/tele/SENSOR = {"Time":"2021-04-10T14:00:01","ENERGY":{"TotalStartTime":"2021-04-09T23:32:17","Total":0.602,"Yesterday":0.000,"Today":0.602,"Period":6,"Power":110,"Current":0.000,"Load":0,"ADCO":"031428067147","OPTARIF":"HC..","ISOUSC":15,"HCHC":2478373,"HCHP":0,"PTEC":"HC..","IINST":0,"IMAX":2,"PAPP":110,"HHPHC":3,"MOTDETAT":0}}
                                            

                                            il est possible d'envoyer en plus les données complètes à chaque trame reçue

                                            EnergyConfig full active l'envoi complet à chaque trame reçue
                                            EnergyConfig changed active l'envoi uniquement des données modifiées (depuis la dernière trame donc) à chaque trame reçue

                                            14:05:18.411 MQT: emoncms/ch2i/factory/wifinfo_09AFD3/tele/RESULT = { "ADCO":"031428067147","OPTARIF":"HC..","ISOUSC":15,"HCHC":2478380,"HCHP":0,"PTEC":"HC..","IINST":0,"IMAX":2,"PAPP":110,"HHPHC":3,"MOTDETAT":0}
                                            14:05:19.241 CMD: EnergyConfig Changed
                                            14:05:19.245 TIC: Raw to 'changed'
                                            14:05:19.267 MQT: emoncms/ch2i/factory/wifinfo_09AFD3/stat/RESULT = {"EnergyConfig":"Done"}
                                            14:05:20.105 MQT: emoncms/ch2i/factory/wifinfo_09AFD3/tele/RESULT = { "PAPP":100}
                                            14:05:23.209 MQT: emoncms/ch2i/factory/wifinfo_09AFD3/tele/RESULT = { "HCHC":2478381}
                                            14:06:06.201 MQT: emoncms/ch2i/factory/wifinfo_09AFD3/tele/RESULT = { "PAPP":110}
                                            14:06:09.160 MQT: emoncms/ch2i/factory/wifinfo_09AFD3/tele/RESULT = { "HCHC":2478382}
                                            14:06:53.737 MQT: emoncms/ch2i/factory/wifinfo_09AFD3/tele/RESULT = { "HCHC":2478383}
                                            14:07:12.914 MQT: emoncms/ch2i/factory/wifinfo_09AFD3/tele/RESULT = { "PAPP":100}
                                            

                                            EnergyConfig noraw désactive l'envoi (complet ou changed) de chaque trame reçue
                                            EnergyConfig Skip 5 envoi seulement 1 trame sur x (ici 5) lors de l'envoi des données, permet de limiter un peu le trafic et surtout l'envoi en base systématique par exemple.
                                            EnergyConfig Skip 0 désactive l'option précédente.

                                            Attention, a partir du moment ou vous avez activé le skip mode l'option changed devient caduque car le changed sera appliqué sur la dernière trame reçue et pas celle envoyée, et en plus elle peut être "skippée".

                                            N'hésitez pas si vous avez des questions ou des remarques

                                            Barbu DorB SebHS 2 Replies Last reply Reply Quote
                                            • First post
                                              Last post

                                            0

                                            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