From f216590a78522dbb72b46ddaf2f563181ab602a9 Mon Sep 17 00:00:00 2001 From: AndrolGenhald Date: Tue, 2 Dec 2025 02:09:38 -0600 Subject: [PATCH] Fix energy total non-monotonicity. (#24184) --- tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino b/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino index b306a87cf..b20d32742 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_03_energy.ino @@ -422,9 +422,9 @@ void Energy200ms(void) { Settings->energy_kWhexport_ph[i] = RtcSettings.energy_kWhexport_ph[i]; Energy->period[i] -= RtcSettings.energy_kWhtoday_ph[i]; // this becomes a large unsigned, effectively a negative for EnergyShow calculation - Energy->kWhtoday[i] = 0; + Energy->kWhtoday[i] = Energy->kWhtoday[i] % 100; // Roll fractional watt-hours into the next day since kWhtotal truncates to watt-hours. Energy->kWhtoday_offset[i] = 0; - RtcSettings.energy_kWhtoday_ph[i] = 0; + RtcSettings.energy_kWhtoday_ph[i] = Energy->kWhtoday[i]; Settings->energy_kWhtoday_ph[i] = 0; Energy->start_energy[i] = 0;