9:49 am

August 25, 2015

Hi
I'm posting energy measurements to a channel feed that are not periodic, I mean, one hour there may be 10 values, but the next one there may be 50 or 100. The problem comes when I want to calculate daily totals, because something like this:
api.thingspeak.com?sum=daily
returns meaningless values. The reason is that sum simply adds all the values inside each day, and so days with a lot of measurements have higher values than days with fewer.
Is there's some way to calculate a sum taking into account the "distance" between measurements? Graphically speaking, I would need the area under the line chart, not just the sum of the values.
8:10 pm


MathWorks
August 22, 2015

I have a similar channel. You can do this in a MATLAB Analysis function:
% Get the data
[data,ts] = thingSpeakRead(32188,'NumMinutes',60);
% Calculate the number of minutes for each value (the weight)
weights = minutes(diff(ts));
% Discard the last data point (because you don't know its weight)
data(end) = [];
% Need to use "dot product" operator (.*), since MATLAB default is
% "cross product" operator.
sum(data .* weights)
Senior Development Manager for IoT and Hardware Interfacing for MATLAB at MathWorks. Visit ThingSpeak.com to explore the IoT Analytic platform that speaks MATLAB made for engineers and scientists. You can collect, analyze, and act in 5 minutes or less!
Most Users Ever Online: 166
Currently Online:
24 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
rw950431: 272
Vinod: 240
piajola: 95
turgo: 70
vespapierre: 63
Adarsh_Murthy: 62
Member Stats:
Guest Posters: 1
Members: 8665
Moderators: 1
Admins: 2
Forum Stats:
Groups: 3
Forums: 14
Topics: 1600
Posts: 5760
Newest Members:
kusmumichael, petersmith99, Rambant, blakeharriss09, optisol, Niyonzima FilsModerators: cstapels: 460
Administrators: Hans: 405, lee: 457