From c16865ebcfada6ea3d2e0edaa56cc3f424df7243 Mon Sep 17 00:00:00 2001 From: Patrick Amrhein Date: Wed, 27 Mar 2024 17:20:47 +0100 Subject: [PATCH] Bugfix: SetLimit (kein Limit < ZEROEXPORT_GROUP_WR_LIMIT_MIN_DIFF) --- src/config/settings.h | 2 ++ src/plugins/zeroExport/zeroExport.h | 11 +++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/config/settings.h b/src/config/settings.h index 6663ce3f..3508ba8f 100644 --- a/src/config/settings.h +++ b/src/config/settings.h @@ -198,6 +198,8 @@ typedef struct { #define ZEROEXPORT_GROUP_MAX_INVERTERS 3 #define ZEROEXPORT_POWERMETER_MAX_ERRORS 5 #define ZEROEXPORT_DEF_INV_WAITINGTIME_MS 10000 +#define ZEROEXPORT_GROUP_WR_LIMIT_MIN_DIFF 5 + enum class zeroExportState : uint8_t { INIT, diff --git a/src/plugins/zeroExport/zeroExport.h b/src/plugins/zeroExport/zeroExport.h index 4d5df4c2..0d984b02 100644 --- a/src/plugins/zeroExport/zeroExport.h +++ b/src/plugins/zeroExport/zeroExport.h @@ -1211,10 +1211,13 @@ class ZeroExport { } // Reject limit if difference < 5 W - // if ((cfgGroupInv->limitNew > cfgGroupInv->limit + 5) && (cfgGroupInv->limitNew < cfgGroupInv->limit - 5)) { - // objLog["err"] = "Diff < 5W"; - // return false; - // } + if ( + (mCfg->groups[group].inverters[inv].limitNew > (mCfg->groups[group].inverters[inv].limit + ZEROEXPORT_GROUP_WR_LIMIT_MIN_DIFF)) && + (mCfg->groups[group].inverters[inv].limitNew < (mCfg->groups[group].inverters[inv].limit - ZEROEXPORT_GROUP_WR_LIMIT_MIN_DIFF)) + ) { + mLog["err"] = String("Diff < ") + String (ZEROEXPORT_GROUP_WR_LIMIT_MIN_DIFF) + String("W"); + return false; + } // Nothing todo if (mCfg->groups[group].inverters[inv].limit == mCfg->groups[group].inverters[inv].limitNew) {