I am familiar with the ‘double tap’ functionality for the the GE Zwave switches (maybe others?). I use this code for double tap detection.
####### trigger.event.data.basic_level == 255 --> Double Tap On
####### trigger.event.data.basic_level == 0 --> Double Tap Off
- alias: Double Tap Dining Room
trigger:
# Trigger on double-tap of dining room light switch
- platform: event
event_type: zwave.node_event
event_data:
entity_id: zwave.dining_room_light
action:
service_template: >
{% if trigger.event.data.basic_level == 255 %}
homeassistant.turn_off
{% elif trigger.event.data.basic_level == 0 %}
homeassistant.turn_on
{% endif %}
entity_id: input_boolean.disable_dining_room_motion
Any ideas on how to detect a “Single ON Tap” when the switch is already on? Seems like a silly request, but it would be useful to turn on the phillips hue bulbs that are connected to that light switch.
For GE switches the single tap and double tap are achieved via Group Associations. Group 3 is double tap and Group 2 is single tap The problem is you can’t use both Groups 2 and 3 at the same time. They both send the same “Basic Set” command to the controller, which is what your automation is detecting. There is no way to differentiate which group produced the Basic Set, so if you did associate both groups concurrently the events would be indistinguishable. Basically you can choose one or the other.
The switch does send a different Z-wave command (which command depends on dimmer or toggle) regardless of the current state of the switch. For example, a toggle switch will send SwitchBinary with value “off” even if the switch is already off (at least from my observations with the GE switches I have). From HA’s point of view there was no change to the state though, so there is no event to trigger, meaning you can’t detect it.
So the short answer to your question is yes and no. If you want to detect single taps, you have to disable double taps, and vice versa.
An alternative is to replace the GE with a switch that supports central scene, which there are several (HomeSeer, Inovelli, Zooz, etc.). With central scene you can detect on/off, single to N-click and all the combinations.
I did just discover there is a way to force HA to trigger events for entities even if the state does not change. So it’s a feature that could potentially be enabled, by adding a force_update property to the desired entities. It’s not done by default for z-wave except for sensor entities for good reason. Some integrations, like MQTT for example, allow this to be configured per-sensor. In theory, any z-wave entity could also be configured to support this via customization (see refresh_entity as an example for lights).