diff --git a/src/CHANGES.md b/src/CHANGES.md index 17d25923..78635620 100644 --- a/src/CHANGES.md +++ b/src/CHANGES.md @@ -1,5 +1,8 @@ # Development Changes +## 0.7.18 - 2023-07-26 +* next attempt to fix yield day for multiple inverters #1016 + ## 0.7.17 - 2023-07-25 * next attempt to fix yield day for multiple inverters #1016 * added two more states for the inverter status (also docu) diff --git a/src/defines.h b/src/defines.h index 1e7a61ee..c144e89c 100644 --- a/src/defines.h +++ b/src/defines.h @@ -13,7 +13,7 @@ //------------------------------------- #define VERSION_MAJOR 0 #define VERSION_MINOR 7 -#define VERSION_PATCH 17 +#define VERSION_PATCH 18 //------------------------------------- typedef struct { diff --git a/src/hm/hmInverter.h b/src/hm/hmInverter.h index 3fcaf55c..4e6dd77f 100644 --- a/src/hm/hmInverter.h +++ b/src/hm/hmInverter.h @@ -403,11 +403,11 @@ class Inverter { if(avail) { if(status < InverterStatus::PRODUCING) status = InverterStatus::STARTING; + } else { + if((*timestamp - recordMeas.ts) > INVERTER_OFF_THRES_SEC) + status = InverterStatus::OFF; else status = InverterStatus::WAS_ON; - } else { - if((*timestamp - recordMeas.ts) < INVERTER_OFF_THRES_SEC) - status = InverterStatus::OFF; } return avail; @@ -417,8 +417,7 @@ class Inverter { bool producing = false; DPRINTLN(DBG_VERBOSE, F("hmInverter.h:isProducing")); if(isAvailable()) { - uint8_t pos = getPosByChFld(CH0, FLD_PAC, &recordMeas); - producing = (getValue(pos, &recordMeas) > INACT_PWR_THRESH); + producing = (getChannelFieldValue(CH0, FLD_PAC, &recordMeas) > INACT_PWR_THRESH); if(producing) status = InverterStatus::PRODUCING;