fix heartbeat

This commit is contained in:
2020-07-29 15:11:49 +02:00
parent b344fca66e
commit c295d2c169

View File

@ -69,12 +69,11 @@ void loopApplication() {
static uint32_t totalCnt = 0; static uint32_t totalCnt = 0;
static uint32_t lastValuesMillis = 0; static uint32_t lastValuesMillis = 0;
static uint32_t lastHeartbeatMillis = 0; static uint32_t lastHeartbeatMillis = 0;
char buf[VALUES_BUF_SIZE]; uint32_t rainCnt = 0;
if (currentMillis > (lastValuesMillis + (configBlock.valuesPeriod * 1000))) { if (currentMillis > (lastValuesMillis + (configBlock.valuesPeriod * 1000))) {
lastValuesMillis = currentMillis; lastValuesMillis = currentMillis;
// rain sensor // rain sensor
uint32_t rainCnt = 0;
noInterrupts(); noInterrupts();
rainCnt = cnt; rainCnt = cnt;
cnt = 0; cnt = 0;
@ -86,6 +85,7 @@ void loopApplication() {
totalCnt += rainCnt; totalCnt += rainCnt;
// MQTT publishing // MQTT publishing
char buf[VALUES_BUF_SIZE];
memset(buf, 0, VALUES_BUF_SIZE); memset(buf, 0, VALUES_BUF_SIZE);
snprintf(buf, VALUES_BUF_SIZE-1, "{\"raincnt\":%ld, \"totalCnt\":%ld, \"uptime\":%ld}", rainCnt, totalCnt, uptime); snprintf(buf, VALUES_BUF_SIZE-1, "{\"raincnt\":%ld, \"totalCnt\":%ld, \"uptime\":%ld}", rainCnt, totalCnt, uptime);
mqttClient.publish(configBlock.mqttValuesTopic, buf); mqttClient.publish(configBlock.mqttValuesTopic, buf);
@ -101,7 +101,7 @@ void loopApplication() {
// MQTT publishing // MQTT publishing
char heartbeatBuf[HEARTBEAT_BUF_SIZE]; char heartbeatBuf[HEARTBEAT_BUF_SIZE];
memset(heartbeatBuf, 0, HEARTBEAT_BUF_SIZE); memset(heartbeatBuf, 0, HEARTBEAT_BUF_SIZE);
snprintf(heartbeatBuf, HEARTBEAT_BUF_SIZE-1, "{\"lastMessage\":%s, \"uptime\":%ld}", buf, uptime); snprintf(heartbeatBuf, HEARTBEAT_BUF_SIZE-1, "{\"lastValues\":{\"raincnt\":%ld, \"totalCnt\":%ld}, \"uptime\":%ld}", rainCnt, totalCnt, uptime);
mqttClient.publish(configBlock.mqttHeartbeatTopic, heartbeatBuf); mqttClient.publish(configBlock.mqttHeartbeatTopic, heartbeatBuf);
} }