But if I enable all 3 clients and senders, than strange things happen, I got multiple mqtt messages
with different timestamps, see dots = mqtt messages
Each collection creates a separate connection to the broker. So if you have 3 collections configured with the same broker, the broker will receive 3 separate messages from each collection.
After I add devices - message count is equal to
number of enabled Data To Send collections (3) times sum of all Modbus requests (6)
3x6 = 18 each 5 sec
How many registers are you reading? What is the ‘segment count’ for Modbus in Data to Server configuration?
Also, could you please try setting Modbus TCP devices (in Modbus TCP client config) to have different delay (0/300/600) and period (3/5/7) times for each device, so that they do not overlap?
What are the results?
It’s a workaround method, so yes, it may not work properly and there can be issues.
How many registers are you reading? What is the ‘segment count’ for Modbus in Data to Server configuration?
I read 6 registers for 3 devices, each segment count is set to 1 (I tried with Send As Object, same result) to send just one register at once, if count is set to 2 sometimes I get JSON with 2 registers and quicky after is send JSON with one register.
Also, could you please try setting Modbus TCP devices (in Modbus TCP client config) to have different delay (0/300/600) and period (3/5/7) times for each device, so that they do not overlap?
I did several configurations … reconnect enabled, period, start delay, always same result, no change.
In my opinion this must be some bug in firmware, which takes out modbus data from database (sqlite i guess), it takes data out properly with filtering by IP, but a wrong count of readout.
p.s.
in case of Modbus TCP you can specify same IP address for all devices but different Server Id (like Modbus RTU) and still you are able to filter out by this Id. So no need to configure additiona NAT rules to forward IPs