Skip to content

Instantly share code, notes, and snippets.

Created November 7, 2016 23:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/a87541aca4bcbbfaeb923837874fb5e4 to your computer and use it in GitHub Desktop.
Save anonymous/a87541aca4bcbbfaeb923837874fb5e4 to your computer and use it in GitHub Desktop.
A Node-RED flow to collect weather data and transmit it to an ESPEasy based OLED screen using REST.
[{"id":"671ecbad.ad2504","type":"inject","z":"fea9ff4e.cc88b","name":"Billboard \"IoL City\"","topic":"","payload":"IoL City","payloadType":"str","repeat":"","crontab":"","once":true,"x":130,"y":140,"wires":[["8871a91.1888a58"]]},{"id":"e119caef.1f55c8","type":"http request","z":"fea9ff4e.cc88b","name":"","method":"GET","ret":"txt","url":"","tls":"","x":570,"y":140,"wires":[["82a3e29e.2997b"]]},{"id":"514fc850.84e328","type":"function","z":"fea9ff4e.cc88b","name":"Message URL","func":"msg.ip = \"192.168.0.92\";\nmsg.row = 1;\nmsg.col = 1;\n//msg.payload = \" IoL City\"\n\nmsg.url = \"http://\"+msg.ip+\"/control?cmd=oled\"+\",\"+msg.row+\",\"+msg.col+\",\"+msg.payload;\nreturn msg;","outputs":1,"noerr":0,"x":380,"y":140,"wires":[["e119caef.1f55c8"]]},{"id":"82a3e29e.2997b","type":"debug","z":"fea9ff4e.cc88b","name":"Billboard Message","active":false,"console":"false","complete":"true","x":750,"y":140,"wires":[]},{"id":"36232a09.46f1a6","type":"mqtt in","z":"fea9ff4e.cc88b","name":"","topic":"/sensors/iolcity/weather/temperature","qos":"2","broker":"12853ec6.e7be71","x":164.5,"y":317,"wires":[["b6a8dd69.cdb9c"]]},{"id":"621b4ee9.5a93d","type":"debug","z":"fea9ff4e.cc88b","name":"Billboard Weather ","active":true,"console":"false","complete":"true","x":690,"y":420,"wires":[]},{"id":"b6a8dd69.cdb9c","type":"function","z":"fea9ff4e.cc88b","name":"Message URL","func":"msg.ip = \"192.168.0.92\";\nmsg.row = 3;\nmsg.col = 1;\nmsg.topic = \"Temp\";\n//msg.payload = \"Internet of LEGO\"\nmsg.payload = Math.abs(msg.payload)+\"c\";\nmsg.url = \"http://\"+msg.ip+\"/control?cmd=oled\"+\",\"+msg.row+\",\"+msg.col+\",\"+msg.payload+\" \"+msg.topic;\nreturn msg;","outputs":1,"noerr":0,"x":482,"y":315,"wires":[["3cb64bbc.688264"]]},{"id":"3ed9b7f0.3f5ea8","type":"mqtt in","z":"fea9ff4e.cc88b","name":"","topic":"/sensors/iolcity/weather/humidity","qos":"2","broker":"12853ec6.e7be71","x":156,"y":374,"wires":[["470c21bd.d12a1"]]},{"id":"6d894e7e.97e82","type":"mqtt in","z":"fea9ff4e.cc88b","name":"","topic":"/sensors/iolcity/weather/light","qos":"2","broker":"12853ec6.e7be71","x":147,"y":430,"wires":[["198617c3.c37bf8"]]},{"id":"21a1bde1.c6eec2","type":"mqtt in","z":"fea9ff4e.cc88b","name":"","topic":"/sensors/iolcity/weather/heatindex","qos":"2","broker":"12853ec6.e7be71","x":169,"y":478,"wires":[["658f36da.f49a58"]]},{"id":"470c21bd.d12a1","type":"function","z":"fea9ff4e.cc88b","name":"Message URL","func":"msg.ip = \"192.168.0.92\";\nmsg.row = 5;\nmsg.col = 1;\nmsg.topic = \"Humidity\";\nmsg.payload = Math.abs(msg.payload)+\"%25\";\n\nmsg.url = \"http://\"+msg.ip+\"/control?cmd=oled\"+\",\"+msg.row+\",\"+msg.col+\",\"+msg.payload+\" \"+msg.topic;\nreturn msg;","outputs":1,"noerr":0,"x":481,"y":366,"wires":[["3cb64bbc.688264"]]},{"id":"198617c3.c37bf8","type":"function","z":"fea9ff4e.cc88b","name":"Message URL","func":"msg.ip = \"192.168.0.92\";\nmsg.row = 7;\nmsg.col = 1;\nmsg.topic = \"Light\";\nmsg.payload = Math.abs(msg.payload)+\" \";\n\nmsg.url = \"http://\"+msg.ip+\"/control?cmd=oled\"+\",\"+msg.row+\",\"+msg.col+\",\"+msg.payload+\" \"+msg.topic;\nreturn msg;","outputs":1,"noerr":0,"x":480,"y":422,"wires":[["3cb64bbc.688264"]]},{"id":"658f36da.f49a58","type":"function","z":"fea9ff4e.cc88b","name":"Message URL","func":"msg.ip = \"192.168.0.92\";\nmsg.row = 8;\nmsg.col = 1;\nmsg.topic = \"Heat Index\";\nmsg.payload = Math.abs(msg.payload)+\"c\";\n\nmsg.url = \"http://\"+msg.ip+\"/control?cmd=oled\"+\",\"+msg.row+\",\"+msg.col+\",\"+msg.payload+\" \"+msg.topic;\nreturn msg;","outputs":1,"noerr":0,"x":484,"y":474,"wires":[[]]},{"id":"ecb83741.54e428","type":"inject","z":"fea9ff4e.cc88b","name":"Billboard OLED - CLEAR","topic":"","payload":"","payloadType":"str","repeat":"","crontab":"","once":false,"x":150,"y":100,"wires":[["8d27b728.cb77b8"]]},{"id":"ecd524f3.6d8588","type":"http request","z":"fea9ff4e.cc88b","name":"","method":"GET","ret":"txt","url":"","tls":"","x":568,"y":100,"wires":[["8466322d.20639"]]},{"id":"8d27b728.cb77b8","type":"function","z":"fea9ff4e.cc88b","name":"Message URL","func":"msg.ip = \"192.168.0.92\";\nmsg.row = 1;\nmsg.col = 1;\nmsg.payload = \"Internet of LEGO\"\n\nmsg.url = \"http://\"+msg.ip+\"/control?cmd=oledcmd,clear\";\nreturn msg;","outputs":1,"noerr":0,"x":378,"y":100,"wires":[["ecd524f3.6d8588"]]},{"id":"3cb64bbc.688264","type":"http request","z":"fea9ff4e.cc88b","name":"","method":"GET","ret":"txt","url":"","tls":"","x":674,"y":354,"wires":[["621b4ee9.5a93d"]]},{"id":"fb82518f.ab65c","type":"function","z":"fea9ff4e.cc88b","name":"Message - Time","func":"msg.ip = \"192.168.0.92\";\nmsg.row = 8;\nmsg.col = 9;\n\nvar duration = msg.payload;\n\nvar milliseconds = parseInt((duration%1000)/100);\nvar seconds = parseInt((duration/1000)%60);\nvar minutes = parseInt((duration/(1000*60))%60);\nvar hours = parseInt((duration/(1000*60*60))%24);\n\nhours = (hours < 10) ? \"0\" + hours : hours;\nminutes = (minutes < 10) ? \"0\" + minutes : minutes;\nseconds = (seconds < 10) ? \"0\" + seconds : seconds;\n\nmsg.payload = hours + \":\" + minutes; // + \":\" + seconds + \".\" + milliseconds;\nmsg.url = \"http://\"+msg.ip+\"/control?cmd=oled\"+\",\"+msg.row+\",\"+msg.col+\",\"+msg.payload;\nreturn msg;","outputs":1,"noerr":0,"x":480,"y":540,"wires":[["de8d8e7b.d00fc","3cb64bbc.688264"]]},{"id":"36b030fb.8881d","type":"inject","z":"fea9ff4e.cc88b","name":"","topic":"","payload":"","payloadType":"date","repeat":"1","crontab":"","once":true,"x":110,"y":540,"wires":[["519fc0ab.46f8"]]},{"id":"3c1bb664.a8114a","type":"comment","z":"fea9ff4e.cc88b","name":"Billboard - ESPEasy - REST","info":"Update the \"Message URL\" function blocks with\nthe IP address of the billboard running ESPEasy","x":140,"y":40,"wires":[]},{"id":"8466322d.20639","type":"debug","z":"fea9ff4e.cc88b","name":"Billboard Clear","active":true,"console":"false","complete":"true","x":740,"y":100,"wires":[]},{"id":"de8d8e7b.d00fc","type":"debug","z":"fea9ff4e.cc88b","name":"Billboard time","active":false,"console":"false","complete":"payload","x":680,"y":540,"wires":[]},{"id":"519fc0ab.46f8","type":"delay","z":"fea9ff4e.cc88b","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"minutes","rate":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":300,"y":540,"wires":[["fb82518f.ab65c"]]},{"id":"8871a91.1888a58","type":"function","z":"fea9ff4e.cc88b","name":"Welcome to, IoL City - setInterval","func":"var text = [\n \"~ Welcome To ~\",\n \"~ IoL City ~\"\n ];\n\nvar c = 0\n\nsetInterval(function(){\n msg.payload = text[c];\n node.send(msg); \n if (c == text.length - 1){\n c = 0;\n }else{\n c++;\n }\n},4000);\n\n\n\n\n\nreturn null;","outputs":1,"noerr":0,"x":260,"y":180,"wires":[["514fc850.84e328"]]},{"id":"12853ec6.e7be71","type":"mqtt-broker","z":"","broker":"localhost","port":"1883","clientid":"pi-nr","usetls":false,"compatmode":true,"keepalive":"15","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment