diff --git a/src/BatteryStats.cpp b/src/BatteryStats.cpp index fb1d2f2d..81939e7f 100644 --- a/src/BatteryStats.cpp +++ b/src/BatteryStats.cpp @@ -180,12 +180,10 @@ void JkBmsBatteryStats::mqttPublish() const void JkBmsBatteryStats::updateFrom(JkBms::DataPointContainer const& dp) { - _dataPoints.updateFrom(dp); - using Label = JkBms::DataPointLabel; _manufacturer = "JKBMS"; - auto oProductId = _dataPoints.get(); + auto oProductId = dp.get(); if (oProductId.has_value()) { _manufacturer = oProductId->c_str(); auto pos = oProductId->rfind("JK"); @@ -194,12 +192,14 @@ void JkBmsBatteryStats::updateFrom(JkBms::DataPointContainer const& dp) } } - auto oSoCValue = _dataPoints.get(); + auto oSoCValue = dp.get(); if (oSoCValue.has_value()) { _SoC = *oSoCValue; - auto oSoCDataPoint = _dataPoints.getDataPointFor(); + auto oSoCDataPoint = dp.getDataPointFor(); _lastUpdateSoC = oSoCDataPoint->getTimestamp(); } + _dataPoints.updateFrom(dp); + _lastUpdate = millis(); }