Monitor Room Temp
Example Flow for Node-Red running on a RaspberryPi to demonstrate usage of
- 1-wire DS18B20 sensor
- 2x LEDs via GPIO
- Node-Red Dashboard Gauge and Graph
- publish temp value via MQTT
Note: Installed a MQTT broker on localhost using "sudo apt-get install mosquitto mosquitto-clients -y".
[{"id":"4f31b0d1.ebc0a","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"7b797153.9fd118","type":"inject","z":"4f31b0d1.ebc0a","name":"every 5 sec","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":170,"y":160,"wires":[["14b5c46b.cbcfbc"]]},{"id":"89e14bf4.2c4958","type":"debug","z":"4f31b0d1.ebc0a","name":"curTemp","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","x":540,"y":60,"wires":[]},{"id":"7bbb2c61.2bc8ec","type":"rpi-gpio out","z":"4f31b0d1.ebc0a","name":"Yellow LED","pin":"16","set":true,"level":"0","freq":"","out":"out","x":930,"y":160,"wires":[]},{"id":"14b5c46b.cbcfbc","type":"rpi-ds18b20","z":"4f31b0d1.ebc0a","topic":"","array":false,"name":"","x":350,"y":160,"wires":[["89e14bf4.2c4958","d295d519.001028","78434e87.ed607","4227f120.30468"]]},{"id":"ed501d40.7e49b","type":"ui_gauge","z":"4f31b0d1.ebc0a","name":"CurrentTemp","group":"7cb25bbb.c2f084","order":0,"width":0,"height":0,"gtype":"gage","title":"Temp Gauge","label":"Celsius ","format":"{{value}}","min":"12","max":"28","colors":["#0723b5","#03b502","#ca3838"],"seg1":"18","seg2":"22","x":510,"y":720,"wires":[]},{"id":"d295d519.001028","type":"switch","z":"4f31b0d1.ebc0a","name":"gettingHot?","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"21","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":550,"y":160,"wires":[["4496f01b.b06e2"],["7f1891f9.8aae1"]],"outputLabels":["Hot","stillFine"]},{"id":"4496f01b.b06e2","type":"change","z":"4f31b0d1.ebc0a","name":"On","rules":[{"t":"set","p":"payload","pt":"msg","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":730,"y":140,"wires":[["7bbb2c61.2bc8ec"]]},{"id":"7f1891f9.8aae1","type":"change","z":"4f31b0d1.ebc0a","name":"Off","rules":[{"t":"set","p":"payload","pt":"msg","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":730,"y":180,"wires":[["7bbb2c61.2bc8ec"]]},{"id":"4682f607.75e138","type":"ui_chart","z":"4f31b0d1.ebc0a","name":"Temp","group":"7cb25bbb.c2f084","order":1,"width":0,"height":0,"label":"Temp Chart","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"no data received","dot":true,"ymin":"","ymax":"","removeOlder":"10","removeOlderPoints":"","removeOlderUnit":"60","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"outputs":1,"x":670,"y":480,"wires":[[]]},{"id":"78434e87.ed607","type":"rbe","z":"4f31b0d1.ebc0a","name":"change more than 3%","func":"deadband","gap":"3%","start":"","inout":"out","property":"payload","x":580,"y":260,"wires":[["abe34601.96da88","2eeb3f80.bf834"]]},{"id":"7e3ace9e.012e7","type":"rpi-gpio out","z":"4f31b0d1.ebc0a","name":"Green LED","pin":"18","set":true,"level":"0","freq":"","out":"out","x":1090,"y":260,"wires":[]},{"id":"abe34601.96da88","type":"function","z":"4f31b0d1.ebc0a","name":"On","func":"msg.payload = true;\nreturn msg;","outputs":1,"noerr":0,"x":850,"y":260,"wires":[["7e3ace9e.012e7"]]},{"id":"2eeb3f80.bf834","type":"delay","z":"4f31b0d1.ebc0a","name":"","pauseType":"delay","timeout":"3","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":780,"y":320,"wires":[["9e408721.cc38e8"]]},{"id":"9e408721.cc38e8","type":"function","z":"4f31b0d1.ebc0a","name":"off","func":"msg.payload = false;\nreturn msg;","outputs":1,"noerr":0,"x":930,"y":320,"wires":[["7e3ace9e.012e7"]]},{"id":"94ce7c89.f99db","type":"mqtt in","z":"4f31b0d1.ebc0a","name":"","topic":"RoomTemp","qos":"2","broker":"3522ac99.e1d934","x":280,"y":660,"wires":[["6f1bd2c9.a65e0c","ed501d40.7e49b"]]},{"id":"12186332.721edd","type":"mqtt out","z":"4f31b0d1.ebc0a","name":"","topic":"RoomTemp","qos":"0","retain":"","broker":"3522ac99.e1d934","x":690,"y":400,"wires":[]},{"id":"6f1bd2c9.a65e0c","type":"debug","z":"4f31b0d1.ebc0a","name":"MQTT listening","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":520,"y":660,"wires":[]},{"id":"4227f120.30468","type":"function","z":"4f31b0d1.ebc0a","name":"1-digits","func":"var formatedTemp = msg.payload.toFixed(1);\nmsg.payload = formatedTemp;\nreturn msg;","outputs":1,"noerr":0,"x":510,"y":440,"wires":[["12186332.721edd","4682f607.75e138"]]},{"id":"e318fd1e.f378e","type":"ui_button","z":"4f31b0d1.ebc0a","name":"","group":"7cb25bbb.c2f084","order":2,"width":0,"height":0,"passthru":false,"label":"Read Temp","tooltip":"Trigger to read temperature","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"","x":160,"y":280,"wires":[["14b5c46b.cbcfbc"]]},{"id":"7cb25bbb.c2f084","type":"ui_group","z":"","name":"Graph","tab":"d9c6a715.8d9128","disp":true,"width":"6","collapse":false},{"id":"3522ac99.e1d934","type":"mqtt-broker","z":"","name":"Localhost","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"d9c6a715.8d9128","type":"ui_tab","z":"","name":"Home","icon":"dashboard","disabled":false,"hidden":false}]