Zwave-JS - Honeywell Switch Double Click

I have several rooms that have a main ceiling light/fan that are controlled with Honeywell Zwave dimmer and fan switches, all configured with ZwaveJS2mqtt (using socket not mqtt). These switches also support scene control through double tapping. I also have several lamps in that room with Zigbee bulbs linked through Deconz. The lamps are all on a switched outlet, which means my wife constantly shuts them off completely so they become unresponsive. I want to move them to a non-switched outlet and would like to configure an automation to toggle the lamps on/off through a double tap of the zwave switch. However, I can’t seem to find where and if that is possible. I have some zigbee buttons that I create automations through the deconz events, but wasn’t sure if it was possible through zwave-js. I did set the logging to “silly” and here’s what a top button double click produces:

2021-10-13T16:15:18.197Z DRIVER « [Node 014] [REQ] [ApplicationCommand]
└─[BasicCCSet]
target value: 255
2021-10-13T16:15:18.198Z CNTRLR [Node 014] treating BasicCC::Set as a value event

And here’s what a bottom double tap produces:

2021-10-13T16:16:24.718Z DRIVER « [Node 014] [REQ] [ApplicationCommand]
└─[BasicCCSet]
target value: 0
2021-10-13T16:16:24.720Z CNTRLR [Node 014] treating BasicCC::Set as a value event

from Debug Tab in ZwaveJS2mqtt you can track what are the value for each action (double, triple tap, etc). Then you can use this in your automation. This is what I have:

[{"id":"7c077dd7.d2bd34","type":"switch","z":"d47f25ca.e1a558","name":"Zwave device?","property":"payload.event.node_id","propertyType":"msg","rules":[{"t":"eq","v":"14","vt":"str"},{"t":"eq","v":"8","vt":"str"}],"checkall":"false","repair":false,"outputs":2,"x":240,"y":180,"wires":[["b8196e6c.34ba2"],["9d06019.d25ed"]]},{"id":"b8196e6c.34ba2","type":"function","z":"d47f25ca.e1a558","name":"","func":"var ID = (msg.payload.event.property_key).toString() + (msg.payload.event.value_raw).toString()\nmsg.payload = ID\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":470,"y":60,"wires":[["b265418f.5fc7f"]]},{"id":"b265418f.5fc7f","type":"switch","z":"d47f25ca.e1a558","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"0013","vt":"str"},{"t":"eq","v":"0023","vt":"str"},{"t":"eq","v":"0014","vt":"str"}],"checkall":"false","repair":false,"outputs":3,"x":650,"y":60,"wires":[["d9cc8269.d45fe"],["d39413cc.eb955"],["db5923ca.d6579"]]}]

I use 1 action (say double tap up) as an on/off toggle.

What model switch is it? Can you post a link to the device that’s listed at https://devices.zwave-js.io/ ?

EDIT: nevermind, your device is already configured to emit notification events. You can use the zwave_js_value_notification that was posted already. See the docs for details: Z-Wave JS - Home Assistant

I have a blueprint that handles double taps for GE switches, which are the same. You could take the blueprint and modify the manufacturer, or look at it to see how zwave_js events can be triggered off of.

Or, you can use Device triggers in the UI to do the same.

1 Like

That worked beautifully! Thanks for sharing that.

Thanks for sharing! I was able to get this working in node-red with your example.

I’m glad it helped you.