Fixes for Idm plugin

Hopefully reading room temperature and outside temperature correctly
now.
pull/7/head
Hermann Detz 2020-10-16 14:01:30 +02:00 committed by Michael Zanetti
parent 470eb64317
commit ad70d1d254
4 changed files with 8 additions and 4 deletions

View File

@ -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);

View File

@ -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

View File

@ -29,6 +29,7 @@
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include "modbustcpmaster.h"
#include <loggingcategories.h>
NYMEA_LOGGING_CATEGORY(dcModbusTCP, "ModbusTCP")

View File

@ -37,6 +37,8 @@
#include <QTimer>
#include <QUuid>
Q_DECLARE_LOGGING_CATEGORY(dcModbus)
class ModbusTCPMaster : public QObject
{
Q_OBJECT