Bug in average calc in API read? (Thingspeak)

1 view (last 30 days)
when I request the average data of a feed using the api call, I sometimes get unplausible values. My channel contains one field for special purpose, that is being updated asynchronously. It seems like, when that field contains data (while the others contain NULL), the average calculation is messed up. I believe that the average calculation interprets NULL as 0.
Is this a bug or a feature?
Thanks, Robert

Answers (1)

Vinod on 31 Dec 2020
A NULL or non-numeric value in a field is "Not a Number" and will be treated as a zero in the averaging in the implementation on ThingSpeak. Typically when I have seen this to be an issue is when some fields in a channel are updated at different rates than other fields, resulting in the fields having NULLs in them when a value was not specified.
If you are looking to ignore the NULL/non-numeric values in the mean calculation, my recommendation is to use MATLAB. Use the thingSpeakRead function to pull data into MATLAB and then the mean function to generate the average. Remember to set the nanflag parameter to omitnan.
  1 Comment
Robert Mollik
Robert Mollik on 1 Jan 2021
Hi Vinod,
thanks for the quick answer. Then I will either do it in MATLAB or just remove the asynchronous field.
Is there any plan to add the omitnan flag in the thingspeak api call in the future?
Thanks, Robert

Sign in to comment.


More Answers in the  ThingSpeak Community


Community Treasure Hunt

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

Start Hunting!