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:

36 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:

faaramin, swarnak32, SaiHarish.M, vikas, abhisheksharma, khoshghadamModerators: cstapels: 460

Administrators: Hans: 405, lee: 457