From 1b9a2f21d2778215c707a5a63435a30b1aaa10a0 Mon Sep 17 00:00:00 2001 From: sunbuzz Date: Fri, 3 Sep 2021 15:01:05 +0200 Subject: [PATCH] Increased EMSESP_JSON_SIZE_XXLARGE_DYN to 16384 (at 10635 right now) + small fixes --- lib/ESPAsyncWebServer/AsyncJson.h | 2 ++ src/devices/boiler.cpp | 4 ++-- src/emsesp.h | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/ESPAsyncWebServer/AsyncJson.h b/lib/ESPAsyncWebServer/AsyncJson.h index 76dc3d817..a1ace6ca8 100644 --- a/lib/ESPAsyncWebServer/AsyncJson.h +++ b/lib/ESPAsyncWebServer/AsyncJson.h @@ -78,6 +78,8 @@ class MsgpackAsyncJsonResponse : public AsyncAbstractResponse { } size_t setLength() { _contentLength = measureMsgPack(_root); + //_headers.add(new AsyncWebHeader("Json-Length", String(_jsonBuffer.memoryUsage()))); // For determening size of EMSESP_JSON_SIZE_XXLARGE_DYN (Sunbuzz) + // Json-Length: 10635 if (_contentLength) { _isValid = true; } diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp index eca1119c6..bcef13899 100644 --- a/src/devices/boiler.cpp +++ b/src/devices/boiler.cpp @@ -84,7 +84,7 @@ Boiler::Boiler(uint8_t device_type, int8_t device_id, uint8_t product_id, const if (model() == EMSdevice::EMS_DEVICE_FLAG_HEATPUMP) { register_telegram_type(0x494, F("UBAEnergySupplied"), false, MAKE_PF_CB(process_UBAEnergySupplied)); register_telegram_type(0x495, F("UBAInformation"), false, MAKE_PF_CB(process_UBAInformation)); - register_telegram_type(0x48D, F("HpPower"), false, MAKE_PF_CB(process_HpPower)); + register_telegram_type(0x48D, F("HpPower"), true, MAKE_PF_CB(process_HpPower)); register_telegram_type(0x48F, F("HpOutdoor"), false, MAKE_PF_CB(process_HpOutdoor)); register_telegram_type(0x48A, F("HpPool"), true, MAKE_PF_CB(process_HpPool)); } @@ -683,7 +683,7 @@ void Boiler::process_HpPower(std::shared_ptr telegram) { has_update(telegram->read_value(hpBrinePumpSpd_, 5)); has_update(telegram->read_value(hpCompSpd_, 17)); has_update(telegram->read_value(hpCircSpd_, 4)); - has_update(telegram->read_bitvalue(hpSwitchValve_, 0, 4)); + has_update(telegram->read_bitvalue(hpSwitchValve_, 0, 6)); has_update(telegram->read_value(hpActivity_, 7)); hpHeatingOn_ = 0; diff --git a/src/emsesp.h b/src/emsesp.h index 978281ef8..6e3ea7fa9 100644 --- a/src/emsesp.h +++ b/src/emsesp.h @@ -62,7 +62,7 @@ #define EMSESP_JSON_SIZE_MEDIUM_DYN 1024 // for large json docs, using DynamicJsonDocument #define EMSESP_JSON_SIZE_LARGE_DYN 2048 // for very large json docs, using DynamicJsonDocument #define EMSESP_JSON_SIZE_XLARGE_DYN 4096 // for very very large json docs, using DynamicJsonDocument -#define EMSESP_JSON_SIZE_XXLARGE_DYN 10240 // for extra very very large json docs, using DynamicJsonDocument +#define EMSESP_JSON_SIZE_XXLARGE_DYN 16384 // for extra very very large json docs, using DynamicJsonDocument // helpers for callback functions #define MAKE_PF_CB(__f) [&](std::shared_ptr t) { __f(t); } // for Process Function callbacks to EMSDevice::process_function_p