[{"id":"a2c85577.56ac88","type":"subflow","name":"8-relay switch","info":"","category":"","in":[{"x":40,"y":80,"wires":[{"id":"efbeaf85.81def"}]}],"out":[{"x":620,"y":80,"wires":[{"id":"c9cbf280.bf4ac","port":0}]}],"env":[],"color":"#DDAA99"},{"id":"efbeaf85.81def","type":"i2c in","z":"a2c85577.56ac88","name":"read inport-reg-add","busno":"1","address":"63","command":"0","count":"1","x":170,"y":80,"wires":[["66319282.01d10c"]]},{"id":"66319282.01d10c","type":"function","z":"a2c85577.56ac88","name":"switch single relay","func":"var relayMaskRemap = [1,4,2,8,64,16,32,128];\n//var relayChRemap = [0,2,1,3,6,4,5,7];\n\nvar relay = msg.relay;\nvar value = msg.value;\nvar oldVal = msg.payload;\n\noldVal = IOToRelay(oldVal);\nif (value === 0){\n oldVal = oldVal & ( ~ (1 << (relay -1)));\n oldVal = relayToIO(oldVal);\n}\nelse{\n oldVal = oldVal | (1 << (relay - 1));\n oldVal = relayToIO(oldVal);\n}\n\nif( oldVal > 127){\n oldVal = oldVal - 256; \n}\nmsg.payload = oldVal;\nreturn msg;\n\n//-----------------------------------------------\n\nfunction relayToIO(relay){\n var val1 = 0;\n for (i = 0; i < 9; i++) {\n if ((relay & (1 << i)) !== 0){\n val1 = val1 + relayMaskRemap[i]; \n }\n }\n return val1;\n}\n\nfunction IOToRelay(iov){\n var val2 = 0;\n for (i = 0; i < 9; i++) {\n if ((iov & relayMaskRemap[i]) !== 0){\n val2 = val2 + (1 << i); \n }\n }\n return val2;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":370,"y":80,"wires":[["c9cbf280.bf4ac"]]},{"id":"c9cbf280.bf4ac","type":"i2c out","z":"a2c85577.56ac88","name":"","busno":"1","address":"63","command":"1","payload":"payload","payloadType":"msg","count":"1","x":530,"y":80,"wires":[[]]},{"id":"95be6ed3.7737d","type":"subflow","name":"8relay-status","info":"","category":"","in":[{"x":60,"y":80,"wires":[{"id":"7951b71c.460c68"}]}],"out":[{"x":660,"y":80,"wires":[{"id":"dae61885.5203b8","port":0}]}],"env":[],"color":"#DDAA99"},{"id":"7951b71c.460c68","type":"i2c in","z":"95be6ed3.7737d","name":"read inport-reg0-add","busno":"1","address":"63","command":"0","count":"1","x":200,"y":80,"wires":[["e1219774.bdc3e8"]]},{"id":"e1219774.bdc3e8","type":"function","z":"95be6ed3.7737d","name":"switch all relays","func":"var relayMaskRemap = [1,4,2,8,64,16,32,128];\n//var relayChRemap = [0,2,1,3,6,4,5,7];\n\nvar relay = msg.relay;\nvar oldVal = msg.payload;\n\nval = IOToRelay(oldVal);\nval = val & (1 << (relay - 1));\nif( val === 0){\n msg.stat = 0; \n}\nelse{\n msg.stat = 1;\n}\nreturn msg;\n\n//-----------------------------------------------\n\nfunction relayToIO(relay){\n var val1 = 0;\n for (i = 0; i < 9; i++) {\n if ((relay & (1 << i)) !== 0){\n val1 = val1 + relayMaskRemap[i]; \n }\n }\n return val1;\n}\n\nfunction IOToRelay(iov){\n var val2 = 0;\n for (i = 0; i < 9; i++) {\n if ((iov & relayMaskRemap[i]) !== 0){\n val2 = val2 + (1 << i); \n }\n }\n return val2;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":400,"y":80,"wires":[["dae61885.5203b8"]]},{"id":"dae61885.5203b8","type":"function","z":"95be6ed3.7737d","name":"","func":"msg.payload = msg.stat;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":560,"y":80,"wires":[[]]},{"id":"e4a571d7.d426d","type":"tab","label":"8relay","disabled":false,"info":""},{"id":"98faa8c0.4c1678","type":"i2c in","z":"e4a571d7.d426d","name":"","busno":"1","address":"63","command":"0","count":"1","x":470,"y":540,"wires":[["4423a61.45b9e58"]]},{"id":"674d7737.494fd8","type":"inject","z":"e4a571d7.d426d","name":"8 on","props":[{"p":"payload"},{"p":"relay","v":"8","vt":"num"},{"p":"value","v":"1","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":800,"wires":[["98faa8c0.4c1678"]]},{"id":"4423a61.45b9e58","type":"function","z":"e4a571d7.d426d","name":"switch single relay","func":"var relayMaskRemap = [1,4,2,8,64,16,32,128];\n//var relayChRemap = [0,2,1,3,6,4,5,7];\n\nvar relay = msg.relay;\nvar value = msg.value;\nvar oldVal = msg.payload;\n\noldVal = IOToRelay(oldVal);\nif (value === 0){\n oldVal = oldVal & ( ~ (1 << (relay -1)));\n oldVal = relayToIO(oldVal);\n}\nelse{\n oldVal = oldVal | (1 << (relay - 1));\n oldVal = relayToIO(oldVal);\n}\n\nif( oldVal > 127){\n oldVal = oldVal - 256; \n}\nmsg.payload = oldVal;\nreturn msg;\n\n//-----------------------------------------------\n\nfunction relayToIO(relay){\n var val1 = 0;\n for (i = 0; i < 9; i++) {\n if ((relay & (1 << i)) !== 0){\n val1 = val1 + relayMaskRemap[i]; \n }\n }\n return val1;\n}\n\nfunction IOToRelay(iov){\n var val2 = 0;\n for (i = 0; i < 9; i++) {\n if ((iov & relayMaskRemap[i]) !== 0){\n val2 = val2 + (1 << i); \n }\n }\n return val2;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":630,"y":540,"wires":[["3dfb8ce6.279364","39c986c6.d6f2ca"]]},{"id":"3dfb8ce6.279364","type":"i2c out","z":"e4a571d7.d426d","name":"","busno":"1","address":"63","command":"1","payload":"payload","payloadType":"msg","count":"1","x":810,"y":540,"wires":[["46166bbb.9b51b4"]]},{"id":"f705ed00.57419","type":"inject","z":"e4a571d7.d426d","name":"8 off","props":[{"p":"payload"},{"p":"relay","v":"8","vt":"num"},{"p":"value","v":"0","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":840,"wires":[["98faa8c0.4c1678"]]},{"id":"2b250439.18d08c","type":"inject","z":"e4a571d7.d426d","name":"7 on","props":[{"p":"payload"},{"p":"relay","v":"7","vt":"num"},{"p":"value","v":"1","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":720,"wires":[["98faa8c0.4c1678"]]},{"id":"29bb73d0.f354bc","type":"inject","z":"e4a571d7.d426d","name":"7 off","props":[{"p":"payload"},{"p":"relay","v":"7","vt":"num"},{"p":"value","v":"0","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":760,"wires":[["98faa8c0.4c1678"]]},{"id":"8fc75a1.993d0a8","type":"inject","z":"e4a571d7.d426d","name":"1 on","props":[{"p":"relay","v":"1","vt":"num"},{"p":"value","v":"1","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payloadType":"str","x":130,"y":240,"wires":[["98faa8c0.4c1678"]]},{"id":"2d3adb6.50d3a24","type":"inject","z":"e4a571d7.d426d","name":"1 off","props":[{"p":"relay","v":"1","vt":"num"},{"p":"value","v":"0","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":130,"y":280,"wires":[["98faa8c0.4c1678"]]},{"id":"46166bbb.9b51b4","type":"debug","z":"e4a571d7.d426d","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":930,"y":540,"wires":[]},{"id":"f360ac0.3866458","type":"inject","z":"e4a571d7.d426d","name":"2 on","props":[{"p":"relay","v":"2","vt":"num"},{"p":"value","v":"1","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":130,"y":320,"wires":[["98faa8c0.4c1678"]]},{"id":"72084a8d.763944","type":"inject","z":"e4a571d7.d426d","name":"2 off","props":[{"p":"relay","v":"2","vt":"num"},{"p":"value","v":"0","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":130,"y":360,"wires":[["98faa8c0.4c1678"]]},{"id":"be77390b.c171f8","type":"inject","z":"e4a571d7.d426d","name":"3 on","props":[{"p":"relay","v":"3","vt":"num"},{"p":"value","v":"1","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payloadType":"str","x":130,"y":400,"wires":[["98faa8c0.4c1678"]]},{"id":"18de709d.905f3f","type":"inject","z":"e4a571d7.d426d","name":"3 off","props":[{"p":"relay","v":"3","vt":"num"},{"p":"value","v":"0","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":130,"y":440,"wires":[["98faa8c0.4c1678"]]},{"id":"790fa35c.cfe1bc","type":"inject","z":"e4a571d7.d426d","name":"4 on","props":[{"p":"relay","v":"4","vt":"num"},{"p":"value","v":"1","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":130,"y":480,"wires":[["98faa8c0.4c1678"]]},{"id":"c6a56dce.650c8","type":"inject","z":"e4a571d7.d426d","name":"4 off","props":[{"p":"relay","v":"4","vt":"num"},{"p":"value","v":"0","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":130,"y":520,"wires":[["98faa8c0.4c1678"]]},{"id":"9ade85fe.d98f08","type":"inject","z":"e4a571d7.d426d","name":"5 on","props":[{"p":"relay","v":"5","vt":"num"},{"p":"value","v":"1","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payloadType":"str","x":130,"y":560,"wires":[["98faa8c0.4c1678"]]},{"id":"6198bcb3.2acf44","type":"inject","z":"e4a571d7.d426d","name":"5 off","props":[{"p":"relay","v":"5","vt":"num"},{"p":"value","v":"0","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":130,"y":600,"wires":[["98faa8c0.4c1678"]]},{"id":"7fe987b5.b08ba8","type":"inject","z":"e4a571d7.d426d","name":"6 on","props":[{"p":"relay","v":"6","vt":"num"},{"p":"value","v":"1","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":130,"y":640,"wires":[["98faa8c0.4c1678"]]},{"id":"3238dac.b103e26","type":"inject","z":"e4a571d7.d426d","name":"6 off","props":[{"p":"relay","v":"6","vt":"num"},{"p":"value","v":"0","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":130,"y":680,"wires":[["98faa8c0.4c1678"]]},{"id":"71df454c.c8af1c","type":"debug","z":"e4a571d7.d426d","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":490,"y":2120,"wires":[]},{"id":"daddb926.4a73f8","type":"debug","z":"e4a571d7.d426d","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":490,"y":2160,"wires":[]},{"id":"9e26866a.aa38d8","type":"inject","z":"e4a571d7.d426d","name":"I2C","repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":170,"y":2140,"wires":[["67136d6b.158dd4"]]},{"id":"d2478f2d.a6dce","type":"inject","z":"e4a571d7.d426d","name":"device status check","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":130,"y":2240,"wires":[["9b71aa6a.31b608"]]},{"id":"bf99b3e8.319f9","type":"debug","z":"e4a571d7.d426d","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":590,"y":2220,"wires":[]},{"id":"5410b074.49644","type":"function","z":"e4a571d7.d426d","name":"","func":"return [{payload : msg.payload},\n {payload : msg.payload.toString(2).padStart(8,'0')}\n ];","outputs":2,"noerr":0,"initialize":"","finalize":"","x":420,"y":2240,"wires":[["bf99b3e8.319f9"],["1aa957e3.2599e8"]]},{"id":"1aa957e3.2599e8","type":"debug","z":"e4a571d7.d426d","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":590,"y":2260,"wires":[]},{"id":"c884030c.b3038","type":"comment","z":"e4a571d7.d426d","name":"Utilities","info":"","x":110,"y":2060,"wires":[]},{"id":"67136d6b.158dd4","type":"i2c scan","z":"e4a571d7.d426d","name":"I2C scan","busno":"1","x":300,"y":2140,"wires":[["71df454c.c8af1c"],["daddb926.4a73f8"]]},{"id":"9b71aa6a.31b608","type":"i2c in","z":"e4a571d7.d426d","name":"","busno":"1","address":"63","command":"0","count":"1","x":290,"y":2240,"wires":[["5410b074.49644"]]},{"id":"39f84d84.686392","type":"inject","z":"e4a571d7.d426d","name":"relay 5 status ","props":[{"p":"relay","v":"5","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payloadType":"str","x":130,"y":2320,"wires":[["e8cf3fe9.a17fc"]]},{"id":"e8cf3fe9.a17fc","type":"i2c in","z":"e4a571d7.d426d","name":"","busno":"1","address":"63","command":"0","count":"1","x":290,"y":2320,"wires":[["68c37f90.a1a76"]]},{"id":"68c37f90.a1a76","type":"function","z":"e4a571d7.d426d","name":"switch all relays","func":"var relayMaskRemap = [1,4,2,8,64,16,32,128];\n//var relayChRemap = [0,2,1,3,6,4,5,7];\n\nvar relay = msg.relay;\nvar oldVal = msg.payload;\n\nval = IOToRelay(oldVal);\nval = val & (1 << (relay - 1));\nif( val === 0){\n return{payload:0}; \n}\nelse{\n return{payload:1};\n}\n\n//-----------------------------------------------\n\nfunction relayToIO(relay){\n var val1 = 0;\n for (i = 0; i < 9; i++) {\n if ((relay & (1 << i)) !== 0){\n val1 = val1 + relayMaskRemap[i]; \n }\n }\n return val1;\n}\n\nfunction IOToRelay(iov){\n var val2 = 0;\n for (i = 0; i < 9; i++) {\n if ((iov & relayMaskRemap[i]) !== 0){\n val2 = val2 + (1 << i); \n }\n }\n return val2;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":440,"y":2320,"wires":[["dfd9d7d3.792c68"]]},{"id":"dfd9d7d3.792c68","type":"debug","z":"e4a571d7.d426d","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":610,"y":2320,"wires":[]},{"id":"fe6ad68a.60e698","type":"i2c in","z":"e4a571d7.d426d","name":"","busno":"1","address":"63","command":"0","count":"1","x":330,"y":1880,"wires":[["551c5612.1389f8"]]},{"id":"551c5612.1389f8","type":"function","z":"e4a571d7.d426d","name":"switch all relays","func":"var relayMaskRemap = [1,4,2,8,64,16,32,128];\n//var relayChRemap = [0,2,1,3,6,4,5,7];\n\nvar relay = msg.relay;\nvar oldVal = msg.payload;\n\nval = IOToRelay(oldVal);\nval = val & (1 << (relay - 1));\nif( val === 0){\n msg.payload = 0; \n}\nelse{\n msg.payload = 1;\n}\nreturn msg;\n//-----------------------------------------------\n\nfunction relayToIO(relay){\n var val1 = 0;\n for (i = 0; i < 9; i++) {\n if ((relay & (1 << i)) !== 0){\n val1 = val1 + relayMaskRemap[i]; \n }\n }\n return val1;\n}\n\nfunction IOToRelay(iov){\n var val2 = 0;\n for (i = 0; i < 9; i++) {\n if ((iov & relayMaskRemap[i]) !== 0){\n val2 = val2 + (1 << i); \n }\n }\n return val2;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":480,"y":1880,"wires":[["1493c0f2.e0802f"]]},{"id":"1493c0f2.e0802f","type":"function","z":"e4a571d7.d426d","name":"","func":"if (msg.payload === 0){\n msg.value = 1;\n}\nelse {\n msg.value = 0;\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":640,"y":1880,"wires":[["644b9c23.508e74"]]},{"id":"e322df9e.1a66a","type":"inject","z":"e4a571d7.d426d","name":"toggle relay 5 ","props":[{"p":"relay","v":"5","vt":"num"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":150,"y":1880,"wires":[["fe6ad68a.60e698"]]},{"id":"a5fe8339.d381e","type":"link in","z":"e4a571d7.d426d","name":"switch relay","links":["af90f24d.14a0e","4948351.783b5cc","f7c49aff.36f938","40ccd1d6.7d01a","db13d2b0.5af1a","f79ef3db.7b04f","80857682.d56168","912c0eb9.4397d","c0cef242.50144"],"x":175,"y":880,"wires":[["98faa8c0.4c1678"]]},{"id":"1b39c38d.e5981c","type":"debug","z":"e4a571d7.d426d","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1110,"y":580,"wires":[]},{"id":"39c986c6.d6f2ca","type":"delay","z":"e4a571d7.d426d","name":"15 ms","pauseType":"delay","timeout":"15","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":810,"y":580,"wires":[["cf1fba91.22b058"]]},{"id":"f0a8e226.7f604","type":"ui_switch","z":"e4a571d7.d426d","name":"","label":"switch 1","tooltip":"","group":"54e999ed.5fee18","order":4,"width":0,"height":0,"passthru":false,"decouple":"true","topic":"","style":"","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":180,"y":980,"wires":[["3eb6026c.d3711e"]]},{"id":"3eb6026c.d3711e","type":"function","z":"e4a571d7.d426d","name":"relay 1","func":"msg.relay = 1;\nmsg.value = msg.payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":310,"y":980,"wires":[["5474301c.625cb","92190e30.fb345"]]},{"id":"5474301c.625cb","type":"delay","z":"e4a571d7.d426d","name":"15 ms","pauseType":"delay","timeout":"15","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":450,"y":1000,"wires":[["db95477a.455c18"]]},{"id":"a37e0f4c.ddd9b","type":"link out","z":"e4a571d7.d426d","name":"","links":["91c09527.f996d8"],"x":695,"y":1000,"wires":[]},{"id":"91c09527.f996d8","type":"link in","z":"e4a571d7.d426d","name":"relay 1 in","links":["a37e0f4c.ddd9b"],"x":75,"y":960,"wires":[["f0a8e226.7f604"]]},{"id":"57ca90dc.3b2f7","type":"ui_switch","z":"e4a571d7.d426d","name":"","label":"switch 2","tooltip":"","group":"54e999ed.5fee18","order":4,"width":0,"height":0,"passthru":false,"decouple":"true","topic":"","style":"","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":180,"y":1080,"wires":[["df9910d3.5defa"]]},{"id":"df9910d3.5defa","type":"function","z":"e4a571d7.d426d","name":"relay 2","func":"msg.relay = 2;\nmsg.value = msg.payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":310,"y":1080,"wires":[["a6481c13.bdcea","a0371399.04807"]]},{"id":"a6481c13.bdcea","type":"delay","z":"e4a571d7.d426d","name":"15 ms","pauseType":"delay","timeout":"15","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":450,"y":1100,"wires":[["94bdff32.c31bf"]]},{"id":"f5152270.65b7b","type":"ui_switch","z":"e4a571d7.d426d","name":"","label":"switch 3","tooltip":"","group":"54e999ed.5fee18","order":4,"width":0,"height":0,"passthru":false,"decouple":"true","topic":"","style":"","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":180,"y":1180,"wires":[["5f074183.651da"]]},{"id":"5f074183.651da","type":"function","z":"e4a571d7.d426d","name":"relay 3","func":"msg.relay = 3;\nmsg.value = msg.payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":310,"y":1180,"wires":[["a62ba952.0405e8","1fdf7e5c.c31612"]]},{"id":"a62ba952.0405e8","type":"delay","z":"e4a571d7.d426d","name":"15 ms","pauseType":"delay","timeout":"15","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":450,"y":1200,"wires":[["453b8a14.e0f044"]]},{"id":"88794a3e.372548","type":"ui_switch","z":"e4a571d7.d426d","name":"","label":"switch 4","tooltip":"","group":"54e999ed.5fee18","order":4,"width":0,"height":0,"passthru":false,"decouple":"true","topic":"","style":"","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":180,"y":1280,"wires":[["fab1d8d1.a7f768"]]},{"id":"fab1d8d1.a7f768","type":"function","z":"e4a571d7.d426d","name":"relay 4","func":"msg.relay = 4;\nmsg.value = msg.payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":310,"y":1280,"wires":[["9ec24939.fa8398","d029b0df.b2dc2"]]},{"id":"9ec24939.fa8398","type":"delay","z":"e4a571d7.d426d","name":"15 ms","pauseType":"delay","timeout":"15","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":450,"y":1300,"wires":[["8603a8af.856708"]]},{"id":"1b65f543.71ac1b","type":"ui_switch","z":"e4a571d7.d426d","name":"","label":"switch 5","tooltip":"","group":"54e999ed.5fee18","order":4,"width":0,"height":0,"passthru":false,"decouple":"true","topic":"","style":"","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":180,"y":1380,"wires":[["1425a7e.8c6ec58"]]},{"id":"1425a7e.8c6ec58","type":"function","z":"e4a571d7.d426d","name":"relay 5","func":"msg.relay = 5;\nmsg.value = msg.payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":310,"y":1380,"wires":[["f9c40ca1.90dc4","1181b5bd.dcb82a"]]},{"id":"f9c40ca1.90dc4","type":"delay","z":"e4a571d7.d426d","name":"15 ms","pauseType":"delay","timeout":"15","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":450,"y":1400,"wires":[["400e5707.2c19a8"]]},{"id":"e5e57c39.bb0e7","type":"link in","z":"e4a571d7.d426d","name":"relay 2 in","links":["1b8bcb0d.2127b5"],"x":75,"y":1060,"wires":[["57ca90dc.3b2f7"]]},{"id":"1b8bcb0d.2127b5","type":"link out","z":"e4a571d7.d426d","name":"","links":["e5e57c39.bb0e7"],"x":695,"y":1100,"wires":[]},{"id":"37523c14.caf094","type":"link in","z":"e4a571d7.d426d","name":"relay 3 in","links":["1168bf88.115ea"],"x":75,"y":1160,"wires":[["f5152270.65b7b"]]},{"id":"1168bf88.115ea","type":"link out","z":"e4a571d7.d426d","name":"","links":["37523c14.caf094"],"x":695,"y":1200,"wires":[]},{"id":"9476f6d4.0e67c8","type":"link in","z":"e4a571d7.d426d","name":"relay 4 in","links":["8a6e9dbd.07e97"],"x":75,"y":1260,"wires":[["88794a3e.372548"]]},{"id":"8a6e9dbd.07e97","type":"link out","z":"e4a571d7.d426d","name":"","links":["9476f6d4.0e67c8"],"x":695,"y":1300,"wires":[]},{"id":"dd9cdc8b.65a8a","type":"link in","z":"e4a571d7.d426d","name":"relay 5 in","links":["c08c2ad2.b10608"],"x":75,"y":1360,"wires":[["1b65f543.71ac1b"]]},{"id":"c08c2ad2.b10608","type":"link out","z":"e4a571d7.d426d","name":"","links":["dd9cdc8b.65a8a"],"x":695,"y":1400,"wires":[]},{"id":"c229d849.0883e8","type":"ui_switch","z":"e4a571d7.d426d","name":"","label":"switch 6","tooltip":"","group":"54e999ed.5fee18","order":4,"width":0,"height":0,"passthru":false,"decouple":"true","topic":"","style":"","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":180,"y":1480,"wires":[["3863d6e.2ab6d2a"]]},{"id":"3863d6e.2ab6d2a","type":"function","z":"e4a571d7.d426d","name":"relay 6","func":"msg.relay = 6;\nmsg.value = msg.payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":310,"y":1480,"wires":[["d5ea12a4.dae56","287521d4.92139e"]]},{"id":"d5ea12a4.dae56","type":"delay","z":"e4a571d7.d426d","name":"15 ms","pauseType":"delay","timeout":"15","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":450,"y":1500,"wires":[["b10258ee.6e8648"]]},{"id":"e93d5c16.22401","type":"ui_switch","z":"e4a571d7.d426d","name":"","label":"switch 7","tooltip":"","group":"54e999ed.5fee18","order":4,"width":0,"height":0,"passthru":false,"decouple":"true","topic":"","style":"","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":180,"y":1580,"wires":[["247b55f6.05540a"]]},{"id":"247b55f6.05540a","type":"function","z":"e4a571d7.d426d","name":"relay 7","func":"msg.relay = 7;\nmsg.value = msg.payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":310,"y":1580,"wires":[["3c1e4ad3.97b3e6","c15513f1.81e1c"]]},{"id":"3c1e4ad3.97b3e6","type":"delay","z":"e4a571d7.d426d","name":"15 ms","pauseType":"delay","timeout":"15","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":450,"y":1600,"wires":[["b751bc8d.0445d"]]},{"id":"553ccccf.ce2794","type":"ui_switch","z":"e4a571d7.d426d","name":"","label":"switch 8","tooltip":"","group":"54e999ed.5fee18","order":4,"width":0,"height":0,"passthru":false,"decouple":"true","topic":"","style":"","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":180,"y":1680,"wires":[["b4fa3fdf.36ed3"]]},{"id":"b4fa3fdf.36ed3","type":"function","z":"e4a571d7.d426d","name":"relay 8","func":"msg.relay = 8;\nmsg.value = msg.payload;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":310,"y":1680,"wires":[["6a4642ca.c38aec","41e11b52.40da84"]]},{"id":"6a4642ca.c38aec","type":"delay","z":"e4a571d7.d426d","name":"15 ms","pauseType":"delay","timeout":"15","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":450,"y":1700,"wires":[["6222c6c9.802088"]]},{"id":"58bf9e15.cc0a3","type":"link in","z":"e4a571d7.d426d","name":"relay 6 in","links":["b4fc008a.803e9"],"x":75,"y":1460,"wires":[["c229d849.0883e8"]]},{"id":"acd59f04.d3de7","type":"link in","z":"e4a571d7.d426d","name":"relay 7 in","links":["6ab4bf09.63e82"],"x":75,"y":1560,"wires":[["e93d5c16.22401"]]},{"id":"f0c8e15.c215a2","type":"link in","z":"e4a571d7.d426d","name":"relay 8 in","links":["bc6c689.c262b98"],"x":75,"y":1660,"wires":[["553ccccf.ce2794"]]},{"id":"b4fc008a.803e9","type":"link out","z":"e4a571d7.d426d","name":"","links":["58bf9e15.cc0a3"],"x":695,"y":1500,"wires":[]},{"id":"6ab4bf09.63e82","type":"link out","z":"e4a571d7.d426d","name":"","links":["acd59f04.d3de7"],"x":695,"y":1600,"wires":[]},{"id":"bc6c689.c262b98","type":"link out","z":"e4a571d7.d426d","name":"","links":["f0c8e15.c215a2"],"x":695,"y":1700,"wires":[]},{"id":"512c1c8a.b68eb4","type":"ui_switch","z":"e4a571d7.d426d","name":"","label":"switch all","tooltip":"","group":"54e999ed.5fee18","order":4,"width":0,"height":0,"passthru":false,"decouple":"true","topic":"","style":"","onvalue":"-1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":180,"y":1800,"wires":[["c9e37ff5.52892"]]},{"id":"c9e37ff5.52892","type":"i2c out","z":"e4a571d7.d426d","name":"write outport-reg1-add","busno":"1","address":"63","command":"1","payload":"payload","payloadType":"msg","count":"1","x":400,"y":1800,"wires":[["7fff6bfc.4a8e74","c5bb4d49.4cb9b"]]},{"id":"7fff6bfc.4a8e74","type":"function","z":"e4a571d7.d426d","name":"","func":"return msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":600,"y":1820,"wires":[["6b2895c.af4c66c"]]},{"id":"6b2895c.af4c66c","type":"link out","z":"e4a571d7.d426d","name":"relay all out 1","links":["d5a43bf9.8f1a08"],"x":695,"y":1820,"wires":[]},{"id":"d5a43bf9.8f1a08","type":"link in","z":"e4a571d7.d426d","name":"relay all in","links":["6b2895c.af4c66c"],"x":75,"y":1800,"wires":[["512c1c8a.b68eb4"]]},{"id":"208b1a05.cf3c36","type":"link in","z":"e4a571d7.d426d","name":"","links":["ac1c41ba.e040a"],"x":75,"y":1700,"wires":[["553ccccf.ce2794"]]},{"id":"c5bb4d49.4cb9b","type":"function","z":"e4a571d7.d426d","name":"","func":"if(msg.payload === -1){\n msg.payload = 1;\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":600,"y":1780,"wires":[["ac1c41ba.e040a"]]},{"id":"ac1c41ba.e040a","type":"link out","z":"e4a571d7.d426d","name":"relay all out 2","links":["208b1a05.cf3c36","49dc0479.0ef3dc","682440fd.b6dc4","6a418770.6b1258","e444ac6b.e8673","f414cdf9.bd32","c3e57a3c.a3a0f8","1fd55964.176287"],"x":695,"y":1780,"wires":[]},{"id":"49dc0479.0ef3dc","type":"link in","z":"e4a571d7.d426d","name":"","links":["ac1c41ba.e040a"],"x":75,"y":1600,"wires":[["e93d5c16.22401"]]},{"id":"682440fd.b6dc4","type":"link in","z":"e4a571d7.d426d","name":"","links":["ac1c41ba.e040a"],"x":75,"y":1500,"wires":[["c229d849.0883e8"]]},{"id":"6a418770.6b1258","type":"link in","z":"e4a571d7.d426d","name":"","links":["ac1c41ba.e040a"],"x":75,"y":1400,"wires":[["1b65f543.71ac1b"]]},{"id":"e444ac6b.e8673","type":"link in","z":"e4a571d7.d426d","name":"","links":["ac1c41ba.e040a"],"x":75,"y":1300,"wires":[["88794a3e.372548"]]},{"id":"f414cdf9.bd32","type":"link in","z":"e4a571d7.d426d","name":"","links":["ac1c41ba.e040a"],"x":75,"y":1200,"wires":[["f5152270.65b7b"]]},{"id":"c3e57a3c.a3a0f8","type":"link in","z":"e4a571d7.d426d","name":"","links":["ac1c41ba.e040a"],"x":75,"y":1100,"wires":[["57ca90dc.3b2f7"]]},{"id":"1fd55964.176287","type":"link in","z":"e4a571d7.d426d","name":"","links":["ac1c41ba.e040a"],"x":75,"y":1000,"wires":[["f0a8e226.7f604"]]},{"id":"db95477a.455c18","type":"subflow:95be6ed3.7737d","z":"e4a571d7.d426d","name":"","x":590,"y":1000,"wires":[["a37e0f4c.ddd9b"]]},{"id":"94bdff32.c31bf","type":"subflow:95be6ed3.7737d","z":"e4a571d7.d426d","name":"","x":590,"y":1100,"wires":[["1b8bcb0d.2127b5"]]},{"id":"453b8a14.e0f044","type":"subflow:95be6ed3.7737d","z":"e4a571d7.d426d","name":"","x":590,"y":1200,"wires":[["1168bf88.115ea"]]},{"id":"8603a8af.856708","type":"subflow:95be6ed3.7737d","z":"e4a571d7.d426d","name":"","x":590,"y":1300,"wires":[["8a6e9dbd.07e97"]]},{"id":"400e5707.2c19a8","type":"subflow:95be6ed3.7737d","z":"e4a571d7.d426d","name":"","x":590,"y":1400,"wires":[["c08c2ad2.b10608"]]},{"id":"b10258ee.6e8648","type":"subflow:95be6ed3.7737d","z":"e4a571d7.d426d","name":"","x":590,"y":1500,"wires":[["b4fc008a.803e9"]]},{"id":"b751bc8d.0445d","type":"subflow:95be6ed3.7737d","z":"e4a571d7.d426d","name":"","x":590,"y":1600,"wires":[["6ab4bf09.63e82"]]},{"id":"6222c6c9.802088","type":"subflow:95be6ed3.7737d","z":"e4a571d7.d426d","name":"","x":590,"y":1700,"wires":[["bc6c689.c262b98"]]},{"id":"cf1fba91.22b058","type":"subflow:95be6ed3.7737d","z":"e4a571d7.d426d","name":"","x":950,"y":580,"wires":[["1b39c38d.e5981c"]]},{"id":"92190e30.fb345","type":"subflow:a2c85577.56ac88","z":"e4a571d7.d426d","name":"","x":470,"y":960,"wires":[[]]},{"id":"a0371399.04807","type":"subflow:a2c85577.56ac88","z":"e4a571d7.d426d","name":"","x":470,"y":1060,"wires":[[]]},{"id":"1fdf7e5c.c31612","type":"subflow:a2c85577.56ac88","z":"e4a571d7.d426d","name":"","x":470,"y":1160,"wires":[[]]},{"id":"d029b0df.b2dc2","type":"subflow:a2c85577.56ac88","z":"e4a571d7.d426d","name":"","x":470,"y":1260,"wires":[[]]},{"id":"1181b5bd.dcb82a","type":"subflow:a2c85577.56ac88","z":"e4a571d7.d426d","name":"","x":470,"y":1360,"wires":[[]]},{"id":"287521d4.92139e","type":"subflow:a2c85577.56ac88","z":"e4a571d7.d426d","name":"","x":470,"y":1460,"wires":[[]]},{"id":"c15513f1.81e1c","type":"subflow:a2c85577.56ac88","z":"e4a571d7.d426d","name":"","x":470,"y":1560,"wires":[[]]},{"id":"41e11b52.40da84","type":"subflow:a2c85577.56ac88","z":"e4a571d7.d426d","name":"","x":470,"y":1660,"wires":[[]]},{"id":"644b9c23.508e74","type":"subflow:a2c85577.56ac88","z":"e4a571d7.d426d","name":"","x":800,"y":1880,"wires":[[]]},{"id":"aa674818.1cea28","type":"inject","z":"e4a571d7.d426d","name":"all off","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":170,"y":1980,"wires":[["88215f33.76847"]]},{"id":"39c51447.cb1b5c","type":"debug","z":"e4a571d7.d426d","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":470,"y":1960,"wires":[]},{"id":"bde821c6.4cb71","type":"inject","z":"e4a571d7.d426d","name":"all on","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"-1","payloadType":"num","x":170,"y":1940,"wires":[["88215f33.76847"]]},{"id":"88215f33.76847","type":"i2c out","z":"e4a571d7.d426d","name":"","busno":"1","address":"63","command":"1","payload":"payload","payloadType":"msg","count":"1","x":330,"y":1960,"wires":[["39c51447.cb1b5c"]]},{"id":"82ede12f.860ef","type":"inject","z":"e4a571d7.d426d","name":"check bus add","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":"1","topic":"","payload":"","payloadType":"date","x":160,"y":100,"wires":[["d4ccef8e.6176b"]]},{"id":"d4ccef8e.6176b","type":"i2c in","z":"e4a571d7.d426d","name":"","busno":"1","address":"63","command":"3","count":"1","x":330,"y":100,"wires":[["853340b1.a9493"]]},{"id":"204fc6ed.bd770a","type":"i2c out","z":"e4a571d7.d426d","name":"write cfg-reg3-add 0","busno":"1","address":"63","command":"3","payload":"0","payloadType":"num","count":"1","x":700,"y":80,"wires":[["d665efb.4771e1"]]},{"id":"3b51a3a0.6a8fbc","type":"i2c out","z":"e4a571d7.d426d","name":"write outport-reg2-add 0","busno":"1","address":"63","command":"1","payload":"0","payloadType":"num","count":"1","x":710,"y":120,"wires":[["e6f5b3fb.f0c06"]]},{"id":"e6f5b3fb.f0c06","type":"i2c in","z":"e4a571d7.d426d","name":"read inport-reg-add 0","busno":"1","address":"63","command":"0","count":"1","x":700,"y":180,"wires":[["adfd2d9c.c9e0f"]]},{"id":"853340b1.a9493","type":"switch","z":"e4a571d7.d426d","name":"","property":"payload","propertyType":"msg","rules":[{"t":"neq","v":"0","vt":"num"},{"t":"eq","v":"0","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":450,"y":100,"wires":[["204fc6ed.bd770a","3b51a3a0.6a8fbc"],["e6f5b3fb.f0c06"]]},{"id":"adfd2d9c.c9e0f","type":"debug","z":"e4a571d7.d426d","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":890,"y":180,"wires":[]},{"id":"c274ace5.76f87","type":"comment","z":"e4a571d7.d426d","name":"Initialisation of 8relay board","info":"","x":170,"y":40,"wires":[]},{"id":"d665efb.4771e1","type":"function","z":"e4a571d7.d426d","name":"","func":"msg.payload = \"Board Init running\"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":900,"y":80,"wires":[["c855eb53.ce2c48"]]},{"id":"c855eb53.ce2c48","type":"debug","z":"e4a571d7.d426d","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1050,"y":80,"wires":[]},{"id":"54e999ed.5fee18","type":"ui_group","z":"","name":"Group 1","tab":"e7f4507e.6e94b","order":1,"disp":true,"width":"8","collapse":false},{"id":"e7f4507e.6e94b","type":"ui_tab","z":"","name":"relay 8","icon":"dashboard","order":6,"disabled":false,"hidden":false}]