Custom payload formatter for the 8in1 Seeed weather station with TheThingsNetwork and TheThingsSpeak

Marco on 17 Apr 2023
Latest activity Reply by Marco on 19 Apr 2023

I have purchased an 8in1 weather station from Seed (see Link here), added it to TheThingsStack v3 and changed the payload formatter such that I receive following payload:
{
"barometric_pressure": 96920,
"battery": 0,
"humidity": 92,
"light_intensity": 11848,
"rain_gauge": 0,
"temperature": 6.8,
"uv_index": 0.6,
"wind_direction": 60,
"wind_speed": 0
}
I have followed the ThingSpeak manual here, which seems pretty straight forward to me: just add channel ID and Write Api Key.
However, on TheThingsStack, I see following error:
"data": {
"@type": "type.googleapis.com/ttn.lorawan.v3.ErrorDetails",
"namespace": "pkg/applicationserver/io/web",
"name": "request",
"message_format": "request",
"correlation_id": "XXXXprivate",
"code": 14,
"details": [
{
"@type": "type.googleapis.com/google.protobuf.Struct",
"value": {
"body": "error_too_many_requests",
"status_code": 429,
"url": "https://api.thingspeak.com/things_network/v3/update/",
"webhook_id": "loraweatherstation"
}
}
]
},
[...]
"visibility": {
"rights": [
"RIGHT_APPLICATION_TRAFFIC_READ"
]
TheThingSpeak reports entries without the actual data. I think the entries are generated with all get requests.
Christopher Stapels
Christopher Stapels on 17 Apr 2023 (Edited on 17 Apr 2023)
You will need your payload fields to contain field1=xnn etc.
But the 429 means you are posting too frequently. If you have a free license you can only post once every 15 seconds. Reduce the frequency and try with the explicit field identifiers. Please let us know how it goes.
Marco
Marco on 19 Apr 2023
Thank you Christopher, I was able to resolve the issue with your help. Best, Marco.