From 2684141722f874540a549326c37646b9c7aa1f36 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Tue, 18 Apr 2023 15:34:19 +0200 Subject: [PATCH] Fix ESP8266 Energy Export Active Fix ESP8266 Energy Export Active no update regression from v12.3.1.3 --- CHANGELOG.md | 1 + RELEASENOTES.md | 1 + tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino | 8 +++++++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 721b2a5f4..3c71fbfaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ All notable changes to this project will be documented in this file. ### Changed ### Fixed +- ESP8266 Energy Export Active no update regression from v12.3.1.3 ### Removed diff --git a/RELEASENOTES.md b/RELEASENOTES.md index fdbfb0cf8..9281f00d4 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -119,3 +119,4 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ### Changed ### Fixed +- ESP8266 Energy Export Active no update regression from v12.3.1.3 diff --git a/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino b/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino index ebbad0f72..6fc75ec08 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino @@ -99,6 +99,7 @@ typedef struct { int32_t kWhtoday_delta[ENERGY_MAX_PHASES]; // 1212312345 Wh 10^-5 (deca micro Watt hours) - Overflows to Energy->kWhtoday (HLW and CSE only) int32_t kWhtoday_offset[ENERGY_MAX_PHASES]; // 12312312 Wh * 10^-2 (deca milli Watt hours) - 5764 = 0.05764 kWh = 0.058 kWh = Energy->daily int32_t kWhtoday[ENERGY_MAX_PHASES]; // 12312312 Wh * 10^-2 (deca milli Watt hours) - 5764 = 0.05764 kWh = 0.058 kWh = Energy->daily + int32_t kWhtoday_export[ENERGY_MAX_PHASES]; // 12312312 Wh * 10^-2 (deca milli Watt hours) - 5764 = 0.05764 kWh = 0.058 kWh = Energy->daily int32_t period[ENERGY_MAX_PHASES]; // 12312312 Wh * 10^-2 (deca milli Watt hours) - 5764 = 0.05764 kWh = 0.058 kWh = Energy->daily char* value; @@ -278,7 +279,12 @@ void EnergyUpdateToday(void) { Energy->kWhtoday_delta[i] -= (delta * 1000); Energy->kWhtoday[i] += delta; if (delta < 0) { // Export energy - RtcSettings.energy_kWhexport_ph[i] += ((delta / 100) *-1); + Energy->kWhtoday_export[i] += (delta *-1); + if (Energy->kWhtoday_export[i] > 100) { + int32_t delta_export = Energy->kWhtoday_export[i] / 100; + Energy->kWhtoday_export[i] -= (delta_export * 100); + RtcSettings.energy_kWhexport_ph[i] += delta_export; + } } }