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