Skip to content
  • Blog
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Community Forum

  1. Home
  2. Categories
  3. Téléinfo
  4. Denky D4
  5. Denky D4 + Tempo

Denky D4 + Tempo

Scheduled Pinned Locked Moved Denky D4
23 Posts 5 Posters 5.9k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • CharlesC Charles

    @Tostaky

    C'est pas normal, tu dois avoir une trace de STEG comme c'est codé ici et du dois aussi l'avoir dans la trame MQTT si c'est configuré non?

    T Offline
    T Offline
    Tostaky
    wrote on last edited by
    #13
    This post is deleted!
    1 Reply Last reply
    • CharlesC Charles

      @Tostaky

      C'est pas normal, tu dois avoir une trace de STEG comme c'est codé ici et du dois aussi l'avoir dans la trame MQTT si c'est configuré non?

      T Offline
      T Offline
      Tostaky
      wrote on last edited by Tostaky
      #14

      @Charles said in Denky D4 + Tempo:

      @Tostaky

      C'est pas normal, tu dois avoir une trace de STEG comme c'est codé ici et du dois aussi l'avoir dans la trame MQTT si c'est configuré non?

      Pas de MQTT pour moi. Néanmoins, j'ai des gros doigts. STGE != STEG.

      21:03:25.957 RSL: SENSOR = {"Time":"2023-12-06T21:03:25","ENERGY":{"TotalStartTime":"2023-12-06T09:54:49","Total":14623.401,"Yesterday":14.950,"Today":4.984,"Period":[0,0,0],"Power":[0,227,336],"ApparentPower":[0,227,336],"ReactivePower":[0,0,0],"Factor":[0.00,1.00,1.00],"Voltage":[238,224,241],"Current":[0.000,1.000,1.000],"Load":0},"TIC":{"ADSC":"022076***","VTIC":2,"NGTF":"TEMPO","LTARF":"HP  ROUGE","EAST":14623401,"EASF01":6659364,"EASF02":7829254,"EASF03":76043,"EASF04":30388,"EASF05":16803,"EASF06":11549,"EASF07":0,"EASF08":0,"EASF09":0,"EASF10":0,"EASD01":9237921,"EASD02":2600419,"EASD03":1209456,"EASD04":1575605,"EAIT":3127874,"ERQ1":1964972,"ERQ2":362712,"ERQ3":54345,"ERQ4":927425,"IRMS1":0,"IRMS2":1,"IRMS3":1,"URMS1":238,"URMS2":224,"URMS3":241,"PREF":9,"PCOUP":9,"SINSTS":595,"SINSTS1":31,"SINSTS2":227,"SINSTS3":336,"SMAXSN":3380,"SMAXSN1":1090,"SMAXSN2":1030,"SMAXSN3":1300,"SMAXSN-1":6480,"SMAXSN1-1":3090,"SMAXSN2-1":2670,"SMAXSN3-1":1390,"SINSTI":0,"SMAXIN":2710,"SMAXIN-1":260,"CCASN":390,"CCASN-1":426,"CCAIN":0,"CCAIN-1":0,"UMOY1":236,"UMOY2":224,"UMOY3":240,"STGE":"9B3AD501","PRM":****,"RELAIS":0,"NTARF":6,"NJOURF":0,"NJOURF+1":0}}
      

      STGE = xBxxxxx => B = 1011 => aujourd'hui rouge (3), demain blanc (2).
      L'interface affiche toujours rouge / rouge

      @Nicolas-Bernaerts said in Denky D4 + Tempo:

      @Tostaky @localhost61 @Charles Hello,

      Pour information, je suis en train d'intégrer la lecture des données Tempo de RTE dans mon fork Tasmota Teleinfo.

      Un nouveau topic MQTT sera disponible afin de récupérer les données :

      .../sensor/TEMPO
          {"Time":"2022-10-10T23:51:09", "Tempo":{"J-1":"bleu","J":"blanc","J+1":"rouge"}}
      

      Pour récupérer ces données, il faudra simplement avoir créé un compte sur le site RTE et généré sa clé privée (même compte que pour Ecowatt).

      Je pense pouvoir publier cette nouvelle version d'ici 1 ou 2 jours.

      Capture d’écran du 2023-12-05 21-34-06.png

      Génial.
      Je viens de terminer mon alerting mail en m'appuyant sur l'API publique d'EDF. Pas besoin de compte et de clef d'API.
      Le code est là : https://github.com/sosandroid/Monitoring_Energie/tree/main/src/tempo

      CharlesC 1 Reply Last reply
      • Nicolas BernaertsN Nicolas Bernaerts

        @Tostaky @localhost61 @Charles Hello,

        Pour information, je suis en train d'intégrer la lecture des données Tempo de RTE dans mon fork Tasmota Teleinfo.

        Un nouveau topic MQTT sera disponible afin de récupérer les données :

        .../sensor/TEMPO
            {"Time":"2022-10-10T23:51:09", "Tempo":{"J-1":"bleu","J":"blanc","J+1":"rouge"}}
        

        Pour récupérer ces données, il faudra simplement avoir créé un compte sur le site RTE et généré sa clé privée (même compte que pour Ecowatt).

        Je pense pouvoir publier cette nouvelle version d'ici 1 ou 2 jours.

        Capture d’écran du 2023-12-05 21-34-06.png

        Nicolas BernaertsN Offline
        Nicolas BernaertsN Offline
        Nicolas Bernaerts
        wrote on last edited by Nicolas Bernaerts
        #15

        Je viens de publier une version Teleinfo v13.2 qui gère :

        • Tempo
        • Ecowatt v4 et v5

        Attention, le fichier de configuration sur le littlefs est maintenant rte.cfg (au lieu de ecowatt.cfg).

        Si vous aviez déclaré Ecowatt précédemment, il faudra :

        • redéclarer votre clé privée via rte_key maclebase64
        • activer ecowatt de nouveau via eco_enable 1
        • activer tempo via tempo_enable 1
        • redémarrer l'ESP

        L'aide est disponible en mode console via rte_help.

        WendigogoW 1 Reply Last reply
        • T Tostaky

          @Charles said in Denky D4 + Tempo:

          @Tostaky

          C'est pas normal, tu dois avoir une trace de STEG comme c'est codé ici et du dois aussi l'avoir dans la trame MQTT si c'est configuré non?

          Pas de MQTT pour moi. Néanmoins, j'ai des gros doigts. STGE != STEG.

          21:03:25.957 RSL: SENSOR = {"Time":"2023-12-06T21:03:25","ENERGY":{"TotalStartTime":"2023-12-06T09:54:49","Total":14623.401,"Yesterday":14.950,"Today":4.984,"Period":[0,0,0],"Power":[0,227,336],"ApparentPower":[0,227,336],"ReactivePower":[0,0,0],"Factor":[0.00,1.00,1.00],"Voltage":[238,224,241],"Current":[0.000,1.000,1.000],"Load":0},"TIC":{"ADSC":"022076***","VTIC":2,"NGTF":"TEMPO","LTARF":"HP  ROUGE","EAST":14623401,"EASF01":6659364,"EASF02":7829254,"EASF03":76043,"EASF04":30388,"EASF05":16803,"EASF06":11549,"EASF07":0,"EASF08":0,"EASF09":0,"EASF10":0,"EASD01":9237921,"EASD02":2600419,"EASD03":1209456,"EASD04":1575605,"EAIT":3127874,"ERQ1":1964972,"ERQ2":362712,"ERQ3":54345,"ERQ4":927425,"IRMS1":0,"IRMS2":1,"IRMS3":1,"URMS1":238,"URMS2":224,"URMS3":241,"PREF":9,"PCOUP":9,"SINSTS":595,"SINSTS1":31,"SINSTS2":227,"SINSTS3":336,"SMAXSN":3380,"SMAXSN1":1090,"SMAXSN2":1030,"SMAXSN3":1300,"SMAXSN-1":6480,"SMAXSN1-1":3090,"SMAXSN2-1":2670,"SMAXSN3-1":1390,"SINSTI":0,"SMAXIN":2710,"SMAXIN-1":260,"CCASN":390,"CCASN-1":426,"CCAIN":0,"CCAIN-1":0,"UMOY1":236,"UMOY2":224,"UMOY3":240,"STGE":"9B3AD501","PRM":****,"RELAIS":0,"NTARF":6,"NJOURF":0,"NJOURF+1":0}}
          

          STGE = xBxxxxx => B = 1011 => aujourd'hui rouge (3), demain blanc (2).
          L'interface affiche toujours rouge / rouge

          @Nicolas-Bernaerts said in Denky D4 + Tempo:

          @Tostaky @localhost61 @Charles Hello,

          Pour information, je suis en train d'intégrer la lecture des données Tempo de RTE dans mon fork Tasmota Teleinfo.

          Un nouveau topic MQTT sera disponible afin de récupérer les données :

          .../sensor/TEMPO
              {"Time":"2022-10-10T23:51:09", "Tempo":{"J-1":"bleu","J":"blanc","J+1":"rouge"}}
          

          Pour récupérer ces données, il faudra simplement avoir créé un compte sur le site RTE et généré sa clé privée (même compte que pour Ecowatt).

          Je pense pouvoir publier cette nouvelle version d'ici 1 ou 2 jours.

          Capture d’écran du 2023-12-05 21-34-06.png

          Génial.
          Je viens de terminer mon alerting mail en m'appuyant sur l'API publique d'EDF. Pas besoin de compte et de clef d'API.
          Le code est là : https://github.com/sosandroid/Monitoring_Energie/tree/main/src/tempo

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

          @Tostaky said in Denky D4 + Tempo:

          STGE = xBxxxxx => B = 1011 => aujourd'hui rouge (3), demain blanc (2).
          L'interface affiche toujours rouge / rouge

          je comprends pas j'ai testé le même code et aucun soucis

          https://onlinegdb.com/_VnKGhRZ5

          #include <stdio.h>
          #include <stdlib.h>
          #include <stdint.h>
          
          
          int main()
          {
              uint32_t status_register = strtol("9B3AD501", NULL, 16);
              printf("Status Register is 0x%08X\r\n", status_register);
              
              if (status_register >> 24) {
                  char txt[32]; 
                  uint8_t sr = status_register >> 24;
                  uint8_t val = sr & 0x03;
                  if (val) {
                      printf("Jour %s\r\n", val==1?"Bleu":val==2?"Blanc":"Rouge");
                  }
                  val = (sr >> 2) & 0x03;
                  if (val) {
                      printf("Demain %s\r\n", val==1?"Bleu":val==2?"Blanc":"Rouge");
                  }
                  val = (sr >> 4) & 0x03;
                  if (val) {
                      printf("Préavis pointe mobile %d\r\n", val);
                  }
                  val = (sr >> 6) & 0x03;
                  if (val) {
                      printf("Pointe mobile en cours %d\r\n", val);
                  }
              }
              return 0;
          }
          

          La sortie donne bien ça

          Status Register is 0x9B3AD501
          Jour Rouge
          Demain Blanc
          Préavis Pointe mobile 1
          Pointe mobile En cours 2
          

          peut être essayer cette 2eme méthode au cas ou (avec aussi le strtol changé en strtoul)
          https://onlinegdb.com/ADbvc4273

          #include <stdio.h>
          #include <stdlib.h>
          #include <stdint.h>
          
          
          int main()
          {
              uint32_t status_register = strtoul("9B3AD501", NULL, 16);
              printf("Status Register is 0x%08X\r\n", status_register);
              
              if (status_register >> 24) {
                  char txt[32]; 
                  char coul[4][6] = { "----", "Bleu", "Blanc", "Rouge" };
                  
                  uint8_t sr = status_register >> 24;
                  uint8_t val = sr & 0x03;
                  if (val) {
                      printf("Jour %s\r\n", coul[val]);
                  }
                  val = (sr >> 2) & 0x03;
                  if (val) {
                      printf("Demain %s\r\n", coul[val]);
                  }
                  val = (sr >> 4) & 0x03;
                  if (val) {
                      printf("Préavis pointe mobile %d\r\n", val);
                  }
                  val = (sr >> 6) & 0x03;
                  if (val) {
                      printf("Pointe mobile en cours %d\r\n", val);
                  }
              }
              return 0;
              return 0;
          }
          

          qui donne la même chose mais codé différemment, t'as moyen de tester ?

          T 1 Reply Last reply
          • Nicolas BernaertsN Nicolas Bernaerts

            Je viens de publier une version Teleinfo v13.2 qui gère :

            • Tempo
            • Ecowatt v4 et v5

            Attention, le fichier de configuration sur le littlefs est maintenant rte.cfg (au lieu de ecowatt.cfg).

            Si vous aviez déclaré Ecowatt précédemment, il faudra :

            • redéclarer votre clé privée via rte_key maclebase64
            • activer ecowatt de nouveau via eco_enable 1
            • activer tempo via tempo_enable 1
            • redémarrer l'ESP

            L'aide est disponible en mode console via rte_help.

            WendigogoW Offline
            WendigogoW Offline
            Wendigogo
            wrote on last edited by
            #17

            @Nicolas-Bernaerts : Excellent !
            Je mets à jour le Denky-D4.

            Tu penses inclure le code de @Tostaky pour ne plus avoir à créer de compte EDF ?

            Merci.

            Nicolas BernaertsN 2 Replies Last reply
            • WendigogoW Wendigogo

              @Nicolas-Bernaerts : Excellent !
              Je mets à jour le Denky-D4.

              Tu penses inclure le code de @Tostaky pour ne plus avoir à créer de compte EDF ?

              Merci.

              Nicolas BernaertsN Offline
              Nicolas BernaertsN Offline
              Nicolas Bernaerts
              wrote on last edited by
              #18

              @Wendigogo En fait, le problème est double :

              • les API EDF répondent quand elles veulent ... elles peuvent mettre 10s a répondre et l'ESP reboot en watchdog
              • elles sont très en retard par rapport à RTE : RTE donne l'info vers 9h, EDF souvent après 11h
                Donc les données RTE sont beaucoup plus fiables sur les 2 aspects.
              WendigogoW 1 Reply Last reply
              • WendigogoW Wendigogo

                @Nicolas-Bernaerts : Excellent !
                Je mets à jour le Denky-D4.

                Tu penses inclure le code de @Tostaky pour ne plus avoir à créer de compte EDF ?

                Merci.

                Nicolas BernaertsN Offline
                Nicolas BernaertsN Offline
                Nicolas Bernaerts
                wrote on last edited by
                #19

                @Wendigogo Je suis en train de voir comment exploiter l'etiquette STGE pour recuperer ces donnees directement depuis le compteur. Mais il reste a verifier la fiabilite et la prevenance.

                1 Reply Last reply
                • Nicolas BernaertsN Nicolas Bernaerts

                  @Wendigogo En fait, le problème est double :

                  • les API EDF répondent quand elles veulent ... elles peuvent mettre 10s a répondre et l'ESP reboot en watchdog
                  • elles sont très en retard par rapport à RTE : RTE donne l'info vers 9h, EDF souvent après 11h
                    Donc les données RTE sont beaucoup plus fiables sur les 2 aspects.
                  WendigogoW Offline
                  WendigogoW Offline
                  Wendigogo
                  wrote on last edited by
                  #20

                  @Nicolas-Bernaerts : Merci pour ces explications. J'ai créé un compte RTE du coup.

                  1 Reply Last reply
                  • CharlesC Charles

                    @Tostaky said in Denky D4 + Tempo:

                    STGE = xBxxxxx => B = 1011 => aujourd'hui rouge (3), demain blanc (2).
                    L'interface affiche toujours rouge / rouge

                    je comprends pas j'ai testé le même code et aucun soucis

                    https://onlinegdb.com/_VnKGhRZ5

                    #include <stdio.h>
                    #include <stdlib.h>
                    #include <stdint.h>
                    
                    
                    int main()
                    {
                        uint32_t status_register = strtol("9B3AD501", NULL, 16);
                        printf("Status Register is 0x%08X\r\n", status_register);
                        
                        if (status_register >> 24) {
                            char txt[32]; 
                            uint8_t sr = status_register >> 24;
                            uint8_t val = sr & 0x03;
                            if (val) {
                                printf("Jour %s\r\n", val==1?"Bleu":val==2?"Blanc":"Rouge");
                            }
                            val = (sr >> 2) & 0x03;
                            if (val) {
                                printf("Demain %s\r\n", val==1?"Bleu":val==2?"Blanc":"Rouge");
                            }
                            val = (sr >> 4) & 0x03;
                            if (val) {
                                printf("Préavis pointe mobile %d\r\n", val);
                            }
                            val = (sr >> 6) & 0x03;
                            if (val) {
                                printf("Pointe mobile en cours %d\r\n", val);
                            }
                        }
                        return 0;
                    }
                    

                    La sortie donne bien ça

                    Status Register is 0x9B3AD501
                    Jour Rouge
                    Demain Blanc
                    Préavis Pointe mobile 1
                    Pointe mobile En cours 2
                    

                    peut être essayer cette 2eme méthode au cas ou (avec aussi le strtol changé en strtoul)
                    https://onlinegdb.com/ADbvc4273

                    #include <stdio.h>
                    #include <stdlib.h>
                    #include <stdint.h>
                    
                    
                    int main()
                    {
                        uint32_t status_register = strtoul("9B3AD501", NULL, 16);
                        printf("Status Register is 0x%08X\r\n", status_register);
                        
                        if (status_register >> 24) {
                            char txt[32]; 
                            char coul[4][6] = { "----", "Bleu", "Blanc", "Rouge" };
                            
                            uint8_t sr = status_register >> 24;
                            uint8_t val = sr & 0x03;
                            if (val) {
                                printf("Jour %s\r\n", coul[val]);
                            }
                            val = (sr >> 2) & 0x03;
                            if (val) {
                                printf("Demain %s\r\n", coul[val]);
                            }
                            val = (sr >> 4) & 0x03;
                            if (val) {
                                printf("Préavis pointe mobile %d\r\n", val);
                            }
                            val = (sr >> 6) & 0x03;
                            if (val) {
                                printf("Pointe mobile en cours %d\r\n", val);
                            }
                        }
                        return 0;
                        return 0;
                    }
                    

                    qui donne la même chose mais codé différemment, t'as moyen de tester ?

                    T Offline
                    T Offline
                    Tostaky
                    wrote on last edited by
                    #21

                    @Charles said in Denky D4 + Tempo:

                    @Tostaky said in Denky D4 + Tempo:

                    STGE = xBxxxxx => B = 1011 => aujourd'hui rouge (3), demain blanc (2).
                    L'interface affiche toujours rouge / rouge

                    je comprends pas j'ai testé le même code et aucun soucis

                    https://onlinegdb.com/_VnKGhRZ5

                    #include <stdio.h>
                    #include <stdlib.h>
                    #include <stdint.h>
                    
                    
                    int main()
                    {
                        uint32_t status_register = strtol("9B3AD501", NULL, 16);
                        printf("Status Register is 0x%08X\r\n", status_register);
                        
                        if (status_register >> 24) {
                            char txt[32]; 
                            uint8_t sr = status_register >> 24;
                            uint8_t val = sr & 0x03;
                            if (val) {
                                printf("Jour %s\r\n", val==1?"Bleu":val==2?"Blanc":"Rouge");
                            }
                            val = (sr >> 2) & 0x03;
                            if (val) {
                                printf("Demain %s\r\n", val==1?"Bleu":val==2?"Blanc":"Rouge");
                            }
                            val = (sr >> 4) & 0x03;
                            if (val) {
                                printf("Préavis pointe mobile %d\r\n", val);
                            }
                            val = (sr >> 6) & 0x03;
                            if (val) {
                                printf("Pointe mobile en cours %d\r\n", val);
                            }
                        }
                        return 0;
                    }
                    

                    La sortie donne bien ça

                    Status Register is 0x9B3AD501
                    Jour Rouge
                    Demain Blanc
                    Préavis Pointe mobile 1
                    Pointe mobile En cours 2
                    

                    peut être essayer cette 2eme méthode au cas ou (avec aussi le strtol changé en strtoul)
                    https://onlinegdb.com/ADbvc4273

                    #include <stdio.h>
                    #include <stdlib.h>
                    #include <stdint.h>
                    
                    
                    int main()
                    {
                        uint32_t status_register = strtoul("9B3AD501", NULL, 16);
                        printf("Status Register is 0x%08X\r\n", status_register);
                        
                        if (status_register >> 24) {
                            char txt[32]; 
                            char coul[4][6] = { "----", "Bleu", "Blanc", "Rouge" };
                            
                            uint8_t sr = status_register >> 24;
                            uint8_t val = sr & 0x03;
                            if (val) {
                                printf("Jour %s\r\n", coul[val]);
                            }
                            val = (sr >> 2) & 0x03;
                            if (val) {
                                printf("Demain %s\r\n", coul[val]);
                            }
                            val = (sr >> 4) & 0x03;
                            if (val) {
                                printf("Préavis pointe mobile %d\r\n", val);
                            }
                            val = (sr >> 6) & 0x03;
                            if (val) {
                                printf("Pointe mobile en cours %d\r\n", val);
                            }
                        }
                        return 0;
                        return 0;
                    }
                    

                    qui donne la même chose mais codé différemment, t'as moyen de tester ?

                    Je n'ai pas modifié de code coté Denky car j'ai pris un firmware déjà compilé.
                    A la lecture du code, je suis 100% d'accord avec le fonctionnement.
                    Comme le script Berry accède à la valeur STGE et la décode correctement pour la transmettre à EmonCMS, j'en déduis que c'est quelque part entre la libteleinfo et l'affichage.

                    C'est plus à titre informatif que je fais remonter car j'utilise peu l'affichage

                    1 Reply Last reply
                    • T Offline
                      T Offline
                      Tostaky
                      wrote on last edited by
                      #22

                      Bonjour,

                      Pour continuer sur ce sujet, j'ai essayé de passer sur le firmware de @Nicolas-Bernaerts. Les différents retours que j'ai pu lire est que cela améliore la comptabilisation de l'énergie entre Enedis, le Denky et EmonCMS.

                      Aujourd'hui j'utilise un firmware "standard" et un script Berry pour alimenter EmonCMS toutes les 8500ms.

                      En passant à la version 14.9beta de @Nicolas-Bernaerts, je n'ai plus de données qui remlontent. Le script Berry ne fonctionne plus.
                      J'ai fait un rollback et tout est rentré dans l'ordre.

                      Néanmoins, je voudrais tester ce firmware. De manière à préparer le script avant (je n'ai pas accès au Denky avant le WE prochain), est-il possible de valider que le script simplifié suivant

                      var payload = {}
                      def rule_tic(value, trigger)
                      
                        payload['IDX_SOUT'] = value['EAST']
                        payload['IDX_SOUT_HP'] = value['EASF02']
                        payload['IDX_SOUT_HC'] = value['EASF01']
                        payload['IDX_INJ'] = value['EAIT']
                        payload['PUI_SOUT'] = value['SINSTS']
                        payload['PUI_INJ'] = value['SINSTI']
                      
                      end
                      
                      def start()
                        # Callback on each frame interception
                        tasmota.add_rule("TIC",rule_tic)
                        # fire first post in 5s 
                        tasmota.set_timer(5000, send_emoncms)
                      end
                      
                      def send_emoncms()
                       ...
                      end
                      

                      devient

                      var payload = {}
                      
                      def rule_meter (value, trigger)
                        payload['PUI_SOUT'] = value['W']
                        payload['PUI_INJ'] = value['PW']
                         
                      end
                      
                      def rule_contract (value, trigger)
                        payload['IDX_SOUT'] = value['CONSO']
                        payload['IDX_SOUT_HP'] = value['EASF02']
                        payload['IDX_SOUT_HC'] = value['EASF01']
                        payload['IDX_INJ'] = value['PROD']
                      end
                      
                      def send_emoncms()
                       ...
                      end
                      
                      def start()
                        # Callback on each frame interception
                        tasmota.add_rule("METER",rule_meter)
                        tasmota.add_rule("CONTRACT",rule_contract)
                        # fire first post in 5s 
                        tasmota.set_timer(5000, send_emoncms)
                      end
                      
                      T 1 Reply Last reply
                      • T Tostaky

                        Bonjour,

                        Pour continuer sur ce sujet, j'ai essayé de passer sur le firmware de @Nicolas-Bernaerts. Les différents retours que j'ai pu lire est que cela améliore la comptabilisation de l'énergie entre Enedis, le Denky et EmonCMS.

                        Aujourd'hui j'utilise un firmware "standard" et un script Berry pour alimenter EmonCMS toutes les 8500ms.

                        En passant à la version 14.9beta de @Nicolas-Bernaerts, je n'ai plus de données qui remlontent. Le script Berry ne fonctionne plus.
                        J'ai fait un rollback et tout est rentré dans l'ordre.

                        Néanmoins, je voudrais tester ce firmware. De manière à préparer le script avant (je n'ai pas accès au Denky avant le WE prochain), est-il possible de valider que le script simplifié suivant

                        var payload = {}
                        def rule_tic(value, trigger)
                        
                          payload['IDX_SOUT'] = value['EAST']
                          payload['IDX_SOUT_HP'] = value['EASF02']
                          payload['IDX_SOUT_HC'] = value['EASF01']
                          payload['IDX_INJ'] = value['EAIT']
                          payload['PUI_SOUT'] = value['SINSTS']
                          payload['PUI_INJ'] = value['SINSTI']
                        
                        end
                        
                        def start()
                          # Callback on each frame interception
                          tasmota.add_rule("TIC",rule_tic)
                          # fire first post in 5s 
                          tasmota.set_timer(5000, send_emoncms)
                        end
                        
                        def send_emoncms()
                         ...
                        end
                        

                        devient

                        var payload = {}
                        
                        def rule_meter (value, trigger)
                          payload['PUI_SOUT'] = value['W']
                          payload['PUI_INJ'] = value['PW']
                           
                        end
                        
                        def rule_contract (value, trigger)
                          payload['IDX_SOUT'] = value['CONSO']
                          payload['IDX_SOUT_HP'] = value['EASF02']
                          payload['IDX_SOUT_HC'] = value['EASF01']
                          payload['IDX_INJ'] = value['PROD']
                        end
                        
                        def send_emoncms()
                         ...
                        end
                        
                        def start()
                          # Callback on each frame interception
                          tasmota.add_rule("METER",rule_meter)
                          tasmota.add_rule("CONTRACT",rule_contract)
                          # fire first post in 5s 
                          tasmota.set_timer(5000, send_emoncms)
                        end
                        
                        T Offline
                        T Offline
                        Tostaky
                        wrote on last edited by
                        #23

                        @Tostaky said in Denky D4 + Tempo:

                        payload['IDX_SOUT_HP'] = value['EASF02']
                        payload['IDX_SOUT_HC'] = value['EASF01']

                        Evidement, ces lignes sont en trop

                        1 Reply Last reply

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        3

                        Online

                        5.8k

                        Users

                        565

                        Topics

                        5.3k

                        Posts

                        Top Topics

                        Popular Tags

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

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Blog
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups