guidone / node-red-contrib-netatmo-dashboard

Get dashboard JSON payload from NetAtmo.
13 stars 9 forks source link

Example flow please? #15

Closed houser42 closed 1 year ago

houser42 commented 3 years ago

Trying to get going with this and our netatmo weather station. Is there an example flow with how to use functions or nodes that can split out data for the node red ui dashboard? Grateful for any hints. Many thanks

solick commented 2 years ago

depends on what you want to achieve. You can have for every module a multiplexer which slits up into several output values each reformatted for a dashboard element:


var msg1 = {} var msg2 = {}; var msg3 = {}; var msg4 = {}; var msg5 = {}; var msg6 = {};

var d = new Date(msg.payload.detailed[0].last_status_store * 1000); d.setHours(d.getHours() + 1);

msg1.payload = d.toLocaleString('de-DE', { hour12: false }); msg2.payload = msg.payload.detailed[0].dashboard_data.Temperature; msg3.payload = msg.payload.detailed[0].dashboard_data.Noise; msg4.payload = msg.payload.detailed[0].dashboard_data.Humidity; msg5.payload = msg.payload.detailed[0].dashboard_data.CO2;

msg6.payload = {

"reachable": msg.payload.detailed[0].reachable,
"temperature": msg.payload.detailed[0].dashboard_data.Temperature,
"noise": msg.payload.detailed[0].dashboard_data.Noise,
"humidity": msg.payload.detailed[0].dashboard_data.Humidity,
"co2": msg.payload.detailed[0].dashboard_data.CO2,
"pressure": msg.payload.detailed[0].dashboard_data.Pressure

};

return [msg1, msg2, msg3, msg4, msg5, msg6];

houser42 commented 2 years ago

depends on what you want to achieve. You can have for every module a multiplexer which slits up into several output values each reformatted for a dashboard element:

var msg1 = {} var msg2 = {}; var msg3 = {}; var msg4 = {}; var msg5 = {}; var msg6 = {};

var d = new Date(msg.payload.detailed[0].last_status_store * 1000); d.setHours(d.getHours() + 1);

msg1.payload = d.toLocaleString('de-DE', { hour12: false }); msg2.payload = msg.payload.detailed[0].dashboard_data.Temperature; msg3.payload = msg.payload.detailed[0].dashboard_data.Noise; msg4.payload = msg.payload.detailed[0].dashboard_data.Humidity; msg5.payload = msg.payload.detailed[0].dashboard_data.CO2;

msg6.payload = {

"reachable": msg.payload.detailed[0].reachable,
"temperature": msg.payload.detailed[0].dashboard_data.Temperature,
"noise": msg.payload.detailed[0].dashboard_data.Noise,
"humidity": msg.payload.detailed[0].dashboard_data.Humidity,
"co2": msg.payload.detailed[0].dashboard_data.CO2,
"pressure": msg.payload.detailed[0].dashboard_data.Pressure

};

return [msg1, msg2, msg3, msg4, msg5, msg6];

Thanks @solick Very helpful and much appreciated!