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; }