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.
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.
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).
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:
- 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.
- 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.
- 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.
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.