Add digital input state
This commit is contained in:
parent
6bf867d816
commit
803283c1bd
@ -66,7 +66,8 @@ class DashboardApp {
|
|||||||
{ key: 'version', label: 'Version' },
|
{ key: 'version', label: 'Version' },
|
||||||
{ key: 'sessionEnergy', label: 'Session energy' },
|
{ key: 'sessionEnergy', label: 'Session energy' },
|
||||||
{ key: 'temperature', label: 'Temperature' },
|
{ key: 'temperature', label: 'Temperature' },
|
||||||
{ key: 'chargingPhases', label: 'Charging phases' }
|
{ key: 'chargingPhases', label: 'Charging phases' },
|
||||||
|
{ key: 'digitalInputMode', label: 'Digital input' }
|
||||||
];
|
];
|
||||||
|
|
||||||
this.renderStaticTemplates();
|
this.renderStaticTemplates();
|
||||||
@ -979,6 +980,18 @@ class DashboardApp {
|
|||||||
return Number.isFinite(value) ? `Unknown (${value})` : '—';
|
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') {
|
if ((key === 'currentPower' || key === 'sessionEnergy') && typeof value === 'number') {
|
||||||
const unit = key === 'currentPower' ? 'kW' : 'kWh';
|
const unit = key === 'currentPower' ? 'kW' : 'kWh';
|
||||||
if (key === 'currentPower')
|
if (key === 'currentPower')
|
||||||
|
|||||||
@ -711,11 +711,12 @@
|
|||||||
<th scope="col">Session energy</th>
|
<th scope="col">Session energy</th>
|
||||||
<th scope="col">Temperature</th>
|
<th scope="col">Temperature</th>
|
||||||
<th scope="col">Charging phases</th>
|
<th scope="col">Charging phases</th>
|
||||||
|
<th scope="col">Digital input</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="chargerTableBody">
|
<tbody id="chargerTableBody">
|
||||||
<tr id="chargerEmptyRow" class="empty-row">
|
<tr id="chargerEmptyRow" class="empty-row">
|
||||||
<td colspan="11">No chargers loaded yet.</td>
|
<td colspan="12">No chargers loaded yet.</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@ -519,12 +519,11 @@ QJsonObject EvDashEngine::packCharger(Thing *charger) const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
chargerObject.insert("connected", charger->stateValue("connected").toBool());
|
chargerObject.insert("connected", charger->stateValue("connected").toBool());
|
||||||
chargerObject.insert("status", charger->stateValue("status").toString());
|
|
||||||
chargerObject.insert("chargingCurrent", charger->stateValue("maxChargingCurrent").toDouble());
|
chargerObject.insert("chargingCurrent", charger->stateValue("maxChargingCurrent").toDouble());
|
||||||
chargerObject.insert("currentPower", charger->stateValue("currentPower").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"))
|
if (charger->hasState("currentVersion"))
|
||||||
chargerObject.insert("version", charger->stateValue("currentVersion").toDouble());
|
chargerObject.insert("version", charger->stateValue("currentVersion").toDouble());
|
||||||
@ -532,12 +531,21 @@ QJsonObject EvDashEngine::packCharger(Thing *charger) const
|
|||||||
if (charger->hasState("sessionEnergy"))
|
if (charger->hasState("sessionEnergy"))
|
||||||
chargerObject.insert("sessionEnergy", charger->stateValue("sessionEnergy").toDouble());
|
chargerObject.insert("sessionEnergy", charger->stateValue("sessionEnergy").toDouble());
|
||||||
|
|
||||||
if (charger->hasState("temperature"))
|
|
||||||
chargerObject.insert("temperature", charger->stateValue("temperature").toDouble());
|
|
||||||
|
|
||||||
if (charger->hasState("desiredPhaseCount"))
|
if (charger->hasState("desiredPhaseCount"))
|
||||||
chargerObject.insert("chargingPhases", charger->stateValue("desiredPhaseCount").toInt());
|
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;
|
return chargerObject;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user