diff --git a/src/app.cpp b/src/app.cpp index 10e60c92..a7cc64a3 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -42,6 +42,7 @@ void app::setup(uint32_t timeout) { mMqtt.setup(&mConfig->mqtt, mConfig->sys.deviceName, mVersion, mSys, &mUtcTimestamp, &mSunrise, &mSunset); 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)); } #endif setupLed(); diff --git a/src/publisher/pubMqtt.h b/src/publisher/pubMqtt.h index f3ff4eb1..629edf1c 100644 --- a/src/publisher/pubMqtt.h +++ b/src/publisher/pubMqtt.h @@ -67,6 +67,14 @@ class PubMqtt { sendIvData(); } + void tickerMinute() { + if(mAddressSet) { + char val[40]; + snprintf(val, 40, "%ld", millis() / 1000); + sendMsg("uptime", val); + } + } + void setCallback(MQTT_CALLBACK_SIGNATURE) { mClient->setCallback(callback); } @@ -218,13 +226,10 @@ class PubMqtt { return; isConnected(true); // really needed? See comment from HorstG-57 #176 - char topic[32 + MAX_NAME_LENGTH], val[32]; + char topic[32 + MAX_NAME_LENGTH], val[40]; float total[4]; bool sendTotal = false; bool totalIncomplete = false; - snprintf(val, 40, "%ld", millis() / 1000); - - sendMsg("uptime", val); sendMsg("wifi_rssi", String(WiFi.RSSI()).c_str());