[BETA] GE/Jasco Z-Wave Plus Dimmer Switch With Double-Tap

@nuttytree I have two dimming circuits associated and one on/off switch set up on the double tap. There is zero lag between on and off and double tap. The problem I’m having is with the two dimmers. I don’t want dimmer 1 to control dimmer 2 when dimming, only want on/off control of dimmer 2 from the dimmer 1 switch. Anything I can change in the code?

I have tried changing the device handlers of both dimmers to stock handlers of many types and the dual dimming still continues.

This functionality is not related to the code of the DTH. The commands sent to an associated device are determined by the firmware of the controlling device. The only way to setup on/off only without dimming is to remove the association and use a rule/smartapp in SmartThings to control the other light. However note that this will add significant (and sometimes unpredictable) lag as the on status of the one switch needs to go to your local hub, sent to the cloud by the hub, the cloud needs to trigger and process the rule, the command to turn the second light sent to your local hub, and then finally to the second light.

that lag issue was what drove me to find this handler. was nearly 8 seconds

The lag was one of the reasons I left SmartThings for Home Assistant.

I am using the 11/2018 update on a 14294. Everything seems to work well. One issue, however. In the settings (gear icon) there is a “Replace” button. My assumption is that this is used to update the settings on the switch itself. When pressed, the DTH attempts to to go check the device health. It spins and spins and never seems to connect. It also doesn’t seem to update anything.

My question is, how do I write the settings to the switch itself. The setting in the switch itself don’t seem to get updated. At times, when I have tried changing the MS delay settings, it sometimes updates the switch and other times it doesn’t. Do I have have to hit the switch itelf, or is there some way to push the settings out by the app?


Just had an issue with this and installing a new dimmer, outlined in the thread below.

Have used this custom device handler on a lot of dimmers and never had one not pair. Thanks to the author, Chris, for making it. I’ve updated to 0.17. The double tap works great! Are you planning any further development? There are a couple bugs. Not sure what happened with the pairing thing.

Hope this device handler continues with development, the author has done a great job. Slight issue adding new devices, see post above.

Does anyone know if it’s possible to set the level of a dimmer using this without turning it on? In my testing, I can’t seem to do it.

Nope…you can’t. As soon as you setLevel it turns the switch on.

Love this device handler. Use it to control a large number of switches attached to dumb lights. However I also have some rooms with mixed dumb and Hue smart bulbs. I am trying to find a way to utilize the double tap to control the on/off the hue bulbs. I do not want to cut power to the hue bulbs but instead have SMARTTHINGS send the off message to the bulbs or the hue hub. I have searched for Hue/ST smart apps or something like that which would assign a hexadecimal z-wave like code to the hue bulbs in ST so that I can add them to the double tap association groups but have been unsuccessful.

i will post this in some hue threads but I thought I would start here since I would be surprised if I am only one using this DTH with this configuration or desire. Anyone know how to accomplish this? @nuttytree

You know what. Never mind. I just figured out a way using a virtual switch and webcore. Sorry for the interruption.

1 Like

OK, That solution has a challenge too.

I would love to be able to create a virtual switch and assign it a two character hexadecimal device network ID manually? Can ST handle that? IF I manually assign a DNId as a two digit hex will smartthings recognize that gracefully and not try to automatically assign that already used ID the next time I add a zwave device? Or will that risk device ID conflicts in the hub in the future?


EDIT: OK I did get a conformation that the manual assignment of hex Device Network IDs is problematic and will cause conflicts. Thus my next thought is:

Is there any way this device handler could be enhanced such that if the button #1 or #2 is double tapped the DTH could reflect that state of the button as “double” so that webcore could read the double tap event and thus be able to execute in a piston? I am trying to assign some Hue bulbs to the double tap so that I can turn them on and off too. Since they don’t use 2 digit hex Device IDs I can’t right now in your native DTH, but with an expression that reads the button device state as “double” I could. Right now the only option your DTH returns for button is “pushed”. If the double tap state could be added then i could do a webcore read of the button state as the event trigger to turn on and off Hue lights or anything.

I would love to hear your thoughts. I am going to look at your DTH code and maybe I can figure it out. i will share what I see, but you probably know how to do this quickly.

