Skip to content

Commit c623426

Browse files
committed
Make maximum data age adjustable via WebAPI
1 parent 30b8027 commit c623426

File tree

9 files changed

+14
-5
lines changed

9 files changed

+14
-5
lines changed

src/battery/Stats.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ void Stats::getLiveViewData(JsonVariant& root) const
4343
root["hwversion"] = _hwversion;
4444
}
4545
root["data_age"] = getAgeSeconds();
46+
root["max_age"] = 20;
4647

4748
if (isSoCValid()) {
4849
addLiveViewValue(root, "SoC", _soc, "%", _socPrecision);

src/battery/zendure/Stats.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,12 @@ void Stats::getLiveViewData(JsonVariant& root) const
1111

1212
auto const& config = Configuration.get();
1313

14+
// set maximum age for aging within UI
15+
root["max_age"] = 90;
16+
1417
// values go into the "Status" card of the web application
1518
std::string section("status");
16-
addLiveViewInSection(root, section, "totalInputPower", getInputPower(), "W", 0, false);
19+
addLiveViewInSection(root, section, "totalInputPower", getInputPower().value_or(0), "W", 0);
1720
addLiveViewInSection(root, section, "chargePower", _charge_power, "W", 0);
1821
addLiveViewInSection(root, section, "dischargePower", _discharge_power, "W", 0);
1922
addLiveViewInSection(root, section, "totalOutputPower", _output_power, "W", 0);

src/solarcharger/integrated/Stats.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ void Stats::getLiveViewData(JsonVariant& root, const boolean fullUpdate, const u
4949

5050
const JsonObject instance = root["solarcharger"]["instances"][device->getSerial()].to<JsonObject>();
5151
instance["data_age_ms"] = devage;
52+
instance["max_age_ms"] = 90 * 1000;
5253
instance["hide_serial"] = false;
5354
instance["product_id"] = device->getName();
5455

src/solarcharger/mqtt/Stats.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ void Stats::getLiveViewData(JsonVariant& root, const boolean fullUpdate, const u
6161

6262
const JsonObject instance = root["solarcharger"]["instances"]["MQTT"].to<JsonObject>();
6363
instance["data_age_ms"] = age;
64+
instance["max_age_ms"] = 10 * 1000;
6465
instance["hide_serial"] = true;
6566
instance["product_id"] = "MQTT"; // will be translated by the web app
6667

src/solarcharger/victron/Stats.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ void Stats::getLiveViewData(JsonVariant& root, const boolean fullUpdate, const u
210210

211211
JsonObject instance = instances[entry.second.serialNr_SER].to<JsonObject>();
212212
instance["data_age_ms"] = age;
213+
instance["max_age_ms"] = 10 * 1000;
213214
instance["hide_serial"] = false;
214215
populateJsonWithInstanceStats(instance, entry.second);
215216
}

webapp/src/components/BatteryView.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
<div
1313
class="card-header d-flex justify-content-between align-items-center"
1414
:class="{
15-
'text-bg-danger': batteryData.data_age >= 20,
16-
'text-bg-success': batteryData.data_age < 20,
15+
'text-bg-danger': batteryData.data_age >= batteryData.max_age,
16+
'text-bg-success': batteryData.data_age < batteryData.max_age,
1717
}"
1818
>
1919
<div class="p-1 flex-grow-1">

webapp/src/components/SolarChargerView.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
<div
1313
class="card-header d-flex justify-content-between align-items-center"
1414
:class="{
15-
'text-bg-danger': item.data_age_ms >= 10000,
16-
'text-bg-success': item.data_age_ms < 10000,
15+
'text-bg-danger': item.data_age_ms >= item.max_age_ms,
16+
'text-bg-success': item.data_age_ms < item.max_age_ms,
1717
}"
1818
>
1919
<div class="p-1 flex-grow-1">

webapp/src/types/BatteryDataStatus.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ export interface Battery {
99
fwversion: string;
1010
hwversion: string;
1111
data_age: number;
12+
max_age: number;
1213
values: BatteryData[];
1314
showIssues: boolean;
1415
issues: number[];

webapp/src/types/SolarChargerLiveDataStatus.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ type MpptData = (ValueObject | string)[];
1414

1515
export interface SolarChargerInstance {
1616
data_age_ms: number;
17+
max_age_ms: number;
1718
product_id: string;
1819
firmware_version?: string;
1920
hide_serial: boolean;

0 commit comments

Comments
 (0)