ThingspeakRead returns cell array
2 views (last 30 days)
Show older comments
I am using the following commands in a script to retrieve the records from the last 5 minutes of two diffirent temperature sensors.
Temp_1 = thingSpeakRead(readChannelID_1,'Fields',Temperature_1_FieldID,'NumMinutes',5,'ReadKey',readAPIKey_1,'OutputFormat','timetable')
Temp_2 = thingSpeakRead(readChannelID_2,'Fields',Temperature_2_FieldID,'NumMinutes',5,'ReadKey',readAPIKey_2,'OutputFormat','timetable')
Some times i get a good one timetable with double values (rarely) for temperature and some other time i get a cell array with the following format.
TimestampsTemperature_2
_________________________________
17-Dec-2020 23:16:00 {'nan'}
17-Dec-2020 23:16:16 {'16.10000'}
17-Dec-2020 23:16:31 {'16.10000'}
17-Dec-2020 23:18:52 {'16.10000'}
17-Dec-2020 23:19:09 {'nan'}
17-Dec-2020 23:19:25 {'16.10000'}
17-Dec-2020 23:19:41 {'16.10000'}
17-Dec-2020 23:20:28 {'16.10000'}
17-Dec-2020 23:20:44 {'16.10000'}
why does it happen and how can i get only the double values?
1 Comment
Christopher Stapels
on 21 Dec 2020
thingSpeakRead is returning a cell array when there is text in the fields. When you are reading the 'nan' values, ThingSpeak is giving you a cell array. Try reading a section where there are no 'nan' values.
Are you writing to the same channel with two different devices? If so, that would explain the empty entries. We reccomend one channel per device.
By the way, you can read both fields at once if you use 'fields', [
Temperature_1_FieldID
Temperature_2_FieldID].
Answers (0)
Communities
More Answers in theThingSpeak Community
See Also
s manbetx 845
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!