Update/replace channel value?
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I know how to write data with MATLAB Analysis to channel, in my case I read the absolute value from my electricity counter (which updates every 1min) and calculate the consumption of the last 20min.
datetimeStop = datetime('now');
datetimeStart = datetime('now')- minutes(20);
data = thingSpeakRead(readChannelID, Fields=[1], DateRange=[datetimeStart,datetimeStop], ReadKey=readAPIKey);
analyzedData = data(length(data)) - data(1);
thingSpeakWrite(writeChannelID, analyzedData, WriteKey=writeAPIKey);
I would like to write to a second channel the average consumption for each hour of the day, e.g. 01:00, 02:00, ...
My problem: With thingSpeakWrite I add values to a channel, but if I calculate the running average for each hour at every new day - with (n*avg_old + new_value)/(n+1) - I want to update/replace the average. How is that possible?
BR
Bernd
0 Kommentare
Antworten (1)
Vinod
am 15 Apr. 2025
The data in a ThingSpeak channel is a time series. Think of a value in the field as a measurement made at a certain point in time. If I understand what you are trying to do, it is "changing history" in that timeseries by going back and updating/replacing a previous measurement.
I'd recommend a better approach is to only update the value in the channel when you have all the data for the period. So, let's say you're doing a 4 hour running average, then wait until the 4 hour window is complete to calculate and update the value in the field.
2 Kommentare
Vinod
am 22 Apr. 2025
Bearbeitet: Walter Roberson
am 22 Apr. 2025
Thanks for clarifying that Bernd. I think I understand your use case a bit better now.
Every ThingSpeak channel has a metadata field. You can use the REST API to update the metadata of the ThingSpeak channel on a rolling basis. See here for more info:
Communitys
Weitere Antworten in ThingSpeak Community
Siehe auch
Kategorien
Mehr zu ThingSpeak finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!