From a6a261d7b0af357fe30a346fa80d443e0b29ecaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20Bo=CC=88hm?= Date: Thu, 25 Jul 2024 08:33:26 +0200 Subject: [PATCH] use soc and current precision in live view --- include/BatteryStats.h | 2 ++ src/WebApi_ws_live.cpp | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/BatteryStats.h b/include/BatteryStats.h index d8075b0a4..94da35d78 100644 --- a/include/BatteryStats.h +++ b/include/BatteryStats.h @@ -20,11 +20,13 @@ class BatteryStats { uint8_t getSoC() const { return _soc; } uint32_t getSoCAgeSeconds() const { return (millis() - _lastUpdateSoC) / 1000; } + uint8_t getSoCPrecision() const { return _socPrecision; } float getVoltage() const { return _voltage; } uint32_t getVoltageAgeSeconds() const { return (millis() - _lastUpdateVoltage) / 1000; } float getChargeCurrent() const { return _current; }; + uint8_t getChargeCurrentPrecision() const { return _currentPrecision; } // convert stats to JSON for web application live view virtual void getLiveViewData(JsonVariant& root) const; diff --git a/src/WebApi_ws_live.cpp b/src/WebApi_ws_live.cpp index ea7a8018f..cda20e72f 100644 --- a/src/WebApi_ws_live.cpp +++ b/src/WebApi_ws_live.cpp @@ -93,7 +93,7 @@ void WebApiWsLiveClass::generateOnBatteryJsonResponse(JsonVariant& root, bool al if (config.Battery.Enabled) { if (spStats->isSoCValid()) { - addTotalField(batteryObj, "soc", spStats->getSoC(), "%", 0); + addTotalField(batteryObj, "soc", spStats->getSoC(), "%", spStats->getSoCPrecision()); } if (spStats->isVoltageValid()) { @@ -101,7 +101,7 @@ void WebApiWsLiveClass::generateOnBatteryJsonResponse(JsonVariant& root, bool al } if (spStats->isCurrentValid()) { - addTotalField(batteryObj, "current", spStats->getChargeCurrent(), "A", 1); + addTotalField(batteryObj, "current", spStats->getChargeCurrent(), "A", spStats->getChargeCurrentPrecision()); } if (spStats->isVoltageValid() && spStats->isCurrentValid()) {