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

Could you make a version of your device handler for the GE Z Wave Plus Fan Switch? I believe it is the same as a dimmer (it is even recognized as so) Except for the fact that it only has three speed settings. I am using a different handler right now which is only designed for the normal z wave version and always reports the device as offline despite the status updating whenever the refresh button is hit

I think I might have figured out the root of the issue with this - it’s not the delay, it’s the command being run. If I change lines 499 and 506 from “zwave.switchBinaryV1.switchBinaryGet().format()” to “zwave.switchMultilevelV1.switchMultilevelGet().format()”, things work much smoother! I can successfully use a delay of 250 after changing these two lines.

I know just enough about programming to be dangerous - so who knows what I’m actually doing with this change! But my understanding based on referencing some of the generic device handlers is that the original line is for on/off switches, and the line I put in is for dimmers.

Just to report, having one of these devices already paired and then adding the DTH didn’t give me double-tap support. After loading the DTH, excluding and rejoining the switch made double-tap start working (though I then had to go reconnect the associated pistons). Glad to have it working! Not necessarily spouse-friendly, so I’ve hooked the double-taps up to mode overrides so I can manually take the house to Home/Night as needed. Thinking about using another one to be an override for keeping the garage door open.

2 Likes

I think I am running into the same issue as @iridris. The status is not reporting correctly in the SmartThings app. This is causing the WebCoRE pistons to fail because it thinks the light is in a different state. I am using the other DTH for the non-dimmer switches and those are reporting status correctly. I tried to make the change you mentioned on lines 499 and 506 and that didn’t work. Any other thoughts would be appreciated. I just went back and used group 3 for now, but unfortunately, that doesn’t also turnoff the actual light tied to that switch when I do a double tap.

Maybe this screenshot will help show the change I made. When you say the change didn’t work - did the code fail altogether (errors in the IDE)? Or did the device just not respond properly?

@iridris I had it in the right spot, but I had not updated it from 100 to 250. That seems to have fixed it for WebCoRE. Thanks! I had put in a refresh statement in the piston, but that was adding too much of a delay and wasn’t fixing it. It still doesn’t seem to be updating correctly in the ST app. Unfortunately, that is the status that pulls over to ActionTiles.

1 Like

If 250 still isn’t enough, you can try upping it to 500 or even 1000. This value is in ms if that helps.

I finally got an hour of peace and quiet so that I could focus on this issue. I have updated the code to have a delay between the on/off command and the status request command of 1000 + ZWaveSteps * ZWaveDelay. My testing shows that depending on your settings this is a little longer than needed but does consistently get the status updated correctly. Changes are published to GitHub. Let me know if you are seeing any more issues, if not I think I will move this out of Beta and call it Release.

I seem to be getting inconsistent results after applying the latest update - sometimes the status properly updates in 2-3 seconds, other times it takes 15-20 seconds to update (during which time it says “Turning On”/Off). And sometimes when turning off the switch via the app, it will say “Turning Off” for a couple seconds, then flip back to “On” even though the light has actually turned off. Hitting refresh clears it up and properly updates the status in the app to “Off”.

Same issues here with the status updates. Makes me wonder if the ST Hub itself doesn’t play well with Zwave PLUS switches yet. The standard GE were flawless for me (and local DHTs).

1 Like

So far, so good for me. My updates have been registering within a couple seconds. I’ve yet to see it hang on “Turning On/Off”, but I’ll update if I see otherwise. Thanks a lot for working on this, its very much appreciated.

For the record, Chris’s (@nuttytree) handler for the non-dimmer z-wave plus version is working flawlessly for me. I only had status update issues with the z-wave plus dimmer model.

It’s spotty for me from a status reporting standpoint. I use the “Notify Me When” SmartApp and many times it will never notify me when my porch light turns on. I use Smart Lighting to turn it on (I set the notification for those times when ST failed to turn on my light). Even though I don’t get the notification, the light turned on just fine but ST think it’s off. Hitting refresh does nothing. Around 10:45 pm every day last week, I got the notification that my porch light is on even though it was on for hours. Very weird.

iridris, I ran into the same problem with the status not updating. I’d tell the dimmer to turn off via the smartthings app and the light would turn off, but it would sit at turning off for a while, then it would land on being on at 6%. I haven’t really dug into the true cause of it, but I did figure out that if I set my Z-Wave Dim Delay to 10 ms, then it seems to work fine. This is a bit of a workaround, but I only started messing with this device handler today.

Nuttytree
nice work, I’m loving what I see so far.

Hey, I downloaded this and enabled it for a switch (bedroom light) I added a switch (bedroom fan) to the group 3. When I double tapped the light it turned the fan, but not the light. I then added the bedroom light id to the group 3, but still didn’t work. Is it possible to have a double tap of the light turn on both the light and the fan?

This is great. Thanks! Quick question, my z-wave plus non dimmer switches only have 1 button for double tap in ST. The z-wave plus dimmers do have have 2 buttons. Any idea what’s wrong with the non dimmer switches?

Thanks

Actually, shouldn’t each of the switches have 4 buttons? Single tap on, single tap off, double tap on and double tap off? How would all these be exposed to SmartThings so commands can be run off them? I know it’s currently just 2 buttons being exposed but I was looking at the code and I’m very confused as to why the non dimmers don’t expose the 2 buttons to ST.

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.