Zooz ZEN30 node-red subflow template

I made a subflow template for the Zooz ZEN30 Dimmer & Dry Contact Relay switch. I thought it may help save someone else some time since there are 21 total outputs! This works with my ZWaveJS setup. Please let me know if you see a way to make improvements.

[{"id":"a38772628d0e6413","type":"subflow","name":"ZOOZ Zen30 ZwaveJS","info":"","category":"","in":[{"x":140,"y":580,"wires":[{"id":"1d0e8f690c8c5a5d"}]}],"out":[{"x":950,"y":140,"wires":[{"id":"f5081917c0779a55","port":0}]},{"x":990,"y":180,"wires":[{"id":"f5081917c0779a55","port":1}]},{"x":950,"y":220,"wires":[{"id":"f5081917c0779a55","port":2}]},{"x":990,"y":260,"wires":[{"id":"f5081917c0779a55","port":3}]},{"x":950,"y":300,"wires":[{"id":"f5081917c0779a55","port":4}]},{"x":1000,"y":340,"wires":[{"id":"f5081917c0779a55","port":5}]},{"x":970,"y":380,"wires":[{"id":"f5081917c0779a55","port":6}]},{"x":1000,"y":460,"wires":[{"id":"36d90663bd5307cb","port":0}]},{"x":960,"y":500,"wires":[{"id":"36d90663bd5307cb","port":1}]},{"x":1000,"y":540,"wires":[{"id":"36d90663bd5307cb","port":2}]},{"x":960,"y":580,"wires":[{"id":"36d90663bd5307cb","port":3}]},{"x":1000,"y":620,"wires":[{"id":"36d90663bd5307cb","port":4}]},{"x":970,"y":660,"wires":[{"id":"36d90663bd5307cb","port":5}]},{"x":1020,"y":700,"wires":[{"id":"36d90663bd5307cb","port":6}]},{"x":960,"y":780,"wires":[{"id":"47ab20134b378eae","port":0}]},{"x":1000,"y":820,"wires":[{"id":"47ab20134b378eae","port":1}]},{"x":960,"y":860,"wires":[{"id":"47ab20134b378eae","port":2}]},{"x":1000,"y":900,"wires":[{"id":"47ab20134b378eae","port":3}]},{"x":960,"y":940,"wires":[{"id":"47ab20134b378eae","port":4}]},{"x":1010,"y":980,"wires":[{"id":"47ab20134b378eae","port":5}]},{"x":980,"y":1020,"wires":[{"id":"47ab20134b378eae","port":6}]}],"env":[],"meta":{},"color":"#DDAA99","outputLabels":["Up 1x","Up 2x","Up 3x","Up 4x","Up 5x","Up Held","Up Released","Down 1x","Down 2x","Down 3x","Down 4x","Down 5x","Down Held","Down Released","Relay 1x","Relay 2x","Relay 3x","Relay 4x","Relay 5x","Relay Held","Relay Released"]},{"id":"1d0e8f690c8c5a5d","type":"switch","z":"a38772628d0e6413","name":"Scene ID","property":"payload.event.property_key_name","propertyType":"msg","rules":[{"t":"eq","v":"001","vt":"num"},{"t":"eq","v":"002","vt":"num"},{"t":"eq","v":"003","vt":"num"}],"checkall":"true","repair":false,"outputs":3,"x":300,"y":580,"wires":[["f5081917c0779a55"],["36d90663bd5307cb"],["47ab20134b378eae"]],"outputLabels":["Paddle Up","Paddle Down","Relay Button"]},{"id":"f5081917c0779a55","type":"switch","z":"a38772628d0e6413","name":"Scene Value (Up)","property":"payload.event.value_raw","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"num"},{"t":"eq","v":"3","vt":"num"},{"t":"eq","v":"4","vt":"num"},{"t":"eq","v":"5","vt":"num"},{"t":"eq","v":"6","vt":"num"},{"t":"eq","v":"2","vt":"num"},{"t":"eq","v":"1","vt":"num"}],"checkall":"true","repair":false,"outputs":7,"x":610,"y":260,"wires":[[],[],[],[],[],[],[]],"outputLabels":["Up 1x","Up 2x","Up 3x","Up 4x","Up 5x","Up Hold","Up Released"]},{"id":"36d90663bd5307cb","type":"switch","z":"a38772628d0e6413","name":"Scene Value (Down)","property":"payload.event.value_raw","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"num"},{"t":"eq","v":"3","vt":"num"},{"t":"eq","v":"4","vt":"num"},{"t":"eq","v":"5","vt":"num"},{"t":"eq","v":"6","vt":"num"},{"t":"eq","v":"2","vt":"num"},{"t":"eq","v":"1","vt":"num"}],"checkall":"true","repair":false,"outputs":7,"x":620,"y":580,"wires":[[],[],[],[],[],[],[]],"outputLabels":["Down 1x","Down 2x","Down 3x","Down 4x","Down 5x","Down Held","Down Released"]},{"id":"47ab20134b378eae","type":"switch","z":"a38772628d0e6413","name":"Scene Value (Relay)","property":"payload.event.value_raw","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"num"},{"t":"eq","v":"3","vt":"num"},{"t":"eq","v":"4","vt":"num"},{"t":"eq","v":"5","vt":"num"},{"t":"eq","v":"6","vt":"num"},{"t":"eq","v":"2","vt":"num"},{"t":"eq","v":"1","vt":"num"}],"checkall":"true","repair":false,"outputs":7,"x":610,"y":900,"wires":[[],[],[],[],[],[],[]],"outputLabels":["Relay 1x","Relay 2x","Relay 3x","Relay 4x","Relay 5x","Relay Held","Relay Released"]}]
2 Likes

thank you very helpful. if anyone comes across this and not sure what to put as input for the subflow, it is the all events filtered to “zwave_js_value_notification” and add switch node to filter which device you want if you have many.

image
image