From 0c34554b9cedb0691752a4a3bb18c40afa1da1d3 Mon Sep 17 00:00:00 2001 From: helgeerbe Date: Tue, 4 Apr 2023 18:20:06 +0200 Subject: [PATCH] don't set newPowerlimit if newLimit AND lastLimit in target window --- src/PowerLimiter.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/PowerLimiter.cpp b/src/PowerLimiter.cpp index 539bc11b0..3fd7ec840 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);;