From 40657bd256b8004995fa8549384cbb12148c2a26 Mon Sep 17 00:00:00 2001 From: pablozg Date: Wed, 18 Sep 2019 11:42:28 +0200 Subject: [PATCH] Autoupdate Energy.total with the value reported by hardware (sdm120, etc) --- sonoff/xdrv_03_energy.ino | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sonoff/xdrv_03_energy.ino b/sonoff/xdrv_03_energy.ino index 5a9356985..d1a4c1587 100644 --- a/sonoff/xdrv_03_energy.ino +++ b/sonoff/xdrv_03_energy.ino @@ -190,6 +190,13 @@ void EnergyUpdateTotal(float value, bool kwh) else if (value != Energy.start_energy) { Energy.kWhtoday = (unsigned long)((value - Energy.start_energy) * multiplier); } + + if (Energy.total < value){ + RtcSettings.energy_kWhtotal = (unsigned long)((value * multiplier) - Energy.kWhtoday_offset - Energy.kWhtoday); + Settings.energy_kWhtotal = RtcSettings.energy_kWhtotal; + Energy.total = (float)(RtcSettings.energy_kWhtotal + Energy.kWhtoday_offset + Energy.kWhtoday) / 100000; + Settings.energy_kWhtotal_time = (!Energy.kWhtoday_offset) ? LocalTime() : Midnight(); + } EnergyUpdateToday(); }