[OBSOLETE] Jasco/GE Z-Wave Plus On/Off Switch (14291) With Double-Tap and Associations

You can try adding the light capability. I don’t have that capability on here because not everyone uses this on/off switch for a light. Mine controls outlets. That’s the difference though between the zwave generic switch and mine i can see. You can add the following code to line 50 to give it a try

capability "Light"

I did that and no change to the detection by homebridge.

Do you know where I can find the code for the generic driver? There has to be something that homebridge isn’t picking up between the two dths.

You just use ZWave Switch for a generic. ST does not ship a specific DTH for these. You’re probably going to have to speak with the HomeBridge developer…

Is this what you’re looking for, @Skates ?

I installed Homebridge to attempt to trouble shoot. The problem is Homebridge is not dealing with the button capability on my handler for some reason. The difference between my handler (and I use the term “my” loosely as this is Chris’ handler I just took over) and the stock handler, is the buttons being exposed for double tap. One of the main reasons you would use this handler versus the stock is for double tap button up/down automation controls. So the buttons, which are an integral part to this custom handler, is your difference on why the stock one works and why mine doesn’t for you. I attempted to play around with my DTH to get it to work but ultimately the only way I could control the switch in Homebridge was to filter out the button capability from the device in the Homebridge app (screenshot below). This leaves the button on the Smartthings side but filters the button out of Homebridge, allowing for the switch control to work in Homebridge.

I’m working on updating the DTH to work with the native automations section of the new app, like I already did with the dimmer, but even in the update I’m testing it still didn’t fix this compatibility issue with Homebridge.

I don’t know why Homebridge won’t recognize the button for this device or allow control of just the device without filtering out the button capability. I know @tonesto7 is very busy with other projects but if he could offer any insight or suggestions on what I might be able to change on my end to get the button to work in Homebridge, without the workaround of filtering it out, I’m definitely open to suggestions.

In the meantime to filter out the button capability and get the switch working, see setting below in Homebridge:

1 Like

Thank you @mwav3, hopefully @tonesto7 can help. I am also seeing the same issue with your Fan Control DTH.

Rather the issue is with how HomeBridge is dealing with this, Tim is using the method most DTH devs have agreed this case. should be handled.

Id also add the fact that Anthony has provided a method to filter this case out in HomeBridge means he knew this could potentially be an issue and has provided a way to handle it.

1 Like

Yes, and I also found this feature request in Github, so this button issue in Homebridge has been reported before, including other DTH’s and different manufacturers. This appears to be a problem with any switch that also has buttons in Homebridge. I don’t think I can change anything in my handler to get this working, and it looks like the change would need to be made in Homebridge to get both button and switch working. https://github.com/tonesto7/homebridge-smartthings/issues/310

@Skates you may want to add comments on that Github link about wanting this to work

1 Like

I updated the dimmer previously, and I got around to updating this DTH for the on/off switch. Thanks again to @bradlee_s for the suggestions to update the button values. Based on his advice, I was able to make changes to this device handler to now work with the native automations screen in the new Smartthings app. This means you can now setup automations with this DTH for your on/off switch with double taps without needing to use the smartlighting app or webcore. It will still work with those, but this is a much simpler option for people who don’t want to use webcore or a smartapp, especially for where smartlighting is not available . This is done by programming all the presses either up or down, to “button 1”, and using the new button values of “up_2x" and "down 2_x” which will be recognized by the new app. Double tap hold was not an option in these new values but was captured with “up/down 3 times”. The release of double tap hold is captures by “down 4 times” (button mapping in code) Link here https://github.com/mwav3/smartthingscode/blob/master/devicetypes/mwav3/ge-jasco-zwave-plus-on-off-switch.src/ge-jasco-zwave-plus-on-off-switch.groovy or import from mwav3 smartthingscode master.

A couple things though before upgrading, it is a “breaking” change for anyone that was using the two separate buttons, so any automation would have to be updated after applying the code update to use button one and either up_2x or down_2x. One other minor thing I noticed is webcore is behind the times and only lists pushed and held in its default drop downs, so you would need to do an “expression” and “up_2x” or “down_2x” to continue using the DTH in webcore. Screenshots below showing the change. Any feedback appreciated.

3 Likes

Thanks @mwav3 for sharing the new DTH. It works great with other Zwave switches, but I’m having trouble getting a zigbee dimmer to respond to the double press. Are only zwave switches compatible?

All Device handlers are device specific. This one was only designed for one specific series of switches and would never work for a Zigbee device…

Unfortunately as @nathancu pointed out a zwave handler will never work on a zigbee device. While in idea they are similar protocols, when it comes down to execution and device commands, they are totally different. While they are both “standards”, zwave devices tend to follow stricter adherence to specifications since all devices must meet zwave alliance standards for certification. Double tap is supported with associations and/or central scene control, specifications that are exclusive to zwave, and will work the same across all the different zwave devices no matter who makes them (at least from a device handler coding perspective).

Zigbee standards are looser, and features can vary widely from one device/manufacturer to another. Some zigbee devices support some form of association, but its very manufacturer specific what “extras” zigbee supports. Per the post below, unfortunately it doesn’t look like the zigbee jasco switch is capable of double tap at all, so not only will this handler not work, there isn’t one that will for double tap.

Not trashing zigbee, I have a few devices that are. Sometimes I think zigbee vs zwave is similar to the old vhs beta max debate, but I’ll leave that debate for another thread.

