From 95e8d6008197522feaca0836f0213d0abfa7ff16 Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 23 Nov 2021 17:24:29 +0100 Subject: [PATCH 1/2] use hardware energy counters --- tasmota/xnrg_15_teleinfo.ino | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tasmota/xnrg_15_teleinfo.ino b/tasmota/xnrg_15_teleinfo.ino index dc940d502..37b16084f 100755 --- a/tasmota/xnrg_15_teleinfo.ino +++ b/tasmota/xnrg_15_teleinfo.ino @@ -357,6 +357,7 @@ void DataCallback(struct _ValueList * me, uint8_t flags) Energy.import_active[0] = total/1000.0f; EnergyUpdateTotal(); + AddLog (LOG_LEVEL_INFO, PSTR ("TIC: Total counter updated to %u Wh"), total); } // Wh total index (standard) @@ -568,6 +569,9 @@ void TInfoDrvInit(void) { TasmotaGlobal.energy_driver = XNRG_15; Energy.voltage_available = false; Energy.phase_count = 1; + // init hardware energy counters + Settings->flag3.hardware_energy_total = true; + Settings->energy_kWhtotal = 0; } } From 58b4ee6542b5f5561ca2ed1dd464186327cd2c13 Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 23 Nov 2021 17:30:36 +0100 Subject: [PATCH 2/2] makes labelCount public --- lib/lib_div/LibTeleinfo/src/LibTeleinfo.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/lib_div/LibTeleinfo/src/LibTeleinfo.h b/lib/lib_div/LibTeleinfo/src/LibTeleinfo.h index 1be54ff5f..3c947b5ca 100644 --- a/lib/lib_div/LibTeleinfo/src/LibTeleinfo.h +++ b/lib/lib_div/LibTeleinfo/src/LibTeleinfo.h @@ -149,6 +149,7 @@ class TInfo uint8_t valuesDump(void); char * valueGet(char * name, char * value); char * valueGet_P(const char * name, char * value); + int labelCount(); boolean listDelete(); unsigned char calcChecksum(char *etiquette, char *valeur, char *horodate=NULL) ; @@ -157,7 +158,6 @@ class TInfo ValueList * valueAdd (char * name, char * value, uint8_t checksum, uint8_t * flags, char * horodate=NULL); boolean valueRemove (char * name); boolean valueRemoveFlagged(uint8_t flags); - int labelCount(); uint32_t horodate2Timestamp( char * pdate) ; void customLabel( char * plabel, char * pvalue, uint8_t * pflags) ; ValueList * checkLine(char * pline) ;