11443 questions

13633 answers


32109 members

0 votes
254 views 2 comments

I am using a RUTX11 as a IOT Gateway to connect to Thingsboard. I followed the example in the link below:


The problem is that if I want to send several registers from Modbus TCP master all the Modbus Data is all together and Thingsboard does not process it.

Example of a message sent by RUTX11: {"ts": "1603276117","data":[1908,85,86,230,0,0,266,0]}

I would like to know if there is a way to split the Data and make the key-value pairs that are necessary for Thingsboard.

Example of a message Thingsboard need: {"ts": "1603276117","data1":1908, "data2":85,"data3":86,"data4":230,"data5":0,"data6":0,"data7":266,"data8":0}



1 Answer

0 votes


It is not possible to send already split modbus data to Thingsboard.

However, it is possible to send an array of modbus data to Thingsboard and then using Thingsboard Rule chains, split the data into separate telemetry values. A basic tutorial on how to do so can be found here - https://thingsboard.io/docs/user-guide/rule-engine-2-0/tutorials/transform-incoming-telemetry/

Keep in mind, to send an array that Thingsboard can split, you have to a minor adjustment to your router settings - the "No brackets" button in your Modbus TCP Master settings has to be disabled, as the array has to be contained by brackets. 

If you require further assistance setting up such a Rule chain, send me a private message, and I will attempt to help you further.

Would it be possible then to setup a separate data sender for each modbus register that you want to send to thingsboard.io, instead of using the thingsboard.io rule chains in intergration features?
I think if you set up a separate sender for each you would use lots of devices and since that is one of the licence restrictions on thingsboard you could soon end up needing a bigger subscription.