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 @Barbu Dor
      last edited by

      @barbu-dor yes, merci de ta confirmation 🙂
      Ouais suite à l'incendie d'OVH j'ai eu quelques effets de bord, en plus pour ces PB de mail j'ai du changé le network mode du container nodebb pour plus être emmerdé, normalement tout est bon et remarche.

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

        @barbu-dor La version que j'ai testé est du 23/03/21 v9.3.1 Je vais récupérer la dernière version pour tester. Je vous tiens informé et encore merci

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

          @charles
          Ok je viens de tester et je trouve la même anomalie chez nicolas.
          Voilà le soucis.
          Il y a 6 mois j'étais en tarification HP/HC en mode standard et je viens de basculer en tarification unique.

          Voilà l'état de mon compteur actuel
          ad4e8425-580b-4086-b571-a7e9fea2e4b4-image.png

          Actuellement, vous prenez l'index EAST comme étant le compteur total de tasmota, alors qu'en fait, c'est l'EASF01 qu'il faudrait prendre en référence.
          En HP/HC, EASF02=Index HP EASF01=Index HC, sauf que moi j'ai demandé un passage récement en tarif unique, du coup EASF02 reste dans l'état ou il était au basculement....

          Sinon effectivement dès que tu actives l'option 72, on écrit bien l'EASF dans le compteur total de tasmota.

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

            @sebh oui EAST est le compteur d'énergie totale du compteur physique (quels que soient les anciennes manip et tarifications du compteur) Pour moi en changement de contrat EdF aurait du faire un reset des compteurs ce qui semblerait plus logique

            En mode historique on n'a pas cet index et il est calculé en ajoutant les HC et les HP.

            Donc en toute logique EAST est correct (au vu du compteur) et dans ton cas tu ne dois prendre en compte que EAST01 maintenant et tu peux faire un EnergyReset dans la console pour remettre les compteurs tasmota en ordre.

            Il me parait délicat d'avoir des compteurs dans Tasmota qui ont une méthode de calcul et d'affichage différente de ce qui est relevé par la téléinfo, c'est un coup a s'y perdre.

            tu peux montrer une capture d'écran de ton tasmota avec les valeurs ? peut être ajouter les valeurs EAST01 / EAST02 comme c'est le cas en mode historique avec HC/HP aiderait à la lecture.

            Dans tous les cas, toutes les valeurs sont remontées, donc tu peux choisir uniquement celles qui sont pertinentes pour toi non ?

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

              @charles said in Tasmota:

              @sebh oui EAST est le compteur d'énergie totale du compteur physique (quels que soient les anciennes manip et tarifications du compteur) Pour moi en changement de contrat EdF aurait du faire un reset des compteurs ce qui semblerait plus logique

              Il me semble que tout les compteurs que j'ai vu à ce jour, la remise à zéro est faite que lorsque celui a fait le tour de tout les incréments (remise à zéro hard , même principe sur les voitures on ne doit pas pouvoir faire de reset soft du compteur en temps normal). De plus, le jour du changement de contrat , cela s'est passé un matin à 10h ( a 9h55 c'est le compteur Heure Pleine (donc EASF02) qui s'incrémentait, puis a 10h, j'ai basculer en mode BASE et c'est l'EASF01 qui s'incrémentait ... De plus, si tu remets à zéro, il n'y a plus aucune trace de ton ancien incrément..

              Donc EAST est un genre de checksum de tout les compteurs EASF0x

              Ci dessous une capture de mon tasmota actuel,

              Mon soucis, est toujours le même , le message de tasmota vers domoticz renvoit le compteur total. J'ai du justement désactiver l'option72 car c'est EAST qu'on envoyai ( 2111,196 Kwh) alors qu'en fait mon domoticz attend actuellement une suite a l'EASF01 (998.461 Kwh), sinon je prend 1000 Kwh dans la figure, lol...
              Sinon depuis la bascule en tarification unique, EASF02 est figé à cet incrément de (1112,735 Kwh)

              12:15:05.811 MQT: domoticz/in ="idx":26,"nvalue":0,"svalue":"0.0;998461.1;0.0;0.0;164;0","Battery":100,"RSSI":4}
              12:15:05.814 MQT: tele/tasmota_D84B6D/SENSOR = {"Time":"2021-04-05T12:15:05","ENERGY":{"TotalStartTime":"2021-04-05T09:20:45","Total":998.461,"Yesterday":0.000,"Today":0.613,"Period":0,"Power":464,"ApparentPower":464,"ReactivePower":0,"Factor":1.00,"Voltage":232,"Current":2.000,"Load":33,"ADSC":"061961361253","VTIC":2,"NGTF":" BASE ","LTARF":" BASE ","EAST":2111196,"EASF01":998461,"EASF02":1112735,"EASF03":0,"EASF04":0,"EASF05":0,"EASF06":0,"EASF07":0,"EASF08":0,"EASF09":0,"EASF10":0,"EASD01":998461,"EASD02":1112735,"

              Donc voila ce que je propose, avec l'option 72 active, dans le cas d'une tarification en linky en mode standard:

              • tarif unique de BASE on remonte EASF01 dans le compteur total de tasmota
              • tarif HP/HC , EASF01 dans le compteur HC de tasmota, EASF02 dans le compteur HP de tasmota.

              En espérant que ce soit un standard de programmation de chez ENEDIS et qu'il ne font pas ce qu'ils ont envie et décider demain d'affecter EASF08 pour une tarification de base.

              Sinon comme je l'expliquais, je ne pourrais plus tester ce qui se passe avec tasmota en tarification HP/HC que ce soit en standard ou historique..

              CharlesC Nicolas BernaertsN 3 Replies Last reply Reply Quote
              • CharlesC Offline
                Charles @SebH
                last edited by

                @sebh il faut que je regarde ça plus en détail, car en plus tasmota est capable de gérer les index double tarif (il me semble) donc tant qu'a faire une modif pour tasmota peut être renvoyer tous les compteurs serait top (y compris heures creuse et pleines du mode historique)

                les EASFxx sont au bon vouloir des différents fournisseurs d'énergie. Engie utilise 01/02 mais rien n'empêche un autre d'utiliser 04/05

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

                  @sebh c'est super tordu en mode standard pour connaitre le tarif du contrat en cours, sais tu quelles valeurs tu avais avant pour NGTF et LTARF ?

                  Nicolas BernaertsN SebHS 2 Replies Last reply Reply Quote
                  • Nicolas BernaertsN Offline
                    Nicolas Bernaerts @SebH
                    last edited by

                    @sebh J'ai publié une nouvelle version ce soir qui prend en compte le nombre d'index à utiliser en fonction des périodes du contrat en cours. Si la période de contrat est d'un type inconnu, les 10 périodes possibles sont additionnées. Cela devrait régler ton problème de passage en BASE après du HPHC. Tiens moi au courant.

                    1 Reply Last reply Reply Quote
                    • Nicolas BernaertsN Offline
                      Nicolas Bernaerts @Charles
                      last edited by

                      @charles cela devait etre HEURES PLEINES et HEURES CREUSES sur LTARF

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

                        @charles J'ai repris un post un peu plus haut ou j'avais fait une capture à ce temps là.

                        20:42:30.850 MQT: tele/tasmota_DB567A/SENSOR = {"Time":"2021-02-17T20:42:30","ENERGY":{"TotalStartTime":"2021-02-11T18:24:47","Total":0.720,"Yesterday":0.000,"Today":0.720,"Period":1,"Power":366,"ApparentPower":452,"ReactivePower":265,"Factor":0.81,"Voltage":226,"Current":2.000,"Load":22,"ADSC":"061961361253","VTIC":2,"NGTF":"H PLEINE/CREUSE ","LTARF":" HEURE PLEINE ","EAST":1893378,"EASF01":876569,"EASF02":1016809,

                        CharlesC 1 Reply Last reply Reply Quote
                        • 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
                                            • 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