diff --git a/libnymea-core/modbus/modbusrtumanager.cpp b/libnymea-core/modbus/modbusrtumanager.cpp index 3e0c6f13..d2cdafa4 100644 --- a/libnymea-core/modbus/modbusrtumanager.cpp +++ b/libnymea-core/modbus/modbusrtumanager.cpp @@ -63,6 +63,15 @@ ModbusRtuManager::ModbusRtuManager(SerialPortMonitor *serialPortMonitor, QObject } } }); + + // Try to connect the modbus rtu masters + foreach (ModbusRtuMaster *modbusMaster, m_modbusRtuMasters.values()) { + ModbusRtuMasterImpl *modbusMasterImpl = qobject_cast(modbusMaster); + if (!modbusMasterImpl->connectDevice()) { + qCWarning(dcModbusRtu()) << "Failed to connect modbus RTU master. Could not connect to" << modbusMaster; + } + } + } SerialPortMonitor *ModbusRtuManager::serialPortMonitor() const @@ -256,11 +265,6 @@ void ModbusRtuManager::addModbusRtuMasterInternally(ModbusRtuMasterImpl *modbusR }); emit modbusRtuMasterAdded(modbusMaster); - - // Try to connect the modbus rtu master after adding the bus - if (!modbusRtuMaster->connectDevice()) { - qCWarning(dcModbusRtu()) << "Failed to connect modbus RTU master. Could not connect to" << modbusMaster; - } } } diff --git a/libnymea/hardware/modbus/modbusrtumaster.h b/libnymea/hardware/modbus/modbusrtumaster.h index 4be61031..39ba94be 100644 --- a/libnymea/hardware/modbus/modbusrtumaster.h +++ b/libnymea/hardware/modbus/modbusrtumaster.h @@ -86,8 +86,8 @@ inline QDebug operator<<(QDebug debug, ModbusRtuMaster *modbusRtuMaster) { debug.nospace() << ", " << modbusRtuMaster->dataBits(); debug.nospace() << ", " << modbusRtuMaster->stopBits(); debug.nospace() << ", " << modbusRtuMaster->parity(); - debug.nospace() << ", Retries:" << modbusRtuMaster->numberOfRetries(); - debug.nospace() << ", Timeout:" << modbusRtuMaster->numberOfRetries() << "ms)"; + debug.nospace() << ", Retries: " << modbusRtuMaster->numberOfRetries(); + debug.nospace() << ", Timeout: " << modbusRtuMaster->timeout() << "ms)"; return debug.space(); };