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

If you’re comparing the dimmer and on/off (non-dimmer) switch DTH’s that @nuttytree made, they should have similar functionality. Each DTH defines the capability of a “Switch” (on/off – single tap up or down) and a “Button”.

The basic icon press in the SmartThings app emulates the single-tap on or single-tap off of the switch. Then the double-tap support was exposed as a button (but isn’t required to be) for convenience, allowing you to select the “buttons” in other automations (e.g., Smart Lighting). Those “buttons” are also shown as tiles in the DTH so that you can press them digitally as well as physically.

If you’re not seeing that functionality in the SmartThings app, you might have something screwy going on.

Well, I’ve seen otherwise. This was working perfectly at first. But now it seems no better than it had been prior. I get delayed status updates. Here is an example from this morning:

  • Turned on at 6:30am by Smart Lighting @ ~35% (For some reason, “Recently” claims it was at 6%)
  • Turned off at 7:41am by automation when I locked my door (but instead “Recently” claims it was set to 35%)
  • I pressed Off in the app today at 11:11am since I noticed it was saying “On” when it was actually off.
  • It didn’t update, so I also pressed Refresh…
  • Recently then showed the indicator message and that the light was on and set to 34%.
  • I pressed Refresh again and then it told me it was set to 68% (double the previous level, but hand’t changed a setting)

I’m not sure what any of that would indicate, but that is the series of events that created that list. I’m pretty confused why the on/off DTH works perfectly but the dimmer status is erratic.

Thanks. Somehow, the option to use double tap on and off as buttons just started showing up for the non dimmer switches also. Didn’t change anything so that’s weird.

I now have 3 issues:

  1. For each of my 3 switches (dimmer 1, on-off 2, on-off 3), I have added the other 2 in association group 3. However, when I double tap up on any of the switches, that switch stays off (if already off) but the associated 2 come on. So as an example, if dimmer 1 is off and I double tap to turn it and the 2 on-off switches on, dimmer 1 stays off while the 2 on-off switches turn on.
  2. Not sure why but it takes a while (about 5-10s) for the associated switches to turn on when double tapping any of the switches. In fact, it’s faster to create a routine for the hub to turn them on when double tapping. I thought the point of the association was to communicate directly (without the hub) so lag could be reduced. It’s opposite in my case.
  3. When I use the double tap icon in the ST app, it doesn’t control the associated switches. It only controls the hub and any routines that run when the button is pressed. Is this normal behaviour or a bug? Don’t see any technical reason why it won’t control the associated switches but not sure.
1 Like

This was also mentioned by @dpmpv92 above. I don’t use the association groups myself, but hopefully @nuttytree can take a look for you.

Double-tap physically at the switch or digitally through the app?

If physical, I believe you’re correct and that is my understanding as well; association groups should have an improved response time. As I understand it, a z-wave devices understand who its partners are on the z-wave mesh. For these switches, when you enroll the device IDs in an association group, Basic Set commands are sent to all associated devices when the double-tap action occurs. You can see that functionality listed here (click “View Associations” and note the description for Group ID 3):

https://products.z-wavealliance.org/products/2105

I could be wrong, but I think the double-tap in the app/DTH is only sending an event indicating that a button was pushed. This doesn’t mirror the functionality of the device itself (send Basic Set) and could probably be changed to match the z-wave alliance info that I linked above.

Here is the functions in the DTH:

def doubleUp() {
	sendEvent(name: "button", value: "pushed", data: [buttonNumber: 1], descriptionText: "Double-tap up (button 1) on $device.displayName", isStateChange: true, type: "digital")
}

and

def doubleDown() {
	sendEvent(name: "button", value: "pushed", data: [buttonNumber: 2], descriptionText: "Double-tap down (button 2) on $device.displayName", isStateChange: true, type: "digital")
}

Sounds like @nuttytree has been busy with work and such, we might have to hang tight until he can take a closer look at this stuff. As far as I know, this is the only GE handler exposing the double-tap functionality as buttons.

