mirror of
https://github.com/lumapu/ahoy.git
synced 2025-06-08 13:41:40 +02:00
create func NotEnabledOrNotSelected
This commit is contained in:
parent
0856a67d7d
commit
be0553c3c5
1 changed files with 34 additions and 68 deletions
|
@ -46,7 +46,7 @@ class ZeroExport {
|
|||
mApi = api;
|
||||
mMqtt = mqtt;
|
||||
|
||||
mIsInitialized = mPowermeter.setup(mCfg);
|
||||
mIsInitialized = mPowermeter.setup(mCfg, &mLog);
|
||||
}
|
||||
|
||||
/** loop
|
||||
|
@ -79,6 +79,7 @@ class ZeroExport {
|
|||
|
||||
mLog["g"] = group;
|
||||
mLog["s"] = (uint8_t)mCfg->groups[group].state;
|
||||
mLog["s2"] = (uint8_t)mCfg->groups[group].stateNext;
|
||||
|
||||
switch (mCfg->groups[group].state) {
|
||||
case zeroExportState::INIT:
|
||||
|
@ -509,6 +510,7 @@ class ZeroExport {
|
|||
if (obj["path"] == "zero" && obj["cmd"] == "set")
|
||||
{
|
||||
// "topic":"inverter/zero/set/groups/0/enabled"
|
||||
// @TODO: state machine init
|
||||
if (topic.indexOf("groups") != -1) {
|
||||
String i = topic.substring(topic.length() - 10, topic.length() - 8);
|
||||
uint id = i.toInt();
|
||||
|
@ -534,6 +536,14 @@ class ZeroExport {
|
|||
* @returns true/false
|
||||
* @todo getInverterById statt getInverterByPos, dann würde die Variable *iv und die Schleife nicht gebraucht.
|
||||
*/
|
||||
|
||||
/* EnabledSelected
|
||||
* Inverter not enabled -> ignore || Inverter not selected -> ignore
|
||||
*/
|
||||
bool NotEnabledOrNotSelected(uint8_t group, uint8_t inv) {
|
||||
return !mCfg->groups[group].inverters[inv].enabled || mCfg->groups[group].inverters[inv].id < 0;
|
||||
}
|
||||
|
||||
bool groupInit(uint8_t group, unsigned long *tsp, bool *doLog) {
|
||||
uint8_t result = false;
|
||||
|
||||
|
@ -550,6 +560,7 @@ class ZeroExport {
|
|||
|
||||
// Search/Set ivPointer
|
||||
JsonArray logArr = mLog.createNestedArray("ix");
|
||||
|
||||
for (uint8_t inv = 0; inv < ZEROEXPORT_GROUP_MAX_INVERTERS; inv++) {
|
||||
JsonObject logObj = logArr.createNestedObject();
|
||||
logObj["i"] = inv;
|
||||
|
@ -557,14 +568,7 @@ class ZeroExport {
|
|||
mIv[group][inv] = nullptr;
|
||||
|
||||
// Inverter not enabled -> ignore
|
||||
if (!mCfg->groups[group].inverters[inv].enabled) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Inverter not selected -> ignore
|
||||
if (mCfg->groups[group].inverters[inv].id < 0) {
|
||||
continue;
|
||||
}
|
||||
if (NotEnabledOrNotSelected(group, inv)) continue;
|
||||
|
||||
// Load Config
|
||||
Inverter<> *iv;
|
||||
|
@ -572,14 +576,10 @@ class ZeroExport {
|
|||
iv = mSys->getInverterByPos(i);
|
||||
|
||||
// Inverter not configured -> ignore
|
||||
if (iv == NULL) {
|
||||
continue;
|
||||
}
|
||||
if (iv == NULL) continue;
|
||||
|
||||
// Inverter not matching -> ignore
|
||||
if (iv->id != (uint8_t)mCfg->groups[group].inverters[inv].id) {
|
||||
continue;
|
||||
}
|
||||
if (iv->id != (uint8_t)mCfg->groups[group].inverters[inv].id) continue;
|
||||
|
||||
// Save Inverter
|
||||
logObj["pos"] = i;
|
||||
|
@ -663,13 +663,8 @@ class ZeroExport {
|
|||
logObj["i"] = inv;
|
||||
|
||||
// Inverter not enabled -> ignore
|
||||
if (!mCfg->groups[group].inverters[inv].enabled) {
|
||||
continue;
|
||||
}
|
||||
// Inverter not selected -> ignore
|
||||
if (mCfg->groups[group].inverters[inv].id <= 0) {
|
||||
continue;
|
||||
}
|
||||
if (NotEnabledOrNotSelected(group, inv)) continue;
|
||||
|
||||
// Inverter is not available -> wait
|
||||
if (!mIv[group][inv]->isAvailable()) {
|
||||
logObj["a"] = false;
|
||||
|
@ -720,13 +715,7 @@ class ZeroExport {
|
|||
logObj["i"] = inv;
|
||||
|
||||
// Inverter not enabled -> ignore
|
||||
if (!mCfg->groups[group].inverters[inv].enabled) {
|
||||
continue;
|
||||
}
|
||||
// Inverter not selected -> ignore
|
||||
if (mCfg->groups[group].inverters[inv].id <= 0) {
|
||||
continue;
|
||||
}
|
||||
if (NotEnabledOrNotSelected(group, inv)) continue;
|
||||
|
||||
if (!mIv[group][inv]->isAvailable()) {
|
||||
continue;
|
||||
|
@ -829,13 +818,7 @@ class ZeroExport {
|
|||
// zeroExportGroupInverter_t *cfgGroupInv = &mCfg->groups[group].inverters[inv];
|
||||
|
||||
// Inverter not enabled -> ignore
|
||||
if (!mCfg->groups[group].inverters[inv].enabled) {
|
||||
continue;
|
||||
}
|
||||
// Inverter not selected -> ignore
|
||||
if (mCfg->groups[group].inverters[inv].id <= 0) {
|
||||
continue;
|
||||
}
|
||||
if (NotEnabledOrNotSelected(group, inv)) continue;
|
||||
|
||||
// Abbruch weil Inverter nicht verfügbar
|
||||
if (!mIv[group][inv]->isAvailable()) {
|
||||
|
@ -863,13 +846,7 @@ class ZeroExport {
|
|||
// zeroExportGroupInverter_t *cfgGroupInv = &mCfg->groups[group].inverters[inv];
|
||||
|
||||
// Inverter not enabled -> ignore
|
||||
if (!mCfg->groups[group].inverters[inv].enabled) {
|
||||
continue;
|
||||
}
|
||||
// Inverter not selected -> ignore
|
||||
if (mCfg->groups[group].inverters[inv].id <= 0) {
|
||||
continue;
|
||||
}
|
||||
if (NotEnabledOrNotSelected(group, inv)) continue;
|
||||
|
||||
// Abbruch weil Inverter nicht verfügbar
|
||||
if (!mIv[group][inv]->isAvailable()) {
|
||||
|
@ -906,13 +883,15 @@ class ZeroExport {
|
|||
*/
|
||||
bool groupGetPowermeter(uint8_t group, unsigned long *tsp, bool *doLog) {
|
||||
if (mCfg->debug) mLog["t"] = "groupGetPowermeter";
|
||||
|
||||
mCfg->groups[group].lastRun = *tsp;
|
||||
|
||||
*doLog = true;
|
||||
|
||||
bool result = false;
|
||||
result = mPowermeter.getData(mLog, group);
|
||||
mCfg->groups[group].pmPower = mPowermeter.getDataAVG(group).P;
|
||||
mCfg->groups[group].pmPowerL1 = mPowermeter.getDataAVG(group).P1;
|
||||
mCfg->groups[group].pmPowerL2 = mPowermeter.getDataAVG(group).P2;
|
||||
mCfg->groups[group].pmPowerL3 = mPowermeter.getDataAVG(group).P3;
|
||||
|
||||
if (
|
||||
(mCfg->groups[group].pmPower == 0) &&
|
||||
(mCfg->groups[group].pmPowerL1 == 0) &&
|
||||
|
@ -921,6 +900,11 @@ class ZeroExport {
|
|||
return false;
|
||||
}
|
||||
|
||||
mLog["P"] = mCfg->groups[group].pmPower;
|
||||
mLog["P1"] = mCfg->groups[group].pmPowerL1;
|
||||
mLog["P2"] = mCfg->groups[group].pmPowerL2;
|
||||
mLog["P3"] = mCfg->groups[group].pmPowerL3;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1236,13 +1220,8 @@ class ZeroExport {
|
|||
logObj["i"] = inv;
|
||||
|
||||
// Inverter not enabled -> ignore
|
||||
if (!mCfg->groups[group].inverters[inv].enabled) {
|
||||
continue;
|
||||
}
|
||||
// Inverter not selected -> ignore
|
||||
if (mCfg->groups[group].inverters[inv].id <= 0) {
|
||||
continue;
|
||||
}
|
||||
if (NotEnabledOrNotSelected(group, inv)) continue;
|
||||
|
||||
*doLog = true;
|
||||
// Reset
|
||||
if ((mCfg->groups[group].inverters[inv].doReboot) && (mCfg->groups[group].inverters[inv].waitRebootAck == 0)) {
|
||||
|
@ -1310,13 +1289,7 @@ class ZeroExport {
|
|||
logObj["i"] = inv;
|
||||
|
||||
// Inverter not enabled -> ignore
|
||||
if (!mCfg->groups[group].inverters[inv].enabled) {
|
||||
continue;
|
||||
}
|
||||
// Inverter not selected -> ignore
|
||||
if (mCfg->groups[group].inverters[inv].id <= 0) {
|
||||
continue;
|
||||
}
|
||||
if (NotEnabledOrNotSelected(group, inv)) continue;
|
||||
|
||||
if (mCfg->debug) *doLog = true;
|
||||
|
||||
|
@ -1411,14 +1384,7 @@ class ZeroExport {
|
|||
logObj["i"] = inv;
|
||||
|
||||
// Inverter not enabled -> ignore
|
||||
if (!mCfg->groups[group].inverters[inv].enabled) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// Inverter not selected -> ignore
|
||||
if (mCfg->groups[group].inverters[inv].id <= 0) {
|
||||
continue;
|
||||
}
|
||||
if (NotEnabledOrNotSelected(group, inv)) continue;
|
||||
|
||||
// if isOff -> Limit Pmin
|
||||
if (!mIv[group][inv]->isProducing()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue