Amperfied/Heidelberg: Smaller fixes in README and max current setting

master
Michael Zanetti 2023-03-14 12:25:09 +01:00
parent fd80c7e99a
commit 58fa2ca870
3 changed files with 9 additions and 8 deletions

View File

@ -2,18 +2,19 @@
Connects nymea to a Amperfied/Heidelberg wallboxes. Currently supported models are: Connects nymea to a Amperfied/Heidelberg wallboxes. Currently supported models are:
* Amperfeid Energy Control * Amperfied Energy Control
* Amperfeid connect.home * Amperfied connect.home
# Requirements # Requirements
nymea requires the use of a firmware greator or equal version 1.0.7 on the wallbox. nymea requires the use of a firmware greator or equal version 1.0.7 on the wallbox.
## Amperfeid Energy Control ## Amperfied Energy Control
The Amperfeid Energy Control is a Modbus RTU device. This means it must be connected to the nymea system using an RS485 port. The Amperfied Energy Control is a Modbus RTU device. This means it must be connected to the nymea system using an RS485 port.
The Modbus RTU must be configured with a baud rate of 19200, even parity, 8 data bits and 1 stop bit.
In order to allow nymea to automatically discover the wallbox on the bus, the Modbus slave ID must be in the range of 1 - 20. In order to allow nymea to automatically discover the wallbox on the bus, the Modbus slave ID must be in the range of 1 - 20.
If a higher slave ID number is required, the manual setup is to be used. If a higher slave ID number is required, the manual setup is to be used.
## Amperfied connect.home ## Amperfied connect.home
The Amperfeid connect.home is a Modbus TCP device. This means it must be connected to the same network the nymea system is in. The Amperfied connect.home is a Modbus TCP device. This means it must be connected to the same network the nymea system is in.

View File

@ -242,7 +242,7 @@
"readSchedule": "update", "readSchedule": "update",
"registerType": "holdingRegister", "registerType": "holdingRegister",
"description": "Charging current", "description": "Charging current",
"unit": "A", "unit": "1/10 A",
"defaultValue": "0", "defaultValue": "0",
"access": "RW" "access": "RW"
} }

View File

@ -203,7 +203,7 @@ void IntegrationPluginAmperfied::executeAction(ThingActionInfo *info)
ModbusRtuReply *reply = connection->setChargingCurrent(power ? max : 0); ModbusRtuReply *reply = connection->setChargingCurrent(power ? max : 0);
connect(reply, &ModbusRtuReply::finished, info, [info, reply, max](){ connect(reply, &ModbusRtuReply::finished, info, [info, reply, max](){
if (reply->error() == ModbusRtuReply::NoError) { if (reply->error() == ModbusRtuReply::NoError) {
info->thing()->setStateValue(energyControlMaxChargingCurrentStateTypeId, max); info->thing()->setStateValue(energyControlMaxChargingCurrentStateTypeId, max / 10);
info->finish(Thing::ThingErrorNoError); info->finish(Thing::ThingErrorNoError);
} else { } else {
qCWarning(dcAmperfied()) << "Error setting power:" << reply->error() << reply->errorString(); qCWarning(dcAmperfied()) << "Error setting power:" << reply->error() << reply->errorString();
@ -237,7 +237,7 @@ void IntegrationPluginAmperfied::executeAction(ThingActionInfo *info)
QModbusReply *reply = connection->setChargingCurrent(power ? max : 0); QModbusReply *reply = connection->setChargingCurrent(power ? max : 0);
connect(reply, &QModbusReply::finished, info, [info, reply, max](){ connect(reply, &QModbusReply::finished, info, [info, reply, max](){
if (reply->error() == QModbusDevice::NoError) { if (reply->error() == QModbusDevice::NoError) {
info->thing()->setStateValue(connectHomeMaxChargingCurrentStateTypeId, max); info->thing()->setStateValue(connectHomeMaxChargingCurrentStateTypeId, max / 10);
info->finish(Thing::ThingErrorNoError); info->finish(Thing::ThingErrorNoError);
} else { } else {
qCWarning(dcAmperfied()) << "Error setting power:" << reply->error() << reply->errorString(); qCWarning(dcAmperfied()) << "Error setting power:" << reply->error() << reply->errorString();