Get average water flow for every 15min between 1am and 5am of each day

1 visualización (últimos 30 días)
I want to calculate the average water flow every 15 mins between 1am and 5am everyday on my channel data.
I need to know if a pump is running during these hour when it shouldn't be.
I have the average calculation working with code below but I cannot find how to only run this on data between 1am and 5am.
any help would be much appreciated.
waterFlow = thingSpeakRead(readChannelID,'Fields',WaterFlowFieldID,'NumMinutes',15,'ReadKey',readAPIKey);
avgwaterFlow = mean(waterFlow);
display(avgwaterFlow,'Average Water Flow');

Respuestas (2)

Andreas Bernatzky
Andreas Bernatzky el 17 de Abr. de 2020
Hey Charles,
the easiest approach in my opinion is the following.
keep in mind this is pseudoCode (have no matlab at the moment to test):
actualTime = datestr(now,'HH:MM:SS.FFF'))
if(1 am < actualTime && 5am > actualTime)
% do something
I will send you the correct code implementation later.

Steven Lord
Steven Lord el 17 de Abr. de 2020
Read in both the water flow data and the date and time data (perhaps by reading your data in as a timetable.) Call hour on the date and time data stored as a datetime array and use that to select the appropriate elements of your water flow data.
  1 comentario
CHARLES SANSON el 19 de Abr. de 2020
Hi Steven,
Thanks for you reply.
I have created a timetable with the code below but I am having trouble with the second part of your suggestion. Would you be able to help with the code for the second part of your suggestion?
Sorry I am relativly new to this and seem to be going around in circles with the documentation.
data = thingSpeakRead(123456,'Fields',humidityFieldID, OutputFormat','TimeTable','ReadKey',readAPIKey)

Iniciar sesión para comentar.


Más información sobre Programming 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