diff --git a/dashboard/app.js b/dashboard/app.js
index 59209f3..ad32b5a 100644
--- a/dashboard/app.js
+++ b/dashboard/app.js
@@ -66,7 +66,8 @@ class DashboardApp {
{ key: 'version', label: 'Version' },
{ key: 'sessionEnergy', label: 'Session energy' },
{ key: 'temperature', label: 'Temperature' },
- { key: 'chargingPhases', label: 'Charging phases' }
+ { key: 'chargingPhases', label: 'Charging phases' },
+ { key: 'digitalInputMode', label: 'Digital input' }
];
this.renderStaticTemplates();
@@ -979,6 +980,18 @@ class DashboardApp {
return Number.isFinite(value) ? `Unknown (${value})` : '—';
}
+ if (key === 'digitalInputMode') {
+ const modes = {
+ 0: 'Charging allowed',
+ 1: 'Charging allowed inverted',
+ 2: 'PWM and S0 signaling',
+ 3: 'Limit and S0 signaling'
+ };
+ if (value in modes)
+ return modes[value];
+ return Number.isFinite(value) ? `Unknown (${value})` : '—';
+ }
+
if ((key === 'currentPower' || key === 'sessionEnergy') && typeof value === 'number') {
const unit = key === 'currentPower' ? 'kW' : 'kWh';
if (key === 'currentPower')
diff --git a/dashboard/index.html b/dashboard/index.html
index 83d7900..6075a97 100644
--- a/dashboard/index.html
+++ b/dashboard/index.html
@@ -711,11 +711,12 @@
Session energy |
Temperature |
Charging phases |
+ Digital input |
- | No chargers loaded yet. |
+ No chargers loaded yet. |
diff --git a/plugin/evdashengine.cpp b/plugin/evdashengine.cpp
index c90e4ca..ea4c5b8 100644
--- a/plugin/evdashengine.cpp
+++ b/plugin/evdashengine.cpp
@@ -519,12 +519,11 @@ QJsonObject EvDashEngine::packCharger(Thing *charger) const
}
}
-
-
chargerObject.insert("connected", charger->stateValue("connected").toBool());
- chargerObject.insert("status", charger->stateValue("status").toString());
chargerObject.insert("chargingCurrent", charger->stateValue("maxChargingCurrent").toDouble());
chargerObject.insert("currentPower", charger->stateValue("currentPower").toDouble());
+ chargerObject.insert("pluggedIn", charger->stateValue("pluggedIn").toBool());
+ chargerObject.insert("chargingAllowed", charger->stateValue("power").toBool());
if (charger->hasState("currentVersion"))
chargerObject.insert("version", charger->stateValue("currentVersion").toDouble());
@@ -532,12 +531,21 @@ QJsonObject EvDashEngine::packCharger(Thing *charger) const
if (charger->hasState("sessionEnergy"))
chargerObject.insert("sessionEnergy", charger->stateValue("sessionEnergy").toDouble());
- if (charger->hasState("temperature"))
- chargerObject.insert("temperature", charger->stateValue("temperature").toDouble());
-
if (charger->hasState("desiredPhaseCount"))
chargerObject.insert("chargingPhases", charger->stateValue("desiredPhaseCount").toInt());
+ // PCE specific
+ if (charger->hasState("temperature"))
+ chargerObject.insert("temperature", charger->stateValue("temperature").toDouble());
+
+ if (charger->hasState("error"))
+ chargerObject.insert("error", charger->stateValue("error").toString());
+
+ if (charger->hasState("status"))
+ chargerObject.insert("status", charger->stateValue("status").toString());
+
+ if (charger->hasState("digitalInputMode"))
+ chargerObject.insert("digitalInputMode", charger->stateValue("digitalInputMode").toInt());
return chargerObject;
}