From de66bf83199eaa5daae308eac7ff5b8a1d6853a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20St=C3=BCrz?= Date: Fri, 10 Nov 2023 17:05:24 +0100 Subject: [PATCH] Mennekes: Add support for Mennekes ECU with firmware older than 5.22 --- libnymea-modbus/tools/generate-connection.py | 5 +- .../ECU_modbus_tcp_server_spec_rev_1.07.pdf | Bin 0 -> 338491 bytes mennekes/README.md | 2 + mennekes/amtron-ecu-registers.json | 28 +- mennekes/amtronecu.cpp | 646 ++++++++++++++++++ mennekes/amtronecu.h | 64 ++ mennekes/amtronecudiscovery.cpp | 51 +- mennekes/amtronecudiscovery.h | 9 +- mennekes/integrationpluginmennekes.cpp | 207 +++--- mennekes/integrationpluginmennekes.h | 8 +- mennekes/integrationpluginmennekes.json | 8 + mennekes/mennekes.pro | 2 + 12 files changed, 903 insertions(+), 127 deletions(-) create mode 100644 mennekes/ECU_modbus_tcp_server_spec_rev_1.07.pdf create mode 100644 mennekes/amtronecu.cpp create mode 100644 mennekes/amtronecu.h diff --git a/libnymea-modbus/tools/generate-connection.py b/libnymea-modbus/tools/generate-connection.py index d3208eb..eba18ae 100644 --- a/libnymea-modbus/tools/generate-connection.py +++ b/libnymea-modbus/tools/generate-connection.py @@ -165,8 +165,7 @@ def writeTcpHeaderFile(): writeLine(headerFile, ' void testReachability();') writeLine(headerFile) - # Private members - writeLine(headerFile, 'private:') + writeLine(headerFile, ' /* Internals */') writeLine(headerFile, ' ModbusTcpMaster *m_modbusTcpMaster = nullptr;') writeLine(headerFile, ' ModbusDataUtils::ByteOrder m_endianness = ModbusDataUtils::ByteOrder%s;' % endianness) writeLine(headerFile, ' ModbusDataUtils::ByteOrder m_stringEndianness = ModbusDataUtils::ByteOrder%s;' % stringEndianness) @@ -668,7 +667,7 @@ def writeRtuHeaderFile(): writeLine(headerFile) # Private members - writeLine(headerFile, 'private:') + writeLine(headerFile, ' /* Internals */') writeLine(headerFile, ' ModbusRtuMaster *m_modbusRtuMaster = nullptr;') writeLine(headerFile, ' ModbusDataUtils::ByteOrder m_endianness = ModbusDataUtils::ByteOrder%s;' % endianness) writeLine(headerFile, ' ModbusDataUtils::ByteOrder m_stringEndianness = ModbusDataUtils::ByteOrder%s;' % stringEndianness) diff --git a/mennekes/ECU_modbus_tcp_server_spec_rev_1.07.pdf b/mennekes/ECU_modbus_tcp_server_spec_rev_1.07.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c5f9d9c9be46b723aa54f46131170f39e0d128b8 GIT binary patch literal 338491 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≀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�%bnW15?^AK%-jpR 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⁣q2I7)wyxZ9@A#-MOy^pK+wQG_mJTodzb^{6Ci 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

