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.
    • SebHS Offline
      SebH
      last edited by SebH

      Ca y ai , après de nombreux essais , j'ai basculé mes 3 compteurs existants de wifinfo sur tasmota.

      La première problématique est que visiblement tasmota n'arrive pas à gérer 2 compteurs HP/HC indépendamment et de ce fait renvoit uniquement un seul compteur sur Domoticz.

      Mais de mon coté je suis passé récement en tarification de BASE unique, donc je ne suis plus concerné par ce soucis. Néanmoins, la solution proposé est de récupérer les trames MQTT via NODE RED, de récupérer l'état des 2 compteur et de le renvoyer à domoticz via JSON, mais faut il encore connaitre un minimum NODE RED.

      Ayant maintenant 3 compteurs (dont 2 en 1200 baud et 1 en 9600 baud), j'ai donc exploité tasmota pour essayer de se rapprocher au même fonctionnement de Winfo, mais je tombe sur des bugs.

      La 1ère des chose est de caler le compteur total de tasmota sur l'index du compteur réel , suivant l’exemple ci dessous par la commande EnergyReset3 4014698

      7cb06879-7f5e-4d2c-b8f7-28d8b15d1304-image.png

      Le soucis principal dans ce cas, c'est qu'à la moindre perte secteur, on va désynchroniser les deux compteurs...

      En fouillant dans la doc des commandes tasmota, j'ai trouvé la Setoption72 qui permettrait pour certain compteur (comme le DDS238) de copier l'état du compteur hardware dans le compteur total de tasmota. J'ai tester avec notre module téléinfo, et ça ne fonctionne pas. Ca serait possible de l'inclure, vous en pensez quoi ?? Du coup, le compteur total de tasmota = index du compteur téléinfo, avec ou sans coupure secteur !

      8e79e2de-b5e3-4e3e-bef3-a5dce1664046-image.png

      Autre chose, que je constate en utilisant l’envoi de données sur domoticz géré par tasmota. Tasmota envoi dans une trame jusqu’à 4 index de compteurs, mais avec la particularité d'utiliser un chiffre derrière la virgule, par exemple dans le cas ci dessous, il envoit à domoticz 2069838.1 alors que le compteur total est a 2069.838 Kwh. Cette gestion de virgule dans le temps vient rendre incohérent l'état de l'index et le compteur total car un décalage se fait au fur et à mesure. Maintenant, si on arrive en activant l'option 72 , à dire compteur hardware = compteur total cela corrigerait certainement aussi ce problème?

      74f95e07-36f7-45c3-99f9-bc5b7fa41535-image.png

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

        @sebh
        Voici une capture au bout de 2 jours après avoir calé le compteur total sur le compteur teleinfo BASE. Je confirme bien un décalage entre les 2 compteurs... Naturellement on parle pas de Kwh, on parle de quelques Wh entre 2 jours. C'est normal docteur ??

        2d9bac6c-0ee4-434e-8d08-cbe066246186-image.png

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

          @sebh je ne suis pas surpris que tu trouves un décalage, en fait le module Energy de tasmota calcul tout seul ta consommation (avec la puissance, et tout ce qu'il peut mesurer) or effectivement ça peut shifter en fonction des échantillonnages et reception des valeurs.
          Je maitrise pas les entrailles de tasmota mais ca mériterait une petite investigation. Clairement la synchro sur le compteur réel est la solution sauf que pour ça je pense que la téléinfo doit être de type module "smart meter" comme les autres (SDM, PZEM, ..) or la teleinfo est tellement spécifique (et encore plus avec le linky) que ca deviendrait ingérable de les intégrer (j'avais commencer à regarder à l'époque)
          Tu as 2 solutions:

          • soit via un node red script ou autre tu récupères les données via MQTT et tu les renvois au bon format dans domoticz
          • normalement dans la trame de télémétrie ENERGY envoyée par tasmota tu as les etiquettes des compteurs, et c'est celles-ci que domoticz doit prendre (mais ça nécessite un ajustement dans domoticz)

          La encore je n'utilise pas domoticz donc je ne te serais pas d'une grande aide sur le sujet mais ça de devrait pas être trop compliqué.

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

            @charles Merci pour ton retour.

            Clairement, je pense couper l'emission de la trame domoticz/in de tasmota , et je pense que NodeRed est la solution mais les script JS je ne connais pas du tout. J'ai fait un peu de VB dans le temps avec des fonctions de recherche de chaine de caractère mais c'est vieux LOL !

            Je viens de publier sur le forum domoticz en espérant que quelqu'un puisse me conseiller afin de pouvoir écrire un script JS . Je suis sur le coup, mais si jamais quelqu'un veut me filer un coup de patte 🙂 , voici le lien de mon post https://www.easydomoticz.com/forum/viewtopic.php?f=10&t=11224

            Sinon, je viens de voir ça à l'instant sur le tasmota qui tourne sur mon linky en mode standard.

            e766949d-277e-49be-84a9-0b79430f4f8f-image.png

            Par moment j'ai une erreur checkline err checksum 0x51 != 0x43

            En fait, je m'aperçoit qu'il me fait un paquet d'erreur en fait (j'avais pas fait attention)
            3068ee8f-4b23-4e0b-a7a6-3d02e5372c78-image.png

            C'est quoi le soucis avec cette erreur ??

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

              @sebh bonsoir, aucun problème pour intégrer cette version dans la branche officielle tasmota. Mais j'avoue ne pas savoir quelle démarche suivre.

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

                @nicolas-bernaerts Bonjour Nicolas, je viens de vous mettre un mail car on a déjà échangé il y a quelques temps...
                Alors pour l'intégration officielle , je ne sais pas comment s'y prendre, c'est plutôt @Charles Charles qui pourra répondre
                Sinon j'ai demandé de l'aide pour essayer d'écrire un script sous Nodered mais pas eu un seul coup de main... 😢

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

                  ci joint une petite copie écran d'un de mes tasmota, après une semaine en fonctionnement
                  077d51e0-dffa-446b-9518-7b60bae9b990-image.png
                  Donc actuellement on transmet à Domoticz 2097547.8 Wh , alors que le compteur total de tasmota est a 2097548 Wh et que l'index transmis par le linky est a 2097569 Wh . On a pratiquement un décalage de 20 Wh en une semaine ...

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

                    @sebh je suis en train de regarder comment fonctionne tasmota avec domoticz

                    Le truc c'est qu'il y a une tonne de contrats différents avec la téléinfo et domoticz gère 2 tarifs, je vais essayer d'implémenter ca pour heures creuse heures pleines du mode historique (car j'ai pas de linky)

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

                      @sebh j'ai trouvé 2/3 trucs dans le code que je vais fixer, peux tu me confirmer ton mode fonctionnement STP

                      • mode historique ou std ?
                      • rawdata ou pas (setOption108) ?

                      le mieux peux tu me coller une trame de ton compteur ?

                      Pour les erreur de checksum peut être la série peine un peu t'es en ESP32 ou 8266, soft ou hard serial ?

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

                        @charles J'ai plusieurs compteurs.

                        • J'ai un linky en mode standard , avec maintenant une tarification de BASE (donc je pourrais plus tester la tarification HP/HC en mode standard).
                        • J'ai un autre compteur ancienne génération en mode historique et tarification BASE.
                        • Non je n'utilise pas le mode rawdata actuellement

                        Quand tu dis que tu veux une trame du compteur, tu parles des trames qui passe dans la console tasmota, ou bien tu parles d'une capture du port série en sortie de téléinfo ??

                        Concernant le hard, je suis en esp8266 sur le port D7 (c'était le hard que j'utilisais déjà pour wifinfo)

                        Je crois que je l'ai déjà posté mais voici la trame qui part de tasmota pour domoticz. J'ai notifier dans la trame la position de chaque index. En sachant qu'actuellement en tarif BASE, la position relevé est bien la bonne , en HP/HC je crois que la position indiqué actuellement est HP (donc il restera juste a renseigné HC)

                        7349aec7-3227-44ec-aab1-04fa7139ee1c-image.png

                        Tu penses pouvoir inclure ma demande initiale en remontant a tasmota un copier/coller de l'index du compteur ENEDIS sur le compteur total de tasmota ??

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

                          @sebh j'ai bien recu ton mail.
                          J'ai la forte impression que les erreurs de checksum apparaissent plus souvent en mode standard du fait de la vitesse de 9600 bauds et du buffer série des Esp. J'ai modifié la boucle de réception à 100ms avec un buffer de 256 octets et les erreurs apparaissent beaucoup moins.
                          Pour ce qui est des divergences de totaux entre tasmota et la teleinfo, j'ai modifié ma version teleinfo pour forcer la mise a jour de tasmota sur la référence teleinfo toutes les heures. Les deux sont donc totalement synchro régulièrement.
                          https://github.com/NicolasBernaerts/tasmota/tree/master/teleinfo

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

                            @nicolas-bernaerts outch j'ai dejà fait un PR pour ça qui a été intégré dans la branche developpement de tasmota.

                            Tu pourrais indiquer tes modifs que je regarde si j'ai fait correctement?

                            Idéalement faut faire des pull request pour les améliorations, ca permet à tout le monde d'en profiter et de pas bosser à plusieurs sur les mêmes problématiques 🙂

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

                              @charles Le probleme est que j'avais fait une version totalement differente de la tienne sous tasmota avant que la tienne ne soit officiellement portée. Du coup, il y a trop de divergences car presque tout est différent... Un PR me semble donc très difficile. La version dont je parle est publiée sur le lien github de ma réponse prédente.

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

                                @nicolas-bernaerts oui c'est ce que je viens de voir c'est top ta version 🙂
                                avant je faisais ca aussi mais j'ai arrêté car dès que tu veux maintenir les fork en synchro avec les master c'est compliqué (surtout qd t'as 15 forks différents à gérer)

                                normalement @Barbu-Dor a fixé le pb du mode standard 9600 donc ce qui m'intéresse c'est ce point la

                                forcer la mise a jour de tasmota sur la référence teleinfo

                                tu as fais comment ?

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

                                  @charles Merci 😀
                                  La synchro est faite ligne 955 de xnrg_15_teleinfo.ino
                                  Je récupère les différents compteurs utilisés suivant le contrat dans la boucle 100ms et je les additionne à chaque message complet. Je synchronise ensuite toutes les heures pour éviter une écriture en ram statique trop souvent.

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

                                    @nicolas-bernaerts ok merci c'est exactement ce qui est fait dans le fix de ma PR d'hier 🙂

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

                                    D'ailleurs je viens de voir que l'option 72 doit être activée pour que ca fonctionne. ça sauvegarde seulement si il y a une difference de 0.01 (kWh j'espère) donc je ne sais pas si nécessaire de temporiser en amont l'écriture. A suivre

                                    void EnergyUpdateTotal(float value, bool kwh)
                                    {
                                    //  AddLog(LOG_LEVEL_DEBUG, PSTR("NRG: Energy Total %4_f %sWh"), &value, (kwh) ? "k" : "");
                                    
                                      uint32_t multiplier = (kwh) ? 100000 : 100;  // kWh or Wh to deca milli Wh
                                    
                                      if (0 == Energy.start_energy || (value < Energy.start_energy)) {
                                        Energy.start_energy = value;  // Init after restart and handle roll-over if any
                                      }
                                      else if (value != Energy.start_energy) {
                                        Energy.kWhtoday = (unsigned long)((value - Energy.start_energy) * multiplier);
                                      }
                                    
                                      if ((Energy.total < (value - 0.01)) &&       // We subtract a little offset to avoid continuous updates
                                          Settings.flag3.hardware_energy_total) {  // SetOption72 - Enable hardware energy total counter as reference (#6561)
                                        RtcSettings.energy_kWhtotal = (unsigned long)((value * multiplier) - Energy.kWhtoday_offset - Energy.kWhtoday);
                                        Settings.energy_kWhtotal = RtcSettings.energy_kWhtotal;
                                        Energy.total = (float)(RtcSettings.energy_kWhtotal + Energy.kWhtoday_offset + Energy.kWhtoday) / 100000;
                                        Settings.energy_kWhtotal_time = (!Energy.kWhtoday_offset) ? LocalTime() : Midnight();
                                    //    AddLog(LOG_LEVEL_DEBUG, PSTR("NRG: Energy Total updated with hardware value"));
                                      }
                                      EnergyUpdateToday();
                                    }
                                    
                                    SebHS 1 Reply Last reply Reply Quote
                                    • Barbu DorB Offline
                                      Barbu Dor
                                      last edited by

                                      Bonjour
                                      Je n'avais pas vu que le fil s'était reveillé, je n'ai pas reçu de mail...

                                      Normalement dans mes patchs tasmota, j'ai fait des modifications sur la taille du buffer série.
                                      Est-ce que les erreurs reportées ci dessus par @SebH sont sur la release officielle ?

                                      @Charles si tu as besoin d'un coup de main n'hésite pas

                                      CharlesC SebHS 2 Replies Last reply Reply Quote
                                      • 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
                                            • 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