From 734d34b7a878e0f9a20e68399a9bfbefff24611e Mon Sep 17 00:00:00 2001 From: MalteSchm Date: Fri, 7 Apr 2023 19:08:27 +0200 Subject: [PATCH] make calcPowerLimit respect DTU poll interval --- src/PowerLimiter.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/PowerLimiter.cpp b/src/PowerLimiter.cpp index 1ca1f674..a01ca39d 100644 --- a/src/PowerLimiter.cpp +++ b/src/PowerLimiter.cpp @@ -175,8 +175,9 @@ int32_t PowerLimiterClass::calcPowerLimit(std::shared_ptr inve // Safety check, return on too old power meter values if (millis() - PowerMeter.getLastPowerMeterUpdate() < (30 * 1000) - && millis() - inverter->Statistics()->getLastUpdate() < (15 * 1000)) { - // If the power meter values are older than 30 seconds, + && millis() - inverter->Statistics()->getLastUpdate() < (config.Dtu_PollInterval * 3 * 1000)) { + // If the power meter values are older than 30 seconds, + // and the Inverter Stats are older then 3x the poll interval // set the limit to config.PowerLimiter_LowerPowerLimit for safety reasons. MessageOutput.println("[PowerLimiterClass::loop] Power Meter values too old. Using lower limit"); return config.PowerLimiter_LowerPowerLimit;