From 6bdab1f911fad34e9ab90ba35857d960b786d0de Mon Sep 17 00:00:00 2001 From: fvanroie Date: Mon, 30 Mar 2020 16:17:33 +0200 Subject: [PATCH] Enlarge statusupdate buffer size --- src/hasp_mqtt.cpp | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/hasp_mqtt.cpp b/src/hasp_mqtt.cpp index 7dd70991..553ea1d7 100644 --- a/src/hasp_mqtt.cpp +++ b/src/hasp_mqtt.cpp @@ -196,26 +196,27 @@ void mqtt_send_statusupdate() // String mqttStatusPayload((char *)0); // mqttStatusPayload.reserve(512); - DynamicJsonDocument doc(256); + DynamicJsonDocument doc(3 * 128); - doc[F("status")] = F("available"); - doc[F("version")] = haspGetVersion(); - doc[F("uptime")] = long(millis() / 1000); - doc[F("rssi")] = WiFi.RSSI(); - doc[F("ip")] = WiFi.localIP().toString(); - doc[F("heapFree")] = ESP.getFreeHeap(); - doc[F("heapFrag")] = halGetHeapFragmentation(); - doc[F("updateEspAvailable")] = false; - doc[F("espCore")] = halGetCoreVersion().c_str(); - - char buffer[256]; - size_t n = serializeJson(doc, buffer); - mqtt_send_state(F("statusupdate"), buffer); + doc[F("status")] = F("available"); + doc[F("version")] = haspGetVersion(); + doc[F("uptime")] = long(millis() / 1000); + doc[F("rssi")] = WiFi.RSSI(); + doc[F("ip")] = WiFi.localIP().toString(); + doc[F("heapFree")] = ESP.getFreeHeap(); + doc[F("heapFrag")] = halGetHeapFragmentation(); + doc[F("espCanUpdate")] = false; + doc[F("espCore")] = halGetCoreVersion().c_str(); #if defined(ARDUINO_ARCH_ESP8266) doc[F("espVcc")] = (float)ESP.getVcc() / 1000; #endif + char buffer[3 * 128]; + size_t n = serializeJson(doc, buffer, sizeof(buffer)); + mqtt_send_state(F("statusupdate"), buffer); + + /* if(updateEspAvailable) { mqttStatusPayload += F("\"updateEspAvailable\":true,"); } else {