diff --git a/src/app.cpp b/src/app.cpp index a7cc64a3..fcfee586 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -43,6 +43,7 @@ void app::setup(uint32_t timeout) { mPayload.addListener(std::bind(&PubMqttType::payloadEventListener, &mMqtt, std::placeholders::_1)); addListener(EVERY_SEC, std::bind(&PubMqttType::tickerSecond, &mMqtt)); addListener(EVERY_MIN, std::bind(&PubMqttType::tickerMinute, &mMqtt)); + addListener(EVERY_HR, std::bind(&PubMqttType::tickerHour, &mMqtt)); } #endif setupLed(); diff --git a/src/publisher/pubMqtt.h b/src/publisher/pubMqtt.h index 629edf1c..90f27d45 100644 --- a/src/publisher/pubMqtt.h +++ b/src/publisher/pubMqtt.h @@ -72,6 +72,15 @@ class PubMqtt { char val[40]; snprintf(val, 40, "%ld", millis() / 1000); sendMsg("uptime", val); + + sendMsg("wifi_rssi", String(WiFi.RSSI()).c_str()); + } + } + + void tickerHour() { + if(mAddressSet) { + sendMsg("sunrise", String(*mSunrise).c_str()); + sendMsg("sunset", String(*mSunset).c_str()); } } @@ -231,11 +240,6 @@ class PubMqtt { bool sendTotal = false; bool totalIncomplete = false; - sendMsg("wifi_rssi", String(WiFi.RSSI()).c_str()); - - sendMsg("sunrise", String(*mSunrise).c_str()); - sendMsg("sunset", String(*mSunset).c_str()); - while(!mSendList.empty()) { memset(total, 0, sizeof(float) * 4); for (uint8_t id = 0; id < mSys->getNumInverters(); id++) {