OpenWeatherMap simple Weather info
Node-RED

OpenWeatherMap simple Weather info

This flow will use the OpenWeathermap to query a city you set in the Openweathermap node and display it on the Awtrix screen.
A flow by myounges

Download flow Download assets

Flow Details

Was looking for something simple. this queries the API every 90 minutes and stores the info then has another timer that queries the stored values to send them to the screen. These values can be changed. The icons I fetched from LaMetric to be as close as possible to the forecast.

[ { "id": "e37dfa7528f985bd", "type": "openweathermap", "z": "9da611451ddbe3d3", "name": "Weather", "wtype": "current", "lon": "", "lat": "", "city": "", "country": "", "language": "en", "x": 200, "y": 3120, "wires": [ [ "291a463fbaac37ce" ] ] }, { "id": "c271bac7796d9310", "type": "inject", "z": "9da611451ddbe3d3", "name": "inject", "props": [ { "p": "topic", "vt": "str" } ], "repeat": "5400", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 69, "y": 3120, "wires": [ [ "e37dfa7528f985bd" ] ] }, { "id": "9112bc3237e043af", "type": "mqtt out", "z": "9da611451ddbe3d3", "name": "awtrix", "topic": "awtrix/notify", "qos": "2", "retain": "false", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "", "x": 670, "y": 3120, "wires": [] }, { "id": "ab731a831755c8cb", "type": "function", "z": "9da611451ddbe3d3", "name": "awtrix", "func": "switch (msg.payload.icon) {\n case '01d':\n // Action for value1\n msg.payload.icon = 2282;\n break;\n\n case '02d':\n // Action for value2\n msg.payload.icon = 2286;\n break;\n\n case '03d':\n // Action for value3\n msg.payload.icon = 44321;\n break;\n \n case '04d':\n // Action for value1\n msg.payload.icon = 44326;\n break;\n\n case '09d':\n // Action for value2\n msg.payload.icon = 72;\n break;\n\n case '10d':\n // Action for value3\n msg.payload.icon = 2284;\n break;\n\n case '11d':\n // Action for value1\n msg.payload.icon = 11428;\n break;\n\n case '13d':\n // Action for value2\n msg.payload.icon = 4702;\n break;\n\n case '50d':\n // Action for value2\n msg.payload.icon = 17055;\n break;\n\n case '01n':\n // Action for value1\n msg.payload.icon = 18433;\n break;\n\n case '02n':\n // Action for value2\n msg.payload.icon = 54631;\n break;\n\n case '03n':\n // Action for value3\n msg.payload.icon = 63124;\n break;\n case '04n':\n // Action for value1\n msg.payload.icon = 44331;\n break;\n\n case '09n':\n // Action for value2\n msg.payload.icon = 72;\n break;\n\n case '10n':\n // Action for value3\n msg.payload.icon = 63079;\n break;\n case '11n':\n // Action for value1\n msg.payload.icon = 11428;\n break;\n\n case '13n':\n // Action for value1\n msg.payload.icon = 4702;\n break;\n\n case '50n':\n // Action for value2\n msg.payload.icon = 17055;\n break;\n}\n\nmsg.icon = msg.payload.icon;\nmsg.temp = msg.payload.tempc;\n\nmsg.payload = { \n \"name\": \"weather\",\n \"force\": false,\n \"icon\": msg.icon,\n \"moveIcon\": false,\n \"repeat\": 1,\n \"soundfile\": 1,\n \"color\": [\n 0,\n 106,\n 255\n ],\n \"text\": msg.temp + \" C\"\n}\nreturn msg;", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 530, "y": 3120, "wires": [ [ "9112bc3237e043af" ] ] }, { "id": "b46f2905cfa95d15", "type": "inject", "z": "9da611451ddbe3d3", "name": "repeat locally", "props": [ { "p": "topic", "vt": "str" } ], "repeat": "60", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 180, "y": 3160, "wires": [ [ "81aa80fea885bd84" ] ] }, { "id": "291a463fbaac37ce", "type": "change", "z": "9da611451ddbe3d3", "name": "", "rules": [ { "t": "set", "p": "icon", "pt": "global", "to": "payload.icon", "tot": "msg" }, { "t": "set", "p": "tempc", "pt": "global", "to": "payload.tempc", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 360, "y": 3120, "wires": [ [ "ab731a831755c8cb" ] ] }, { "id": "81aa80fea885bd84", "type": "change", "z": "9da611451ddbe3d3", "name": "", "rules": [ { "t": "set", "p": "payload.icon", "pt": "msg", "to": "icon", "tot": "global" }, { "t": "set", "p": "payload.tempc", "pt": "msg", "to": "tempc", "tot": "global" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 360, "y": 3160, "wires": [ [ "ab731a831755c8cb" ] ] }, { "id": "671286ff8c767144", "type": "global-config", "env": [], "modules": { "node-red-node-openweathermap": "1.0.1" } } ]
/flows/XRKWORY8orP4/72.gif
/flows/XRKWORY8orP4/63124.gif
/flows/XRKWORY8orP4/63079.gif
/flows/XRKWORY8orP4/54631.gif
/flows/XRKWORY8orP4/4702.gif
/flows/XRKWORY8orP4/44331.gif
/flows/XRKWORY8orP4/44326.gif
/flows/XRKWORY8orP4/44321.gif
/flows/XRKWORY8orP4/2284.gif
/flows/XRKWORY8orP4/2282.gif
/flows/XRKWORY8orP4/18433.gif
/flows/XRKWORY8orP4/17055.gif
/flows/XRKWORY8orP4/11428.gif
-- Flow first published on September 2, 2025, last updated on September 2, 2025 at 11:38.