Thanks for the response. I think he’s a bit more active on the release thread. Also, I’m not sure if you’re referencing the release code. I’m going to take a deeper look at the code this evening and maybe make some changes. I’m a programmer but only finally getting around to ST so might need some time to understand the full coding features

This thread is marked as “BETA” and is for the dimmer version. It has been marked beta since all the bugs have yet to be worked out. In one of the previous posts, Chris indicated that this can move to release if it the recent update was sufficiently working:

If the other thread you’re talking about is this one, then that is specifically for the on/off version of the device type handler and is in release. Note that they are two separate DTH’s - make sure you have the correct one applied to your devices.

You’re right. I thought the other thread was the release version for this one. I was using the right device handlers for each of them though.

After playing with the code, I don’t think there’s a way to make the actual light switch also turn on when it’s physically double tapped on. Seems like it can only send basicSet commands to the associated switches and the hub. The only way I can think to turn it on also would be to use a SmartApp that responds to the button (when the hub receives the basicSet command).

Also, the double tap in the app (digital) only sends an event to the hub which is why it doesn’t do anything to the associated devices. As such, the behavior doesn’t replicate that of the physical button. Still looking but can’t figure out a way to get the switch to send out a basicSet to the associated devices. Only solution might be too use it as a button instead also!

@nuttytree

I was looking at the DTH this past weekend trying to help figure out why the status doesn’t update well. In one of the generic dimmer DTH’s, I noticed they account for 5 seconds of delay time between BasicSet and SwitchMultiLevelGet commands.

On line 501 and 509, you have this line listed for the on() and off() methods:

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

I swapped the + 1000 to a * 1000 since that brought the delay closer to what the generic DTH was (in milliseconds) and that seemed to have fixed all my issues with this switch updating status correctly. It takes ~5s or so to update status, but it works.

For anyone else having this issue, give it a whirl! I’ve only tried this with the default steps/delay. I imagine if you have higher values, it will be noticeably slower.

3 Likes

Ok, so I just installed sever GE switches “14294” models. I installed this DTH as well. After that, all the options available here are greek to me. What values should I put in each slider, and what exactly do they do? Also, I have figured out I’m supposed to put my device network ID in the group 2 or 3 fields, but how do I structure that command? do I just put 25? or does it need to be something like (ID=25)?

Use group 3 and just put 25

Thanks! It annoyed me how the switch would be slow to update status and this fixes it.

1 Like

After I update my switches they seem to be reporting unavailable in SmartThings most all the time. I do a couple manual switch taps then they come back, but a few hours later they are unavailable again. Any thoughts?
These switches used the stock DTH for a few months with no issues.

First, big thanks to @nuttytree for creating and supporting this DTH (kills me this isn’t in stock)!

I’m experiencing 2 issues, but only randomly and on random dimmers – curious if anyone else is… (all dimmers are 5.26 and list events shows doubletap up and down being recognized (soft and hard), running on Hub2)

  1. Some dimmers are not showing numberOfButtons: 2 in the IDE, causing Smartthings (e.g., lighting automation) to not show the doubletap down button (they default to button 1). I did get Smartthings to recognize it on one dimmer by removing the device from the network, power cycling the dimmer, and re-adding – unfortunately, that process has not worked on 2 other dimmers.

  2. Some of the dimmers, but not all the dimmers, randomly refuse to update their status (e.g., kitchen light status will stay stuck on, even if light is off, and the soft button in Smartthings does nothing). I’m going to try @stormbarrier delay suggestion to see if it makes any difference.

Anyone else experiencing the above?

@coryscook - While the options may seem foreign, understand the switch pretty much works with default settings (sans a couple bugs which have been addressed in this thread).

The sliders are adjustments for how rapidly your dimmer will dim and via which method. Check out “Dim Rate Adjustments” here: http://www.ezzwave.com/advanced-operation/

For the group 2 and 3 fields, you only want to add device IDs of other devices you want controlled for that particular group. Here is some info; https://products.z-wavealliance.org/products/2105/assoc?noFilename=True

