Thingsboard Intergration - Basic Node-Red Flow

This is just a basic integration for the moment. This does not include any outbound RPC commands yet. I am still figuring that out.

A lot of the work we do, our customers are asking for a central dashboard. This is just one of many ways to get started. I am using Node-Red as a gateway to Thingsboard. This does not need the PE version, it works well in the Community Version.

[{"id":"1861182e.5ccf28","type":"inject","z":"f10784d0.015068","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":1100,"y":100,"wires":[["3f07c87f.569638"]]},{"id":"3f07c87f.569638","type":"groov-read-ds","z":"f10784d0.015068","dataStore":"f216f435.690668","tagName":"58","tableStartIndex":"","tableLength":"","value":"","valueType":"msg.payload","topic":"","topicType":"none","name":"","x":1270,"y":100,"wires":[["6a6c2daa.930a94"]]},{"id":"6a6c2daa.930a94","type":"function","z":"f10784d0.015068","name":"ThingsBoard JSON Convertor","func":"var data = msg.payload;\n\n\n    data = msg.payload;\n    msg.topic = \"v1/gateway/telemetry\";\n    //Ranger1 is the Device in thingsboard you want to send your telemetry  data\n    //Device can be already created or it will dynamiclly create a device.    \n    \n    msg.payload =  {\"Ranger1\":[{\"a1\":data}]};\n\n\nreturn msg;","outputs":1,"noerr":0,"x":1550,"y":100,"wires":[["fa550721.5aef68","272a610f.1ddb2e"]]},{"id":"fa550721.5aef68","type":"mqtt out","z":"f10784d0.015068","name":"","topic":"","qos":"","retain":"","broker":"c3294db9.0eddf","x":1810,"y":100,"wires":[]},{"id":"272a610f.1ddb2e","type":"debug","z":"f10784d0.015068","name":"SendMQTT","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1830,"y":60,"wires":[]},{"id":"f216f435.690668","type":"groov-data-store","z":"","project":"f7cad6e5.05f6f8","dsName":"sfr"},{"id":"c3294db9.0eddf","type":"mqtt-broker","z":"","name":"TBGateway","broker":"159.203.8.160","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"f7cad6e5.05f6f8","type":"groov-project","z":"","address":"localhost"}]

If there is any real interest, I will publish a guide on howto do this. Some screenshots below:

Node-Red Flow

Latest Telemetry in Thingsboard

Basic Dashboard

**If you want help, feel free to contact me

Best Regards,
Dan

I know you have used both, how does ThingsBoard compare to groov View?

I know we have many customers with a central groov View (usually a Windows server on a rack in an IT department) for their clients/users to connect to…

Hi Ben,
I would say for 95% of the use cases out there, Groov view on a central server is the easiest way.

Groov view is definitely way easier to build an HMI and deal with controlling devices. But when you need to be able to add devices on the fly or easily assign a dashboard with a variable amount of devices/sensors, Thingsboard is better equipped for that scenario.

I have 2 customers in Oil/Gas that need to be able to move devices to a customers list and dashboard. I know this can be accomplished with Groov, but the people who are managing this don’t have the time/patience to copy/paste different devices & setup the pages. With thingsboard this is easier to manage.

In our case, the clients use groov view to run and control their pumps/devices, and we use thingsboard to provide an external dynamic read only dashboard for their clients.

1 Like

Hello Sir, we facing in challenges to connect to thingsboard over mqtt using nodered…please guide us … How can we do if you share one video regarding same that would be great…

Welcome to the forums.

What have you tried?
What Opto 22 product are you using?
What does your debug node show?
Did you download, import and test the flow from the first post in this thread?

We would like to try and help, but need some more information.