From 50bfbf8a38d7e31c58d8adcb29a5e4de77b37383 Mon Sep 17 00:00:00 2001 From: lumapu Date: Sun, 18 Sep 2022 20:16:20 +0200 Subject: [PATCH] added round to 3 decimals for API JSON (reduced transmitted length) --- tools/esp8266/webApi.cpp | 4 ++-- tools/esp8266/webApi.h | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/esp8266/webApi.cpp b/tools/esp8266/webApi.cpp index a4705a96..568646e2 100644 --- a/tools/esp8266/webApi.cpp +++ b/tools/esp8266/webApi.cpp @@ -281,7 +281,7 @@ void webApi::getLive(JsonObject obj) { obj2[F("ch_names")][0] = "AC"; for (uint8_t fld = 0; fld < 11; fld++) { pos = (iv->getPosByChFld(CH0, list[fld], rec)); - ch0[fld] = (0xff != pos) ? iv->getValue(pos, rec) : 0.0; + ch0[fld] = (0xff != pos) ? round3(iv->getValue(pos, rec)) : 0.0; obj[F("ch0_fld_units")][fld] = (0xff != pos) ? String(iv->getUnit(pos, rec)) : F("n/a"); obj[F("ch0_fld_names")][fld] = (0xff != pos) ? String(iv->getFieldName(pos, rec)) : F("n/a"); } @@ -298,7 +298,7 @@ void webApi::getLive(JsonObject obj) { case 4: pos = (iv->getPosByChFld(j, FLD_YT, rec)); break; case 5: pos = (iv->getPosByChFld(j, FLD_IRR, rec)); break; } - cur[k] = (0xff != pos) ? iv->getValue(pos, rec) : 0.0; + cur[k] = (0xff != pos) ? round3(iv->getValue(pos, rec)) : 0.0; if(1 == j) { obj[F("fld_units")][k] = (0xff != pos) ? String(iv->getUnit(pos, rec)) : F("n/a"); obj[F("fld_names")][k] = (0xff != pos) ? String(iv->getFieldName(pos, rec)) : F("n/a"); diff --git a/tools/esp8266/webApi.h b/tools/esp8266/webApi.h index 51d02adf..b702ccf0 100644 --- a/tools/esp8266/webApi.h +++ b/tools/esp8266/webApi.h @@ -41,6 +41,10 @@ class webApi { Inverter<> *getInverter(DynamicJsonDocument jsonIn, JsonObject jsonOut); + double round3(double value) { + return (int)(value * 1000 + 0.5) / 1000.0; + } + AsyncWebServer *mSrv; app *mApp;