How do I filter array for required parameters by Hour

Hi,

I am trying to fetch the Air Quality data of PM10 and CO from the JSON file I receive from the API call.

The file looks like below -

[{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":1,"HourDescription":"12 am - 1 am","Value":-0.11487,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":1,"HourDescription":"12 am - 1 am","Value":16.101,"AirQualityCategory":"GOOD","DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":2,"HourDescription":"1 am - 2 am","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":2,"HourDescription":"1 am - 2 am","Value":10.175,"AirQualityCategory":"GOOD","DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":3,"HourDescription":"2 am - 3 am","Value":-0.15443,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":3,"HourDescription":"2 am - 3 am","Value":13.202,"AirQualityCategory":"GOOD","DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":4,"HourDescription":"3 am - 4 am","Value":-0.130146,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":4,"HourDescription":"3 am - 4 am","Value":13.289,"AirQualityCategory":"GOOD","DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":5,"HourDescription":"4 am - 5 am","Value":-0.125505,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":5,"HourDescription":"4 am - 5 am","Value":11.953,"AirQualityCategory":"GOOD","DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":6,"HourDescription":"5 am - 6 am","Value":-0.109888,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":6,"HourDescription":"5 am - 6 am","Value":11.8,"AirQualityCategory":"GOOD","DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":7,"HourDescription":"6 am - 7 am","Value":-0.105976,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":7,"HourDescription":"6 am - 7 am","Value":11.441,"AirQualityCategory":"GOOD","DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":8,"HourDescription":"7 am - 8 am","Value":-0.109031,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":8,"HourDescription":"7 am - 8 am","Value":14.554,"AirQualityCategory":"GOOD","DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":9,"HourDescription":"8 am - 9 am","Value":-0.093543,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":9,"HourDescription":"8 am - 9 am","Value":14.643,"AirQualityCategory":"GOOD","DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":10,"HourDescription":"9 am - 10 am","Value":-0.1052,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":10,"HourDescription":"9 am - 10 am","Value":13.027,"AirQualityCategory":"GOOD","DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":11,"HourDescription":"10 am - 11 am","Value":-0.115724,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":11,"HourDescription":"10 am - 11 am","Value":13.855,"AirQualityCategory":"GOOD","DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":12,"HourDescription":"11 am - 12 pm","Value":-0.108498,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":12,"HourDescription":"11 am - 12 pm","Value":11.367,"AirQualityCategory":"GOOD","DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":13,"HourDescription":"12 pm - 1 pm","Value":-0.097682,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":13,"HourDescription":"12 pm - 1 pm","Value":11.767,"AirQualityCategory":"GOOD","DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":14,"HourDescription":"1 pm - 2 pm","Value":-0.094643,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":14,"HourDescription":"1 pm - 2 pm","Value":12.608,"AirQualityCategory":"GOOD","DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":15,"HourDescription":"2 pm - 3 pm","Value":-0.095467,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":15,"HourDescription":"2 pm - 3 pm","Value":12.206,"AirQualityCategory":"GOOD","DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":16,"HourDescription":"3 pm - 4 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":16,"HourDescription":"3 pm - 4 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":17,"HourDescription":"4 pm - 5 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":17,"HourDescription":"4 pm - 5 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":18,"HourDescription":"5 pm - 6 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":18,"HourDescription":"5 pm - 6 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":19,"HourDescription":"6 pm - 7 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":19,"HourDescription":"6 pm - 7 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":20,"HourDescription":"7 pm - 8 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":20,"HourDescription":"7 pm - 8 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":21,"HourDescription":"8 pm - 9 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":21,"HourDescription":"8 pm - 9 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":22,"HourDescription":"9 pm - 10 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":22,"HourDescription":"9 pm - 10 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":23,"HourDescription":"10 pm - 11 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":23,"HourDescription":"10 pm - 11 pm","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"CO","ParameterDescription":"Carbon monoxide","Units":"ppm","UnitsDescription":"parts per million","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":24,"HourDescription":"11 pm - 12 am","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null},{"Site_Id":1001,"Parameter":{"ParameterCode":"PM10","ParameterDescription":"PM10","Units":"µg/m³","UnitsDescription":"microgram per cubic meter","Category":"Averages","SubCategory":"Hourly","Frequency":"Hourly average"},"Date":"2022-12-01","Hour":24,"HourDescription":"11 pm - 12 am","Value":null,"AirQualityCategory":null,"DeterminingPollutant":null}]

Flow looks like below -

Debug result looks like below -

The data gives information of 'PM10' or 'CO' in separate slots of Hourdescription: "12 AM - 1 AM" till 24 hours complete. If the the time of the day is 12 PM, I will receive vqalue of 'PM10' for slot 12PM to 1PM but 1PM to 2PM slot will have a Null value.

Just like 'PM10' and 'CO' I can add more parameters like 'NO', 'OZONE', 'SO2' etc. and each of these parameters will increase the JSON file size provide values for 24 slots of time throughout the day.

I want to check the current time (say it's 12PM right now) and pull out the value of all parameters I have asked for between the slot 12PM to 1PM. And I will trigger the flow each hour to get the values for the entire day. How do I achieve this, it's tricky and I am learning javascript and node-red.

Please let me know if you need any more information.

Kind regards,
Amit

you could try array.reduce to filter the array and return an object containing CO and PM10
e.g.

[{"id":"5801347964bfdbb2","type":"function","z":"452103ea51141731","name":"function 18","func":"let hour = new Date().getHours() + 1; // hour is now 1-24\nmsg.payload = msg.payload.reduce((acc, obj) => {\n    if(obj.Hour === hour){\n        acc[obj.Parameter.ParameterCode] = obj;\n    }\n    return acc;\n},{})\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":330,"y":3920,"wires":[["265550587332c873"]]},{"id":"9d658e1986a3ca06","type":"inject","z":"452103ea51141731","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":1,\"HourDescription\":\"12 am - 1 am\",\"Value\":-0.11487,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":1,\"HourDescription\":\"12 am - 1 am\",\"Value\":16.101,\"AirQualityCategory\":\"GOOD\",\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":2,\"HourDescription\":\"1 am - 2 am\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":2,\"HourDescription\":\"1 am - 2 am\",\"Value\":10.175,\"AirQualityCategory\":\"GOOD\",\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":3,\"HourDescription\":\"2 am - 3 am\",\"Value\":-0.15443,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":3,\"HourDescription\":\"2 am - 3 am\",\"Value\":13.202,\"AirQualityCategory\":\"GOOD\",\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":4,\"HourDescription\":\"3 am - 4 am\",\"Value\":-0.130146,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":4,\"HourDescription\":\"3 am - 4 am\",\"Value\":13.289,\"AirQualityCategory\":\"GOOD\",\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":5,\"HourDescription\":\"4 am - 5 am\",\"Value\":-0.125505,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":5,\"HourDescription\":\"4 am - 5 am\",\"Value\":11.953,\"AirQualityCategory\":\"GOOD\",\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":6,\"HourDescription\":\"5 am - 6 am\",\"Value\":-0.109888,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":6,\"HourDescription\":\"5 am - 6 am\",\"Value\":11.8,\"AirQualityCategory\":\"GOOD\",\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":7,\"HourDescription\":\"6 am - 7 am\",\"Value\":-0.105976,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":7,\"HourDescription\":\"6 am - 7 am\",\"Value\":11.441,\"AirQualityCategory\":\"GOOD\",\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":8,\"HourDescription\":\"7 am - 8 am\",\"Value\":-0.109031,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":8,\"HourDescription\":\"7 am - 8 am\",\"Value\":14.554,\"AirQualityCategory\":\"GOOD\",\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":9,\"HourDescription\":\"8 am - 9 am\",\"Value\":-0.093543,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":9,\"HourDescription\":\"8 am - 9 am\",\"Value\":14.643,\"AirQualityCategory\":\"GOOD\",\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":10,\"HourDescription\":\"9 am - 10 am\",\"Value\":-0.1052,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":10,\"HourDescription\":\"9 am - 10 am\",\"Value\":13.027,\"AirQualityCategory\":\"GOOD\",\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":11,\"HourDescription\":\"10 am - 11 am\",\"Value\":-0.115724,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":11,\"HourDescription\":\"10 am - 11 am\",\"Value\":13.855,\"AirQualityCategory\":\"GOOD\",\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":12,\"HourDescription\":\"11 am - 12 pm\",\"Value\":-0.108498,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":12,\"HourDescription\":\"11 am - 12 pm\",\"Value\":11.367,\"AirQualityCategory\":\"GOOD\",\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":13,\"HourDescription\":\"12 pm - 1 pm\",\"Value\":-0.097682,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":13,\"HourDescription\":\"12 pm - 1 pm\",\"Value\":11.767,\"AirQualityCategory\":\"GOOD\",\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":14,\"HourDescription\":\"1 pm - 2 pm\",\"Value\":-0.094643,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":14,\"HourDescription\":\"1 pm - 2 pm\",\"Value\":12.608,\"AirQualityCategory\":\"GOOD\",\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":15,\"HourDescription\":\"2 pm - 3 pm\",\"Value\":-0.095467,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":15,\"HourDescription\":\"2 pm - 3 pm\",\"Value\":12.206,\"AirQualityCategory\":\"GOOD\",\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":16,\"HourDescription\":\"3 pm - 4 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":16,\"HourDescription\":\"3 pm - 4 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":17,\"HourDescription\":\"4 pm - 5 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":17,\"HourDescription\":\"4 pm - 5 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":18,\"HourDescription\":\"5 pm - 6 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":18,\"HourDescription\":\"5 pm - 6 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":19,\"HourDescription\":\"6 pm - 7 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":19,\"HourDescription\":\"6 pm - 7 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":20,\"HourDescription\":\"7 pm - 8 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":20,\"HourDescription\":\"7 pm - 8 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":21,\"HourDescription\":\"8 pm - 9 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":21,\"HourDescription\":\"8 pm - 9 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":22,\"HourDescription\":\"9 pm - 10 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":22,\"HourDescription\":\"9 pm - 10 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":23,\"HourDescription\":\"10 pm - 11 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":23,\"HourDescription\":\"10 pm - 11 pm\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"CO\",\"ParameterDescription\":\"Carbon monoxide\",\"Units\":\"ppm\",\"UnitsDescription\":\"parts per million\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":24,\"HourDescription\":\"11 pm - 12 am\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null},{\"Site_Id\":1001,\"Parameter\":{\"ParameterCode\":\"PM10\",\"ParameterDescription\":\"PM10\",\"Units\":\"µg/m³\",\"UnitsDescription\":\"microgram per cubic meter\",\"Category\":\"Averages\",\"SubCategory\":\"Hourly\",\"Frequency\":\"Hourly average\"},\"Date\":\"2022-12-01\",\"Hour\":24,\"HourDescription\":\"11 pm - 12 am\",\"Value\":null,\"AirQualityCategory\":null,\"DeterminingPollutant\":null}]","payloadType":"json","x":190,"y":3920,"wires":[["5801347964bfdbb2"]]},{"id":"265550587332c873","type":"debug","z":"452103ea51141731","name":"debug 111","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":510,"y":3920,"wires":[]}]
let hour = new Date().getHours() + 1; // hour is now 1-24
msg.payload = msg.payload.reduce((acc, obj) => {
    if(obj.Hour === hour){
        acc[obj.Parameter.ParameterCode] = obj;
    }
    return acc;
},{})
return msg;
1 Like

Hi E1cid,

Thank you so much!

I used the array.reduce and it worked and returned a reduced array for each parameter.
While I implemented the array.reduce I observed that the data from the source is not the latest for the present hour. Meaning, if it is 9 am right now, the source has the values for 6am-7am and after 7am values are Null. Also the new Date().getHours() selects UTC time (My timezone is +11 here in Sydney,Australia) and until it is 12 am, new Date().getHours() + 9 (or +8) does not work. It starts to work and provide me latest updated data after UTC 12AM. Is there a particular node or additions I can do to handle the timezone issue permanently?

let hour = new Date().getHours() + 9; // hour is now 1-24
msg.payload = msg.payload.reduce((acc, obj) => {
    if(obj.Hour === hour){
        acc[obj.Parameter.ParameterCode] = obj;
    }
    return acc;
},{})
return msg;

Below is the flow I have built -
The API is open source for public use.

[
    {
        "id": "fb964cafe887bbd0",
        "type": "tab",
        "label": "NSW AIR QUALITY",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "c47632bc6e793d77",
        "type": "http request",
        "z": "fb964cafe887bbd0",
        "name": "",
        "method": "POST",
        "ret": "obj",
        "paytoqs": "body",
        "url": "https://data.airquality.nsw.gov.au/api/Data/get_Observations",
        "tls": "",
        "persist": false,
        "proxy": "",
        "insecureHTTPParser": false,
        "authType": "",
        "senderr": true,
        "headers": [],
        "x": 670,
        "y": 160,
        "wires": [
            [
                "5801347964bfdbb2"
            ]
        ]
    },
    {
        "id": "8119bbe7c531ab62",
        "type": "debug",
        "z": "fb964cafe887bbd0",
        "name": "Sydney Air Quality Debug",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "",
        "statusType": "auto",
        "x": 1530,
        "y": 240,
        "wires": []
    },
    {
        "id": "d7aeb4586d29d50e",
        "type": "function",
        "z": "fb964cafe887bbd0",
        "name": "function 11",
        "func": "\nmsg.payload = {\n  \"Parameters\": [\n    \"PM10\",\n    \"CO\",\n    \"NEPH\",\n    \"NO\",\n    \"NO2\",\n    \"OZONE\",\n    \"SO2\",\n    \"PM2.5\",\n  ],\n  \"Sites\": [\n    1001\n  ],\n  \"StartDate\": msg.today,\n  \"EndDate\": msg.tomorrow,\n  \"Categories\": [\n    \"Averages\"\n  ],\n  \"SubCategories\": [\n    \"Hourly\"\n  ],\n  \"Frequency\": [\n    \"Hourly Average\"\n  ]\n\n}\n\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 490,
        "y": 160,
        "wires": [
            [
                "c47632bc6e793d77"
            ]
        ]
    },
    {
        "id": "622d1f7a11bb6b50",
        "type": "inject",
        "z": "fb964cafe887bbd0",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "0 22-23 * * *",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 110,
        "y": 80,
        "wires": [
            [
                "5758fe0dde48aac7"
            ]
        ]
    },
    {
        "id": "5758fe0dde48aac7",
        "type": "change",
        "z": "fb964cafe887bbd0",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "today",
                "pt": "msg",
                "to": "$moment().tz(\"Australia/Sydney\").format(\"YYYY-MM-DD\")",
                "tot": "jsonata"
            },
            {
                "t": "set",
                "p": "tomorrow",
                "pt": "msg",
                "to": "$moment().tz(\"Australia/Sydney\").add(1, \"day\").format(\"YYYY-MM-DD\")",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 300,
        "y": 160,
        "wires": [
            [
                "d7aeb4586d29d50e"
            ]
        ]
    },
    {
        "id": "5801347964bfdbb2",
        "type": "function",
        "z": "fb964cafe887bbd0",
        "name": "Array Reduce",
        "func": "let hour = new Date().getHours() + 9; // hour is now 1-24\nmsg.payload = msg.payload.reduce((acc, obj) => {\n    if(obj.Hour === hour){\n        acc[obj.Parameter.ParameterCode] = obj;\n    }\n    return acc;\n},{})\nreturn msg;",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 860,
        "y": 160,
        "wires": [
            [
                "25927e50cd9c5fae"
            ]
        ]
    },
    {
        "id": "9d4c60b16b26ea8f",
        "type": "function",
        "z": "fb964cafe887bbd0",
        "name": "Upload Filter Function",
        "func": "\nvar payload = msg.payload;\n\nif (payload.Parameter.ParameterCode == \"CO\")\n{\n    msg.stream = \"Carbon Monoxide (CO)\";\n    msg.payload = payload.Value;\n}\nif (payload.Parameter.ParameterCode == \"NEPH\")\n{\n     msg.stream = \"Visibility\";\n     msg.payload = payload.Value;\n}\nif (payload.Parameter.ParameterCode == \"NO\")\n{\n     msg.stream = \"Nitric Oxide (NO)\";\n     msg.payload = payload.Value;\n}\nif (payload.Parameter.ParameterCode == \"NO2\")\n{\n     msg.stream = \"Nitrogen Dioxide (NO2)\";\n     msg.payload = payload.Value;\n}\nif (payload.Parameter.ParameterCode == \"OZONE\")\n{\n     msg.stream = \"OZONE\";\n     msg.payload = payload.Value;\n}\nif (payload.Parameter.ParameterCode == \"PM10\")\n{\n     msg.stream = \"Particulate Matter 10 (PM10)\";\n     msg.payload = payload.Value;\n}\nif (payload.Parameter.ParameterCode == \"PM2.5\")\n{\n     msg.stream = \"Particulate Matter 2.5 (PM2.5)\";\n     msg.payload = payload.Value;\n}\nif (payload.Parameter.ParameterCode == \"SO2\")\n{\n     msg.stream = \"Sulfur Dioxide (SO2)\";\n     msg.payload = payload.Value;\n}\n\nreturn msg;\n\n\n",
        "outputs": 1,
        "noerr": 0,
        "initialize": "",
        "finalize": "",
        "libs": [],
        "x": 1220,
        "y": 160,
        "wires": [
            [
                "8119bbe7c531ab62",
                "5beff3099062a914"
            ]
        ]
    },
    {
        "id": "5beff3099062a914",
        "type": "uploader",
        "z": "fb964cafe887bbd0",
        "name": "",
        "events": true,
        "apiKey": "196c85a3c257c121",
        "pool_settings": "47787224a713a684",
        "stream_name": "msg.stream",
        "uploadCount": "1",
        "uploadInterval": "60",
        "uploadInterval_value": "1",
        "uploadInterval_options": "Minutes",
        "bpChkShowDateOnLabel": true,
        "bpChkShowDebugWarnings": true,
        "rebuildOnError": true,
        "x": 1480,
        "y": 120,
        "wires": [
            []
        ]
    },
    {
        "id": "88cbc85dae6d4b0a",
        "type": "inject",
        "z": "fb964cafe887bbd0",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "0 0-6 * * *",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 110,
        "y": 240,
        "wires": [
            [
                "5758fe0dde48aac7"
            ]
        ]
    },
    {
        "id": "25927e50cd9c5fae",
        "type": "split",
        "z": "fb964cafe887bbd0",
        "name": "",
        "splt": "\\n",
        "spltType": "str",
        "arraySplt": 1,
        "arraySpltType": "len",
        "stream": false,
        "addname": "",
        "x": 1030,
        "y": 160,
        "wires": [
            [
                "9d4c60b16b26ea8f"
            ]
        ]
    },
    {
        "id": "4567",
        "type": "Bitpool-Api-Key",
        "name": "Cook and philip air quality- sydney key",
        "api_key": "xxxx"
    },
    {
        "id": "1234",
        "type": "Bitpool-Pool-Settings",
        "name": " Sydney Air Quality",
        "pool_name": " Sydney Air Quality",
        "public": false,
        "virtual": false
    }
]

Please let me know if you need more further information.

Kind regards,
Amit

You can adjust you time off set to correct hours, using setTime()

const offset = 9 // +/-
let hour = new Date()
hour.setTime(hour.getTime() + 3600000 * offset) //adding time in milliseconds
hour = hour.getHours() + 1; // hour is now 1-24

you may also want to look at getTimezoneOffset()

1 Like

Thank you , it worked !

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.