Hi folks,
i am looking for help. Maybe one can help me.
I am requesting data from a public api.
i read out data on an daily basis and want to plot it in a dashboard 2.0 chart in node-red.
The returned data is a json object as you see below.
so far i didn't find the solution to get this working.
Does anyone have an idea?
Thanks for your help
{"jsonData":{"request":{"component":"1","scope":"2","station":"286","date_from":"2025-01-11","date_to":"2025-01-11","time_from":"01:00:00","time_to":"24:00:00","index":"id","lang":"en","datetime_from":"2025-01-11 00:00:00","datetime_to":"2025-01-11 23:00:00"},"indices":{"data":{"station id":{"date start":["0: Id of component - integer","1: Id of scope - integer","2: Value - number","3: Date of measure end - string","4: Index - string|null"]}}},"data":{"286":{"2025-01-11 00:00:00":[1,2,5,"2025-01-11 01:00:00",null],"2025-01-11 01:00:00":[1,2,5,"2025-01-11 02:00:00",null],"2025-01-11 02:00:00":[1,2,8,"2025-01-11 03:00:00",null],"2025-01-11 03:00:00":[1,2,8,"2025-01-11 04:00:00",null],"2025-01-11 04:00:00":[1,2,7,"2025-01-11 05:00:00",null],"2025-01-11 05:00:00":[1,2,5,"2025-01-11 06:00:00",null],"2025-01-11 06:00:00":[1,2,6,"2025-01-11 07:00:00",null],"2025-01-11 07:00:00":[1,2,7,"2025-01-11 08:00:00",null],"2025-01-11 08:00:00":[1,2,9,"2025-01-11 09:00:00",null],"2025-01-11 09:00:00":[1,2,7,"2025-01-11 10:00:00",null],"2025-01-11 10:00:00":[1,2,9,"2025-01-11 11:00:00",null],"2025-01-11 11:00:00":[1,2,10,"2025-01-11 12:00:00",null],"2025-01-11 12:00:00":[1,2,16,"2025-01-11 13:00:00",null],"2025-01-11 13:00:00":[1,2,17,"2025-01-11 14:00:00",null],"2025-01-11 14:00:00":[1,2,15,"2025-01-11 15:00:00",null],"2025-01-11 15:00:00":[1,2,16,"2025-01-11 16:00:00",null],"2025-01-11 16:00:00":[1,2,18,"2025-01-11 17:00:00",null],"2025-01-11 17:00:00":[1,2,17,"2025-01-11 18:00:00",null],"2025-01-11 18:00:00":[1,2,16,"2025-01-11 19:00:00",null],"2025-01-11 19:00:00":[1,2,17,"2025-01-11 20:00:00",null]}}}}
I created a code to read out the data in need to go on
var inputData = msg.payload;
var result = [];
const stationData = inputData ["jsonData"]["data"]["286"];
for (const dateStart in stationData) {
const value = stationData[dateStart][2]; // Index 2 enthält den Value
result.push({ x: dateStart, y: value });
}
var msg = {
payload: result
};
return msg;
Using this code i get the object
[{"x":"2025-01-12 00:00:00","y":27},{"x":"2025-01-12 01:00:00","y":19},{"x":"2025-01-12 02:00:00","y":14},{"x":"2025-01-12 03:00:00","y":10},{"x":"2025-01-12 04:00:00","y":10},{"x":"2025-01-12 05:00:00","y":11},{"x":"2025-01-12 06:00:00","y":10},{"x":"2025-01-12 07:00:00","y":8},{"x":"2025-01-12 08:00:00","y":9}]
Putting this in the dashbnorad 2.0 chart node doesnt plot the graph.
I adjusted the chart node as follows:
Series : None
Y Key: y
X: Key: x
I do not have a clue what i am doing wrong.