off when newPowerLimit < lowerLimit

This commit is contained in:
helgeerbe 2023-03-18 23:50:34 +01:00
parent 06370baa0e
commit b9acbe6f2c

View File

@ -149,14 +149,17 @@ void PowerLimiterClass::loop()
int32_t newPowerLimit = calcPowerLimit(inverter, true); int32_t newPowerLimit = calcPowerLimit(inverter, true);
if (!inverter->isProducing() if (!inverter->isProducing()
|| isStopThresholdReached(inverter) || isStopThresholdReached(inverter)
|| (newPowerLimit < config.PowerLimiter_LowerPowerLimit && config.PowerLimiter_BatteryDrainStategy == EMPTY_WHEN_FULL)) { || newPowerLimit < config.PowerLimiter_LowerPowerLimit) {
_plState = STATE_OFF; _plState = STATE_OFF;
break; break;
} } else if ((!canUseDirectSolarPower() && config.PowerLimiter_BatteryDrainStategy == EMPTY_AT_NIGTH) || isStartThresholdReached(inverter)) {
else if (!canUseDirectSolarPower() || isStartThresholdReached(inverter)) {
_plState = STATE_NORMAL_OPERATION; _plState = STATE_NORMAL_OPERATION;
break; break;
} }
else if (!canUseDirectSolarPower()) {
_plState = STATE_OFF;
break;
}
setNewPowerLimit(inverter, newPowerLimit); setNewPowerLimit(inverter, newPowerLimit);
return; return;
break; break;