From 8a3546e5c4cd748659d7ea057ee4f7f0c3fb28f6 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Sat, 11 Mar 2023 17:01:43 +0100 Subject: [PATCH] Fix ESP32 energy period Fix ESP32 energy period shows kWh value instead of Wh regression from v12.3.1.5 (#15856) --- CHANGELOG.md | 1 + RELEASENOTES.md | 3 ++- tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino | 2 +- tasmota/tasmota_xdrv_driver/xdrv_03_esp32_energy.ino | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4b3547e7e..0c7eff7ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ All notable changes to this project will be documented in this file. - TuyaMcu v1 timer integer overflow (#18048) - PZEM energy monitor stabilize period on larger configs (#18103) - Rule topic comparison (#18144) +- ESP32 energy period shows kWh value instead of Wh regression from v12.3.1.5 (#15856) ### Removed diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 15c80bc39..fd9426c50 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -140,4 +140,5 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm - EnergyTotal divided twice during minimal upgrade step regression from v12.3.1.3 [#18024](https://github.com/arendst/Tasmota/issues/18024) - TuyaMcu v1 timer integer overflow [#18048](https://github.com/arendst/Tasmota/issues/18048) - PZEM energy monitor stabilize period on larger configs [#18103](https://github.com/arendst/Tasmota/issues/18103) -- Rule topic comparison [#18144](https://github.com/arendst/Tasmota/issues/18144) \ No newline at end of file +- Rule topic comparison [#18144](https://github.com/arendst/Tasmota/issues/18144) +- ESP32 energy period shows kWh value instead of Wh regression from v12.3.1.5 [#15856](https://github.com/arendst/Tasmota/issues/15856) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino b/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino index 48fc8e8ae..cd0afaca8 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino @@ -1304,7 +1304,7 @@ void EnergyShow(bool json) { if (show_energy_period) { float energy_period[Energy->phase_count]; for (uint32_t i = 0; i < Energy->phase_count; i++) { - energy_period[i] = (float)(RtcSettings.energy_kWhtoday_ph[i] - Energy->period[i]) / 100; + energy_period[i] = (float)(RtcSettings.energy_kWhtoday_ph[i] - Energy->period[i]) / 100; // Wh Energy->period[i] = RtcSettings.energy_kWhtoday_ph[i]; } ResponseAppend_P(PSTR(",\"" D_JSON_PERIOD "\":%s"), diff --git a/tasmota/tasmota_xdrv_driver/xdrv_03_esp32_energy.ino b/tasmota/tasmota_xdrv_driver/xdrv_03_esp32_energy.ino index 916198675..c99219145 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_03_esp32_energy.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_03_esp32_energy.ino @@ -1534,7 +1534,7 @@ void EnergyShow(bool json) { if (show_energy_period) { float energy_period[Energy->phase_count]; for (uint32_t i = 0; i < Energy->phase_count; i++) { - energy_period[i] = RtcEnergySettings.energy_today_kWh[i] - Energy->period_kWh[i]; + energy_period[i] = (RtcEnergySettings.energy_today_kWh[i] - Energy->period_kWh[i]) * 1000; // Wh Energy->period_kWh[i] = RtcEnergySettings.energy_today_kWh[i]; } ResponseAppend_P(PSTR(",\"" D_JSON_PERIOD "\":%s"),