mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-07 00:09:51 +03:00
hearbeat in JSON - https://github.com/proddy/EMS-ESP/issues/217
This commit is contained in:
@@ -1379,23 +1379,22 @@ void MyESP::_heartbeatCheck(bool force = false) {
|
||||
uint32_t free_memory = ESP.getFreeHeap();
|
||||
uint8_t mem_available = 100 * free_memory / total_memory; // as a %
|
||||
|
||||
char payload[300] = {0};
|
||||
char s[10];
|
||||
strlcpy(payload, "version=", sizeof(payload));
|
||||
strlcat(payload, _app_version, sizeof(payload)); // version
|
||||
strlcat(payload, ", IP=", sizeof(payload));
|
||||
strlcat(payload, WiFi.localIP().toString().c_str(), sizeof(payload)); // IP address
|
||||
strlcat(payload, ", rssid=", sizeof(payload));
|
||||
strlcat(payload, itoa(getWifiQuality(), s, 10), sizeof(payload)); // rssi %
|
||||
strlcat(payload, "%, load=", sizeof(payload));
|
||||
strlcat(payload, ltoa(getSystemLoadAverage(), s, 10), sizeof(payload)); // load
|
||||
strlcat(payload, "%, uptime=", sizeof(payload));
|
||||
strlcat(payload, ltoa(_getUptime(), s, 10), sizeof(payload)); // uptime in secs
|
||||
strlcat(payload, "secs, freemem=", sizeof(payload));
|
||||
strlcat(payload, itoa(mem_available, s, 10), sizeof(payload)); // free mem as a %
|
||||
strlcat(payload, "%", sizeof(payload));
|
||||
StaticJsonDocument<200> doc;
|
||||
JsonObject rootHeartbeat = doc.to<JsonObject>();
|
||||
|
||||
mqttPublish(MQTT_TOPIC_HEARTBEAT, payload, false); // send to MQTT with retain off
|
||||
rootHeartbeat["version"] = _app_version;
|
||||
rootHeartbeat["IP"] = WiFi.localIP().toString().c_str();
|
||||
rootHeartbeat["rssid"] = getWifiQuality();
|
||||
rootHeartbeat["load"] = getSystemLoadAverage();
|
||||
rootHeartbeat["uptime"] = _getUptime();
|
||||
rootHeartbeat["freemem"] = mem_available;
|
||||
|
||||
char data[300] = {0};
|
||||
serializeJson(doc, data, sizeof(data));
|
||||
|
||||
// myDebugLog("Publishing hearbeat via MQTT");
|
||||
|
||||
(void)mqttPublish(MQTT_TOPIC_HEARTBEAT, data, false); // send to MQTT with retain off
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user