diff --git a/src/PowerLimiter.cpp b/src/PowerLimiter.cpp index 539bc11b..3fd7ec84 100644 --- a/src/PowerLimiter.cpp +++ b/src/PowerLimiter.cpp @@ -127,7 +127,9 @@ void PowerLimiterClass::loop() // check if grid power consumption is not within the upper and lower threshold of the target consumption if (newPowerLimit >= (config.PowerLimiter_TargetPowerConsumption - config.PowerLimiter_TargetPowerConsumptionHysteresis) && - newPowerLimit <= (config.PowerLimiter_TargetPowerConsumption + config.PowerLimiter_TargetPowerConsumptionHysteresis)) { + newPowerLimit <= (config.PowerLimiter_TargetPowerConsumption + config.PowerLimiter_TargetPowerConsumptionHysteresis) && + _lastRequestedPowerLimit >= (config.PowerLimiter_TargetPowerConsumption - config.PowerLimiter_TargetPowerConsumptionHysteresis) && + _lastRequestedPowerLimit <= (config.PowerLimiter_TargetPowerConsumption + config.PowerLimiter_TargetPowerConsumptionHysteresis) ) { return; } setNewPowerLimit(inverter, newPowerLimit);;