Thingsboard.io Functionality

So let me start off by saying I think I am posting this in the correct category. That being said, I have loved how easy this modem was to setup and test. I have tried dozens of others and what a night mare, not compatible on this cell network for that… Anyway, I have tested curl to post directly to my thingsboard.io server currently hosted on a raspberry pi 4 running apache2 and the thingsboard until my device implementation is working properly. Right now, I am just completely in over my head trying to figure out how to get JSON information passing to the thingsboard server. I have outside and inside access to my thingsboard server as well as directly to the apache, so I know my direct IP communications can make it to the server. I have tested this using thingsboard dot io recommendation curl -v -X POST -d “{“temperature”: 25}” $HOST_NAME/api/v1/$ACCESS_TOKEN/telemetry --header “Content-Type:application/json”
It worked fine from inside the network and out where $host_name was myserverip:myopenport and $ACCESS_TOKEN was my token for the device setup on thingsboard. Message was received and the data displayed correctly. If anyone is familiar with thingsboard HTTP post which go to http://myserverip:myopenport/api/v1/$ACCESS_TOKEN/telemetry
I created a route to the above with all of my information properly filled out. I am guessing that my next step is to try and post actual telemetry to notehub to hopefully route to my thingsboard server. After creating the note and syncing a lot of telemetry showed up on thingsboard under the telemetry. I just can’t figure out how to get that data into something I can display using their widgets. If anyone has any experience with things board and or the routes to make the data useable it would be greatly appreciated I have been banging my head against this wall trying to figure it out on my own for almost a month now since receiving my feather starter kit with the Notecarrier-AF, an Adafruit Feather ESP32 HUZZAH, and the notecard.

The thingsboard widget stuff is pretty clunky. I myself haven’t had much luck getting the widgets to do what I want them to. But there are examples of widgets displaying telemetry data so you’ll just need to try to learn how they work and adapt them for your purpose. good luck.


The problem is that the data is one level too deep. I’m not sure why but all the other formatting headings look like keys.

Looks like you need this https://dev.blues.io/notecard/notecard-guides/jsonata-1-2-3/
What you want to send is only the body as the json data to thingsboard so instead of
{“body” : {“humid”:70,“temp”:70}}
send only
{“humid”:70,“temp”:70}

I’m only just started with blues so I can’t tell you specifically how to do that but that link seems pretty comprehensive.

1 Like

Thank you soo much for that link. That was exactly what I needed. Simply using the below got it transmitting properly. Under the route, data, JSONata expression, I added the following and it is now communicating properly.

{
“humidity”: body.humid,
“temperature”: body.temp
}

1 Like