From b9acbe6f2cafab8032093ee96e9991d566a5b73b Mon Sep 17 00:00:00 2001 From: helgeerbe Date: Sat, 18 Mar 2023 23:50:34 +0100 Subject: [PATCH] off when newPowerLimit < lowerLimit --- src/PowerLimiter.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/PowerLimiter.cpp b/src/PowerLimiter.cpp index 6614b5bf8..048a3e81b 100644 --- a/src/PowerLimiter.cpp +++ b/src/PowerLimiter.cpp @@ -149,14 +149,17 @@ void PowerLimiterClass::loop() int32_t newPowerLimit = calcPowerLimit(inverter, true); if (!inverter->isProducing() || isStopThresholdReached(inverter) - || (newPowerLimit < config.PowerLimiter_LowerPowerLimit && config.PowerLimiter_BatteryDrainStategy == EMPTY_WHEN_FULL)) { + || newPowerLimit < config.PowerLimiter_LowerPowerLimit) { _plState = STATE_OFF; break; - } - else if (!canUseDirectSolarPower() || isStartThresholdReached(inverter)) { + } else if ((!canUseDirectSolarPower() && config.PowerLimiter_BatteryDrainStategy == EMPTY_AT_NIGTH) || isStartThresholdReached(inverter)) { _plState = STATE_NORMAL_OPERATION; break; } + else if (!canUseDirectSolarPower()) { + _plState = STATE_OFF; + break; + } setNewPowerLimit(inverter, newPowerLimit); return; break;