From ad70d1d254a0f2084fa4f906eefb79d2a500aa3b Mon Sep 17 00:00:00 2001 From: Hermann Detz Date: Fri, 16 Oct 2020 14:01:30 +0200 Subject: [PATCH] Fixes for Idm plugin Hopefully reading room temperature and outside temperature correctly now. --- idm/idm.cpp | 8 ++++---- idm/idm.h | 1 + modbus/modbustcpmaster.cpp | 1 + modbus/modbustcpmaster.h | 2 ++ 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/idm/idm.cpp b/idm/idm.cpp index 070833d..a948bfd 100644 --- a/idm/idm.cpp +++ b/idm/idm.cpp @@ -60,7 +60,7 @@ void Idm::onReceivedHoldingRegister(int slaveAddress, int modbusRegister, const switch (modbusRegister) { case Idm::OutsideTemperature: if (value.length() == 2) { - m_info->m_roomTemperature = ModbusHelpers::convertRegisterToFloat(&value[RegisterList::OutsideTemperature - modbusRegister]); + m_info->m_outsideTemperature = ModbusHelpers::convertRegisterToFloat(&value[RegisterList::OutsideTemperature - modbusRegister]); } m_modbusMaster->readHoldingRegister(Idm::ModbusUnitID, Idm::CurrentFaultNumber, 1); break; @@ -90,11 +90,11 @@ void Idm::onReceivedHoldingRegister(int slaveAddress, int modbusRegister, const if (value.length() == 1) { m_info->m_mode = heatPumpOperationModeToString((Idm::IdmHeatPumpMode)value[RegisterList::HeatPumpOperatingMode-modbusRegister]); } - m_modbusMaster->readHoldingRegister(Idm::ModbusUnitID, Idm::ExternalOutsideTemperature, 2); + m_modbusMaster->readHoldingRegister(Idm::ModbusUnitID, Idm::RoomTemperatureHKA, 2); break; - case Idm::ExternalOutsideTemperature: + case Idm::RoomTemperatureHKA: if (value.length() == 2) { - m_info->m_outsideTemperature = ModbusHelpers::convertRegisterToFloat(&value[RegisterList::ExternalOutsideTemperature - modbusRegister]); + m_info->m_roomTemperature = ModbusHelpers::convertRegisterToFloat(&value[RegisterList::ExternalOutsideTemperature - modbusRegister]); } emit statusUpdated(m_info); diff --git a/idm/idm.h b/idm/idm.h index 8b83544..152acc5 100644 --- a/idm/idm.h +++ b/idm/idm.h @@ -102,6 +102,7 @@ private: TargetHotWaterTemperature = 1032, // Warmwasser-Solltemperatur HeatPumpOperatingMode = 1090, // Betriebsart Wärmepumpe SummationFaultHeatPump = 1099, // Summenstörung Wärepumpe + RoomTemperatureHKA = 1364, // Heizkreis A Raumtemperature (B61) Humiditysensor = 1392, // Feuchtesensor RoomTemperatureTargetHeatingHKA = 1401, // Raumsolltemperatur Heizen Normal HK A ExternalOutsideTemperature = 1690, // Externe Außentemperatur diff --git a/modbus/modbustcpmaster.cpp b/modbus/modbustcpmaster.cpp index 48bce17..88eacb7 100644 --- a/modbus/modbustcpmaster.cpp +++ b/modbus/modbustcpmaster.cpp @@ -29,6 +29,7 @@ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #include "modbustcpmaster.h" + #include NYMEA_LOGGING_CATEGORY(dcModbusTCP, "ModbusTCP") diff --git a/modbus/modbustcpmaster.h b/modbus/modbustcpmaster.h index ae3d9b2..86aa28c 100644 --- a/modbus/modbustcpmaster.h +++ b/modbus/modbustcpmaster.h @@ -37,6 +37,8 @@ #include #include +Q_DECLARE_LOGGING_CATEGORY(dcModbus) + class ModbusTCPMaster : public QObject { Q_OBJECT