Skip to content

Commit

Permalink
0.7.26 release
Browse files Browse the repository at this point in the history
fix MqTT `last_success`
  • Loading branch information
lumapu committed Aug 6, 2023
1 parent bab700c commit cbdb150
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 27 deletions.
18 changes: 2 additions & 16 deletions src/CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,3 @@
Changelog v0.7.25
Changelog v0.7.26

* ✨ added 'HMS' and 'HMT' support with 'CMT2300A' radio module and `ESP32`
* improved MqTT
* added more display types
* changed maximum number of inverters: ESP32: `16`, ESP8266: `4`
* added option to connect to hidden SSID WiFi
* AP password is configurable now
* add option to communicate with inverters even if no time sync is possible
* add option to reboot Ahoy perodically at midnight
* add time, date and Ahoy-Version number to JSON export
* changed date-time format to ISO format in web UI
* added inverter state machine to archive better its state
* added for NTP sync more info to web UI about the sync itself
* increased to latest library versions (MqTT, RF24 and JSON)
* minor UI improvements
* several bug fixes
* fix MqTT `last_success`
2 changes: 1 addition & 1 deletion src/defines.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
//-------------------------------------
#define VERSION_MAJOR 0
#define VERSION_MINOR 7
#define VERSION_PATCH 25
#define VERSION_PATCH 26

//-------------------------------------
typedef struct {
Expand Down
12 changes: 2 additions & 10 deletions src/publisher/pubMqtt.h
Original file line number Diff line number Diff line change
Expand Up @@ -465,13 +465,12 @@ class PubMqtt {
return (pos >= DEVICE_CLS_ASSIGN_LIST_LEN) ? NULL : stateClasses[deviceFieldAssignment[pos].stateClsId];
}

bool processIvStatus() {
bool processIvStatus() {
// returns true if any inverter is available
bool allAvail = true; // shows if all enabled inverters are available
bool anyAvail = false; // shows if at least one enabled inverter is available
bool changed = false;
Inverter<> *iv;
record_t<> *rec;

for (uint8_t id = 0; id < mSys->getNumInverters(); id++) {
iv = mSys->getInverterByPos(id);
Expand All @@ -480,17 +479,10 @@ class PubMqtt {
if (!iv->config->enabled)
continue; // skip to next inverter

rec = iv->getRecordStruct(RealTimeRunData_Debug);

// inverter status
iv->isProducing(); // recalculate status
if (InverterStatus::OFF < iv->status) {
if (InverterStatus::OFF < iv->status)
anyAvail = true;

snprintf(mSubTopic, 32 + MAX_NAME_LENGTH, "%s/last_success", iv->config->name);
snprintf(mVal, 40, "%d", iv->getLastTs(rec));
publish(mSubTopic, mVal, true);
}
else // inverter is enabled but not available
allAvail = false;

Expand Down
5 changes: 5 additions & 0 deletions src/publisher/pubMqttIvData.h
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,11 @@ class PubMqttIvData {

mPos = 0;
if(found) {
record_t<> *rec = mIv->getRecordStruct(mCmd);
snprintf(mSubTopic, 32 + MAX_NAME_LENGTH, "%s/last_success", mIv->config->name);
snprintf(mVal, 40, "%d", mIv->getLastTs(rec));
mPublish(mSubTopic, mVal, true);

mIv->isProducing(); // recalculate status
mState = SEND_DATA;
} else if(mSendTotals && mTotalFound)
Expand Down

0 comments on commit cbdb150

Please sign in to comment.