Zooz Light switch double tap function not working


#1

I recently purchased a Zooz Zen 27 light dimmer switch. When trying to use it with Webcore, I select the button attribute and it gives me options 1-32. I chose select all and I still can’t get it to trigger when double tapping the light switch. When I try the same thing in the Smartthings Smart Lighting app, it gives me the correct button choices to choose from (i.e. down_2x, down_3x,down_4x, etc.) These are also the same values that show up in live logging when tapping those options on the switch. I can get simple light automations to work in Smart Lighting and double and triple tapping the switch but was looking to do a little more in WebCore. Is there anyway to get WebCore to populate the correct available options for the button? These are the available options based on the device properties:

[
“down”,
“down_hold”,
“down_released”,
“down_2x”,
“down_4x”,
“down_5x”,
“up”,
“up_hold”,
“up_released”,
“up_2x”,
“up_4x”,
“up_5x”
]
Thanks in advance!


#2

You have to edit the settings in the ST app and enable scene control. Then you get all the button options.

Note: I was having the same issue when trying to test a zen23 toggle switch. I believe the zen27 has the same capability. Not sure why scene control is disabled by default.

[Note sure why my device name disappeared but all these are looking at the same zen23 device]

11/27/2020, 9:40:21 AM +942ms
+128ms	║Double press DOWN
+141ms	║Any button pushed

#3

I appreciate your response. However I have been unable to locate any settings in the ST app for enabling scene control. Web searches have not returned anything either. I’m using the latest version of the ST app. Mind pointing me in the right direction? Thanks!


#4

The button capability has changed significantly since webCoRE was created. Back then there were only pushed and held values and button numbers carried in the event data were used as a fudge.

In webCoRE, when editing the trigger, don’t select a button number, change the ‘compare to’ type from Value to Expression and then type in the value you need in the form "down_2x" (obviously using the actual value the device uses, and including the double quotes).


#5

This is on my zen24 toggle dimmer but the concept is the same:

Select settings…

Enable scene control using the slider.

Be sure you have the latest device driver installed for the new app support.

This is from the manual for your zen27:

Appears the same as my zen24.

See also:

I think this code from the DTH is how I correlated button numbers to events:

def tapDown1Response(String buttonType) {
	[name: "button", value: "pushed", data: [buttonNumber: "2"], descriptionText: "$device.displayName Tap-Down-1 (button 2) pressed", isStateChange: true, type: "$buttonType"]
}

def tapDown2Response(String buttonType) {
	[name: "button", value: "pushed", data: [buttonNumber: "4"], descriptionText: "$device.displayName Tap-Down-2 (button 4) pressed", isStateChange: true, type: "$buttonType"]
}

def tapDown3Response(String buttonType) {
	[name: "button", value: "pushed", data: [buttonNumber: "6"], descriptionText: "$device.displayName Tap-Down-3 (button 6) pressed", isStateChange: true, type: "$buttonType"]
}

def tapDown4Response(String buttonType) {
	[name: "button", value: "pushed", data: [buttonNumber: "8"], descriptionText: "$device.displayName Tap-Down-4 (button 8) pressed", isStateChange: true, type: "$buttonType"]
}

def tapDown5Response(String buttonType) {
	[name: "button", value: "pushed", data: [buttonNumber: "10"], descriptionText: "$device.displayName Tap-Down-5 (button 10) pressed", isStateChange: true, type: "$buttonType"]
}

def tapUp1Response(String buttonType) {
	[name: "button", value: "pushed", data: [buttonNumber: "1"], descriptionText: "$device.displayName Tap-Up-1 (button 1) pressed", isStateChange: true, type: "$buttonType"]
}

def tapUp2Response(String buttonType) {
	[name: "button", value: "pushed", data: [buttonNumber: "3"], descriptionText: "$device.displayName Tap-Up-2 (button 3) pressed", isStateChange: true, type: "$buttonType"]
}

def tapUp3Response(String buttonType) {
	[name: "button", value: "pushed", data: [buttonNumber: "5"], descriptionText: "$device.displayName Tap-Up-3 (button 5) pressed", isStateChange: true, type: "$buttonType"]
}

def tapUp4Response(String buttonType) {
	[name: "button", value: "pushed", data: [buttonNumber: "7"], descriptionText: "$device.displayName Tap-Up-4 (button 7) pressed", isStateChange: true, type: "$buttonType"]
}

def tapUp5Response(String buttonType) {
	[name: "button", value: "pushed", data: [buttonNumber: "9"], descriptionText: "$device.displayName Tap-Up-5 (button 9) pressed", isStateChange: true, type: "$buttonType"]
}

#6

This is great! Thanks to you both!!