HomeSeer HS-WD100+ and more (Simple DTH in post 27, advanced feature DTH in post 32)

This was the first of your suggestions that I tried, and now everything works as it should. Thanks!

(Well, almost everything. I did just notice that the virtual “Hold” buttons on the device screen have no effect on the physical dimmer, but a quick scan of your source code makes me think that that’s by design. Just thought I’d mention it to be sure.)

I captured the Live Logging output of the pairing process as you asked. I’ll PM it to you shortly in case you still want it.


Excellent! My only guess is something went awry in the pairing process.

No need to send the logs if it is working now. Glad to hear that (hopefully) there is not an issue with the 5.16 firmware version.

The UI hold buttons only trigger/test the hold actions that you may have programmed in with smart apps. They do not also mimic the physical responses to hold up/down that occur at the switch itself. It could be a nice feature to dim up/down continuously while those buttons are being held down, but unfortunately, I’m not aware of a way to make that happen since I believe I can only receive a single press event from the UI button and there is no way to tell how long a UI button has been held down.

A few more questions for you, @Darwin, if you don’t mind.

First: I have zero experience Groovy or the SmartThings API. That said, I tried modifying your device handler today to set the dimmer level to 25% on double-down-tap. Specifically, I modified case 3 of the switch on cmd.keyAttributes (inside case 2 of the switch on cmd.sceneNumber) to look like this:

case 3:
    // 2 Times
    result += setLevel(25)
    result += response("delay 5000")
    result += response(zwave.switchMultilevelV1.switchMultilevelGet())

Now, when I double-tap the physical down button, the device-handler screen updates accordingly on my phone (reflecting 25%), but the physical dimmer state doesn’t change at all. Am I doing something wrong?

Second: What is a keyAttributes value of 1 used for? You’ve omitted it in your table here, but your handler is set up to handle it (for both the up and down buttons).

Third: How does one handle a button release (for either up or down)? You mention here that it’s supported by the switch but that you didn’t bother supporting it. Seems like it could be a nice thing to have.

@Darwin, first, a huge thanks for all of your work on this DTH. I’m slowly building out my entire house with HS-WD100s and HS-WS100s every time I think I can get away with another $200-300 smart home purchase without losing my head. Your DTH has been huge in raising the WAF around here. I am curious if you’ve ever submitted or would consider submitting your DTH for official publication? My only remaining wish would be able to run smart lighting automations locally. I’ve got a number of motion sensor activated Smart Lighting automations, that generally run at reasonable speed, thanks in large part to some pretty good Iris motion sensors. But occasionally, I get a couple second delay, which I assume is a result of having to hit the cloud because of an unofficial DTH. Thanks for your time, and if you have other ideas or suggestions for me, I’m all ears.

1 Like

YES… I too would like this on the official ST white list, I hate relying on the ST backbone and what’s the sense of having a v2 with local processing if nearly every item or smart app worth anything is not on the official list…

Just a side note on motion: My original SmartThings motion sensor that came with Hub v2 had much faster responses (within seconds) when I entered the area. It started getting wonky during the end of the one year warranty and ST replaced it with the next generation of the ST motion; This latest version is significantly slower in response (within one minute) I tested these both side by side for about a month before I had to ship back the wonky (but FAST) one. These were tested on local control applications not cloud.

@Darwin I also second the motion to start a brand new post focused solely on the device driver to make it easier to find the code for all the new members. Plus I think you can ask one of the SmartThings moderators to split this thread for you back at post 27 and combine it to a new “original post” so that all this content stays together for us all.


Thanks @dalec. I think my choice of the Iris motion sensors was based on reading about your tests and some others on the forum making good reports about the Iris sensors. It also doesn’t hurt that you can get them dirt cheap if you work the Lowe’s inventory system right. Even using the cloud, most of the time they are responding in under a second, so I’m happy. An official DTH for my switches would just be icing on the cake, not a deal breaker. Many thanks to guys like you, @Darwin, @JDRoberts, and many other “volunteers” who make Smartthings a system worth owning.


So close! Try putting a += instead of an = on the creatEvent line and you should be good to go. I’ll add double tap down to dim as a preference option in the next device handler update. Sounds like a useful and easy to implement capability.

I believe the keyAttributes 1 value is intended for the release action, but in my testing with the early firmware version it was unreliable at best. When I originally checked, release did show as an action using the HomeSeer controller software, but there may be a good reason I haven’t seen this advertised. I will test enabling this again when HomeSeer releases their next switch firmware update.

I plan on submitting these DH’s after I get a chance to test/update for HomeSeer next firmware update - hopefully soon.


Care to share your Lowes inventory trick? :slight_smile:

Quick question on the difference between the WS and WD: I plan to use these to control smart bulbs, and not connect the load output of the switch. Is there any practical difference in how a press & hold action is sent and interpreted by the hub from each model? The reason I ask, is that I prefer the clean look of not having any indication LEDs on the switch, and since I’m not controlling a local load, why pay more? Can the WS be used as a good virtual dimmer with 0-100 dim level reporting, or would I be better off with WD?

Additionally, if I need to go with WD, I really like the suggestion above of having an option to have the indicator LEDs only come on for a short duration during manipulation and then stay off, or even disabled altogether. Would this be something that could be accomplished via device handler or is it a firmware issue? Thanks!


The toggling/tapping between the two seems to be the same, but much faser than the GE version of the switch using DoubleTap or DoubleDuty SmartApps, the GE dimmer version has no tap capabilities. The GE is like 1-and-2, whereas these are 1,2 or 1,2,3 (very rapid). Also more tap option choices, GE/normal types really only one with apps. GE was the standard, these should now be your top choice, very flexible.

@JDRoberts has some experience in other button type devices you might consider since you are not planning on controlling a load directly. I will let him chime in here.

The homeseer switches are the only ones that I know that have triple tap.

The battery operated remotec is popular for control of smart bulbs. It has eight buttons, and each button can be single tap, double tap, or long hold. So that gives you 24 control options from a device that’s about the same size as a standard light switch. Obviously, it doesn’t control the load since it’s battery-operated, but it works well with smart bulbs.

More about this and various other button options, some wall mount, some handheld, in the buttons FAQ:

The Linear/gocontrol WT00Z1 is also popular for wireless control of smart bulbs if you want a mains-powered option. It’s intended as an auxiliary switch, so it doesn’t control the load, but it is wired to power. It’s a Z wave device so it sends a message to the hub which then sends a message to the smart bulbs. Noticeably less expensive than a master switch. However, it doesn’t do double tap.

Thanks for the replies! I guess I need to be more clear on my question: How do the HS-WS100+ and the HS-WD100+ differ in how they send, and how SmartThings interprets, a press and hold event?

There is a technical difference because the WD switch is a “multilevel switch” and can use those command sets while the WS is a “switch binary” which only uses on/off or the central scene number.

That said, homeseer has implemented this in an unusual way. They actually define the dimmer switch as two different devices, one that handles central scene commands and one that is the regular multi level switch. I’m not sure if this distinction was implemented in the SmartThings device type handlers.

In Any case, here’s the tap behavior:

The dimmer switch can receive a set level command. The binary switch cannot.

If you press and hold the binary switch for two seconds, a central scene number is sent to the hub. Holding longer won’t make any difference.

If you press and hold the dimmer switch, it will locally change the dimming level based on how long you hold the switch. I don’t know what happens to the status at the hub, if it will show the change in dim level or not.

So the two switches do have somewhat different behaviors for the press and hold. That’s the distinction between a multilevel switch and a switch binary in Z wave.

1 Like

Would someone here be so kind as to post a video of these switches/dimmers in action with ST? The very few videos I can find seem to be related to Homeseer usage and not ST. I’d love to better see how they work, including how the double trap and triple tap work.

Is anyone using a HS-WD100+ to dim a smart bulb like Hue? I would like to implement a way to have the bulb automatically sync and follow the dim level of the switch. It would also be cool, if the bulb were changed from some other input, to have the switch sync to the bulb. Anyone done something like this, and if, how? Thanks

1 Like

I use the Lowe’s price checking script mentioned in the Lowe’s website thread, under “deals,” to find stores where in stock Iris items are drastically reduced in price. If you’re lucky, you can get have them shipped at the listed price. But generally, these items are not available for shipping, so I select them for store pickup, regardless of location. Then once my order is ready to pickup, I call and explain that I can’t pick it up, but would be happy to pay for shipping from the store. I’d say I’m a little over 50% on getting them to help me out, in which cases I’ve paid $6.99 flat shipping every time. Otherwise they cancel the order.

Just to follow up my earlier question: I was able to get the WD100+ to act as a dimmer for my smart bulbs with the help of @eibyer using the following piston in CoRE:

● LightSwitch level changes
Using SmartBulb...
► Immediately set number variable {dimLevel} = $currentEventValue
► Load attribute 'level' from variable {dimLevel}
► Turn on

● LightSwitch switch changes
Using SmartBulb...
► Immediately set string variable {switchState} = ""
► Load attribute 'switch' from variable {switchState}

There is some delay but at least it works! I’m open to suggestions if anyone knows a way to reduce latency. Is the latency primarily there because of CoRE and the device handler running on the cloud?

My next question, how do I use the double and triple tap features in CoRE? I’m not sure what they look like or where to find them. I do have Button Controller Plus installed. Thanks

1 Like