Water tank level monitoring + Node Red

Well after a bit of thinking I have the node-red side more-or-less sorted, at least as a proof of concept anyway. I have used sliders to represent my GPIO’s being Hi or LOW and had to use a JOIN node to pull my 5 GPIOs together such that I could manipulate the data in a function node. A few ‘if’ statements later and I have chart representation of my theoretical water tank.

Could this be more efficient, or is there a better way?

[{"id":"762b3609.fe53a8","type":"join","z":"6d91a674.1b8e38","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"5","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":330,"y":480,"wires":[["20cca6c7.1be3ca"]]},{"id":"20cca6c7.1be3ca","type":"function","z":"6d91a674.1b8e38","name":"Determine % Full","func":"if (msg.payload.pin37 === false && msg.payload.pin35 === false && msg.payload.pin33 === false && msg.payload.pin31 === false && msg.payload.pin29 === false) {\n msg.payload = \"EMPTY\";\n}\nelse if (msg.payload.pin37 === true && msg.payload.pin35 === false && msg.payload.pin33 === false && msg.payload.pin31 === false && msg.payload.pin29 === false) {\n msg.payload = 20;\n}\nelse if (msg.payload.pin37 === true && msg.payload.pin35 === true && msg.payload.pin33 === false && msg.payload.pin31 === false && msg.payload.pin29 === false) {\n msg.payload = 40;\n}\nelse if (msg.payload.pin37 === true && msg.payload.pin35 === true && msg.payload.pin33 === true && msg.payload.pin31 === false && msg.payload.pin29 === false) {\n msg.payload = 60;\n}\nelse if (msg.payload.pin37 === true && msg.payload.pin35 === true && msg.payload.pin33 === true && msg.payload.pin31 === true && msg.payload.pin29 === false) {\n msg.payload = 80;\n}\nelse if (msg.payload.pin37 === true && msg.payload.pin35 === true && msg.payload.pin33 === true && msg.payload.pin31 === true && msg.payload.pin29 === true) {\n msg.payload = 100;\n}\n\nelse\n msg.payload = \"ERROR\";\n\nreturn msg;\n","outputs":1,"noerr":0,"x":520,"y":480,"wires":[["403ec636.f266b8","c5192ed5.9e6cc","b1d12b19.03dcc8"]]},{"id":"403ec636.f266b8","type":"debug","z":"6d91a674.1b8e38","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":750,"y":500,"wires":[]},{"id":"bb1480fc.2bb53","type":"ui_switch","z":"6d91a674.1b8e38","name":"","label":"pin29","tooltip":"","group":"c1ab5a5a.c7aec8","order":1,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"pin29","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","x":140,"y":360,"wires":[["762b3609.fe53a8"]]},{"id":"55a8477e.60e8d8","type":"ui_switch","z":"6d91a674.1b8e38","name":"","label":"pin31","tooltip":"","group":"c1ab5a5a.c7aec8","order":1,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"pin31","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","x":140,"y":400,"wires":[["762b3609.fe53a8"]]},{"id":"96d53533.55b908","type":"ui_switch","z":"6d91a674.1b8e38","name":"","label":"pin33","tooltip":"","group":"c1ab5a5a.c7aec8","order":1,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"pin33","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","x":140,"y":440,"wires":[["762b3609.fe53a8"]]},{"id":"bea66753.7ba388","type":"ui_switch","z":"6d91a674.1b8e38","name":"","label":"pin35","tooltip":"","group":"c1ab5a5a.c7aec8","order":1,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"pin35","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","x":140,"y":480,"wires":[["762b3609.fe53a8"]]},{"id":"29529c04.b72e64","type":"ui_switch","z":"6d91a674.1b8e38","name":"","label":"pin37","tooltip":"","group":"c1ab5a5a.c7aec8","order":1,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"pin37","style":"","onvalue":"true","onvalueType":"bool","onicon":"","oncolor":"","offvalue":"false","offvalueType":"bool","officon":"","offcolor":"","x":140,"y":520,"wires":[["762b3609.fe53a8"]]},{"id":"c5192ed5.9e6cc","type":"ui_text","z":"6d91a674.1b8e38","group":"c1ab5a5a.c7aec8","order":6,"width":0,"height":0,"name":"","label":"text","format":"{{msg.payload}}","layout":"row-spread","x":730,"y":380,"wires":[]},{"id":"b1d12b19.03dcc8","type":"ui_gauge","z":"6d91a674.1b8e38","name":"","group":"c1ab5a5a.c7aec8","order":7,"width":0,"height":0,"gtype":"wave","title":"Water Tank Level","label":"% Full","format":"{{value}}%","min":0,"max":"100","colors":["#b50000","#e6e600","#38ca3b"],"seg1":"25","seg2":"75","x":770,"y":440,"wires":[]},{"id":"c1ab5a5a.c7aec8","type":"ui_group","name":"Group 1","tab":"6bf393ab.448f0c","order":1,"disp":true,"width":6},{"id":"6bf393ab.448f0c","type":"ui_tab","name":"Tab 3","icon":"dashboard","order":3}]

Thx
Jon