Can i compare two channels

2 visualizaciones (últimos 30 días)
Vesa Salmi
Vesa Salmi el 17 de Mayo de 2022
Comentada: Vesa Salmi el 20 de Mayo de 2022
Hello
I have lakewater temperature metering buoy. Last year has own channel from may to december. This year measuring starts few weeks ago and they have own channel. Can i compare these two channel like at this example:https://se.mathworks.com/help/thingspeak/Compare-Temperature-Data-from-Three-Different-Days.html Showing this day and yesterday and the same period at last year?
  1 comentario
Vesa Salmi
Vesa Salmi el 17 de Mayo de 2022
By the way... here is this year channel. https://thingspeak.com/channels/1727534

Iniciar sesión para comentar.

Respuestas (1)

Christopher Stapels
Christopher Stapels el 19 de Mayo de 2022
You definitely can as long as there is data in your channel. Change the part of the code from days(1) to years(1). your final code will depend on how long you want to read data for.(in this case the span of data is one day).
buoyToday = thingSpeakRead(readChannelID,'Fields',TemperatureFieldID,'dateRange',...
[datetime('today')-days(1),datetime('today')],'ReadKey',readAPIKey);
buoyLastYear = thingSpeakRead(readChannelID,'Fields',TemperatureFieldID,'dateRange',...
[datetime('today')-yeats(1)-days(1),datetime('today')-years(1)],'ReadKey',readAPIKey);
Then be sure to change the places where temperatureDay1 is referenced to whatever you call the new data. In this case I used buoyToday nad buoyLastYear.
  1 comentario
Vesa Salmi
Vesa Salmi el 20 de Mayo de 2022
Thank you Christopher.
I got it working but some questions appear: Why year 2021 data is so broken? See attached screenshot.
Here is the code i am using:
% Read temperature data from a two ThingSpeak channel; today temperature from channel 1727534
% and same day last year from channel 1041362.
%
% The data is collected about once every 70 minute. ( ESP.deepSleep(4294967295))
% Channel ID to read data from
lastyearchannelID = 1041362;
thisyearchannelID = 1727534;
% Temperature Field ID
lastyearFieldID = 1;
thisyearFieldID = 1;
% Channel Read API Key
% If channel is private I will enter the read API key between the '' below:
readAPIKey = '';
% Read Temperature Data. Learn more about the THINGSPEAKREAD function by
% going to the Documentation tab on the right side pane of this page.
lastYear = thingSpeakRead(lastyearchannelID,'Fields',lastyearFieldID, ...
'dateRange', [datetime('today')-years(1)-days(2),datetime('today')-years(1)], 'ReadKey',readAPIKey);
thisYear = thingSpeakRead(thisyearchannelID,'Fields',thisyearFieldID, ...
'dateRange',[datetime('today')-days(1),datetime('today')],'ReadKey',readAPIKey);
% Create array of durations
myTimes1 = hours(1:length(lastYear));
myTimes2 = hours(1:length(thisYear));
% Visualize the data
plot(myTimes1,lastYear, myTimes2,thisYear);
legend({'2021','2022'});
%xlabel('Minutes');
ylabel('Lämpötila C');
title('Lennuksen poiju 2021 vs. 2022');

Iniciar sesión para comentar.

Comunidades de usuarios

Más respuestas en  ThingSpeak Community

Categorías

Más información sobre Read Data from Channel en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by