Why does ThingSpeak return "0" when more than one data point is routed?

조회 수: 3 (최근 30일)
Ray Berkelmans
Ray Berkelmans 2025년 3월 3일
댓글: Christopher Stapels 2025년 3월 5일
I'm having my data routed from Blues Notehub to ThingSpeak and it works fine, as long as there is only one data point being routed. If there are more than one, the rest do not arrive and ThingSpeak returns a response of "0". That sounds suspiciously like a rate limit issue, right? However, I am now on a paid TS plan which should allow me 1 update per second and my Notehub route is rate limited to 1 per 14.3 seconds. According to the Blues folk, evreything is working as intended on their end. See my thread here: https://discuss.blues.com/t/only-one-of-multiple-notes-is-successfully-routed/2884.
Can you please help?

답변 (2개)

Ray Berkelmans
Ray Berkelmans 2025년 3월 5일
I think we've got to the bottom of this. In the end it was an incorrect rate-limit issues on the Blues end. See https://discuss.blues.com/t/only-one-of-multiple-notes-is-successfully-routed/2884/9

Vinod
Vinod 2025년 3월 3일
편집: Vinod 2025년 3월 3일
A zero response value is definitely the server rejecting the point.
As a paid user a channel can be updated at a rate of up to 1Hz. One point that is easy to forget is that the rate limit is at the channel level, not at the field level. I've seen code that is attempets to update one field at a time of a channel and running into the rate limit. If you're updating all 8 fields once every 14.3 seconds, I expect ThingSpeak to see every point.
Can you try posting at 1Hz directly from your device instead of going through Blue Notehub? That can help identify where the issue is.
  댓글 수: 3
Ray Berkelmans
Ray Berkelmans 2025년 3월 4일
Sorry, I meant to add that I am not able to send data direct from my device to ThingSpeak. All data go to Blues who then forward the data via routes.
Christopher Stapels
Christopher Stapels 2025년 3월 4일
편집: Vinod 2025년 3월 4일
Looking at the thingSpeak instructions at blues I see that they allow multiple fields in a sigle route
here is thier example
{
"api_key":"***REDACTED***",
"field1": body.temp,
"field2": body.humidity,
"field3": tower_location & ', ' & tower_country,
"field4": when
}
If you use this method to update multiple fields in the same channel, you should not run afoul of the rate limit.
If you use multimple routes, you may not be able to control how close together blues is sending the multiple routes.

댓글을 달려면 로그인하십시오.

커뮤니티

더 많은 답변 보기:  ThingSpeak 커뮤니티

카테고리

Help CenterFile Exchange에서 ThingSpeak에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by