Thanks a lot for explaining the compatibility issues. I should have been more specific in my original post - I was actually trying to get a set of IKEA lights powered by the Tradfri wireless LED driver (zigbee) to respond to the double tap.

Oh I think I misunderstood your question then. Do you have a jasco zwave switch that you’re trying to control the zigbee light with double tap? That should definitely work in that case. Just use the automation screen in the new app if thats the case. You can control anything connected to Smartthings with double tap. Below is an example of using double tap to control a zigbee fan light.

Zigbee and zwave are both rigorous protocols, but both also allow for “manufacturer proprietary“ variations.

DIFFERENT LANGUAGES

They’re more like different languages. If you speak only Hungarian and I speak only Mandarin, and you write me a letter in your native language, I can’t understand it. It’s not that either is better than the other: they are just different languages using different alphabets.

The whole purpose of a device type handler is to convert a smartthings request into the specific format that that device expects. To put it into the right language.

If someone takes a letter in English and hands it to a Hungarian translator and you then send it to a Mandarin speaker, it’s not going to do any good. The person who speaks only Mandarin won’t be able to read the letter. It got translated, but it got translated from English to Hungarian. It just doesn’t help for a recipient who only speaks Mandarin.

Similarly, a device type handler for Z wave devices can’t produce a result that can be understood by a zigbee device. Just different languages.

So in order to communicate with a Zigbee device, you need a device type handler which will produce Zigbee messages. The specific Zigbee messages that that particular device is expecting.

As @mwav3 mentioned, double tap for Z wave devices is a message which is usually handled using a “central scene“ format. That particular construct doesn’t exist in Zigbee, but there are others that could be used for Zigbee Devices, but two things need to happen: the physical device itself needs to distinguish between double tap and single tap and then the DTH needs to act as a translator between zigbee and smart things

CLOUD ISSUES

Double tap is easy when the physical device was designed by its manufacturers to distinguish between single tap and double tap. But it’s very very difficult in a cloud based system like SmartThings if the physical device doesn’t make that distinction, and you are trying to capture it by timing. Because there are just too many different factors that can introduce delays, making it impossible to be certain that what you got was double double tap.

Beyond that, many physical switches and buttons actually have internal code that does “Debounce“ which throws out extra taps assuming that it was just the person’s hand shaking a little when they actuated the device.

ZIGBEE DEVICES THAT SUPPORT DOUBLETAP

There are definitely some Zigbee Devices that support double tap. The physical device itself recognizes the difference between a single tap and double tap, and it sends that information on. Aqara makes a number of these. For that matter, the smartthings brand button also supports double tap. But the IKEA devices do not. And I believe they do have a Debounce built-in.

So there’s nothing you can do about it: you can’t add a software timer double tap calculator in a cloud-based system and get any kind of reliability. You might be able to do it with a system that runs locally, but that’s not smartthings.

The best option is just to select devices where the manufacture has built-in double tap functionality and then look to see if those work with smartthings.

@wonboshim

Sinope does make some Zigbee light switches that support doubletap. They are supposed to work with smartthings, but I haven’t seen any direct reports on that. Do not get their control4 versions: that’s a different dialect which is not compatible with smartthings.

1 Like

Thanks for the thoughtful analysis. I see many more proprietary variations across zigbee vs zwave though. When I look at a zwave dth, many parts of it are identical from one device to another. When I look at different zigbee dth’s though, the commands seem all over the place from one device to the next. Maybe I’m just more familiar with zwave, but I have a lot of trouble following what the code is doing in a zigbee dth. I like the different language comparison. Maybe some languages are just easier to learn to speak then others? Some languages have way more dialects then others too.

1 Like

Sorry for the delay - I have a Honeywell UltraPro Z-Wave Plus Smart Light Switch 39348, which was mentioned earlier in this thread. I see the custom settings when I use the DTH, but unfortunately I don’t see the options for double press in the automation settings. This is after I added the correct fingerprint below.

fingerprint mfr:“0039”, prod:“4952”, model: “3135”, ver:“5.53”, deviceJoinName: “Switch”

The handler should work with that switch for double tap. What i would try:

1- go to the device in the ide and temporarily assign the device to a stock zwave on/off switch device handler.

2- delete any Honeywell or jasco custom handlers left in the ide

3- go to this link and add the latest handler from code. Just leave the fingerprint alone for now- use this link https://github.com/mwav3/smartthingscode/blob/master/devicetypes/mwav3/ge-jasco-zwave-plus-on-off-switch.src/ge-jasco-zwave-plus-on-off-switch.groovy

4- manually assign the device to the custom handler added . The list is not alphabetical and custom devices are toward the end. It will say “ge jasco z-wave plus on off switch” like picture below

5- go to the device settings and toggle force settings update/refresh

Hopefully that all works to flush out whatever is wrong

2 Likes

Unfortunately, I still cannot see the additional commands. But fortunately, I am able to use webCoRE to get the desired behavior (setting expression equal to up_2x or down_2x), so it’s not the end of the world!

1 Like

I’m glad webcore is working, but I wonder why the buttons don’t show in the automations screen. Maybe its because it’s a slightly different device? Anyone else having the same issue? Would be interested in a screenshot of the device in the IDE and any live logs from when the handler is first assigned to try and figure out what’s going wrong. The buttons should show like this with the supported button values: