Add digital input state
This commit is contained in:
parent
6bf867d816
commit
803283c1bd
@ -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')
|
||||
|
||||
@ -711,11 +711,12 @@
|
||||
<th scope="col">Session energy</th>
|
||||
<th scope="col">Temperature</th>
|
||||
<th scope="col">Charging phases</th>
|
||||
<th scope="col">Digital input</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="chargerTableBody">
|
||||
<tr id="chargerEmptyRow" class="empty-row">
|
||||
<td colspan="11">No chargers loaded yet.</td>
|
||||
<td colspan="12">No chargers loaded yet.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user