Is my TTN webhook setup correctly?

Hi All,

just looking for a clarification to ensure I have not missed something in my Webhook setup.

I have built my own GW with a Raspberry Pi and a Rak hat, this receives data from my Arduino/Seeed Temperature humidity end device.

The above is configured to send data to my TTN console and all look as tho it is working fine,I can see connections and payload data etc.

Moving on, I configured a TTN webhook in my console using the Tago.io template and after a short while I see the webhook status changes from Pending to Healthy.

I now assume that to be configured correctly ? as it has a healty status. correct me if I am wrong !

Moving on to the Tago.io and setting up the console I dont see any data from my sensor ,

My guess is I need to study the Tago.io setup procedure , or could the problem lie with the way I have configured my TTN webhook ?

I am just trying to see which end the problem is !

Above is a summary of my efforts and more specific information can be supplied on request , I have read several setup procedures for the TTN webhook and Tago.io setup but I have surely missed something.

Any help would be most appreciated, Thanks .

Hi, I would like to make a comment:

Here we talk about “uplink traffic or packets” not connections as there is no connection.

Configured correctly? not neccesseary.

“Healthy” means that the webhook posted its data and got a “200” from the REST API. That seems OK.

It does not mean that your data decoded in TTN (if you want that) or that Tagio can do something with what you posted.

My next step would be to see in Tagio what it receives from TTN over webhook. From there you can drill further down in to solving the issue.

1 Like

Hello

Thanks for the reply

Yes you are correct, I see my gateway shows as connected and also can see packets are being uplinked.

Maybe my terminology is not quite as good as it could be which does not help anyone.

I will look into Tagio to see what it is receiving via the webhook, that process must be documented somewhere. This is all a learning process for me.

I started off by building the Raspberry pi and Rak2245 (Hat) gateway, then got into building some end devices (Nodes I believe they are called), its very interesting but sometime if feel I am chasing my tail , you read and read and sometimes just get so confused.but the rewards are good, when it all works.

1 Like

what says the tttn console about the incoming packets?

I setup a webhook testing site which shows the webhook was working OK. However for various reasons i made the decision to use Thingspeak to display my data but I keep getting a requests failure in the status box , not Healthy as it should be showing. I did post a question as to why that might be but as yet have had no response, my guess is Thingspeak requires a correctly formatted payload in order to display a Healthy status and not just the Channel ID, API and webhook name. But I can’t be certain of that, if I did know for sure it would help with the diagnostic.

since thingspeak delivers the webhock it should work in the correct formats already…?

without logs there is noting to fix here.

Hi

Below is the log from the failed Webhook,

Maybe you can advise , Thankyou

{
“name”: “as.webhook.fail”,
“time”: “2026-02-18T12:31:06.562669893Z”,
“identifiers”: [
{
“device_ids”: {
“device_id”: “arduino-gps”,
“application_ids”: {
“application_id”: “seismet-arduino”
},
“dev_eui”: “00D65FD7B587EFD7”,
“dev_addr”: “26011351”
}
}
],
“data”: {
“@type”: “type.googleapis.com/ttn.lorawan.v3.ErrorDetails”,
“namespace”: “pkg/applicationserver/io/web/sink”,
“name”: “request”,
“message_format”: “request”,
“attributes”: {
“status_code”: 400,
“url”: “https://api.thingspeak.com/things_network/v3/update/”,
“webhook_id”: “arduinode”
},
“correlation_id”: “8e5bf17c2e9a4136a4b2f798d0dd0d4b”,
“code”: 14,
“details”: [
{
“@type”: “type.googleapis.com/google.protobuf.Struct”,
“value”: {
“body”: “error_bad_request”
}
}
]
},
“correlation_ids”: [
“gs:uplink:01KHRBQ415MKA5G7ZSS2ZG22E4”
],
“origin”: “ip-10-100-7-33.eu-west-1.compute.internal”,
“context”: {
“tenant-id”: “CgN0dG4=”
},
“visibility”: {
“rights”: [
“RIGHT_APPLICATION_TRAFFIC_READ”
]
},
“unique_id”: “01KHRBQ4A2XGC0V6H4D9Y66ZBN”
}

just a ruff guess, but

““status_code”: 400,”

seems to be a connection error of some kind.

yes agreed , but finding it is like trying to find a needle in a haystack :thinking:

One assumes you can have one end device (Node) and have multiple webhooks in relation to that device, ie one for TTN mapper which happens to work perfectly, and another webhook for Thingspeak to display temp/humidity etc ?

i use several webhooks to connect a gps tracker to ttnmapper and ttn-mapper and its working fine.

formy other sensors i grep all data from the ttn mqtt servers to my my homassistant instance and dont hassle with external providers.