LAST EDIT (I PROMISE!): OK no need for enhancement. I figured out the DTH. All I needed to do was read button pressed as that is double tap. I can let the switch handle the single tap without webcore. I was overthinking this. Sorry for the inconvenience.


1 Like

Posted this on a separate thread, but was given the good suggestion of actually asking here. Looks like the thread has been inactive for a while, but hopefully someone will see this:

Trying to use the “Button Number” within the SmartThings app to trigger a routine, but noticing that some of my switches have “Button Number” as an option to select a double tap up (Button One) or down (Button Two), while some do not have this option. I bought the same model number (14294) at the same time, have confirmed model/version numbers within IDE device settings, and would doubt that some would simply not have the feature while others might.

Any thoughts?

Sharing my response from your other thread (which I saw before your post here) so others can find it here:

1 Like

Thanks @MarkTr

Also, I’m noticing that in the device settings in IDE it’s listing “numberOfButtons” as a “Current State” - but this isn’t listed as a current state for the switches that do NOT have the 2 button option. Not sure what this means?

For what it’s worth, I’m having this same problem. I just added several switches using this DTH, but it seems that none of them have the additional button option. There’s a double-tap action exposed in the SmartThings classic UI (My Home/Things/{Device Name}), but if I go to add a Smart Lighting automation, these switches don’t have a “Which button?” option when I choose one of them.

From the IDE, the switch that works and the switches that don’t all identify themselves as:

zw:L type:1101 mfr:0063 prod:4944 model:3038 ver:5.29 zwv:4.34 lib:03 cc:5E,56,86,72,5A,85,59,73,26,27,70,2C,2B,7A role:05 ff:8600 ui:8600

…in the Raw Description.

The one that does work has a name of “GE In-Wall Smart Dimmer”, and the ones that don’t are “GE Z-Wave Plus Wall Dimmer”. Not sure if that’s important, though…?

The one that works has these entries under Current States:

switch: off
level: 99 %
indicatorStatus: when off
button: pushed
numberOfButtons: 2
checkInterval: 1920
inverted: false
zwaveSteps: 1
zwaveDelay: 1
manualSteps: 1
manualDelay: 1
allSteps: 1
allDelay: 1

…and one that doesn’t has:

switch: off
level: 99 %
indicatorStatus: when off
button: pushed
inverted: false
zwaveSteps: 1
zwaveDelay: 3
manualSteps: 1
manualDelay: 3
allSteps: 1
allDelay: 3

Note the missing numberOfButtons and checkInterval (not sure if that matters either).

Has anyone found a fix for this? If there’s anything else I can add to help troubleshoot this, I’m happy to provide it.

And, naturally, after I posted this, I found the solution, courtesy of this Reddit thread, which points to this post in this very thread. :slightly_smiling_face:

The tl;dr is that you just need change a value in the refresh() method of the DTH from:




…and then save, publish, and refresh the status of that switch in the app. Shoutout to @stormbarrier from a year and a half ago!


Wow this would be fantastic if it works. I just attempted to do this and no luck, but I’m not sure I’ve done everything correctly. How many times does that line that needs correcting appear? I somehow installed two of the same DTH, and found one time for one, and twice for the other, but I may be missing some?

Also, how do you refresh the status of the device?

Alright, got it to work! This is absolutely fantastic - thanks so much for pointing out this solution.

1 Like

You’re welcome - glad you got it to work! That delayBetween() call happens in several places in the code, but the only one I needed to change was in the refresh() function just before line 500 or so.

While you’re in there, it looks like there’s another bug (see this part of the thread). If you’re having problems with the status not showing up properly in the app until you hit Refresh, you can change a line of code in the refresh(), on(), and off() functions:

def delay = ((device.currentValue("zwaveSteps") * device.currentValue("zwaveDelay")).longValue() + 1000)

…and per that thread, I changed it to…

def delay = ((device.currentValue("zwaveSteps") * device.currentValue("zwaveDelay")).longValue() * 1000) + 500

Note that the previous line added 1000 rather than multiplying by 1000, and then another 500ms was added for good measure.

1 Like

Great thank you! I haven’t noticed that behavior yet, but might as well go ahead and change it to be sure. Really appreciate the tips…

1 Like