From a95c4af822e0de355b7487532bf4bd51ec1297ab Mon Sep 17 00:00:00 2001 From: Philipp Jungkamp Date: Wed, 23 Aug 2023 14:38:06 +0200 Subject: [PATCH] node-modbus: Add details and improve description Signed-off-by: Philipp Jungkamp --- lib/nodes/modbus.cpp | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/lib/nodes/modbus.cpp b/lib/nodes/modbus.cpp index 08b3a453d..f169dbdfe 100644 --- a/lib/nodes/modbus.cpp +++ b/lib/nodes/modbus.cpp @@ -904,10 +904,28 @@ std::vector ModbusNode::getPollFDs() const std::string & ModbusNode::getDetails() { - details = fmt::format(""); + if (details.empty()) { + if (auto tcp = std::get_if(&connection_settings)) { + details = fmt::format("transport=tcp, remote={}, port={}", tcp->remote, tcp->port); + + if (tcp->unit) + details.append(fmt::format(", unit={}", *tcp->unit)); + } + + if (auto rtu = std::get_if(&connection_settings)) { + details = fmt::format("transport=rtu, device={}, baudrate={}, parity={}, data_bits={}, stop_bits={}, unit={}", + rtu->device.c_str(), + rtu->baudrate, + static_cast(rtu->parity), + rtu->data_bits, + rtu->stop_bits, + rtu->unit); + } + } + return details; } static char name[] = "modbus"; -static char description[] = "read and write Modbus registers as a client"; +static char description[] = "Read and write Modbus registers"; static NodePlugin p;