Sorry I’m not more help but I’m on vacation until the end of the month. Sounds like you’ve already configured your switch for group association. Try using the debug nodes to make sure you’re getting the right events. I had trouble until I restarted HomeAssistant early on as well.
Is there anyway to detect a single tap vs a double tap with the zwave.node_event?
Based on my testing, it looks like the basic_level for a tap up is 255 regardless if it is a single or a double tap.
I associated the second group, Basic - Load, so I can get notified when the dimmer is turned on via the physical switch but now it appears I can’t use double taps because the basic_level is reported the same.
Just for reference, you can get both double tap on and off functionality in one automation using templates. For example, I have a switch near my backdoor control a separate switch on my patio when you double tap:
- alias: double tap
trigger:
- platform: event
event_type: zwave.node_event
event_data:
entity_id: zwave.outside_light_back
action:
service_template: >
{% if trigger.event.data.basic_level == 255 %}
switch.turn_on
{% elif trigger.event.data.basic_level == 0 %}
switch.turn_off
{% endif %}
entity_id: switch.patio_switch
Hi @kylerw, your code is awesome. Since I do not yet know python, may I ask for your help? I have an Aeotec Wallmote Quad which I wanted to use the slide/swipe function. The catch is that the slide button actions are not sent in as basic set or as central scene but as Configuration Report when I swipe on the button (swipe up and swipe down). Is it possible to use your code and modify it to monitor the following:
2018-12-15 18:01:07 DEBUG (Dummy-4) [openzwave] Z-Wave Notification ValueChanged : {‘notificationType’: ‘ValueChanged’, ‘homeId’: 4218879153, ‘nodeId’: 2, ‘valueId’: {‘homeId’: 4218879153, ‘nodeId’: 2, ‘commandClass’: ‘COMMAND_CLASS_CONFIGURATION’, ‘instance’: 1, ‘index’: 10, ‘id’: 72057594081706147, ‘genre’: ‘Config’, ‘type’: ‘Int’, ‘value’: 67191093, ‘label’: ‘Parameter #10’, ‘units’: ‘’, ‘readOnly’: False}}
I am actually interested in this piece of information where Parameter #10 has its value changed after a swipe action. Where should I modify your code to filter out this info?
Your help is very much appreciated, thank you in advance!!
Just thought I’d update since it’s been forever in case anyone else was trying to do this in Node Red.
There may be simpler ways to do this but it works.
In my case I:
- use a Events All Node and filter using the Event Type field for: zwave.node_event.
- use a switch to catch whichever entity_id I’m wanting to montor double taps on.
- feed another switch to filter for the basic_level of either 0 (double tap off) or 255 (double tap on)
- call whatever services based on the output of off our on
This is what it looks like:
JSON:
[{"id":"7034fa94.43b414","type":"server-events","z":"c500858.5d64e78","name":"Monitory Double Tap","server":"184ea099.c5a8af","event_type":"zwave.node_event","x":370,"y":660,"wires":[["4d8698cd.294398"]]},{"id":"4d8698cd.294398","type":"switch","z":"c500858.5d64e78","name":"Which Entity?","property":"payload.entity_id","propertyType":"msg","rules":[{"t":"eq","v":"zwave.powder_room_light","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":600,"y":660,"wires":[["8062db7c.20ecf8"]]},{"id":"8062db7c.20ecf8","type":"switch","z":"c500858.5d64e78","name":"Double Tap On or Off","property":"payload.event.basic_level","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"str"},{"t":"eq","v":"255","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":860,"y":660,"wires":[["9d3b5c8b.a6266","ae874eab.c818e"],["ffdc3798.c09c58","eef1137f.6594a"]],"outputLabels":["Off","On"]},{"id":"9d3b5c8b.a6266","type":"api-call-service","z":"c500858.5d64e78","name":"Turn light off powder room fan","server":"184ea099.c5a8af","service_domain":"homeassistant","service":"turn_off","data":"{\"entity_id\": \"switch.powder_room_fan_switch\"}","mergecontext":"","x":1150,"y":620,"wires":[[]]},{"id":"ae874eab.c818e","type":"api-call-service","z":"c500858.5d64e78","name":"Turn light off powder room light","server":"184ea099.c5a8af","service_domain":"homeassistant","service":"turn_off","data":"{\"entity_id\": \"switch.powder_room_light_switch\"}","mergecontext":"","x":1150,"y":660,"wires":[[]]},{"id":"ffdc3798.c09c58","type":"api-call-service","z":"c500858.5d64e78","name":"Turn light on powder room fan","server":"184ea099.c5a8af","service_domain":"homeassistant","service":"turn_on","data":"{\"entity_id\":\"switch.powder_room_fan_switch\"}","render_data":false,"mergecontext":"","x":1150,"y":720,"wires":[[]]},{"id":"eef1137f.6594a","type":"api-call-service","z":"c500858.5d64e78","name":"Turn light on powder room light","server":"184ea099.c5a8af","service_domain":"homeassistant","service":"turn_on","data":"{\"entity_id\":\"switch.powder_room_light_switch\"}","render_data":false,"mergecontext":"","x":1150,"y":760,"wires":[[]]},{"id":"184ea099.c5a8af","type":"server","z":"","name":"Home Assistant"}]
REALLY wished these switches supported the full Central Scene command set like the HomeSeer and Inovelli switches!
Has anyone figured out how to do this? I have the same switches and for me i tried what was done here:
But when i went to the Z-Wave node management i see this under ‘Node group associations’
so i already see a double tap function. However, when i tried to group this with itself instead of another z wave switch i didn’t see any traffic on the log which is weird. I think the OP mentioned he was able to see traffic after he created the grouping. I don’t know what I am doing wrong. Just to experiment i went ahead and grouped this switch with another switch which is what you will see now in the screenshot and it works it controls the other z wave switch but still no log appears designating a double tap which is very frustrating.
NVM! I know what i was doing was wrong. I need to group it with my USB Stick!
Can you share what you “grouped”. I was never able to get it to work.
Anyone know how to differentiate between single and double tap action? They both show up the same in the logs…
Did you group it with your USB? Then you can use the OZW Log to view the latest logs and you should see the different double presses.
I don’t see that option under Group for “3: Basic - Double Tap” I only see one " Lifeline". Is there something I need to enable to get the Double Tap option.
Edit: I see it on my GE switches, but not my Homeseer one.
This Group 3 is only for certain GE/Jasco switches.
Is there anyway to get the “SwitchBinary report” from these devices? I have the 14292, if it switches from off to on or from on to off I can see 2 distinct switch events in Node Red that say either off or on. However if I press the toggle up and then up again, Node Red does show 2 zwave events (no switch state change events) but the zwave events don’t say if the switch is off or on.
When I look in OZW_Log file it shows the state of the switch no matter how it is toggled (See below). Is there someway to act on this information within Home Assistant/Node Red?
2019-03-14 07:14:28.129 Info, Node010, Received CRC16-command from node 10
2019-03-14 07:14:28.129 Info, Node010, Received SwitchBinary report from node 10: level=On
2019-03-14 07:14:28.129 Detail, Node010, Refreshed Value: old value=false, new value=true, type=bool
2019-03-14 07:14:28.129 Detail, Node010, Changes to this value are not verified
2019-03-14 07:14:28.130 Detail, Node010, Notification: ValueChanged
2019-03-14 07:14:29.748 Detail, Node010, Received: 0x01, 0x0d, 0x00, 0x04, 0x00, 0x0a, 0x07, 0x56, 0x01, 0x25, 0x03, 0xff, 0x79, 0x58, 0x54
2019-03-14 07:14:29.748 Detail,
2019-03-14 07:14:29.748 Info, Node010, Received CRC16-command from node 10
2019-03-14 07:14:29.748 Info, Node010, Received SwitchBinary report from node 10: level=On
2019-03-14 07:14:29.748 Detail, Node010, Refreshed Value: old value=true, new value=true, type=bool
2019-03-14 07:14:29.748 Detail, Node010, Changes to this value are not verified
2019-03-14 07:14:29.748 Detail, Node010, Notification: ValueChanged
2019-03-14 07:14:31.854 Detail, Node010, Received: 0x01, 0x17, 0x00, 0x49, 0x84, 0x0a, 0x11, 0x04, 0x10, 0x01, 0x5e, 0x56, 0x86, 0x72, 0x5a, 0x85, 0x59, 0x73, 0x25, 0x27, 0x30, 0x2c, 0x2b, 0x7a, 0x6d
I think homeseer supports the double tab and has a tutorial on how to set it up using home assistant. Go to the downloads section
Thanks for this - works great on my GE Smart Motion Switch. I have it setup to run a script that disabled the timeout duration on my GE Smart Motion Switch in the garage when I double tap on twice, and sets the timeout duration back to 5 minutes when I double tap off twice.
For anyone trying to setup this from the automation UI, here’s a screenshot of what I did. Two highlights are making sure you’re not putting quotes around the value of basic_level
since you need to return an Integer, not a String. Secondly, make sure the entity_id
is for your actual zwave device, not the switch.
Awesome. Found out today I have 5 or 6 switches and dimmers with this capability. Weirdly enough, my zwave plus motion dimmers/switches do not have the double tap as a group 3 option
Does your smart motion switch show group 3 as double tap? My group 2 and group 3 show as “basic set”
Yeah it’s called “Basic set buttons” on mine. The weird part is, it’s triggering even if I single tap the on or off switch, so something is not right. Perhaps this GE switch doesn’t support the double tap, and it’s just associating a single tap?
Hm, it’s triggering even when the light turns on automatically via motion. Does anyone know if you’re able to run in occupancy mode with this switch and still support the double tap feature?
Not every GE switches support double tap associations. The smart motion switch appears to be one of them. The manual (for the 26931) says:
This device supports Association Command Class (3 Groups)
- Association Group 1 supports Lifeline, Binary Switch Report
- Association Group 2 supports Basic Set and is controlled with the local load
- Association Group 3 supports Basic Set and is controlled by pressing the On or Off button
- Each Association Group supports 5 total nodes
I’m not sure the difference between 2 and 3 (I don’t have the switch). Does one distinguish between motion turning on the load, vs. button presses?