Node-RED
Most of these examples are meant to be helping side notes to hack with during Node-RED editing, reminding how different solutions could be in Node-RED
Using Context¶
Play with Context Flow
[{"id":"b96068f7babe718b","type":"inject","z":"c6b51061.867b8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"black","payloadType":"str","x":410,"y":2520,"wires":[["55fccf9286018ccb"]]},{"id":"55fccf9286018ccb","type":"change","z":"c6b51061.867b8","name":"","rules":[{"t":"set","p":"payload","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":580,"y":2520,"wires":[["1b6609d1d59d9ea9"]]},{"id":"1b6609d1d59d9ea9","type":"debug","z":"c6b51061.867b8","name":"debug 20","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":760,"y":2520,"wires":[]},{"id":"a33941ace6c88833","type":"inject","z":"c6b51061.867b8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":400,"y":2660,"wires":[["cea608f4c035d618"]]},{"id":"019808d44e69ee0e","type":"debug","z":"c6b51061.867b8","name":"debug 21","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":760,"y":2660,"wires":[]},{"id":"cea608f4c035d618","type":"change","z":"c6b51061.867b8","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":580,"y":2660,"wires":[["019808d44e69ee0e"]]},{"id":"0a98032fac0d4255","type":"inject","z":"c6b51061.867b8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"white","payloadType":"str","x":410,"y":2440,"wires":[["804e8fb34671bbe7"]]},{"id":"804e8fb34671bbe7","type":"change","z":"c6b51061.867b8","name":"","rules":[{"t":"set","p":"payload","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":580,"y":2440,"wires":[["8d1f48e5caf6a773"]]},{"id":"8d1f48e5caf6a773","type":"debug","z":"c6b51061.867b8","name":"debug 22","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":760,"y":2440,"wires":[]},{"id":"d2dc68b89abc00b9","type":"comment","z":"c6b51061.867b8","name":"store data in flow.payload","info":"","x":350,"y":2380,"wires":[]},{"id":"cd9b8abe76e88e2c","type":"comment","z":"c6b51061.867b8","name":"log flow.payload","info":"","x":380,"y":2600,"wires":[]},{"id":"eb76c839396c374f","type":"inject","z":"c6b51061.867b8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"green","payloadType":"str","x":410,"y":2900,"wires":[["0ced793d5836d79d"]]},{"id":"0ced793d5836d79d","type":"change","z":"c6b51061.867b8","name":"","rules":[{"t":"set","p":"payload","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":590,"y":2900,"wires":[["d4ae35a2aeddbeb6"]]},{"id":"d4ae35a2aeddbeb6","type":"debug","z":"c6b51061.867b8","name":"debug 23","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":780,"y":2900,"wires":[]},{"id":"a38b7aff4966e25c","type":"inject","z":"c6b51061.867b8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"red","payloadType":"str","x":410,"y":2820,"wires":[["22e824f2daddf75c"]]},{"id":"22e824f2daddf75c","type":"change","z":"c6b51061.867b8","name":"","rules":[{"t":"set","p":"payload","pt":"global","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":590,"y":2820,"wires":[["3fd47c04974ba5fa"]]},{"id":"3fd47c04974ba5fa","type":"debug","z":"c6b51061.867b8","name":"debug 24","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":780,"y":2820,"wires":[]},{"id":"dac57d4c504705db","type":"comment","z":"c6b51061.867b8","name":"store data in global.payload","info":"","x":340,"y":2760,"wires":[]},{"id":"96a28af554244902","type":"inject","z":"c6b51061.867b8","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":400,"y":3040,"wires":[["03efa499d78e52a6"]]},{"id":"34d255d61b7e4c51","type":"debug","z":"c6b51061.867b8","name":"debug 25","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":760,"y":3040,"wires":[]},{"id":"03efa499d78e52a6","type":"change","z":"c6b51061.867b8","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload","tot":"global"}],"action":"","property":"","from":"","to":"","reg":false,"x":580,"y":3040,"wires":[["34d255d61b7e4c51"]]},{"id":"a04a28fea60fc1a8","type":"comment","z":"c6b51061.867b8","name":"log global.payload","info":"","x":370,"y":2980,"wires":[]}]
add a JSON value on the go (3 ways)¶
Create JSON Flow
[{"id":"d89cb479.b37858","type":"inject","z":"382e6c42.8e461c","name":"","topic":"","payload":"Davide","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":470,"y":840,"wires":[["9a5e36d6.f5a6a8","577abe41.681d2","d6b21205.8cf03"]]},{"id":"9a5e36d6.f5a6a8","type":"template","z":"382e6c42.8e461c","name":"Template","field":"payload","fieldType":"msg","format":"json","syntax":"mustache","template":"{\n \"employment\":\"teacher\",\n \"name\":\"{{payload}}\"\n \n} ","output":"json","x":640,"y":840,"wires":[["a8793535.13abf8"]]},{"id":"a8793535.13abf8","type":"debug","z":"382e6c42.8e461c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":850,"y":840,"wires":[]},{"id":"577abe41.681d2","type":"function","z":"382e6c42.8e461c","name":"Function","func":"msg.payload = {\"employment\":\"teacher\",\"name\":msg.payload}; \nreturn msg;","outputs":1,"noerr":0,"x":650,"y":900,"wires":[["a8793535.13abf8"]]},{"id":"d850824e.ce9cd","type":"comment","z":"382e6c42.8e461c","name":"Cretae JSON on the go (in 3 ways)","info":"","x":600,"y":700,"wires":[]},{"id":"d6b21205.8cf03","type":"change","z":"382e6c42.8e461c","name":"Jsonata / Change","rules":[{"t":"set","p":"payload","pt":"msg","to":"{\"employment\":\"teacher\",\"name\":payload}","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":670,"y":780,"wires":[["a8793535.13abf8"]]}]
Adding a JSON Parameter on the go (3 ways)¶
Adding a JSON Parameter on the go, in 3 different ways node-red flow
[{"id":"d399a1188ae9957e","type":"debug","z":"c6b51061.867b8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":810,"y":1880,"wires":[]},{"id":"293a95dbd1bb48c5","type":"inject","z":"c6b51061.867b8","name":"starting json","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"alert\":1,\"text\":\"ciao\",\"lat\":45.43912451944641,\"lon\":7.827994525543856}","payloadType":"json","x":430,"y":1880,"wires":[["b98213de27fa7cd6","f95b7dcb90cf1987","b9b1f098eb50d9c5"]]},{"id":"b98213de27fa7cd6","type":"change","z":"c6b51061.867b8","name":"change","rules":[{"t":"set","p":"payload.diga","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":1840,"wires":[["d399a1188ae9957e"]]},{"id":"f95b7dcb90cf1987","type":"template","z":"c6b51061.867b8","name":"Template","field":"payload","fieldType":"msg","format":"json","syntax":"mustache","template":"{\n \"alert\":\"{{payload.alert}}\",\n \"text\":\"{{payload.text}}\",\n \"lat\":{{payload.lat}},\n \"lon\":{{payload.lon}},\n \"diga\": true\n}\n\n\n\n","output":"json","x":620,"y":1880,"wires":[["d399a1188ae9957e"]]},{"id":"b9b1f098eb50d9c5","type":"function","z":"c6b51061.867b8","name":"Function","func":"msg.payload.diga = true; \nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":620,"y":1920,"wires":[["d399a1188ae9957e"]]},{"id":"ee67c92cd8c37f85","type":"comment","z":"c6b51061.867b8","name":"Adding a JSON parameter, \"Diga\" as \"True\" on the go (in 3 ways)","info":"","x":630,"y":1780,"wires":[]}]
Concatenate can API call (3 ways)¶
Concatenate JSON parameters form an API flow
[{"id":"61190ff5.85eec","type":"http request","z":"382e6c42.8e461c","name":"API Call","method":"GET","ret":"obj","paytoqs":false,"url":"https://api.fisenko.net/v1/quotes/en/random","tls":"","persist":false,"proxy":"","authType":"","x":520,"y":1120,"wires":[["f0fb2304.cdd8f","c2b1eddf.0c5eb","c221498f.e05d58"]]},{"id":"f0fb2304.cdd8f","type":"change","z":"382e6c42.8e461c","name":"jsonata","rules":[{"t":"set","p":"payload","pt":"msg","to":"'Text is: ' & payload.text & ' Author is' & payload.author.name","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":1060,"wires":[["a1156bfb.552f68"]]},{"id":"e527e6e9.a5ddb8","type":"comment","z":"382e6c42.8e461c","name":"Concatenate an API call (in 3 ways)","info":"","x":660,"y":980,"wires":[]},{"id":"c8f195ba.91c368","type":"inject","z":"382e6c42.8e461c","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":440,"y":1060,"wires":[["61190ff5.85eec"]]},{"id":"c2b1eddf.0c5eb","type":"template","z":"382e6c42.8e461c","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Text is: {{payload.text}} \n\nAuthor: {{payload.author.name}}","output":"str","x":700,"y":1100,"wires":[["a1156bfb.552f68"]]},{"id":"a1156bfb.552f68","type":"debug","z":"382e6c42.8e461c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":890,"y":1080,"wires":[]},{"id":"c221498f.e05d58","type":"function","z":"382e6c42.8e461c","name":"Function","func":"var t1 = 'Text is:';\nvar t2 = msg.payload.text; \nvar t3 = ' Author: ';\nvar t4 = msg.payload.author.name;\n\nmsg.payload = t1 + t2 + t3 + t4;\n\nreturn msg;","outputs":1,"noerr":0,"x":700,"y":1140,"wires":[["a1156bfb.552f68"]]}]
MQTT Graph¶
receive and display 2 data from a JSON object via MQTTT subscription flow
[{"id":"a0d907e92e526944","type":"mqtt in","z":"c6b51061.867b8","name":"","topic":"/ITS_DATA1","qos":"2","datatype":"auto-detect","broker":"56b1af0c96c4d87c","nl":false,"rap":true,"rh":0,"inputs":0,"x":210,"y":3400,"wires":[["5d3fe6d94494e88b","e8bb6afe89b168de","0ae8290a6c9c91d4"]]},{"id":"5d3fe6d94494e88b","type":"debug","z":"c6b51061.867b8","name":"debug 30","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":420,"y":3460,"wires":[]},{"id":"76ae47b1e8075b61","type":"ui_chart","z":"c6b51061.867b8","name":"","group":"093e33a6a3507d35","order":0,"width":0,"height":0,"label":"chart","chartType":"line","legend":"false","xformat":"HHss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":1,"removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"className":"","x":650,"y":3380,"wires":[[]]},{"id":"e8bb6afe89b168de","type":"change","z":"c6b51061.867b8","name":"crea hum","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.hum","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"hum","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":3380,"wires":[["76ae47b1e8075b61"]]},{"id":"0ae8290a6c9c91d4","type":"change","z":"c6b51061.867b8","name":"crea temp","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.temp","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"temp","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":420,"y":3420,"wires":[["76ae47b1e8075b61"]]},{"id":"b8051d554f60dfc1","type":"inject","z":"c6b51061.867b8","name":"Erase Data from Graph","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[]","payloadType":"json","x":380,"y":3320,"wires":[["76ae47b1e8075b61"]]},{"id":"77fc43ccfe58f250","type":"comment","z":"c6b51061.867b8","name":"receive and display 2 data from a JSON object via MQTTT subscription ","info":"","x":410,"y":3260,"wires":[]},{"id":"56b1af0c96c4d87c","type":"mqtt-broker","name":"","broker":"broker.hivemq.com","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"093e33a6a3507d35","type":"ui_group","z":"c6b51061.867b8","name":"Default","tab":"fa4ff03b54b4ec37","order":1,"disp":true,"width":"16","collapse":false,"className":""},{"id":"fa4ff03b54b4ec37","type":"ui_tab","z":"c6b51061.867b8","name":"Home","icon":"dashboard"}]
MQTT Graph Send & Receive (with MAP!)¶
Send and receive data in JSON format Flow
[{"id":"911e1869fecf5b9d","type":"mqtt out","z":"c6b51061.867b8","name":"","topic":"/ITS_DATA1","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"d4dbff4e822a7890","x":410,"y":2920,"wires":[]},{"id":"2e3bacc24fd2d6a5","type":"inject","z":"c6b51061.867b8","name":"","props":[{"p":"payload.hum","v":"$random()10","vt":"jsonata"},{"p":"topic","vt":"str"},{"p":"payload.temp","v":"$random()100","vt":"jsonata"},{"p":"payload.name","v":"Sonda-001","vt":"str"},{"p":"payload.lat","v":"45.07","vt":"num"},{"p":"payload.lon","v":"7.69","vt":"num"},{"p":"payload.alert","v":"false","vt":"bool"}],"repeat":"10","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":170,"y":2920,"wires":[["7d73f5b0378a0f89","911e1869fecf5b9d"]]},{"id":"7d73f5b0378a0f89","type":"debug","z":"c6b51061.867b8","name":"debug 29","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":400,"y":3000,"wires":[]},{"id":"efb15b82ea70682f","type":"mqtt in","z":"c6b51061.867b8","name":"","topic":"/ITS_DATA1","qos":"2","datatype":"auto-detect","broker":"d4dbff4e822a7890","nl":false,"rap":true,"rh":0,"inputs":0,"x":650,"y":3020,"wires":[["f89246911df97a93","b136eaac1f22cb46","efd7ac4b9da33971","016ffe85648bff2f"]]},{"id":"f89246911df97a93","type":"debug","z":"c6b51061.867b8","name":"debug 30","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":860,"y":3080,"wires":[]},{"id":"ec4ca21cac0552aa","type":"ui_chart","z":"c6b51061.867b8","name":"","group":"8f913bf37816bd36","order":0,"width":0,"height":0,"label":"Sonda-001","chartType":"line","legend":"false","xformat":"HHss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":1,"removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"className":"","x":1050,"y":3000,"wires":[[]]},{"id":"b136eaac1f22cb46","type":"change","z":"c6b51061.867b8","name":"crea hum","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.hum","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"hum","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":3000,"wires":[["ec4ca21cac0552aa"]]},{"id":"efd7ac4b9da33971","type":"change","z":"c6b51061.867b8","name":"crea temp","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.temp","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"temp","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":860,"y":3040,"wires":[["ec4ca21cac0552aa"]]},{"id":"c2a0b4c87be689d9","type":"inject","z":"c6b51061.867b8","name":"Erase Data from Graph","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"[]","payloadType":"json","x":820,"y":2940,"wires":[["ec4ca21cac0552aa"]]},{"id":"e7724859df6597da","type":"comment","z":"c6b51061.867b8","name":"receive and display 2 data from a JSON object via MQTT subscription ","info":"","x":850,"y":2880,"wires":[]},{"id":"95add5cce7b486cf","type":"ui_worldmap","z":"c6b51061.867b8","group":"4d5c65b0d3149f88","order":0,"width":0,"height":0,"name":"","lat":"","lon":"","zoom":"","layer":"OSMG","cluster":"","maxage":"","usermenu":"hide","layers":"hide","panit":"false","panlock":"false","zoomlock":"false","hiderightclick":"true","coords":"none","showgrid":"false","allowFileDrop":"false","path":"/worldmap","overlist":"DR,CO,RA,DN,HM","maplist":"OSMG,OSMC,EsriC,EsriS,EsriT,EsriDG,UKOS","mapname":"","mapurl":"","mapopt":"","mapwms":false,"x":1300,"y":3120,"wires":[]},{"id":"516a1c4a26c5ecd0","type":"inject","z":"c6b51061.867b8","name":"","props":[{"p":"payload.hum","v":"$random()10","vt":"jsonata"},{"p":"topic","vt":"str"},{"p":"payload.temp","v":"$random()100","vt":"jsonata"},{"p":"payload.name","v":"Sonda-001","vt":"str"},{"p":"payload.lat","v":"45.07","vt":"num"},{"p":"payload.lon","v":"7.69","vt":"num"},{"p":"payload.alert","v":"true","vt":"bool"}],"repeat":"25","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":170,"y":2980,"wires":[["911e1869fecf5b9d"]]},{"id":"016ffe85648bff2f","type":"switch","z":"c6b51061.867b8","name":"check alert","property":"payload.alert","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":870,"y":3140,"wires":[["31afa11621978774"],["da90f2f23f11deb9"]]},{"id":"31afa11621978774","type":"change","z":"c6b51061.867b8","name":"icona teschio","rules":[{"t":"set","p":"payload.icon","pt":"msg","to":"","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1050,"y":3120,"wires":[["95add5cce7b486cf"]]},{"id":"da90f2f23f11deb9","type":"change","z":"c6b51061.867b8","name":"icona map marker","rules":[{"t":"set","p":"payload.icon","pt":"msg","to":"fa-map-marker","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1070,"y":3160,"wires":[["95add5cce7b486cf"]]},{"id":"469cd929f26bbbb4","type":"comment","z":"c6b51061.867b8","name":"send 2 data from a JSON object via MQTT (with alert)","info":"","x":260,"y":2880,"wires":[]},{"id":"d4dbff4e822a7890","type":"mqtt-broker","name":"","broker":"broker.hivemq.com","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"8f913bf37816bd36","type":"ui_group","z":"c6b51061.867b8","name":"Default","tab":"fa4ff03b54b4ec37","order":1,"disp":true,"width":"16","collapse":false,"className":""},{"id":"4d5c65b0d3149f88","type":"ui_group","name":"map","tab":"fa4ff03b54b4ec37","order":2,"disp":true,"width":"12","collapse":false,"className":""},{"id":"fa4ff03b54b4ec37","type":"ui_tab","z":"c6b51061.867b8","name":"Home","icon":"dashboard"}]