diff --git a/tools/esp8266/app.cpp b/tools/esp8266/app.cpp index 834d9d40..5f96da0c 100644 --- a/tools/esp8266/app.cpp +++ b/tools/esp8266/app.cpp @@ -579,7 +579,6 @@ void app::sendMqtt(void) { char topic[32 + MAX_NAME_LENGTH], val[32]; float total[4]; bool sendTotal = false; - memset(total, 0, sizeof(float) * 4); snprintf(val, 32, "%ld", millis() / 1000); mMqtt.sendMsg("uptime", val); @@ -588,6 +587,7 @@ void app::sendMqtt(void) { return; while(!mMqttSendList.empty()) { + memset(total, 0, sizeof(float) * 4); for (uint8_t id = 0; id < mSys->getNumInverters(); id++) { Inverter<> *iv = mSys->getInverterByPos(id); if (NULL == iv) @@ -653,29 +653,29 @@ void app::sendMqtt(void) { } mMqttSendList.pop(); // remove from list once all inverters were processed - } - if (true == sendTotal) { - uint8_t fieldId; - for (uint8_t i = 0; i < 4; i++) { - switch (i) { - default: - case 0: - fieldId = FLD_PAC; - break; - case 1: - fieldId = FLD_YT; - break; - case 2: - fieldId = FLD_YD; - break; - case 3: - fieldId = FLD_PDC; - break; + if (true == sendTotal) { + uint8_t fieldId; + for (uint8_t i = 0; i < 4; i++) { + switch (i) { + default: + case 0: + fieldId = FLD_PAC; + break; + case 1: + fieldId = FLD_YT; + break; + case 2: + fieldId = FLD_YD; + break; + case 3: + fieldId = FLD_PDC; + break; + } + snprintf(topic, 32 + MAX_NAME_LENGTH, "total/%s", fields[fieldId]); + snprintf(val, 10, "%.3f", total[i]); + mMqtt.sendMsg(topic, val); } - snprintf(topic, 32 + MAX_NAME_LENGTH, "total/%s", fields[fieldId]); - snprintf(val, 10, "%.3f", total[i]); - mMqtt.sendMsg(topic, val); } } } diff --git a/tools/esp8266/defines.h b/tools/esp8266/defines.h index 38462d1c..fd679691 100644 --- a/tools/esp8266/defines.h +++ b/tools/esp8266/defines.h @@ -13,7 +13,7 @@ //------------------------------------- #define VERSION_MAJOR 0 #define VERSION_MINOR 5 -#define VERSION_PATCH 31 +#define VERSION_PATCH 32 //------------------------------------- typedef struct {