From 0c012bf62ac4dcd61ae16f2efe712ece72d31bc3 Mon Sep 17 00:00:00 2001 From: Thomas Basler Date: Mon, 23 Sep 2024 22:08:53 +0200 Subject: [PATCH] Move inverter housekeeping tasks inside the InverterAbstract class --- lib/Hoymiles/src/Hoymiles.cpp | 11 +---------- lib/Hoymiles/src/inverters/InverterAbstract.cpp | 14 ++++++++++++++ lib/Hoymiles/src/inverters/InverterAbstract.h | 2 ++ 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/lib/Hoymiles/src/Hoymiles.cpp b/lib/Hoymiles/src/Hoymiles.cpp index ccc1a70..97922e3 100644 --- a/lib/Hoymiles/src/Hoymiles.cpp +++ b/lib/Hoymiles/src/Hoymiles.cpp @@ -136,16 +136,7 @@ void HoymilesClass::loop() if (currentWeekDay != lastWeekDay) { for (auto& inv : _inverters) { - // Have to reset the offets first, otherwise it will - // Substract the offset from zero which leads to a high value - inv->Statistics()->resetYieldDayCorrection(); - if (inv->getZeroYieldDayOnMidnight()) { - inv->Statistics()->zeroDailyData(); - } - if (inv->getClearEventlogOnMidnight()) { - inv->EventLog()->clearBuffer(); - } - inv->resetRadioStats(); + inv->performDailyTask(); } lastWeekDay = currentWeekDay; diff --git a/lib/Hoymiles/src/inverters/InverterAbstract.cpp b/lib/Hoymiles/src/inverters/InverterAbstract.cpp index ab16969..3e51bbd 100644 --- a/lib/Hoymiles/src/inverters/InverterAbstract.cpp +++ b/lib/Hoymiles/src/inverters/InverterAbstract.cpp @@ -273,6 +273,20 @@ uint8_t InverterAbstract::verifyAllFragments(CommandAbstract& cmd) return FRAGMENT_OK; } +void InverterAbstract::performDailyTask() +{ + // Have to reset the offets first, otherwise it will + // Substract the offset from zero which leads to a high value + Statistics()->resetYieldDayCorrection(); + if (getZeroYieldDayOnMidnight()) { + Statistics()->zeroDailyData(); + } + if (getClearEventlogOnMidnight()) { + EventLog()->clearBuffer(); + } + resetRadioStats(); +} + void InverterAbstract::resetRadioStats() { RadioStats = {}; diff --git a/lib/Hoymiles/src/inverters/InverterAbstract.h b/lib/Hoymiles/src/inverters/InverterAbstract.h index 72ad7a8..f139fab 100644 --- a/lib/Hoymiles/src/inverters/InverterAbstract.h +++ b/lib/Hoymiles/src/inverters/InverterAbstract.h @@ -65,6 +65,8 @@ public: void addRxFragment(const uint8_t fragment[], const uint8_t len); uint8_t verifyAllFragments(CommandAbstract& cmd); + void performDailyTask(); + void resetRadioStats(); struct {