For group 2, any associated zwave device (specifically zwave, won’t work with IP/Zigbee/etc…) will be sent a Basic Set command when you turn the switch on or off. For most devices, that means it will receive a signal to turn it on or off. You may want to use this if you have a multi-gang box of these switches and you don’t want to manually press each switch off/

For group 3, any associated zwave device will be sent a Basic Set command when you double-tap this switch. This may be useful if you have devices you want to control from this switch, but not necessarily when the switch itself is turned on or off. For example, if this was your bedroom switch, you could have double-tap trigger all other zwave switches/lights in the path to your bathroom so that its not pitch black in the middle of the night.

To add devices to either of these groups, log into the IDE and obtain the device ID from your devices list. Then add the device ID to those groups as comma-separated values (e.g., “1A, 23, 10”)

1 Like

I could be wrong, but I think this is because an AssociationReport isn’t being received for your device. Because this DTH queries so many parameters, you might want to increase the delay in the refresh() method of the DTH. Try this, find this line in the refresh() method:

delayBetween(cmds,500)

Increase the 500 milliseconds to 600 or 750. I moved mine to 600 to make sure that the configuration and association reports were all being retreived properly. Once you’ve changed this, save and published your changes, open the device in the SmartThings app and smack the Refresh button. Give it a minute or so to get all the reports (this happens in the background, but you can see it if you watch the Live Logging). Then check Smart Lighting or something and see if both buttons are assignable.

That is almost certainly from the fix I mentioned earlier. I’ve since found this can be different in various installations, perhaps due to dimming time of the actual bulbs. The part that tipped me off is when I turned the device off from the app, it would say “Turning Off” and then I noticed it reported (incorrectly) that the dim value was lower than what it was set at. As I slowly increased the delay (for testing purposes), that reported dim value kept getting closer to 0.

Observing that, I believe what happens is the switch is getting queried for status before the light is entirely dimmed off and is reporting the dim level that it was faded to in the process of turning off. Notice that your dimmer switches fade the lights off instead of instantly cutting power from the bulb. Since no further report is sent to the hub, the app displays that the light is on, but at a lower dim value. If you refresh from the app, it will return the correct status because the switch sends a report that says “yeah, i’m all the way off now, thanks for asking”.

Once you increase the delay enough, the poll for status isn’t sent until the light is actually off, which fixes the status issue.

OMG, success!

Bumping up to 600 did the trick:

Parsed AssociationReport(groupingIdentifier: 3, maxNodesSupported: 5, nodeId: [1], reportsToFollow: 0) to ['name':'numberOfButtons', 'value':2, 'displayed':false, 'isStateChange':false, 'linkText':'Living Room Lights', 'descriptionText':Living Room Lights number of buttons is 2]

Regarding the out of sync switch, would lowering the dim steps and/or delay parameters also solve the issue?

1 Like

Without changing the line I previously noted to a multiplication instead of the addition, modifying your dim steps/delay would have basically no impact. Currently, they’re being multiplied together and added to 1000 milliseconds. With the default values, this totals 1003 milliseconds.

The change I recommended multiplies the two together so that you end up with 3000 milliseconds (with default values). That accounts for a larger timeframe while you’re bulbs are fading to off and makes the status update work.

If you do make that multiplication change and lower your delay and steps to the lowest values, you should end up with a 1000 millisecond delay. However, your bulbs should fade out faster (over zwave, at least) allowing the switch to reflect an “off” status sooner. I haven’t tested that, but you can always give it a whirl. I just use the default steps/delay.

1 Like

Was anyone able to assign a Hue device through a Hue bridge to Group 2 or 3? It’s not a normal Hex device ID.

Also does Button 2 (double tap down) work with CoRE? I only see ‘button’ listed.

Thanks!

Thanks for the DTH!

Installed it but what we really want is for double-click up and down to instantly set the dimmer to full on or off. I hacked on the groovy code and I made the ST app double click button work, but not the actual physical switch double click up.

Is there a way/DTH/mode for GE 14xxx dimmers that quickly/instantly set the brightness to 100% (and 0%) with double click?

Hues are not Z-Wave devices so can’t be used in association groups