Merge PR #180: PCE: Add serial number as paramter
This commit is contained in:
commit
8dd01add95
@ -103,6 +103,23 @@
|
|||||||
"value": 9
|
"value": 9
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "DigitalInputMode",
|
||||||
|
"values": [
|
||||||
|
{
|
||||||
|
"key": "EnableCharging",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "EnableChargingInverted",
|
||||||
|
"value": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "PwmS0Enabled",
|
||||||
|
"value": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"blocks": [
|
"blocks": [
|
||||||
@ -328,7 +345,17 @@
|
|||||||
"registerType": "holdingRegister",
|
"registerType": "holdingRegister",
|
||||||
"description": "LED brightness",
|
"description": "LED brightness",
|
||||||
"unit": "%",
|
"unit": "%",
|
||||||
"access": "WO"
|
"access": "RW"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "digitalInputMode",
|
||||||
|
"address": 205,
|
||||||
|
"size": 1,
|
||||||
|
"type": "uint16",
|
||||||
|
"registerType": "holdingRegister",
|
||||||
|
"description": "Digital input mode",
|
||||||
|
"enum": "DigitalInputMode",
|
||||||
|
"access": "RW"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -70,6 +70,7 @@ void IntegrationPluginPcElectric::discoverThings(ThingDiscoveryInfo *info)
|
|||||||
|
|
||||||
ParamList params;
|
ParamList params;
|
||||||
params << Param(ev11ThingMacAddressParamTypeId, result.networkDeviceInfo.macAddress());
|
params << Param(ev11ThingMacAddressParamTypeId, result.networkDeviceInfo.macAddress());
|
||||||
|
params << Param(ev11ThingSerialNumberParamTypeId, result.serialNumber);
|
||||||
// Note: if we discover also the port and modbusaddress, we must fill them in from the discovery here, for now everywhere the defaults...
|
// Note: if we discover also the port and modbusaddress, we must fill them in from the discovery here, for now everywhere the defaults...
|
||||||
descriptor.setParams(params);
|
descriptor.setParams(params);
|
||||||
info->addThingDescriptor(descriptor);
|
info->addThingDescriptor(descriptor);
|
||||||
@ -163,6 +164,9 @@ void IntegrationPluginPcElectric::thingRemoved(Thing *thing)
|
|||||||
connection->deleteLater();
|
connection->deleteLater();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_initialUpdate.contains(thing))
|
||||||
|
m_initialUpdate.remove(thing);
|
||||||
|
|
||||||
// Unregister related hardware resources
|
// Unregister related hardware resources
|
||||||
if (m_monitors.contains(thing))
|
if (m_monitors.contains(thing))
|
||||||
hardwareManager()->networkDeviceDiscovery()->unregisterMonitor(m_monitors.take(thing));
|
hardwareManager()->networkDeviceDiscovery()->unregisterMonitor(m_monitors.take(thing));
|
||||||
@ -284,6 +288,9 @@ void IntegrationPluginPcElectric::setupConnection(ThingSetupInfo *info)
|
|||||||
PceWallbox *connection = new PceWallbox(monitor->networkDeviceInfo().address(), 502, 1, this);
|
PceWallbox *connection = new PceWallbox(monitor->networkDeviceInfo().address(), 502, 1, this);
|
||||||
connect(info, &ThingSetupInfo::aborted, connection, &PceWallbox::deleteLater);
|
connect(info, &ThingSetupInfo::aborted, connection, &PceWallbox::deleteLater);
|
||||||
|
|
||||||
|
if (monitor->networkDeviceInfo().isComplete())
|
||||||
|
connection->modbusTcpMaster()->setHostAddress(monitor->networkDeviceInfo().address());
|
||||||
|
|
||||||
// Monitor reachability
|
// Monitor reachability
|
||||||
connect(monitor, &NetworkDeviceMonitor::reachableChanged, thing, [=](bool reachable){
|
connect(monitor, &NetworkDeviceMonitor::reachableChanged, thing, [=](bool reachable){
|
||||||
if (!thing->setupComplete())
|
if (!thing->setupComplete())
|
||||||
@ -301,12 +308,13 @@ void IntegrationPluginPcElectric::setupConnection(ThingSetupInfo *info)
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Connection reachability
|
// Connection reachability
|
||||||
connect(connection, &PceWallbox::reachableChanged, thing, [thing](bool reachable){
|
connect(connection, &PceWallbox::reachableChanged, thing, [this, thing](bool reachable){
|
||||||
qCInfo(dcPcElectric()) << "Reachable changed to" << reachable << "for" << thing;
|
qCInfo(dcPcElectric()) << "Reachable changed to" << reachable << "for" << thing;
|
||||||
|
m_initialUpdate[thing] = true;
|
||||||
thing->setStateValue("connected", reachable);
|
thing->setStateValue("connected", reachable);
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(connection, &PceWallbox::updateFinished, thing, [thing, connection](){
|
connect(connection, &PceWallbox::updateFinished, thing, [this, thing, connection](){
|
||||||
qCDebug(dcPcElectric()) << "Update finished for" << thing;
|
qCDebug(dcPcElectric()) << "Update finished for" << thing;
|
||||||
qCDebug(dcPcElectric()) << connection;
|
qCDebug(dcPcElectric()) << connection;
|
||||||
if (!connection->phaseAutoSwitch()) {
|
if (!connection->phaseAutoSwitch()) {
|
||||||
@ -328,7 +336,7 @@ void IntegrationPluginPcElectric::setupConnection(ThingSetupInfo *info)
|
|||||||
|
|
||||||
thing->setStateMaxValue(ev11MaxChargingCurrentStateTypeId, connection->maxChargingCurrentDip() / 1000);
|
thing->setStateMaxValue(ev11MaxChargingCurrentStateTypeId, connection->maxChargingCurrentDip() / 1000);
|
||||||
thing->setStateValue(ev11PluggedInStateTypeId, connection->chargingState() >= PceWallbox::ChargingStateB1 &&
|
thing->setStateValue(ev11PluggedInStateTypeId, connection->chargingState() >= PceWallbox::ChargingStateB1 &&
|
||||||
connection->chargingState() < PceWallbox::ChargingStateError);
|
connection->chargingState() < PceWallbox::ChargingStateError);
|
||||||
|
|
||||||
thing->setStateValue(ev11ChargingStateTypeId, connection->chargingState() == PceWallbox::ChargingStateC2);
|
thing->setStateValue(ev11ChargingStateTypeId, connection->chargingState() == PceWallbox::ChargingStateC2);
|
||||||
if (connection->chargingRelayState() != EV11ModbusTcpConnection::ChargingRelayStateNoCharging) {
|
if (connection->chargingRelayState() != EV11ModbusTcpConnection::ChargingRelayStateNoCharging) {
|
||||||
@ -344,39 +352,61 @@ void IntegrationPluginPcElectric::setupConnection(ThingSetupInfo *info)
|
|||||||
thing->setStateValue(ev11ErrorStateTypeId, "Kein Fehler aktiv");
|
thing->setStateValue(ev11ErrorStateTypeId, "Kein Fehler aktiv");
|
||||||
break;
|
break;
|
||||||
case EV11ModbusTcpConnection::ErrorOverheating:
|
case EV11ModbusTcpConnection::ErrorOverheating:
|
||||||
thing->setStateValue(ev11ErrorStateTypeId, "Übertemperatur. Ladevorgang wird automatisch fortgesetzt.");
|
thing->setStateValue(ev11ErrorStateTypeId, "1: Übertemperatur. Ladevorgang wird automatisch fortgesetzt.");
|
||||||
break;
|
break;
|
||||||
case EV11ModbusTcpConnection::ErrorDCFaultCurrent:
|
case EV11ModbusTcpConnection::ErrorDCFaultCurrent:
|
||||||
thing->setStateValue(ev11ErrorStateTypeId, "DC Fehlerstromsensor ausgelöst.");
|
thing->setStateValue(ev11ErrorStateTypeId, "2: DC Fehlerstromsensor ausgelöst.");
|
||||||
break;
|
break;
|
||||||
case EV11ModbusTcpConnection::ErrorChargingWithVentilation:
|
case EV11ModbusTcpConnection::ErrorChargingWithVentilation:
|
||||||
thing->setStateValue(ev11ErrorStateTypeId, "Ladeanforderung mit Belüftung.");
|
thing->setStateValue(ev11ErrorStateTypeId, "3: Ladeanforderung mit Belüftung.");
|
||||||
break;
|
break;
|
||||||
case EV11ModbusTcpConnection::ErrorCPErrorEF:
|
case EV11ModbusTcpConnection::ErrorCPErrorEF:
|
||||||
thing->setStateValue(ev11ErrorStateTypeId, "CP Signal, Fehlercode E oder F.");
|
thing->setStateValue(ev11ErrorStateTypeId, "4: CP Signal, Fehlercode E oder F.");
|
||||||
break;
|
break;
|
||||||
case EV11ModbusTcpConnection::ErrorCPErrorBypass:
|
case EV11ModbusTcpConnection::ErrorCPErrorBypass:
|
||||||
thing->setStateValue(ev11ErrorStateTypeId, "CP Signal, bypass.");
|
thing->setStateValue(ev11ErrorStateTypeId, "5: CP Signal, bypass.");
|
||||||
break;
|
break;
|
||||||
case EV11ModbusTcpConnection::ErrorCPErrorDiodFault:
|
case EV11ModbusTcpConnection::ErrorCPErrorDiodFault:
|
||||||
thing->setStateValue(ev11ErrorStateTypeId, "CP Signal, Diode defekt.");
|
thing->setStateValue(ev11ErrorStateTypeId, "6: CP Signal, Diode defekt.");
|
||||||
break;
|
break;
|
||||||
case EV11ModbusTcpConnection::ErrorDCFaultCurrentCalibrating:
|
case EV11ModbusTcpConnection::ErrorDCFaultCurrentCalibrating:
|
||||||
thing->setStateValue(ev11ErrorStateTypeId, "DC Fehlerstromsensor, Kalibrirung.");
|
thing->setStateValue(ev11ErrorStateTypeId, "7: DC Fehlerstromsensor, Kalibrirung.");
|
||||||
break;
|
break;
|
||||||
case EV11ModbusTcpConnection::ErrorDCFaultCurrentCommunication:
|
case EV11ModbusTcpConnection::ErrorDCFaultCurrentCommunication:
|
||||||
thing->setStateValue(ev11ErrorStateTypeId, "DC Fehlerstromsensor, Kommunikationsfehler.");
|
thing->setStateValue(ev11ErrorStateTypeId, "8: DC Fehlerstromsensor, Kommunikationsfehler.");
|
||||||
break;
|
break;
|
||||||
case EV11ModbusTcpConnection::ErrorDCFaultCurrentError:
|
case EV11ModbusTcpConnection::ErrorDCFaultCurrentError:
|
||||||
thing->setStateValue(ev11ErrorStateTypeId, "DC Fehlerstromsensor, Fehler.");
|
thing->setStateValue(ev11ErrorStateTypeId, "9: DC Fehlerstromsensor, Fehler.");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (m_initialUpdate.value(thing)) {
|
||||||
|
|
||||||
|
m_initialUpdate[thing] = false;
|
||||||
|
qCDebug(dcPcElectric()) << "Updating initial settings after connecting...";
|
||||||
|
|
||||||
|
thing->setSettingValue(ev11SettingsLedBrightnessParamTypeId, connection->ledBrightness());
|
||||||
|
|
||||||
|
switch (connection->digitalInputMode()) {
|
||||||
|
case EV11ModbusTcpConnection::DigitalInputModeEnableCharging:
|
||||||
|
thing->setSettingValue(ev11SettingsDigitalInputModeParamTypeId, "0 | Charging allowed");
|
||||||
|
break;
|
||||||
|
case EV11ModbusTcpConnection::DigitalInputModeEnableChargingInverted:
|
||||||
|
thing->setSettingValue(ev11SettingsDigitalInputModeParamTypeId, "1 | Charging allowed inverted");
|
||||||
|
break;
|
||||||
|
case EV11ModbusTcpConnection::DigitalInputModePwmS0Enabled:
|
||||||
|
thing->setSettingValue(ev11SettingsDigitalInputModeParamTypeId, "2 | PWM and S0 signaling");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
connect(thing, &Thing::settingChanged, connection, [thing, connection](const ParamTypeId ¶mTypeId, const QVariant &value){
|
connect(thing, &Thing::settingChanged, connection, [thing, connection](const ParamTypeId ¶mTypeId, const QVariant &value){
|
||||||
|
|
||||||
if (paramTypeId == ev11SettingsLedBrightnessParamTypeId) {
|
if (paramTypeId == ev11SettingsLedBrightnessParamTypeId) {
|
||||||
quint16 percentage = value.toUInt();
|
quint16 percentage = value.toUInt();
|
||||||
qCDebug(dcPcElectric()) << "Set LED brightness" << percentage << "%";
|
|
||||||
|
qCDebug(dcPcElectric()) << "Setting LED brightness to" << percentage << "%";
|
||||||
QueuedModbusReply *reply = connection->setLedBrightness(percentage);
|
QueuedModbusReply *reply = connection->setLedBrightness(percentage);
|
||||||
connect(reply, &QueuedModbusReply::finished, thing, [reply, percentage](){
|
connect(reply, &QueuedModbusReply::finished, thing, [reply, percentage](){
|
||||||
if (reply->error() != QModbusDevice::NoError) {
|
if (reply->error() != QModbusDevice::NoError) {
|
||||||
@ -386,6 +416,31 @@ void IntegrationPluginPcElectric::setupConnection(ThingSetupInfo *info)
|
|||||||
|
|
||||||
qCDebug(dcPcElectric()) << "Successfully set led brightness to" << percentage << "%";
|
qCDebug(dcPcElectric()) << "Successfully set led brightness to" << percentage << "%";
|
||||||
});
|
});
|
||||||
|
} else if (paramTypeId == ev11SettingsDigitalInputModeParamTypeId) {
|
||||||
|
QString mode = value.toString();
|
||||||
|
qCDebug(dcPcElectric()) << "Setting Digital input mode to" << mode;
|
||||||
|
|
||||||
|
EV11ModbusTcpConnection::DigitalInputMode modeValue;
|
||||||
|
if (mode == "0 | Charging allowed") {
|
||||||
|
modeValue = EV11ModbusTcpConnection::DigitalInputModeEnableCharging;
|
||||||
|
} else if (mode == "1 | Charging allowed inverted") {
|
||||||
|
modeValue = EV11ModbusTcpConnection::DigitalInputModeEnableChargingInverted;
|
||||||
|
} else if (mode == "2 | PWM and S0 signaling") {
|
||||||
|
modeValue = EV11ModbusTcpConnection::DigitalInputModePwmS0Enabled;
|
||||||
|
} else {
|
||||||
|
qCWarning(dcPcElectric()) << "Unknown mode value" << mode;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QueuedModbusReply *reply = connection->setDigitalInputMode(modeValue);
|
||||||
|
connect(reply, &QueuedModbusReply::finished, thing, [reply, modeValue](){
|
||||||
|
if (reply->error() != QModbusDevice::NoError) {
|
||||||
|
qCWarning(dcPcElectric()) << "Could not set digital input mode to" << modeValue << reply->errorString();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
qCDebug(dcPcElectric()) << "Successfully set digital input mode to" << modeValue;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -61,6 +61,7 @@ private:
|
|||||||
PluginTimer *m_refreshTimer = nullptr;
|
PluginTimer *m_refreshTimer = nullptr;
|
||||||
QHash<Thing *, PceWallbox *> m_connections;
|
QHash<Thing *, PceWallbox *> m_connections;
|
||||||
QHash<Thing *, NetworkDeviceMonitor *> m_monitors;
|
QHash<Thing *, NetworkDeviceMonitor *> m_monitors;
|
||||||
|
QHash<Thing *, bool> m_initialUpdate;
|
||||||
|
|
||||||
void setupConnection(ThingSetupInfo *info);
|
void setupConnection(ThingSetupInfo *info);
|
||||||
|
|
||||||
|
|||||||
@ -23,6 +23,13 @@
|
|||||||
"type": "QString",
|
"type": "QString",
|
||||||
"inputType": "MacAddress",
|
"inputType": "MacAddress",
|
||||||
"defaultValue": ""
|
"defaultValue": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "db834ca7-934a-473b-8bd8-c641ff0ea879",
|
||||||
|
"name":"serialNumber",
|
||||||
|
"displayName": "Serial number",
|
||||||
|
"type": "QString",
|
||||||
|
"defaultValue": ""
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"settingsTypes": [
|
"settingsTypes": [
|
||||||
@ -34,7 +41,19 @@
|
|||||||
"minValue": 0,
|
"minValue": 0,
|
||||||
"maxValue": 100,
|
"maxValue": 100,
|
||||||
"unit": "Percentage",
|
"unit": "Percentage",
|
||||||
"defaultValue": 50
|
"defaultValue": 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "930e0bf9-0038-436d-9eae-5c0f1cb28825",
|
||||||
|
"name": "digitalInputMode",
|
||||||
|
"displayName": "Digital input mode",
|
||||||
|
"type": "QString",
|
||||||
|
"defaultValue": "0 | Charging allowed",
|
||||||
|
"allowedValues": [
|
||||||
|
"0 | Charging allowed",
|
||||||
|
"1 | Charging allowed inverted",
|
||||||
|
"2 | PWM and S0 signaling"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"stateTypes": [
|
"stateTypes": [
|
||||||
|
|||||||
@ -94,8 +94,7 @@ bool PceWallbox::update()
|
|||||||
m_currentReply = nullptr;
|
m_currentReply = nullptr;
|
||||||
|
|
||||||
if (reply->error() != QModbusDevice::NoError) {
|
if (reply->error() != QModbusDevice::NoError) {
|
||||||
emit updateFinished();
|
QTimer::singleShot(0, this, &PceWallbox::sendNextRequest);
|
||||||
sendNextRequest();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,11 +102,76 @@ bool PceWallbox::update()
|
|||||||
const QVector<quint16> blockValues = unit.values();
|
const QVector<quint16> blockValues = unit.values();
|
||||||
processBlockStatusRegisterValues(blockValues);
|
processBlockStatusRegisterValues(blockValues);
|
||||||
|
|
||||||
emit updateFinished();
|
QTimer::singleShot(0, this, &PceWallbox::sendNextRequest);
|
||||||
sendNextRequest();
|
|
||||||
});
|
});
|
||||||
|
|
||||||
enqueueRequest(reply);
|
enqueueRequest(reply);
|
||||||
|
|
||||||
|
// Digital input
|
||||||
|
bool digitalInputAlreadyQueued = false;
|
||||||
|
foreach (QueuedModbusReply *r, m_queue) {
|
||||||
|
if (r->dataUnit().startAddress() == digitalInputModeDataUnit().startAddress()) {
|
||||||
|
digitalInputAlreadyQueued = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!digitalInputAlreadyQueued) {
|
||||||
|
reply = new QueuedModbusReply(QueuedModbusReply::RequestTypeRead, digitalInputModeDataUnit(), this);
|
||||||
|
connect(reply, &QueuedModbusReply::finished, reply, &QueuedModbusReply::deleteLater);
|
||||||
|
connect(reply, &QueuedModbusReply::finished, this, [this, reply](){
|
||||||
|
|
||||||
|
if (m_currentReply == reply)
|
||||||
|
m_currentReply = nullptr;
|
||||||
|
|
||||||
|
if (reply->error() != QModbusDevice::NoError) {
|
||||||
|
QTimer::singleShot(0, this, &PceWallbox::sendNextRequest);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QModbusDataUnit unit = reply->reply()->result();
|
||||||
|
const QVector<quint16> values = unit.values();
|
||||||
|
processDigitalInputModeRegisterValues(values);
|
||||||
|
|
||||||
|
QTimer::singleShot(0, this, &PceWallbox::sendNextRequest);
|
||||||
|
});
|
||||||
|
|
||||||
|
enqueueRequest(reply);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Led brightness
|
||||||
|
bool ledBrightnessAlreadyQueued = false;
|
||||||
|
foreach (QueuedModbusReply *r, m_queue) {
|
||||||
|
if (r->dataUnit().startAddress() == ledBrightnessDataUnit().startAddress()) {
|
||||||
|
ledBrightnessAlreadyQueued = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ledBrightnessAlreadyQueued) {
|
||||||
|
reply = new QueuedModbusReply(QueuedModbusReply::RequestTypeRead, ledBrightnessDataUnit(), this);
|
||||||
|
connect(reply, &QueuedModbusReply::finished, reply, &QueuedModbusReply::deleteLater);
|
||||||
|
connect(reply, &QueuedModbusReply::finished, this, [this, reply](){
|
||||||
|
|
||||||
|
if (m_currentReply == reply)
|
||||||
|
m_currentReply = nullptr;
|
||||||
|
|
||||||
|
if (reply->error() != QModbusDevice::NoError) {
|
||||||
|
QTimer::singleShot(0, this, &PceWallbox::sendNextRequest);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QModbusDataUnit unit = reply->reply()->result();
|
||||||
|
const QVector<quint16> values = unit.values();
|
||||||
|
processLedBrightnessRegisterValues(values);
|
||||||
|
|
||||||
|
emit updateFinished();
|
||||||
|
QTimer::singleShot(0, this, &PceWallbox::sendNextRequest);
|
||||||
|
});
|
||||||
|
|
||||||
|
enqueueRequest(reply);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -123,7 +187,7 @@ QueuedModbusReply *PceWallbox::setChargingCurrent(quint16 chargingCurrent)
|
|||||||
if (m_currentReply == reply)
|
if (m_currentReply == reply)
|
||||||
m_currentReply = nullptr;
|
m_currentReply = nullptr;
|
||||||
|
|
||||||
sendNextRequest();
|
QTimer::singleShot(0, this, &PceWallbox::sendNextRequest);
|
||||||
return;
|
return;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -143,7 +207,7 @@ QueuedModbusReply *PceWallbox::setLedBrightness(quint16 percentage)
|
|||||||
if (m_currentReply == reply)
|
if (m_currentReply == reply)
|
||||||
m_currentReply = nullptr;
|
m_currentReply = nullptr;
|
||||||
|
|
||||||
sendNextRequest();
|
QTimer::singleShot(0, this, &PceWallbox::sendNextRequest);
|
||||||
return;
|
return;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -151,6 +215,27 @@ QueuedModbusReply *PceWallbox::setLedBrightness(quint16 percentage)
|
|||||||
return reply;
|
return reply;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueuedModbusReply *PceWallbox::setDigitalInputMode(DigitalInputMode digitalInputMode)
|
||||||
|
{
|
||||||
|
if (m_aboutToDelete)
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
|
QueuedModbusReply *reply = new QueuedModbusReply(QueuedModbusReply::RequestTypeWrite, setDigitalInputModeDataUnit(digitalInputMode), this);
|
||||||
|
|
||||||
|
connect(reply, &QueuedModbusReply::finished, reply, &QueuedModbusReply::deleteLater);
|
||||||
|
connect(reply, &QueuedModbusReply::finished, this, [this, reply](){
|
||||||
|
if (m_currentReply == reply)
|
||||||
|
m_currentReply = nullptr;
|
||||||
|
|
||||||
|
QTimer::singleShot(0, this, &PceWallbox::sendNextRequest);
|
||||||
|
return;
|
||||||
|
});
|
||||||
|
|
||||||
|
enqueueRequest(reply, true);
|
||||||
|
return reply;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void PceWallbox::gracefullDeleteLater()
|
void PceWallbox::gracefullDeleteLater()
|
||||||
{
|
{
|
||||||
// Clean up the queue
|
// Clean up the queue
|
||||||
@ -178,7 +263,6 @@ void PceWallbox::sendHeartbeat()
|
|||||||
QueuedModbusReply *reply = new QueuedModbusReply(QueuedModbusReply::RequestTypeWrite, setHeartbeatDataUnit(m_heartbeat++), this);
|
QueuedModbusReply *reply = new QueuedModbusReply(QueuedModbusReply::RequestTypeWrite, setHeartbeatDataUnit(m_heartbeat++), this);
|
||||||
|
|
||||||
connect(reply, &QueuedModbusReply::finished, reply, &QueuedModbusReply::deleteLater);
|
connect(reply, &QueuedModbusReply::finished, reply, &QueuedModbusReply::deleteLater);
|
||||||
|
|
||||||
connect(reply, &QueuedModbusReply::finished, this, [this, reply](){
|
connect(reply, &QueuedModbusReply::finished, this, [this, reply](){
|
||||||
if (m_currentReply == reply)
|
if (m_currentReply == reply)
|
||||||
m_currentReply = nullptr;
|
m_currentReply = nullptr;
|
||||||
@ -189,7 +273,7 @@ void PceWallbox::sendHeartbeat()
|
|||||||
qCDebug(dcPcElectric()) << "Successfully sent heartbeat to" << m_modbusTcpMaster->hostAddress().toString();
|
qCDebug(dcPcElectric()) << "Successfully sent heartbeat to" << m_modbusTcpMaster->hostAddress().toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
sendNextRequest();
|
QTimer::singleShot(0, this, &PceWallbox::sendNextRequest);
|
||||||
return;
|
return;
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -230,13 +314,13 @@ void PceWallbox::sendNextRequest()
|
|||||||
|
|
||||||
if (!m_currentReply->reply()) {
|
if (!m_currentReply->reply()) {
|
||||||
qCWarning(dcPcElectric()) << "Error occurred while sending" << m_currentReply->requestType()
|
qCWarning(dcPcElectric()) << "Error occurred while sending" << m_currentReply->requestType()
|
||||||
<< ModbusDataUtils::registerTypeToString(m_currentReply->dataUnit().registerType())
|
<< ModbusDataUtils::registerTypeToString(m_currentReply->dataUnit().registerType())
|
||||||
<< "register:" << m_currentReply->dataUnit().startAddress()
|
<< "register:" << m_currentReply->dataUnit().startAddress()
|
||||||
<< "length:" << m_currentReply->dataUnit().valueCount()
|
<< "length:" << m_currentReply->dataUnit().valueCount()
|
||||||
<< "to" << m_modbusTcpMaster->hostAddress().toString() << m_modbusTcpMaster->errorString();
|
<< "to" << m_modbusTcpMaster->hostAddress().toString() << m_modbusTcpMaster->errorString();
|
||||||
m_currentReply->deleteLater();
|
m_currentReply->deleteLater();
|
||||||
m_currentReply = nullptr;
|
m_currentReply = nullptr;
|
||||||
sendNextRequest();
|
QTimer::singleShot(0, this, &PceWallbox::sendNextRequest);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -244,7 +328,7 @@ void PceWallbox::sendNextRequest()
|
|||||||
qCWarning(dcPcElectric()) << "Reply immediatly finished";
|
qCWarning(dcPcElectric()) << "Reply immediatly finished";
|
||||||
m_currentReply->deleteLater();
|
m_currentReply->deleteLater();
|
||||||
m_currentReply = nullptr;
|
m_currentReply = nullptr;
|
||||||
sendNextRequest();
|
QTimer::singleShot(0, this, &PceWallbox::sendNextRequest);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -257,7 +341,7 @@ void PceWallbox::enqueueRequest(QueuedModbusReply *reply, bool prepend)
|
|||||||
m_queue.enqueue(reply);
|
m_queue.enqueue(reply);
|
||||||
}
|
}
|
||||||
|
|
||||||
sendNextRequest();
|
QTimer::singleShot(0, this, &PceWallbox::sendNextRequest);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PceWallbox::cleanupQueue()
|
void PceWallbox::cleanupQueue()
|
||||||
|
|||||||
@ -51,6 +51,10 @@ public:
|
|||||||
|
|
||||||
QueuedModbusReply *setLedBrightness(quint16 percentage);
|
QueuedModbusReply *setLedBrightness(quint16 percentage);
|
||||||
|
|
||||||
|
QueuedModbusReply *setDigitalInputMode(DigitalInputMode digitalInputMode);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Note: the modbus implementation of the wallbox gets stuck if a Modbus request has been sent
|
// Note: the modbus implementation of the wallbox gets stuck if a Modbus request has been sent
|
||||||
// and we disconnect the socket before the response has arrived. Only a reboot of the wallbox
|
// and we disconnect the socket before the response has arrived. Only a reboot of the wallbox
|
||||||
// fixes the broken communication afterwards. This method waits for the current request before closing the
|
// fixes the broken communication afterwards. This method waits for the current request before closing the
|
||||||
@ -60,6 +64,7 @@ public:
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void sendHeartbeat();
|
void sendHeartbeat();
|
||||||
|
void sendNextRequest();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QTimer m_timer;
|
QTimer m_timer;
|
||||||
@ -68,7 +73,6 @@ private:
|
|||||||
QQueue<QueuedModbusReply *> m_queue;
|
QQueue<QueuedModbusReply *> m_queue;
|
||||||
bool m_aboutToDelete = false;
|
bool m_aboutToDelete = false;
|
||||||
|
|
||||||
void sendNextRequest();
|
|
||||||
void enqueueRequest(QueuedModbusReply *reply, bool prepend = false);
|
void enqueueRequest(QueuedModbusReply *reply, bool prepend = false);
|
||||||
|
|
||||||
void cleanupQueue();
|
void cleanupQueue();
|
||||||
|
|||||||
@ -4,28 +4,45 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>IntegrationPluginPcElectric</name>
|
<name>IntegrationPluginPcElectric</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../integrationpluginpcelectric.cpp" line="53"/>
|
<location filename="../integrationpluginpcelectric.cpp" line="52"/>
|
||||||
<source>The network device discovery is not available.</source>
|
<source>The network device discovery is not available.</source>
|
||||||
<translation>Die Netzwerk Suche ist nicht verfügbar.</translation>
|
<translation>Die Netzwerk Suche ist nicht verfügbar.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../integrationpluginpcelectric.cpp" line="103"/>
|
||||||
|
<source>The MAC address is not known. Please reconfigure the thing.</source>
|
||||||
|
<translation>Die MAC-Adresse ist nicht bekannt. Bitte richte das Gerät erneut ein.</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>PcElectric</name>
|
<name>PcElectric</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="43"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="48"/>
|
||||||
|
<source>1</source>
|
||||||
|
<extracomment>The name of a possible value of StateType {d91f7d96-2599-400a-91da-d164477098b7} of ThingClass ev11</extracomment>
|
||||||
|
<translation>1</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="51"/>
|
||||||
|
<source>3</source>
|
||||||
|
<extracomment>The name of a possible value of StateType {d91f7d96-2599-400a-91da-d164477098b7} of ThingClass ev11</extracomment>
|
||||||
|
<translation>3</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="54"/>
|
||||||
<source>Active phases</source>
|
<source>Active phases</source>
|
||||||
<extracomment>The name of the StateType ({bca88c23-e940-40c1-afca-eb511fd17aab}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the StateType ({bca88c23-e940-40c1-afca-eb511fd17aab}) of ThingClass ev11</extracomment>
|
||||||
<translation>Aktive Phasen</translation>
|
<translation>Aktive Phasen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="46"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="57"/>
|
||||||
<source>Charging</source>
|
<source>Charging</source>
|
||||||
<extracomment>The name of the StateType ({b7972cd7-471a-46bd-ab99-f49997f12309}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the StateType ({b7972cd7-471a-46bd-ab99-f49997f12309}) of ThingClass ev11</extracomment>
|
||||||
<translation>Lädt</translation>
|
<translation>Lädt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="49"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="60"/>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="52"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="63"/>
|
||||||
<source>Charging enabled</source>
|
<source>Charging enabled</source>
|
||||||
<extracomment>The name of the ParamType (ThingClass: ev11, ActionType: power, ID: {c12a7a27-fa56-450c-a1ec-717c868554f2})
|
<extracomment>The name of the ParamType (ThingClass: ev11, ActionType: power, ID: {c12a7a27-fa56-450c-a1ec-717c868554f2})
|
||||||
----------
|
----------
|
||||||
@ -33,44 +50,65 @@ The name of the StateType ({c12a7a27-fa56-450c-a1ec-717c868554f2}) of ThingClass
|
|||||||
<translation>Laden eingeschalten</translation>
|
<translation>Laden eingeschalten</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="55"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="66"/>
|
||||||
<source>Connected</source>
|
<source>Connected</source>
|
||||||
<extracomment>The name of the StateType ({ca8d680c-c2f8-456a-a246-9c6cd64e25a7}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the StateType ({ca8d680c-c2f8-456a-a246-9c6cd64e25a7}) of ThingClass ev11</extracomment>
|
||||||
<translation>Verbunden</translation>
|
<translation>Verbunden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="58"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="69"/>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="72"/>
|
||||||
|
<source>Desired phase count</source>
|
||||||
|
<extracomment>The name of the ParamType (ThingClass: ev11, ActionType: desiredPhaseCount, ID: {d91f7d96-2599-400a-91da-d164477098b7})
|
||||||
|
----------
|
||||||
|
The name of the StateType ({d91f7d96-2599-400a-91da-d164477098b7}) of ThingClass ev11</extracomment>
|
||||||
|
<translation>Gewünschte Phasenanzahl</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="75"/>
|
||||||
<source>Enable or disable charging</source>
|
<source>Enable or disable charging</source>
|
||||||
<extracomment>The name of the ActionType ({c12a7a27-fa56-450c-a1ec-717c868554f2}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the ActionType ({c12a7a27-fa56-450c-a1ec-717c868554f2}) of ThingClass ev11</extracomment>
|
||||||
<translation>Laden starten/stoppen</translation>
|
<translation>Laden starten/stoppen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="61"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="78"/>
|
||||||
|
<source>Error</source>
|
||||||
|
<extracomment>The name of the StateType ({2ea1a53f-b2b0-452d-8060-cdb114db05a7}) of ThingClass ev11</extracomment>
|
||||||
|
<translation>Fehler</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="81"/>
|
||||||
<source>Firmware version</source>
|
<source>Firmware version</source>
|
||||||
<extracomment>The name of the StateType ({142b4276-e2e9-4149-adc4-89d9d3e31117}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the StateType ({142b4276-e2e9-4149-adc4-89d9d3e31117}) of ThingClass ev11</extracomment>
|
||||||
<translation>Firmware Version</translation>
|
<translation>Firmware Version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="64"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="96"/>
|
||||||
<source>Hardware version</source>
|
<source>Onboard temperature</source>
|
||||||
<extracomment>The name of the StateType ({b6e65baf-6dcd-4db1-a3dc-962a4c33d157}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the StateType ({bb092562-377e-458e-bb8a-735af9036652}) of ThingClass ev11</extracomment>
|
||||||
<translation>Hardware Version</translation>
|
<translation>Temperatur</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="67"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="105"/>
|
||||||
|
<source>PCE EV11.3</source>
|
||||||
|
<extracomment>The name of the ThingClass ({88d96940-a940-4a07-8176-5e6aba7ca832})</extracomment>
|
||||||
|
<translation>PCE EV11.3</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="84"/>
|
||||||
<source>LED brightness</source>
|
<source>LED brightness</source>
|
||||||
<extracomment>The name of the ParamType (ThingClass: ev11, Type: settings, ID: {3a1329a2-84cc-47b9-a6c2-e96fdfd0c454})</extracomment>
|
<extracomment>The name of the ParamType (ThingClass: ev11, Type: settings, ID: {3a1329a2-84cc-47b9-a6c2-e96fdfd0c454})</extracomment>
|
||||||
<translation>LED Helligkeit</translation>
|
<translation>LED Helligkeit</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="70"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="87"/>
|
||||||
<source>MAC address</source>
|
<source>MAC address</source>
|
||||||
<extracomment>The name of the ParamType (ThingClass: ev11, Type: thing, ID: {0a3f8d12-9d33-4ae2-b763-9568f32e8da1})</extracomment>
|
<extracomment>The name of the ParamType (ThingClass: ev11, Type: thing, ID: {0a3f8d12-9d33-4ae2-b763-9568f32e8da1})</extracomment>
|
||||||
<translation>MAC Adresse</translation>
|
<translation>MAC Adresse</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="73"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="90"/>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="76"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="93"/>
|
||||||
<source>Maximum charging current</source>
|
<source>Maximum charging current</source>
|
||||||
<extracomment>The name of the ParamType (ThingClass: ev11, ActionType: maxChargingCurrent, ID: {b5bbf23c-06db-463b-bb5c-3aea38e18818})
|
<extracomment>The name of the ParamType (ThingClass: ev11, ActionType: maxChargingCurrent, ID: {b5bbf23c-06db-463b-bb5c-3aea38e18818})
|
||||||
----------
|
----------
|
||||||
@ -78,37 +116,43 @@ The name of the StateType ({b5bbf23c-06db-463b-bb5c-3aea38e18818}) of ThingClass
|
|||||||
<translation>Maximaler Ladestrom</translation>
|
<translation>Maximaler Ladestrom</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="79"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="99"/>
|
||||||
<source>Maximum offline charging current</source>
|
|
||||||
<extracomment>The name of the ParamType (ThingClass: ev11, Type: settings, ID: {93654273-c4d3-4389-a81e-c0f065d9cd92})</extracomment>
|
|
||||||
<translation>Maximaler Ladestrom offline</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="82"/>
|
|
||||||
<source>PC Electric</source>
|
<source>PC Electric</source>
|
||||||
<extracomment>The name of the plugin PcElectric ({aa7ff833-a8e0-45cc-a1ef-65f05871f272})</extracomment>
|
<extracomment>The name of the plugin PcElectric ({aa7ff833-a8e0-45cc-a1ef-65f05871f272})</extracomment>
|
||||||
<translation>PC Electric</translation>
|
<translation>PC Electric</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="85"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="102"/>
|
||||||
<source>PC Electric GmbH</source>
|
<source>PC Electric GmbH</source>
|
||||||
<extracomment>The name of the vendor ({b365937b-f1d6-46bf-9ff1-e787373b8aa6})</extracomment>
|
<extracomment>The name of the vendor ({b365937b-f1d6-46bf-9ff1-e787373b8aa6})</extracomment>
|
||||||
<translation>PC Electric GmbH</translation>
|
<translation>PC Electric GmbH</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="88"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="108"/>
|
||||||
<source>PCE EV11.X</source>
|
|
||||||
<extracomment>The name of the ThingClass ({88d96940-a940-4a07-8176-5e6aba7ca832})</extracomment>
|
|
||||||
<translation>PCE EV11.X</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="91"/>
|
|
||||||
<source>Plugged in</source>
|
<source>Plugged in</source>
|
||||||
<extracomment>The name of the StateType ({50164bbd-9802-4cf6-82de-626b74293a1b}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the StateType ({50164bbd-9802-4cf6-82de-626b74293a1b}) of ThingClass ev11</extracomment>
|
||||||
<translation>Angesteckt</translation>
|
<translation>Angesteckt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="94"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="111"/>
|
||||||
|
<source>Serial number</source>
|
||||||
|
<extracomment>The name of the ParamType (ThingClass: ev11, Type: thing, ID: {db834ca7-934a-473b-8bd8-c641ff0ea879})</extracomment>
|
||||||
|
<translation>Seriennummer</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="114"/>
|
||||||
|
<source>Session energy</source>
|
||||||
|
<extracomment>The name of the StateType ({3da3ee80-e9e7-4237-85a6-b4adcb2f483b}) of ThingClass ev11</extracomment>
|
||||||
|
<translation>Geladene Energie</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="117"/>
|
||||||
|
<source>Set desired phase count</source>
|
||||||
|
<extracomment>The name of the ActionType ({d91f7d96-2599-400a-91da-d164477098b7}) of ThingClass ev11</extracomment>
|
||||||
|
<translation>Setze gewünschte Phasenanzahl</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="120"/>
|
||||||
<source>Set maximum charging current</source>
|
<source>Set maximum charging current</source>
|
||||||
<extracomment>The name of the ActionType ({b5bbf23c-06db-463b-bb5c-3aea38e18818}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the ActionType ({b5bbf23c-06db-463b-bb5c-3aea38e18818}) of ThingClass ev11</extracomment>
|
||||||
<translation>Setze maximalen Ladestrom</translation>
|
<translation>Setze maximalen Ladestrom</translation>
|
||||||
|
|||||||
@ -4,28 +4,45 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>IntegrationPluginPcElectric</name>
|
<name>IntegrationPluginPcElectric</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../integrationpluginpcelectric.cpp" line="53"/>
|
<location filename="../integrationpluginpcelectric.cpp" line="52"/>
|
||||||
<source>The network device discovery is not available.</source>
|
<source>The network device discovery is not available.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../integrationpluginpcelectric.cpp" line="103"/>
|
||||||
|
<source>The MAC address is not known. Please reconfigure the thing.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>PcElectric</name>
|
<name>PcElectric</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="43"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="48"/>
|
||||||
|
<source>1</source>
|
||||||
|
<extracomment>The name of a possible value of StateType {d91f7d96-2599-400a-91da-d164477098b7} of ThingClass ev11</extracomment>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="51"/>
|
||||||
|
<source>3</source>
|
||||||
|
<extracomment>The name of a possible value of StateType {d91f7d96-2599-400a-91da-d164477098b7} of ThingClass ev11</extracomment>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="54"/>
|
||||||
<source>Active phases</source>
|
<source>Active phases</source>
|
||||||
<extracomment>The name of the StateType ({bca88c23-e940-40c1-afca-eb511fd17aab}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the StateType ({bca88c23-e940-40c1-afca-eb511fd17aab}) of ThingClass ev11</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="46"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="57"/>
|
||||||
<source>Charging</source>
|
<source>Charging</source>
|
||||||
<extracomment>The name of the StateType ({b7972cd7-471a-46bd-ab99-f49997f12309}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the StateType ({b7972cd7-471a-46bd-ab99-f49997f12309}) of ThingClass ev11</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="49"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="60"/>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="52"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="63"/>
|
||||||
<source>Charging enabled</source>
|
<source>Charging enabled</source>
|
||||||
<extracomment>The name of the ParamType (ThingClass: ev11, ActionType: power, ID: {c12a7a27-fa56-450c-a1ec-717c868554f2})
|
<extracomment>The name of the ParamType (ThingClass: ev11, ActionType: power, ID: {c12a7a27-fa56-450c-a1ec-717c868554f2})
|
||||||
----------
|
----------
|
||||||
@ -33,44 +50,65 @@ The name of the StateType ({c12a7a27-fa56-450c-a1ec-717c868554f2}) of ThingClass
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="55"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="66"/>
|
||||||
<source>Connected</source>
|
<source>Connected</source>
|
||||||
<extracomment>The name of the StateType ({ca8d680c-c2f8-456a-a246-9c6cd64e25a7}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the StateType ({ca8d680c-c2f8-456a-a246-9c6cd64e25a7}) of ThingClass ev11</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="58"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="69"/>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="72"/>
|
||||||
|
<source>Desired phase count</source>
|
||||||
|
<extracomment>The name of the ParamType (ThingClass: ev11, ActionType: desiredPhaseCount, ID: {d91f7d96-2599-400a-91da-d164477098b7})
|
||||||
|
----------
|
||||||
|
The name of the StateType ({d91f7d96-2599-400a-91da-d164477098b7}) of ThingClass ev11</extracomment>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="75"/>
|
||||||
<source>Enable or disable charging</source>
|
<source>Enable or disable charging</source>
|
||||||
<extracomment>The name of the ActionType ({c12a7a27-fa56-450c-a1ec-717c868554f2}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the ActionType ({c12a7a27-fa56-450c-a1ec-717c868554f2}) of ThingClass ev11</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="61"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="78"/>
|
||||||
|
<source>Error</source>
|
||||||
|
<extracomment>The name of the StateType ({2ea1a53f-b2b0-452d-8060-cdb114db05a7}) of ThingClass ev11</extracomment>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="81"/>
|
||||||
<source>Firmware version</source>
|
<source>Firmware version</source>
|
||||||
<extracomment>The name of the StateType ({142b4276-e2e9-4149-adc4-89d9d3e31117}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the StateType ({142b4276-e2e9-4149-adc4-89d9d3e31117}) of ThingClass ev11</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="64"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="96"/>
|
||||||
<source>Hardware version</source>
|
<source>Onboard temperature</source>
|
||||||
<extracomment>The name of the StateType ({b6e65baf-6dcd-4db1-a3dc-962a4c33d157}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the StateType ({bb092562-377e-458e-bb8a-735af9036652}) of ThingClass ev11</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="67"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="105"/>
|
||||||
|
<source>PCE EV11.3</source>
|
||||||
|
<extracomment>The name of the ThingClass ({88d96940-a940-4a07-8176-5e6aba7ca832})</extracomment>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="84"/>
|
||||||
<source>LED brightness</source>
|
<source>LED brightness</source>
|
||||||
<extracomment>The name of the ParamType (ThingClass: ev11, Type: settings, ID: {3a1329a2-84cc-47b9-a6c2-e96fdfd0c454})</extracomment>
|
<extracomment>The name of the ParamType (ThingClass: ev11, Type: settings, ID: {3a1329a2-84cc-47b9-a6c2-e96fdfd0c454})</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="70"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="87"/>
|
||||||
<source>MAC address</source>
|
<source>MAC address</source>
|
||||||
<extracomment>The name of the ParamType (ThingClass: ev11, Type: thing, ID: {0a3f8d12-9d33-4ae2-b763-9568f32e8da1})</extracomment>
|
<extracomment>The name of the ParamType (ThingClass: ev11, Type: thing, ID: {0a3f8d12-9d33-4ae2-b763-9568f32e8da1})</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="73"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="90"/>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="76"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="93"/>
|
||||||
<source>Maximum charging current</source>
|
<source>Maximum charging current</source>
|
||||||
<extracomment>The name of the ParamType (ThingClass: ev11, ActionType: maxChargingCurrent, ID: {b5bbf23c-06db-463b-bb5c-3aea38e18818})
|
<extracomment>The name of the ParamType (ThingClass: ev11, ActionType: maxChargingCurrent, ID: {b5bbf23c-06db-463b-bb5c-3aea38e18818})
|
||||||
----------
|
----------
|
||||||
@ -78,37 +116,43 @@ The name of the StateType ({b5bbf23c-06db-463b-bb5c-3aea38e18818}) of ThingClass
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="79"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="99"/>
|
||||||
<source>Maximum offline charging current</source>
|
|
||||||
<extracomment>The name of the ParamType (ThingClass: ev11, Type: settings, ID: {93654273-c4d3-4389-a81e-c0f065d9cd92})</extracomment>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="82"/>
|
|
||||||
<source>PC Electric</source>
|
<source>PC Electric</source>
|
||||||
<extracomment>The name of the plugin PcElectric ({aa7ff833-a8e0-45cc-a1ef-65f05871f272})</extracomment>
|
<extracomment>The name of the plugin PcElectric ({aa7ff833-a8e0-45cc-a1ef-65f05871f272})</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="85"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="102"/>
|
||||||
<source>PC Electric GmbH</source>
|
<source>PC Electric GmbH</source>
|
||||||
<extracomment>The name of the vendor ({b365937b-f1d6-46bf-9ff1-e787373b8aa6})</extracomment>
|
<extracomment>The name of the vendor ({b365937b-f1d6-46bf-9ff1-e787373b8aa6})</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="88"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="108"/>
|
||||||
<source>PCE EV11.X</source>
|
|
||||||
<extracomment>The name of the ThingClass ({88d96940-a940-4a07-8176-5e6aba7ca832})</extracomment>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="91"/>
|
|
||||||
<source>Plugged in</source>
|
<source>Plugged in</source>
|
||||||
<extracomment>The name of the StateType ({50164bbd-9802-4cf6-82de-626b74293a1b}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the StateType ({50164bbd-9802-4cf6-82de-626b74293a1b}) of ThingClass ev11</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="94"/>
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="111"/>
|
||||||
|
<source>Serial number</source>
|
||||||
|
<extracomment>The name of the ParamType (ThingClass: ev11, Type: thing, ID: {db834ca7-934a-473b-8bd8-c641ff0ea879})</extracomment>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="114"/>
|
||||||
|
<source>Session energy</source>
|
||||||
|
<extracomment>The name of the StateType ({3da3ee80-e9e7-4237-85a6-b4adcb2f483b}) of ThingClass ev11</extracomment>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="117"/>
|
||||||
|
<source>Set desired phase count</source>
|
||||||
|
<extracomment>The name of the ActionType ({d91f7d96-2599-400a-91da-d164477098b7}) of ThingClass ev11</extracomment>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../../build-nymea-plugins-modbus-Desktop-Debug/pcelectric/plugininfo.h" line="120"/>
|
||||||
<source>Set maximum charging current</source>
|
<source>Set maximum charging current</source>
|
||||||
<extracomment>The name of the ActionType ({b5bbf23c-06db-463b-bb5c-3aea38e18818}) of ThingClass ev11</extracomment>
|
<extracomment>The name of the ActionType ({b5bbf23c-06db-463b-bb5c-3aea38e18818}) of ThingClass ev11</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
|||||||
Reference in New Issue
Block a user