-iSZ#%L=QaD5r_wo(xfwvAWL^a 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 K}&~6*;IZ7|)*e#T= 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 BDaHT* literal 0 HcmV?d00001 diff --git a/mennekes/README.md b/mennekes/README.md index f84d982..581c5f6 100644 --- a/mennekes/README.md +++ b/mennekes/README.md @@ -18,6 +18,8 @@ nymea uses the Modbus RTU (AMTRON Compact 2.0s) or Modbus TCP (all other models) For the Amtron Charge Control and Premium models, log in to the wallbox's web interface as operator. The login credentials can be obtained from the user manual of the wallbox. Once logged in, navigate to the Load Management tab and set the Modbus TCP Server to On. +> Note: Amtron Charge Control and Premium models also support firmware version `5.12` since the latest version is not complient with the calibration law. + For the AMTRON Compact 2.0s, DIP switch 4 and 5 on Bank 51 must be set to ON in order to allow nymea controlling the wallbox. With this DIP switch configuration, the solar charging mode will merely control the LED display of the wallbox. ## More diff --git a/mennekes/amtron-ecu-registers.json b/mennekes/amtron-ecu-registers.json index 3f95959..a38ad48 100644 --- a/mennekes/amtron-ecu-registers.json +++ b/mennekes/amtron-ecu-registers.json @@ -134,7 +134,13 @@ "unit": "mA", "defaultValue": "0", "access": "RO" - }, + } + ] + }, + { + "id": "consumptionsTotals", + "readSchedule": "update", + "registers": [ { "id": "meterTotoalEnergy", "address": 218, @@ -142,7 +148,7 @@ "type": "uint32", "unit": "Wh", "registerType": "holdingRegister", - "description": "Meter total energy", + "description": "Meter total energy (>= 5.22)", "defaultValue": "0", "access": "RO" }, @@ -152,7 +158,7 @@ "size": 2, "type": "uint32", "registerType": "holdingRegister", - "description": "Meter totoal power", + "description": "Meter total power (>= 5.22)", "unit": "W", "defaultValue": "0", "access": "RO" @@ -163,7 +169,7 @@ "size": 2, "type": "uint32", "registerType": "holdingRegister", - "description": "Meter voltage L1", + "description": "Meter voltage L1 (>= 5.22)", "unit": "V", "defaultValue": "0", "access": "RO" @@ -174,7 +180,7 @@ "size": 2, "type": "uint32", "registerType": "holdingRegister", - "description": "Meter voltage L2", + "description": "Meter voltage L2 (>= 5.22)", "unit": "V", "defaultValue": "0", "access": "RO" @@ -185,7 +191,7 @@ "size": 2, "type": "uint32", "registerType": "holdingRegister", - "description": "Meter voltage L3", + "description": "Meter voltage L3 (>= 5.22)", "unit": "V", "defaultValue": "0", "access": "RO" @@ -224,7 +230,7 @@ "type": "uint16", "readSchedule": "update", "registerType": "holdingRegister", - "description": "Charge Point availability", + "description": "Charge Point availability ( Version < 5.22: 0 available, 1 unavailable | Version >= 5.22 1 available, 0 unavailable )", "defaultValue": 0, "access": "RW" }, @@ -232,10 +238,10 @@ "id": "model", "address": 142, "size": 10, - "type": "string", "readSchedule": "init", + "type": "string", "registerType": "holdingRegister", - "description": "Device model", + "description": "Device model (>= 5.22)", "access": "RO" }, { @@ -269,7 +275,7 @@ "type": "uint16", "readSchedule": "update", "registerType": "holdingRegister", - "description": "Maximum current limit", + "description": "Maximum current limit (>= 5.22)", "unit": "A", "defaultValue": "0", "access": "RO" @@ -281,7 +287,7 @@ "type": "uint32", "readSchedule": "update", "registerType": "holdingRegister", - "description": "Charged energy for current session", + "description": "Charged energy for current session (>= 5.22)", "unit": "Wh", "defaultValue": "0", "access": "RO" diff --git a/mennekes/amtronecu.cpp b/mennekes/amtronecu.cpp new file mode 100644 index 0000000..b78feef --- /dev/null +++ b/mennekes/amtronecu.cpp @@ -0,0 +1,646 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +* +* Copyright 2013 - 2023, nymea GmbH +* Contact: contact@nymea.io +* +* This file is part of nymea. +* This project including source code and documentation is protected by +* copyright law, and remains the property of nymea GmbH. All rights, including +* reproduction, publication, editing and translation, are reserved. The use of +* this project is subject to the terms of a license agreement to be concluded +* with nymea GmbH in accordance with the terms of use of nymea GmbH, available +* under https://nymea.io/license +* +* GNU Lesser General Public License Usage +* Alternatively, this project may be redistributed and/or modified under the +* terms of the GNU Lesser General Public License as published by the Free +* Software Foundation; version 3. This project is distributed in the hope that +* it will be useful, but WITHOUT ANY WARRANTY; without even the implied +* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public License +* along with this project. If not, see . +* +* For any further details and any questions please contact us under +* contact@nymea.io or see our FAQ/Licensing Information on +* https://nymea.io/license/faq +* +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +#include "amtronecu.h" +#include "extern-plugininfo.h" + +Q_DECLARE_LOGGING_CATEGORY(dcAmtronECUModbusTcpConnection) + +AmtronECU::AmtronECU(const QHostAddress &hostAddress, uint port, quint16 slaveId, QObject *parent) + : AmtronECUModbusTcpConnection{hostAddress, port, slaveId, parent} +{ + +} + +AmtronECU::AmtronECU(ModbusTcpMaster *modbusTcpMaster, quint16 slaveId, QObject *parent) + : AmtronECUModbusTcpConnection{modbusTcpMaster, slaveId, parent} +{ + +} + +bool AmtronECU::initialize() +{ + if (!m_reachable) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Tried to initialize but the device is not to be reachable."; + return false; + } + + if (m_initObject) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Tried to initialize but the init process is already running."; + return false; + } + + m_initializing = true; + + // Parent object for the init process + m_initObject = new QObject(this); + + QModbusReply *reply = nullptr; + + + // This is a 2 Step initialization. First read the firmware version, if the firmware version is smaller than 5.22 we are done + // otherwise read also the model since we use that for detecting the exact manufacturer. + + // Some useres have to stay on 5.12 due to calibration law which is not available on 5.22 + + // Read Firmware version + qCDebug(dcAmtronECUModbusTcpConnection()) << "--> Read init \"Firmware version\" register:" << 100 << "size:" << 2; + reply = readFirmwareVersion(); + if (!reply) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Error occurred while reading \"Firmware version\" registers from" << m_modbusTcpMaster->hostAddress().toString() << m_modbusTcpMaster->errorString(); + finishInitialization(false); + return false; + } + + if (reply->isFinished()) { + reply->deleteLater(); // Broadcast reply returns immediatly + return false; + } + + m_pendingInitReplies.append(reply); + connect(reply, &QModbusReply::finished, reply, &QModbusReply::deleteLater); + connect(reply, &QModbusReply::finished, m_initObject, [this, reply](){ + handleModbusError(reply->error()); + m_pendingInitReplies.removeAll(reply); + if (reply->error() != QModbusDevice::NoError) { + finishInitialization(false); + return; + } + + const QModbusDataUnit unit = reply->result(); + qCDebug(dcAmtronECUModbusTcpConnection()) << "<-- Response from init \"Firmware version\" register" << 100 << "size:" << 2 << unit.values(); + if (unit.values().size() == 2) { + processFirmwareVersionRegisterValues(unit.values()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Reading from \"Firmware version\" registers" << 100 << "size:" << 2 << "returned different size than requested. Ignoring incomplete data" << unit.values(); + finishInitialization(false); + return; + } + + + // Make sure this is the correct firmware version format (0x-- 0x2e 0x-- 0x--) + if ((m_firmwareVersion & 0x00ff0000) != 0x002e0000) { + qCWarning(dcMennekes()) << "Invalid firmware version format. Could not determin the firmware format from uint32" << QByteArray::fromHex(QByteArray::number(m_firmwareVersion, 16)); + m_detectedVersion = VersionUnknown; + finishInitialization(false); + return; + } + + // If the firmware version is smaller than 5.22 (Ascii of the uint32 firmware version property), + // we are done since the model registers have been introduced in Version 5.22 + if (m_firmwareVersion < 0x352e3232) { + qCDebug(dcMennekes()) << "Detected firmware version" << QByteArray::fromHex(QByteArray::number(m_firmwareVersion, 16)) << ". Some features are only available from version >= 5.22."; + m_detectedVersion = VersionOld; + } else { + qCDebug(dcMennekes()) << "Detected firmware version" << QByteArray::fromHex(QByteArray::number(m_firmwareVersion, 16)) << "All features available."; + m_detectedVersion = VersionNew; + + // Read Device model (>= 5.22) + qCDebug(dcAmtronECUModbusTcpConnection()) << "--> Read init \"Device model (>= 5.22)\" register:" << 142 << "size:" << 10; + QModbusReply *reply = readModel(); + if (!reply) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Error occurred while reading \"Device model (>= 5.22)\" registers from" << m_modbusTcpMaster->hostAddress().toString() << m_modbusTcpMaster->errorString(); + finishInitialization(false); + return; + } + + if (reply->isFinished()) { + reply->deleteLater(); // Broadcast reply returns immediatly + return; + } + + m_pendingInitReplies.append(reply); + connect(reply, &QModbusReply::finished, reply, &QModbusReply::deleteLater); + connect(reply, &QModbusReply::finished, m_initObject, [this, reply](){ + handleModbusError(reply->error()); + m_pendingInitReplies.removeAll(reply); + if (reply->error() != QModbusDevice::NoError) { + finishInitialization(false); + return; + } + + const QModbusDataUnit unit = reply->result(); + qCDebug(dcAmtronECUModbusTcpConnection()) << "<-- Response from init \"Device model (>= 5.22)\" register" << 142 << "size:" << 10 << unit.values(); + if (unit.values().size() == 10) { + processModelRegisterValues(unit.values()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Reading from \"Device model (>= 5.22)\" registers" << 142 << "size:" << 10 << "returned different size than requested. Ignoring incomplete data" << unit.values(); + } + verifyInitFinished(); + }); + + connect(reply, &QModbusReply::errorOccurred, m_initObject, [this, reply] (QModbusDevice::Error error){ + QModbusResponse response = reply->rawResult(); + if (reply->error() == QModbusDevice::ProtocolError && response.isException()) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"Device model (>= 5.22)\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"Device model (>= 5.22)\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString(); + } + }); + } + + verifyInitFinished(); + }); + + connect(reply, &QModbusReply::errorOccurred, m_initObject, [this, reply] (QModbusDevice::Error error){ + QModbusResponse response = reply->rawResult(); + if (reply->error() == QModbusDevice::ProtocolError && response.isException()) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"Firmware version\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"Firmware version\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString(); + } + }); + + return true; +} + +bool AmtronECU::update() +{ + if (!reachable()) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Tried to update but the device is not to be reachable."; + return false; + } + + if (!m_modbusTcpMaster->connected()) + return false; + + if (!m_pendingUpdateReplies.isEmpty()) { + qCDebug(dcAmtronECUModbusTcpConnection()) << "Tried to update but there are still some update replies pending. Waiting for them to be finished..."; + return true; + } + + // First update common registers + // Then update registers only available for > 5.22 + + QModbusReply *reply = nullptr; + + // Read CP signal state + qCDebug(dcAmtronECUModbusTcpConnection()) << "--> Read \"CP signal state\" register:" << 122 << "size:" << 1; + reply = readCpSignalState(); + if (!reply) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Error occurred while reading \"CP signal state\" registers from" << m_modbusTcpMaster->hostAddress().toString() << m_modbusTcpMaster->errorString(); + return false; + } + + if (reply->isFinished()) { + reply->deleteLater(); // Broadcast reply returns immediatly + return false; + } + + m_pendingUpdateReplies.append(reply); + connect(reply, &QModbusReply::finished, reply, &QModbusReply::deleteLater); + connect(reply, &QModbusReply::finished, this, [this, reply](){ + m_pendingUpdateReplies.removeAll(reply); + handleModbusError(reply->error()); + if (reply->error() != QModbusDevice::NoError) { + verifyUpdateFinished(); + return; + } + + const QModbusDataUnit unit = reply->result(); + qCDebug(dcAmtronECUModbusTcpConnection()) << "<-- Response from \"CP signal state\" register" << 122 << "size:" << 1 << unit.values(); + if (unit.values().size() == 1) { + processCpSignalStateRegisterValues(unit.values()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Reading from \"CP signal state\" registers" << 122 << "size:" << 1 << "returned different size than requested. Ignoring incomplete data" << unit.values(); + } + verifyUpdateFinished(); + }); + + connect(reply, &QModbusReply::errorOccurred, this, [this, reply] (QModbusDevice::Error error){ + QModbusResponse response = reply->rawResult(); + if (reply->error() == QModbusDevice::ProtocolError && response.isException()) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"CP signal state\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"CP signal state\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString(); + } + }); + + + // Read Signalled current to EV + qCDebug(dcAmtronECUModbusTcpConnection()) << "--> Read \"Signalled current to EV\" register:" << 706 << "size:" << 1; + reply = readSignalledCurrent(); + if (!reply) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Error occurred while reading \"Signalled current to EV\" registers from" << m_modbusTcpMaster->hostAddress().toString() << m_modbusTcpMaster->errorString(); + return false; + } + + if (reply->isFinished()) { + reply->deleteLater(); // Broadcast reply returns immediatly + return false; + } + + m_pendingUpdateReplies.append(reply); + connect(reply, &QModbusReply::finished, reply, &QModbusReply::deleteLater); + connect(reply, &QModbusReply::finished, this, [this, reply](){ + m_pendingUpdateReplies.removeAll(reply); + handleModbusError(reply->error()); + if (reply->error() != QModbusDevice::NoError) { + verifyUpdateFinished(); + return; + } + + const QModbusDataUnit unit = reply->result(); + qCDebug(dcAmtronECUModbusTcpConnection()) << "<-- Response from \"Signalled current to EV\" register" << 706 << "size:" << 1 << unit.values(); + if (unit.values().size() == 1) { + processSignalledCurrentRegisterValues(unit.values()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Reading from \"Signalled current to EV\" registers" << 706 << "size:" << 1 << "returned different size than requested. Ignoring incomplete data" << unit.values(); + } + verifyUpdateFinished(); + }); + + connect(reply, &QModbusReply::errorOccurred, this, [this, reply] (QModbusDevice::Error error){ + QModbusResponse response = reply->rawResult(); + if (reply->error() == QModbusDevice::ProtocolError && response.isException()) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"Signalled current to EV\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"Signalled current to EV\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString(); + } + }); + + // Read Minimum current limit + qCDebug(dcAmtronECUModbusTcpConnection()) << "--> Read \"Minimum current limit\" register:" << 712 << "size:" << 1; + reply = readMinCurrentLimit(); + if (!reply) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Error occurred while reading \"Minimum current limit\" registers from" << m_modbusTcpMaster->hostAddress().toString() << m_modbusTcpMaster->errorString(); + return false; + } + + if (reply->isFinished()) { + reply->deleteLater(); // Broadcast reply returns immediatly + return false; + } + + m_pendingUpdateReplies.append(reply); + connect(reply, &QModbusReply::finished, reply, &QModbusReply::deleteLater); + connect(reply, &QModbusReply::finished, this, [this, reply](){ + m_pendingUpdateReplies.removeAll(reply); + handleModbusError(reply->error()); + if (reply->error() != QModbusDevice::NoError) { + verifyUpdateFinished(); + return; + } + + const QModbusDataUnit unit = reply->result(); + qCDebug(dcAmtronECUModbusTcpConnection()) << "<-- Response from \"Minimum current limit\" register" << 712 << "size:" << 1 << unit.values(); + if (unit.values().size() == 1) { + processMinCurrentLimitRegisterValues(unit.values()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Reading from \"Minimum current limit\" registers" << 712 << "size:" << 1 << "returned different size than requested. Ignoring incomplete data" << unit.values(); + } + verifyUpdateFinished(); + }); + + connect(reply, &QModbusReply::errorOccurred, this, [this, reply] (QModbusDevice::Error error){ + QModbusResponse response = reply->rawResult(); + if (reply->error() == QModbusDevice::ProtocolError && response.isException()) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"Minimum current limit\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"Minimum current limit\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString(); + } + }); + + + // Read consumptions + reply = readBlockConsumptions(); + qCDebug(dcAmtronECUModbusTcpConnection()) << "--> Read block \"consumptions\" registers from:" << 200 << "size:" << 18; + if (!reply) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Error occurred while reading block \"consumptions\" registers"; + return false; + } + + if (reply->isFinished()) { + reply->deleteLater(); // Broadcast reply returns immediatly + return false; + } + + m_pendingUpdateReplies.append(reply); + connect(reply, &QModbusReply::finished, reply, &QModbusReply::deleteLater); + connect(reply, &QModbusReply::finished, this, [this, reply](){ + m_pendingUpdateReplies.removeAll(reply); + handleModbusError(reply->error()); + if (reply->error() != QModbusDevice::NoError) { + verifyUpdateFinished(); + return; + } + + const QModbusDataUnit unit = reply->result(); + const QVector blockValues = unit.values(); + qCDebug(dcAmtronECUModbusTcpConnection()) << "<-- Response from reading block \"consumptions\" register" << 200 << "size:" << 18 << blockValues; + if (blockValues.size() == 18) { + processMeterEnergyL1RegisterValues(blockValues.mid(0, 2)); + processMeterEnergyL2RegisterValues(blockValues.mid(2, 2)); + processMeterEnergyL3RegisterValues(blockValues.mid(4, 2)); + processMeterPowerL1RegisterValues(blockValues.mid(6, 2)); + processMeterPowerL2RegisterValues(blockValues.mid(8, 2)); + processMeterPowerL3RegisterValues(blockValues.mid(10, 2)); + processMeterCurrentL1RegisterValues(blockValues.mid(12, 2)); + processMeterCurrentL2RegisterValues(blockValues.mid(14, 2)); + processMeterCurrentL3RegisterValues(blockValues.mid(16, 2)); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Reading from \"consumptions\" block registers" << 200 << "size:" << 18 << "returned different size than requested. Ignoring incomplete data" << blockValues; + } + verifyUpdateFinished(); + }); + + connect(reply, &QModbusReply::errorOccurred, this, [reply] (QModbusDevice::Error error){ + QModbusResponse response = reply->rawResult(); + if (reply->error() == QModbusDevice::ProtocolError && response.isException()) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while updating block \"consumptions\" registers" << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while updating block \"consumptions\" registers" << error << reply->errorString(); + } + }); + + + // Read Charge Point availability ( Version < 5.22: 0 available, 1 unavailable | Version >= 5.22 1 available, 0 unavailable ) + qCDebug(dcAmtronECUModbusTcpConnection()) << "--> Read \"Charge Point availability ( Version < 5.22: 0 available, 1 unavailable | Version >= 5.22 1 available, 0 unavailable )\" register:" << 124 << "size:" << 1; + reply = readCpAvailability(); + if (!reply) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Error occurred while reading \"Charge Point availability ( Version < 5.22: 0 available, 1 unavailable | Version >= 5.22 1 available, 0 unavailable )\" registers from" << m_modbusTcpMaster->hostAddress().toString() << m_modbusTcpMaster->errorString(); + return false; + } + + if (reply->isFinished()) { + reply->deleteLater(); // Broadcast reply returns immediatly + return false; + } + + m_pendingUpdateReplies.append(reply); + connect(reply, &QModbusReply::finished, reply, &QModbusReply::deleteLater); + connect(reply, &QModbusReply::finished, this, [this, reply](){ + m_pendingUpdateReplies.removeAll(reply); + handleModbusError(reply->error()); + if (reply->error() != QModbusDevice::NoError) { + verifyUpdateFinished(); + return; + } + + const QModbusDataUnit unit = reply->result(); + qCDebug(dcAmtronECUModbusTcpConnection()) << "<-- Response from \"Charge Point availability ( Version < 5.22: 0 available, 1 unavailable | Version >= 5.22 1 available, 0 unavailable )\" register" << 124 << "size:" << 1 << unit.values(); + if (unit.values().size() == 1) { + processCpAvailabilityRegisterValues(unit.values()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Reading from \"Charge Point availability ( Version < 5.22: 0 available, 1 unavailable | Version >= 5.22 1 available, 0 unavailable )\" registers" << 124 << "size:" << 1 << "returned different size than requested. Ignoring incomplete data" << unit.values(); + } + verifyUpdateFinished(); + }); + + connect(reply, &QModbusReply::errorOccurred, this, [this, reply] (QModbusDevice::Error error){ + QModbusResponse response = reply->rawResult(); + if (reply->error() == QModbusDevice::ProtocolError && response.isException()) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"Charge Point availability ( Version < 5.22: 0 available, 1 unavailable | Version >= 5.22 1 available, 0 unavailable )\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"Charge Point availability ( Version < 5.22: 0 available, 1 unavailable | Version >= 5.22 1 available, 0 unavailable )\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString(); + } + }); + + + + // Read HEMS current limit + qCDebug(dcAmtronECUModbusTcpConnection()) << "--> Read \"HEMS current limit\" register:" << 1000 << "size:" << 1; + reply = readHemsCurrentLimit(); + if (!reply) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Error occurred while reading \"HEMS current limit\" registers from" << m_modbusTcpMaster->hostAddress().toString() << m_modbusTcpMaster->errorString(); + return false; + } + + if (reply->isFinished()) { + reply->deleteLater(); // Broadcast reply returns immediatly + return false; + } + + m_pendingUpdateReplies.append(reply); + connect(reply, &QModbusReply::finished, reply, &QModbusReply::deleteLater); + connect(reply, &QModbusReply::finished, this, [this, reply](){ + m_pendingUpdateReplies.removeAll(reply); + handleModbusError(reply->error()); + if (reply->error() != QModbusDevice::NoError) { + verifyUpdateFinished(); + return; + } + + const QModbusDataUnit unit = reply->result(); + qCDebug(dcAmtronECUModbusTcpConnection()) << "<-- Response from \"HEMS current limit\" register" << 1000 << "size:" << 1 << unit.values(); + if (unit.values().size() == 1) { + processHemsCurrentLimitRegisterValues(unit.values()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Reading from \"HEMS current limit\" registers" << 1000 << "size:" << 1 << "returned different size than requested. Ignoring incomplete data" << unit.values(); + } + verifyUpdateFinished(); + }); + + connect(reply, &QModbusReply::errorOccurred, this, [this, reply] (QModbusDevice::Error error){ + QModbusResponse response = reply->rawResult(); + if (reply->error() == QModbusDevice::ProtocolError && response.isException()) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"HEMS current limit\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"HEMS current limit\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString(); + } + }); + + + + // Only available on >= 5.22 + if (m_detectedVersion == VersionNew) { + + // Read Maximum current limit (>= 5.22) + qCDebug(dcAmtronECUModbusTcpConnection()) << "--> Read \"Maximum current limit (>= 5.22)\" register:" << 715 << "size:" << 1; + reply = readMaxCurrentLimit(); + if (!reply) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Error occurred while reading \"Maximum current limit (>= 5.22)\" registers from" << m_modbusTcpMaster->hostAddress().toString() << m_modbusTcpMaster->errorString(); + return false; + } + + if (reply->isFinished()) { + reply->deleteLater(); // Broadcast reply returns immediatly + return false; + } + + m_pendingUpdateReplies.append(reply); + connect(reply, &QModbusReply::finished, reply, &QModbusReply::deleteLater); + connect(reply, &QModbusReply::finished, this, [this, reply](){ + m_pendingUpdateReplies.removeAll(reply); + handleModbusError(reply->error()); + if (reply->error() != QModbusDevice::NoError) { + verifyUpdateFinished(); + return; + } + + const QModbusDataUnit unit = reply->result(); + qCDebug(dcAmtronECUModbusTcpConnection()) << "<-- Response from \"Maximum current limit (>= 5.22)\" register" << 715 << "size:" << 1 << unit.values(); + if (unit.values().size() == 1) { + processMaxCurrentLimitRegisterValues(unit.values()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Reading from \"Maximum current limit (>= 5.22)\" registers" << 715 << "size:" << 1 << "returned different size than requested. Ignoring incomplete data" << unit.values(); + } + verifyUpdateFinished(); + }); + + connect(reply, &QModbusReply::errorOccurred, this, [this, reply] (QModbusDevice::Error error){ + QModbusResponse response = reply->rawResult(); + if (reply->error() == QModbusDevice::ProtocolError && response.isException()) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"Maximum current limit (>= 5.22)\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"Maximum current limit (>= 5.22)\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString(); + } + }); + + // Read Charged energy for current session (>= 5.22) + qCDebug(dcAmtronECUModbusTcpConnection()) << "--> Read \"Charged energy for current session (>= 5.22)\" register:" << 716 << "size:" << 2; + reply = readChargedEnergy(); + if (!reply) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Error occurred while reading \"Charged energy for current session (>= 5.22)\" registers from" << m_modbusTcpMaster->hostAddress().toString() << m_modbusTcpMaster->errorString(); + return false; + } + + if (reply->isFinished()) { + reply->deleteLater(); // Broadcast reply returns immediatly + return false; + } + + m_pendingUpdateReplies.append(reply); + connect(reply, &QModbusReply::finished, reply, &QModbusReply::deleteLater); + connect(reply, &QModbusReply::finished, this, [this, reply](){ + m_pendingUpdateReplies.removeAll(reply); + handleModbusError(reply->error()); + if (reply->error() != QModbusDevice::NoError) { + verifyUpdateFinished(); + return; + } + + const QModbusDataUnit unit = reply->result(); + qCDebug(dcAmtronECUModbusTcpConnection()) << "<-- Response from \"Charged energy for current session (>= 5.22)\" register" << 716 << "size:" << 2 << unit.values(); + if (unit.values().size() == 2) { + processChargedEnergyRegisterValues(unit.values()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Reading from \"Charged energy for current session (>= 5.22)\" registers" << 716 << "size:" << 2 << "returned different size than requested. Ignoring incomplete data" << unit.values(); + } + verifyUpdateFinished(); + }); + + connect(reply, &QModbusReply::errorOccurred, this, [this, reply] (QModbusDevice::Error error){ + QModbusResponse response = reply->rawResult(); + if (reply->error() == QModbusDevice::ProtocolError && response.isException()) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"Charged energy for current session (>= 5.22)\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while reading \"Charged energy for current session (>= 5.22)\" registers from" << m_modbusTcpMaster->hostAddress().toString() << error << reply->errorString(); + } + }); + + + // Read consumptionsTotals + reply = readBlockConsumptionsTotals(); + qCDebug(dcAmtronECUModbusTcpConnection()) << "--> Read block \"consumptionsTotals\" registers from:" << 218 << "size:" << 10; + if (!reply) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Error occurred while reading block \"consumptionsTotals\" registers"; + return false; + } + + if (reply->isFinished()) { + reply->deleteLater(); // Broadcast reply returns immediatly + return false; + } + + m_pendingUpdateReplies.append(reply); + connect(reply, &QModbusReply::finished, reply, &QModbusReply::deleteLater); + connect(reply, &QModbusReply::finished, this, [this, reply](){ + m_pendingUpdateReplies.removeAll(reply); + handleModbusError(reply->error()); + if (reply->error() != QModbusDevice::NoError) { + verifyUpdateFinished(); + return; + } + + const QModbusDataUnit unit = reply->result(); + const QVector blockValues = unit.values(); + qCDebug(dcAmtronECUModbusTcpConnection()) << "<-- Response from reading block \"consumptionsTotals\" register" << 218 << "size:" << 10 << blockValues; + if (blockValues.size() == 10) { + processMeterTotoalEnergyRegisterValues(blockValues.mid(0, 2)); + processMeterTotalPowerRegisterValues(blockValues.mid(2, 2)); + processMeterVoltageL1RegisterValues(blockValues.mid(4, 2)); + processMeterVoltageL2RegisterValues(blockValues.mid(6, 2)); + processMeterVoltageL3RegisterValues(blockValues.mid(8, 2)); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Reading from \"consumptionsTotals\" block registers" << 218 << "size:" << 10 << "returned different size than requested. Ignoring incomplete data" << blockValues; + } + verifyUpdateFinished(); + }); + + connect(reply, &QModbusReply::errorOccurred, this, [reply] (QModbusDevice::Error error){ + QModbusResponse response = reply->rawResult(); + if (reply->error() == QModbusDevice::ProtocolError && response.isException()) { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while updating block \"consumptionsTotals\" registers" << error << reply->errorString() << ModbusDataUtils::exceptionCodeToString(response.exceptionCode()); + } else { + qCWarning(dcAmtronECUModbusTcpConnection()) << "Modbus reply error occurred while updating block \"consumptionsTotals\" registers" << error << reply->errorString(); + } + }); + } + return true; +} + +AmtronECU::Version AmtronECU::detectedVersion() const +{ + return m_detectedVersion; +} + +QDebug operator<<(QDebug debug, AmtronECU *amtronECU) +{ + debug.nospace().noquote() << "AmtronECU(" << amtronECU->modbusTcpMaster()->hostAddress().toString() << ":" << amtronECU->modbusTcpMaster()->port() << ")" << "\n"; + debug.nospace().noquote() << " - holding 100 | Firmware version: " << amtronECU->firmwareVersion() << "\n"; + debug.nospace().noquote() << " - holding 122 | CP signal state: " << amtronECU->cpSignalState() << "\n"; + debug.nospace().noquote() << " - holding 124 | Charge Point availability ( Version < 5.22: 0 available, 1 unavailable | Version >= 5.22 1 available, 0 unavailable ): " << amtronECU->cpAvailability() << "\n"; + debug.nospace().noquote() << " - holding 200 | Meter energy L1: " << amtronECU->meterEnergyL1() << " [Wh]" << "\n"; + debug.nospace().noquote() << " - holding 202 | Meter energy L2: " << amtronECU->meterEnergyL2() << " [Wh]" << "\n"; + debug.nospace().noquote() << " - holding 204 | Meter energy L3: " << amtronECU->meterEnergyL3() << " [Wh]" << "\n"; + debug.nospace().noquote() << " - holding 206 | Meter power L1: " << amtronECU->meterPowerL1() << " [W]" << "\n"; + debug.nospace().noquote() << " - holding 208 | Meter power L2: " << amtronECU->meterPowerL2() << " [W]" << "\n"; + debug.nospace().noquote() << " - holding 210 | Meter power L3: " << amtronECU->meterPowerL3() << " [W]" << "\n"; + debug.nospace().noquote() << " - holding 212 | Meter current L1: " << amtronECU->meterCurrentL1() << " [mA]" << "\n"; + debug.nospace().noquote() << " - holding 214 | Meter current L2: " << amtronECU->meterCurrentL2() << " [mA]" << "\n"; + debug.nospace().noquote() << " - holding 216 | Meter current L3: " << amtronECU->meterCurrentL3() << " [mA]" << "\n"; + debug.nospace().noquote() << " - holding 706 | Signalled current to EV: " << amtronECU->signalledCurrent() << " [A]" << "\n"; + debug.nospace().noquote() << " - holding 712 | Minimum current limit: " << amtronECU->minCurrentLimit() << " [A]" << "\n"; + debug.nospace().noquote() << " - holding 1000 | HEMS current limit: " << amtronECU->hemsCurrentLimit() << " [A]" << "\n"; + + if (amtronECU->detectedVersion() == AmtronECU::VersionNew) { + debug.nospace().noquote() << " - holding 142 | Device model (>= 5.22): " << amtronECU->model() << "\n"; + debug.nospace().noquote() << " - holding 218 | Meter total energy (>= 5.22): " << amtronECU->meterTotoalEnergy() << " [Wh]" << "\n"; + debug.nospace().noquote() << " - holding 220 | Meter total power (>= 5.22): " << amtronECU->meterTotalPower() << " [W]" << "\n"; + debug.nospace().noquote() << " - holding 222 | Meter voltage L1 (>= 5.22): " << amtronECU->meterVoltageL1() << " [V]" << "\n"; + debug.nospace().noquote() << " - holding 224 | Meter voltage L2 (>= 5.22): " << amtronECU->meterVoltageL2() << " [V]" << "\n"; + debug.nospace().noquote() << " - holding 226 | Meter voltage L3 (>= 5.22): " << amtronECU->meterVoltageL3() << " [V]" << "\n"; + debug.nospace().noquote() << " - holding 715 | Maximum current limit (>= 5.22): " << amtronECU->maxCurrentLimit() << " [A]" << "\n"; + debug.nospace().noquote() << " - holding 716 | Charged energy for current session (>= 5.22): " << amtronECU->chargedEnergy() << " [Wh]" << "\n"; + } + return debug.quote().space(); +} + diff --git a/mennekes/amtronecu.h b/mennekes/amtronecu.h new file mode 100644 index 0000000..4d556ac --- /dev/null +++ b/mennekes/amtronecu.h @@ -0,0 +1,64 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +* +* Copyright 2013 - 2023, nymea GmbH +* Contact: contact@nymea.io +* +* This file is part of nymea. +* This project including source code and documentation is protected by +* copyright law, and remains the property of nymea GmbH. All rights, including +* reproduction, publication, editing and translation, are reserved. The use of +* this project is subject to the terms of a license agreement to be concluded +* with nymea GmbH in accordance with the terms of use of nymea GmbH, available +* under https://nymea.io/license +* +* GNU Lesser General Public License Usage +* Alternatively, this project may be redistributed and/or modified under the +* terms of the GNU Lesser General Public License as published by the Free +* Software Foundation; version 3. This project is distributed in the hope that +* it will be useful, but WITHOUT ANY WARRANTY; without even the implied +* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public License +* along with this project. If not, see . +* +* For any further details and any questions please contact us under +* contact@nymea.io or see our FAQ/Licensing Information on +* https://nymea.io/license/faq +* +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +#ifndef AMTRONECU_H +#define AMTRONECU_H + +#include + +#include "amtronecumodbustcpconnection.h" + +class AmtronECU : public AmtronECUModbusTcpConnection +{ + Q_OBJECT +public: + enum Version { + VersionUnknown, + VersionOld, // < 5.22 + VersionNew // >= 5.22 + }; + Q_ENUM(Version) + + explicit AmtronECU(const QHostAddress &hostAddress, uint port, quint16 slaveId, QObject *parent = nullptr); + explicit AmtronECU(ModbusTcpMaster *modbusTcpMaster, quint16 slaveId, QObject *parent = nullptr); + + bool initialize() override; + bool update() override; + + Version detectedVersion() const; + +private: + Version m_detectedVersion = VersionUnknown; + +}; + +QDebug operator<<(QDebug debug, AmtronECU *amtronECU); + +#endif // AMTRONECU_H diff --git a/mennekes/amtronecudiscovery.cpp b/mennekes/amtronecudiscovery.cpp index fde1c85..9838ac9 100644 --- a/mennekes/amtronecudiscovery.cpp +++ b/mennekes/amtronecudiscovery.cpp @@ -1,6 +1,6 @@ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -* Copyright 2013 - 2022, nymea GmbH +* Copyright 2013 - 2023, nymea GmbH * Contact: contact@nymea.io * * This file is part of nymea. @@ -46,6 +46,8 @@ AmtronECUDiscovery::AmtronECUDiscovery(NetworkDeviceDiscovery *networkDeviceDisc void AmtronECUDiscovery::startDiscovery() { qCInfo(dcMennekes()) << "Discovery: Searching for AMTRON wallboxes in the network..."; + m_startDateTime = QDateTime::currentDateTime(); + NetworkDeviceDiscoveryReply *discoveryReply = m_networkDeviceDiscovery->discover(); connect(discoveryReply, &NetworkDeviceDiscoveryReply::networkDeviceInfoAdded, this, &AmtronECUDiscovery::checkNetworkDevice); @@ -66,35 +68,50 @@ void AmtronECUDiscovery::checkNetworkDevice(const NetworkDeviceInfo &networkDevi { int port = 502; int slaveId = 0xff; - qCDebug(dcMennekes()) << "Checking network device:" << networkDeviceInfo << "Port:" << port << "Slave ID:" << slaveId; + qCDebug(dcMennekes()) << "Discovery: Checking network device:" << networkDeviceInfo << "Port:" << port << "Slave ID:" << slaveId; - AmtronECUModbusTcpConnection *connection = new AmtronECUModbusTcpConnection(networkDeviceInfo.address(), port, slaveId, this); + AmtronECU *connection = new AmtronECU(networkDeviceInfo.address(), port, slaveId, this); m_connections.append(connection); - connect(connection, &AmtronECUModbusTcpConnection::reachableChanged, this, [=](bool reachable){ + connect(connection, &AmtronECU::reachableChanged, this, [=](bool reachable){ if (!reachable) { cleanupConnection(connection); return; } - connect(connection, &AmtronECUModbusTcpConnection::initializationFinished, this, [=](bool success){ + connect(connection, &AmtronECU::initializationFinished, this, [=](bool success){ if (!success) { qCDebug(dcMennekes()) << "Discovery: Initialization failed on" << networkDeviceInfo.address().toString(); cleanupConnection(connection); return; } - if (connection->firmwareVersion() == 0 || connection->model().isEmpty()) { - qCDebug(dcMennekes()) << "Firmware version or model invalid. Skipping" << networkDeviceInfo.address(); - cleanupConnection(connection); - return; - } + Result result; - result.firmwareVersion = connection->firmwareVersion(); + result.detectedVersion = connection->detectedVersion(); + result.firmwareVersion = QString::fromUtf8(QByteArray::fromHex(QByteArray::number(connection->firmwareVersion(), 16))); result.model = connection->model(); result.networkDeviceInfo = networkDeviceInfo; - m_discoveryResults.append(result); - qCDebug(dcMennekes()) << "Discovery: Found wallbox with firmware version:" << result.firmwareVersion << result.networkDeviceInfo; + // Note: the model is only known in firmware >= 5.22 + // Some useres have to stay on 5.12 due to calibration law which is not available on 5.22 + switch(connection->detectedVersion()) { + case AmtronECU::VersionOld: + qCDebug(dcMennekes()) << "Discovery: Found wallbox with old firmware version:" << result.firmwareVersion << result.networkDeviceInfo; + m_discoveryResults.append(result); + break; + case AmtronECU::VersionNew: + if (connection->model().isEmpty()) { + qCDebug(dcMennekes()) << "Discovery: Firmware version is >= 5.22 but the model could not be fetched. Skipping" << networkDeviceInfo.address(); + break; + } + + qCDebug(dcMennekes()) << "Discovery: Found wallbox with new firmware version:" << result.model << result.firmwareVersion << result.networkDeviceInfo; + m_discoveryResults.append(result); + break; + case AmtronECU::VersionUnknown: + qCDebug(dcMennekes()) << "Discovery: Firmware version or model invalid. Skipping" << networkDeviceInfo.address(); + break; + } cleanupConnection(connection); }); @@ -105,7 +122,7 @@ void AmtronECUDiscovery::checkNetworkDevice(const NetworkDeviceInfo &networkDevi } }); - connect(connection, &AmtronECUModbusTcpConnection::checkReachabilityFailed, this, [=](){ + connect(connection, &AmtronECU::checkReachabilityFailed, this, [=](){ qCDebug(dcMennekes()) << "Discovery: Checking reachability failed on" << networkDeviceInfo.address().toString(); cleanupConnection(connection); }); @@ -113,7 +130,7 @@ void AmtronECUDiscovery::checkNetworkDevice(const NetworkDeviceInfo &networkDevi connection->connectDevice(); } -void AmtronECUDiscovery::cleanupConnection(AmtronECUModbusTcpConnection *connection) +void AmtronECUDiscovery::cleanupConnection(AmtronECU *connection) { m_connections.removeAll(connection); connection->disconnectDevice(); @@ -125,11 +142,11 @@ void AmtronECUDiscovery::finishDiscovery() qint64 durationMilliSeconds = QDateTime::currentMSecsSinceEpoch() - m_startDateTime.toMSecsSinceEpoch(); // Cleanup any leftovers...we don't care any more - foreach (AmtronECUModbusTcpConnection *connection, m_connections) + foreach (AmtronECU *connection, m_connections) cleanupConnection(connection); qCInfo(dcMennekes()) << "Discovery: Finished the discovery process. Found" << m_discoveryResults.count() - << "AMTRON wallboxes in" << QTime::fromMSecsSinceStartOfDay(durationMilliSeconds).toString("mm:ss.zzz"); + << "AMTRON ECU wallboxes in" << QTime::fromMSecsSinceStartOfDay(durationMilliSeconds).toString("mm:ss.zzz"); m_gracePeriodTimer.stop(); emit discoveryFinished(); diff --git a/mennekes/amtronecudiscovery.h b/mennekes/amtronecudiscovery.h index 5a997ad..0082492 100644 --- a/mennekes/amtronecudiscovery.h +++ b/mennekes/amtronecudiscovery.h @@ -1,6 +1,6 @@ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -* Copyright 2013 - 2022, nymea GmbH +* Copyright 2013 - 2023, nymea GmbH * Contact: contact@nymea.io * * This file is part of nymea. @@ -36,7 +36,7 @@ #include -#include "amtronecumodbustcpconnection.h" +#include "amtronecu.h" class AmtronECUDiscovery : public QObject { @@ -44,6 +44,7 @@ class AmtronECUDiscovery : public QObject public: explicit AmtronECUDiscovery(NetworkDeviceDiscovery *networkDeviceDiscovery, QObject *parent = nullptr); struct Result { + AmtronECU::Version detectedVersion; QString firmwareVersion; QString model; NetworkDeviceInfo networkDeviceInfo; @@ -62,12 +63,12 @@ private: QTimer m_gracePeriodTimer; QDateTime m_startDateTime; - QList m_connections; + QList m_connections; QList m_discoveryResults; void checkNetworkDevice(const NetworkDeviceInfo &networkDeviceInfo); - void cleanupConnection(AmtronECUModbusTcpConnection *connection); + void cleanupConnection(AmtronECU *connection); void finishDiscovery(); }; diff --git a/mennekes/integrationpluginmennekes.cpp b/mennekes/integrationpluginmennekes.cpp index 4e9eb12..8538670 100644 --- a/mennekes/integrationpluginmennekes.cpp +++ b/mennekes/integrationpluginmennekes.cpp @@ -66,14 +66,13 @@ void IntegrationPluginMennekes::discoverThings(ThingDiscoveryInfo *info) QString name = "AMTRON Charge Control/Professional"; QString description = result.model.isEmpty() ? result.networkDeviceInfo.address().toString() : - result.model + " (" + result.networkDeviceInfo.address().toString() + ")"; + result.model + " (" + result.networkDeviceInfo.address().toString() + ")"; if (result.model.startsWith("CC")) { name = "AMTRON Charge Control"; } else if (result.model.startsWith("P")) { name = "AMTRON Professional"; } else { qCWarning(dcMennekes()) << "Unknown Amtron model:" << result.model; - continue; } ThingDescriptor descriptor(amtronECUThingClassId, name, description); qCDebug(dcMennekes()) << "Discovered:" << descriptor.title() << descriptor.description(); @@ -289,7 +288,7 @@ void IntegrationPluginMennekes::postSetupThing(Thing *thing) qCDebug(dcMennekes()) << "Starting plugin timer..."; m_pluginTimer = hardwareManager()->pluginTimerManager()->registerTimer(2); connect(m_pluginTimer, &PluginTimer::timeout, this, [this] { - foreach(AmtronECUModbusTcpConnection *connection, m_amtronECUConnections) { + foreach(AmtronECU *connection, m_amtronECUConnections) { qCDebug(dcMennekes()) << "Updating connection" << connection->modbusTcpMaster()->hostAddress().toString(); connection->update(); } @@ -311,8 +310,7 @@ void IntegrationPluginMennekes::postSetupThing(Thing *thing) void IntegrationPluginMennekes::executeAction(ThingActionInfo *info) { if (info->thing()->thingClassId() == amtronECUThingClassId) { - AmtronECUModbusTcpConnection *amtronECUConnection = m_amtronECUConnections.value(info->thing()); - + AmtronECU *amtronECUConnection = m_amtronECUConnections.value(info->thing()); if (info->action().actionTypeId() == amtronECUPowerActionTypeId) { bool power = info->action().paramValue(amtronECUPowerActionPowerParamTypeId).toBool(); @@ -458,7 +456,7 @@ void IntegrationPluginMennekes::executeAction(ThingActionInfo *info) void IntegrationPluginMennekes::thingRemoved(Thing *thing) { if (thing->thingClassId() == amtronECUThingClassId && m_amtronECUConnections.contains(thing)) { - AmtronECUModbusTcpConnection *connection = m_amtronECUConnections.take(thing); + AmtronECU *connection = m_amtronECUConnections.take(thing); delete connection; } @@ -484,7 +482,7 @@ void IntegrationPluginMennekes::thingRemoved(Thing *thing) void IntegrationPluginMennekes::updateECUPhaseCount(Thing *thing) { - AmtronECUModbusTcpConnection *amtronECUConnection = m_amtronECUConnections.value(thing); + AmtronECU *amtronECUConnection = m_amtronECUConnections.value(thing); int phaseCount = 0; qCDebug(dcMennekes()) << "Phases: L1" << amtronECUConnection->meterCurrentL1() << "L2" << amtronECUConnection->meterCurrentL2() << "L3" << amtronECUConnection->meterCurrentL3(); // the current idles on some 5 - 10 mA when not charging... @@ -501,17 +499,27 @@ void IntegrationPluginMennekes::updateECUPhaseCount(Thing *thing) phaseCount++; } qCDebug(dcMennekes()) << "Actively charging phases:" << phaseCount; - if (phaseCount == 0) { - if (amtronECUConnection->meterVoltageL1() > 0) { - phaseCount++; + + if (amtronECUConnection->detectedVersion() == AmtronECU::VersionNew) { + + // Only available since 5.22 + if (phaseCount == 0) { + if (amtronECUConnection->meterVoltageL1() > 0) { + phaseCount++; + } + if (amtronECUConnection->meterVoltageL2() > 0) { + phaseCount++; + } + if (amtronECUConnection->meterVoltageL3() > 0) { + phaseCount++; + } + qCDebug(dcMennekes()) << "Connected phases:" << phaseCount; } - if (amtronECUConnection->meterVoltageL2() > 0) { - phaseCount++; + } else if (amtronECUConnection->detectedVersion() == AmtronECU::VersionOld) { + if (phaseCount == 0) { + qCDebug(dcMennekes()) << "Could not detect phases in use. Default to 1 phase."; + phaseCount = 1; } - if (amtronECUConnection->meterVoltageL3() > 0) { - phaseCount++; - } - qCDebug(dcMennekes()) << "Connected phases:" << phaseCount; } thing->setStateValue(amtronECUPhaseCountStateTypeId, phaseCount); @@ -536,7 +544,7 @@ void IntegrationPluginMennekes::setupAmtronECUConnection(ThingSetupInfo *info) QHostAddress address = m_monitors.value(thing)->networkDeviceInfo().address(); qCDebug(dcMennekes()) << "Setting up amtron wallbox on" << address.toString(); - AmtronECUModbusTcpConnection *amtronECUConnection = new AmtronECUModbusTcpConnection(address, 502, 0xff, this); + AmtronECU *amtronECUConnection = new AmtronECU(address, 502, 0xff, this); connect(info, &ThingSetupInfo::aborted, amtronECUConnection, &ModbusTcpMaster::deleteLater); // Reconnect on monitor reachable changed @@ -556,7 +564,7 @@ void IntegrationPluginMennekes::setupAmtronECUConnection(ThingSetupInfo *info) } }); - connect(amtronECUConnection, &AmtronECUModbusTcpConnection::reachableChanged, thing, [thing, amtronECUConnection](bool reachable){ + connect(amtronECUConnection, &AmtronECU::reachableChanged, thing, [thing, amtronECUConnection](bool reachable){ qCDebug(dcMennekes()) << "Reachable changed to" << reachable << "for" << thing; if (reachable) { amtronECUConnection->initialize(); @@ -565,7 +573,7 @@ void IntegrationPluginMennekes::setupAmtronECUConnection(ThingSetupInfo *info) } }); - connect(amtronECUConnection, &AmtronECUModbusTcpConnection::initializationFinished, thing, [=](bool success){ + connect(amtronECUConnection, &AmtronECU::initializationFinished, thing, [=](bool success){ if (!thing->setupComplete()) return; @@ -578,7 +586,8 @@ void IntegrationPluginMennekes::setupAmtronECUConnection(ThingSetupInfo *info) } }); - connect(amtronECUConnection, &AmtronECUModbusTcpConnection::initializationFinished, info, [=](bool success){ + connect(amtronECUConnection, &AmtronECU::initializationFinished, info, [=](bool success){ + if (!success) { qCWarning(dcMennekes()) << "Connection init finished with errors" << thing->name() << amtronECUConnection->modbusTcpMaster()->hostAddress().toString(); hardwareManager()->networkDeviceDiscovery()->unregisterMonitor(monitor); @@ -589,44 +598,80 @@ void IntegrationPluginMennekes::setupAmtronECUConnection(ThingSetupInfo *info) qCDebug(dcMennekes()) << "Connection init finished successfully" << amtronECUConnection; - QString minimumVersion = "5.22"; - if (!ensureAmtronECUVersion(amtronECUConnection, minimumVersion)) { - qCWarning(dcMennekes()) << "Firmware version too old:" << QByteArray::fromHex(QByteArray::number(amtronECUConnection->firmwareVersion(), 16)) << "Minimum required:" << minimumVersion; - hardwareManager()->networkDeviceDiscovery()->unregisterMonitor(monitor); - amtronECUConnection->deleteLater(); - info->finish(Thing::ThingErrorHardwareFailure, QT_TR_NOOP("The firmware version of this wallbox is too old. Please upgrade the firmware to at least version 5.22.")); - return; - } - m_amtronECUConnections.insert(thing, amtronECUConnection); info->finish(Thing::ThingErrorNoError); thing->setStateValue(amtronECUConnectedStateTypeId, true); + thing->setStateValue(amtronECUFirmwareVersionStateTypeId, QString::fromUtf8(QByteArray::fromHex(QByteArray::number(amtronECUConnection->firmwareVersion(), 16)))); amtronECUConnection->update(); }); - connect(amtronECUConnection, &AmtronECUModbusTcpConnection::updateFinished, thing, [this, amtronECUConnection, thing](){ + connect(amtronECUConnection, &AmtronECU::updateFinished, thing, [this, amtronECUConnection, thing](){ qCDebug(dcMennekes()) << "Amtron ECU update finished:" << thing->name() << amtronECUConnection; updateECUPhaseCount(thing); + + // Firmware >= 5.12 + + if (amtronECUConnection->cpSignalState() != AmtronECU::CPSignalStateE) { + // State E (Off): don't update as the wallbox goes to this state for a few seconds regardless of the actual plugged in state. + qCDebug(dcMennekes()) << "CP signal state changed" << amtronECUConnection->cpSignalState(); + thing->setStateValue(amtronECUPluggedInStateTypeId, amtronECUConnection->cpSignalState() >= AmtronECU::CPSignalStateB); + } + + thing->setStateMinValue(amtronECUMaxChargingCurrentStateTypeId, amtronECUConnection->minCurrentLimit()); + + qCDebug(dcMennekes()) << "HEMS current limit:" << amtronECUConnection->hemsCurrentLimit(); + if (amtronECUConnection->hemsCurrentLimit() == 0) { + thing->setStateValue(amtronECUPowerStateTypeId, false); + } else { + thing->setStateValue(amtronECUPowerStateTypeId, true); + thing->setStateValue(amtronECUMaxChargingCurrentStateTypeId, amtronECUConnection->hemsCurrentLimit()); + } + + if (amtronECUConnection->detectedVersion() == AmtronECU::VersionOld) { + // Note: version < 5.22 has no totals, we need to sum them up + int totalPower = 0; + + if (amtronECUConnection->meterPowerL1() != 0xffffffff) { + totalPower += amtronECUConnection->meterPowerL1(); + } + + if (amtronECUConnection->meterPowerL2() != 0xffffffff) { + totalPower += amtronECUConnection->meterPowerL2(); + } + + if (amtronECUConnection->meterPowerL3() != 0xffffffff) { + totalPower += amtronECUConnection->meterPowerL3(); + } + + thing->setStateValue(amtronECUCurrentPowerStateTypeId, totalPower); + + double totalEnergy = 0; // Wh + if (amtronECUConnection->meterEnergyL1() != 0xffffffff) { + totalEnergy += amtronECUConnection->meterEnergyL1(); + } + + if (amtronECUConnection->meterEnergyL2() != 0xffffffff) { + totalEnergy += amtronECUConnection->meterEnergyL2(); + } + + if (amtronECUConnection->meterEnergyL3() != 0xffffffff) { + totalEnergy += amtronECUConnection->meterEnergyL3(); + } + + totalEnergy /= 1000.0; // Convert Wh to kWh + thing->setStateValue(amtronECUTotalEnergyConsumedStateTypeId, qRound(totalEnergy * 100.0) / 100.0); // rounded to 2 as it changes on every update + } }); - connect(amtronECUConnection, &AmtronECUModbusTcpConnection::cpSignalStateChanged, thing, [thing](AmtronECUModbusTcpConnection::CPSignalState cpSignalState) { - qCDebug(dcMennekes()) << "CP signal state changed" << cpSignalState; - if (cpSignalState == AmtronECUModbusTcpConnection::CPSignalStateE) { - // State E (Off): don't update as the wallbox goes to this state for a few seconds regardless of the actual plugged in state. - return; - } - thing->setStateValue(amtronECUPluggedInStateTypeId, cpSignalState >= AmtronECUModbusTcpConnection::CPSignalStateB); - }); - connect(amtronECUConnection, &AmtronECUModbusTcpConnection::signalledCurrentChanged, thing, [](quint16 signalledCurrent) { + connect(amtronECUConnection, &AmtronECU::signalledCurrentChanged, thing, [](quint16 signalledCurrent) { qCDebug(dcMennekes()) << "Signalled current changed:" << signalledCurrent; }); - connect(amtronECUConnection, &AmtronECUModbusTcpConnection::minCurrentLimitChanged, thing, [thing](quint16 minCurrentLimit) { - qCDebug(dcMennekes()) << "min current limit changed:" << minCurrentLimit; - thing->setStateMinValue(amtronECUMaxChargingCurrentStateTypeId, minCurrentLimit); - }); - connect(amtronECUConnection, &AmtronECUModbusTcpConnection::maxCurrentLimitChanged, thing, [this, thing](quint16 maxCurrentLimit) { + + // From here only for firmware version >= 5.22, otherwise these signal will never be emitted, but if the user updates to 5.22, they start working + + connect(amtronECUConnection, &AmtronECU::maxCurrentLimitChanged, thing, [this, thing](quint16 maxCurrentLimit) { qCDebug(dcMennekes()) << "max current limit changed:" << maxCurrentLimit; // If the vehicle or cable are not capable of reporting the maximum, this will be 0 // We'll reset to the max defined in the json file in that case @@ -635,25 +680,19 @@ void IntegrationPluginMennekes::setupAmtronECUConnection(ThingSetupInfo *info) } thing->setStateMaxValue(amtronECUMaxChargingCurrentStateTypeId, maxCurrentLimit); }); - connect(amtronECUConnection, &AmtronECUModbusTcpConnection::hemsCurrentLimitChanged, thing, [thing](quint16 hemsCurrentLimit) { - qCDebug(dcMennekes()) << "HEMS current limit changed:" << hemsCurrentLimit; - if (hemsCurrentLimit == 0) { - thing->setStateValue(amtronECUPowerStateTypeId, false); - } else { - thing->setStateValue(amtronECUPowerStateTypeId, true); - thing->setStateValue(amtronECUMaxChargingCurrentStateTypeId, hemsCurrentLimit); - } - }); - connect(amtronECUConnection, &AmtronECUModbusTcpConnection::meterTotoalEnergyChanged, thing, [thing](quint32 meterTotalEnergy) { + + connect(amtronECUConnection, &AmtronECU::meterTotoalEnergyChanged, thing, [thing](quint32 meterTotalEnergy) { qCDebug(dcMennekes()) << "meter total energy changed:" << meterTotalEnergy; thing->setStateValue(amtronECUTotalEnergyConsumedStateTypeId, qRound(meterTotalEnergy / 10.0) / 100.0); // rounded to 2 as it changes on every update }); - connect(amtronECUConnection, &AmtronECUModbusTcpConnection::meterTotalPowerChanged, thing, [thing](quint32 meterTotalPower) { + + connect(amtronECUConnection, &AmtronECU::meterTotalPowerChanged, thing, [thing](quint32 meterTotalPower) { qCDebug(dcMennekes()) << "meter total power changed:" << meterTotalPower; thing->setStateValue(amtronECUCurrentPowerStateTypeId, meterTotalPower); thing->setStateValue(amtronECUChargingStateTypeId, meterTotalPower > 0); }); - connect(amtronECUConnection, &AmtronECUModbusTcpConnection::chargedEnergyChanged, thing, [thing](quint32 chargedEnergy) { + + connect(amtronECUConnection, &AmtronECU::chargedEnergyChanged, thing, [thing](quint32 chargedEnergy) { qCDebug(dcMennekes()) << "charged energy changed:" << chargedEnergy; thing->setStateValue(amtronECUSessionEnergyStateTypeId, qRound(chargedEnergy / 10.0) / 100.0); // rounded to 2 as it changes on every update }); @@ -857,31 +896,31 @@ void IntegrationPluginMennekes::setupAmtronCompact20Connection(ThingSetupInfo *i connect(compact20Connection, &AmtronCompact20ModbusRtuConnection::cpSignalStateChanged, thing, [thing](AmtronCompact20ModbusRtuConnection::CPSignalState cpSignalState){ qCDebug(dcMennekes()) << "CP signal state changed:" << thing->name() << cpSignalState; // Note: using EVSE state register instead -// switch (cpSignalState) { -// case AmtronCompact20ModbusRtuConnection::CPSignalStateA1: -// case AmtronCompact20ModbusRtuConnection::CPSignalStateA2: -// thing->setStateValue(amtronCompact20PluggedInStateTypeId, false); -// thing->setStateValue(amtronCompact20ChargingStateTypeId, false); -// break; -// case AmtronCompact20ModbusRtuConnection::CPSignalStateB1: -// case AmtronCompact20ModbusRtuConnection::CPSignalStateB2: -// thing->setStateValue(amtronCompact20PluggedInStateTypeId, true); -// thing->setStateValue(amtronCompact20ChargingStateTypeId, false); -// break; -// case AmtronCompact20ModbusRtuConnection::CPSignalStateC1: -// case AmtronCompact20ModbusRtuConnection::CPSignalStateC2: -// case AmtronCompact20ModbusRtuConnection::CPSignalStateD1: -// case AmtronCompact20ModbusRtuConnection::CPSignalStateD2: -// thing->setStateValue(amtronCompact20PluggedInStateTypeId, true); -// thing->setStateValue(amtronCompact20ChargingStateTypeId, true); -// break; -// case AmtronCompact20ModbusRtuConnection::CPSignalStateE: -// case AmtronCompact20ModbusRtuConnection::CPSignalStateF: -// qCWarning(dcMennekes()) << "Wallbox in Error state!"; -// thing->setStateValue(amtronCompact20PluggedInStateTypeId, false); -// thing->setStateValue(amtronCompact20ChargingStateTypeId, false); -// break; -// } + // switch (cpSignalState) { + // case AmtronCompact20ModbusRtuConnection::CPSignalStateA1: + // case AmtronCompact20ModbusRtuConnection::CPSignalStateA2: + // thing->setStateValue(amtronCompact20PluggedInStateTypeId, false); + // thing->setStateValue(amtronCompact20ChargingStateTypeId, false); + // break; + // case AmtronCompact20ModbusRtuConnection::CPSignalStateB1: + // case AmtronCompact20ModbusRtuConnection::CPSignalStateB2: + // thing->setStateValue(amtronCompact20PluggedInStateTypeId, true); + // thing->setStateValue(amtronCompact20ChargingStateTypeId, false); + // break; + // case AmtronCompact20ModbusRtuConnection::CPSignalStateC1: + // case AmtronCompact20ModbusRtuConnection::CPSignalStateC2: + // case AmtronCompact20ModbusRtuConnection::CPSignalStateD1: + // case AmtronCompact20ModbusRtuConnection::CPSignalStateD2: + // thing->setStateValue(amtronCompact20PluggedInStateTypeId, true); + // thing->setStateValue(amtronCompact20ChargingStateTypeId, true); + // break; + // case AmtronCompact20ModbusRtuConnection::CPSignalStateE: + // case AmtronCompact20ModbusRtuConnection::CPSignalStateF: + // qCWarning(dcMennekes()) << "Wallbox in Error state!"; + // thing->setStateValue(amtronCompact20PluggedInStateTypeId, false); + // thing->setStateValue(amtronCompact20ChargingStateTypeId, false); + // break; + // } }); connect(compact20Connection, &AmtronCompact20ModbusRtuConnection::evseStateChanged, thing, [thing](AmtronCompact20ModbusRtuConnection::EvseState evseState){ @@ -951,9 +990,3 @@ void IntegrationPluginMennekes::setupAmtronCompact20Connection(ThingSetupInfo *i }); } - -bool IntegrationPluginMennekes::ensureAmtronECUVersion(AmtronECUModbusTcpConnection *connection, const QString &version) -{ - QByteArray deviceVersion = QByteArray::fromHex(QByteArray::number(connection->firmwareVersion(), 16)); - return deviceVersion >= version; -} diff --git a/mennekes/integrationpluginmennekes.h b/mennekes/integrationpluginmennekes.h index 85c9a13..26457a0 100644 --- a/mennekes/integrationpluginmennekes.h +++ b/mennekes/integrationpluginmennekes.h @@ -1,6 +1,6 @@ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * -* Copyright 2013 - 2022, nymea GmbH +* Copyright 2013 - 2023, nymea GmbH * Contact: contact@nymea.io * * This file is part of nymea. @@ -37,7 +37,7 @@ #include "extern-plugininfo.h" -#include "amtronecumodbustcpconnection.h" +#include "amtronecu.h" #include "amtronhcc3modbustcpconnection.h" #include "amtroncompact20modbusrtuconnection.h" @@ -66,10 +66,8 @@ private: void setupAmtronHCC3Connection(ThingSetupInfo *info); void setupAmtronCompact20Connection(ThingSetupInfo *info); - bool ensureAmtronECUVersion(AmtronECUModbusTcpConnection *connection, const QString &version); - PluginTimer *m_pluginTimer = nullptr; - QHash m_amtronECUConnections; + QHash m_amtronECUConnections; QHash m_amtronHCC3Connections; QHash m_amtronCompact20Connections; QHash m_monitors; diff --git a/mennekes/integrationpluginmennekes.json b/mennekes/integrationpluginmennekes.json index ef7cca8..944780e 100644 --- a/mennekes/integrationpluginmennekes.json +++ b/mennekes/integrationpluginmennekes.json @@ -104,6 +104,14 @@ "type": "double", "unit": "KiloWattHour", "defaultValue": 0 + }, + { + "id": "00813b6e-bd93-4728-a11a-aac6298503e6", + "name": "firmwareVersion", + "displayName": "Firmware version", + "type": "QString", + "defaultValue": "", + "cached": true } ] }, diff --git a/mennekes/mennekes.pro b/mennekes/mennekes.pro index 7bb3c77..bd6c739 100644 --- a/mennekes/mennekes.pro +++ b/mennekes/mennekes.pro @@ -10,12 +10,14 @@ include(../modbus.pri) HEADERS += \ amtroncompact20discovery.h \ + amtronecu.h \ amtronecudiscovery.h \ amtronhcc3discovery.h \ integrationpluginmennekes.h SOURCES += \ amtroncompact20discovery.cpp \ + amtronecu.cpp \ amtronecudiscovery.cpp \ amtronhcc3discovery.cpp \ integrationpluginmennekes.cpp

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