Built on a similar platform as the HS-WD100+, the HS-WD200+ is a Z-Wave Dimmer that once more earns the “best in class” designation. It offers all the features of the 100+, but with additional enhancements, such as the addition of four extra scene activation triggers (quadruple- and quintuple-tap). The most important new feature, however, is the presence of seven individually-addressable RGB status indicators.



This switch is not yet compatible with OpenHAB, as it has not yet been added to the Z-Wave database. I was only able to use it by generating a custom configuration and compiling my own version of the Z-Wave plugin.

I would expect that it will become available in a near-future release.

Physically, this switch is nearly identical to the HS-WD100+, so all of my notes in that review apply to this one. I’ll add the additional note that I’ve installed quite a few more of the 100’s since I wrote it, and had no problem with multi-gang installations. Simply snap-off the side tabs as appropriate, and off you go.

Like almost all Z-Wave switches, these things take a lot of room in the box, so installing more than one can be a bit of a pain — but there’s nothing you can really do about that. Other brands are just as difficult.

Once installed, it looks like a standard paddle switch, except that it rests in the center instead of to the top or bottom. Guests will have no difficulty using it as a basic light switch.


The dimming is, again, very similar to that of the WD100+. Subjectively, it seems to me that there is a somewhat less hum from dimmed LED bulbs, but it’s hard to tell. I would have to install more of these in other places to really get a good feel, but I don’t have the need for the enhanced features in most locations.

The switch supports adjustable local and remote dimming rates, which is useful. Unfortunately, the local rate applies to both tap and tap-and-hold operations, which is very limiting. If I want instant-on with a simple tap of the switch, the tap-and-hold dimming functionality is rendered useless due to the hyper-fast ramp-rate. This really needs to be separated out.

Scene Control

The multi-tap functionality is exactly as it is with the 100+; the only exception is that it now supports quadruple- and quintuple-tap operations, giving four extra scene activation triggers.

I have little use for this where the switch is currently installed, so it’s no different from how it worked before (it replaced a 100+).

Status Indication

The major draw for this switch is the new functionality in the bar-graph LEDs on the left-hand side of the switch. With the HS-WD200+, these have been replaced with individually-addressable RGB LEDs that can be used to indicate various status conditions. The switch also has a mode that keeps the bottom LED turned on when the load is off, to serve as a nightlight/locator.

The switch operates in one of two selectable modes: normal, or status indication. In normal mode, the device works just like the HS-WD100+: the bar graph shows the current dimming level. The only difference is that you can now set the color of the LEDs in this mode. This is a nice enhancement.

The indicator mode, however, is where this switch really shines. By setting various configuration parameters, you can set each individual LED to a particular color, either solid or blinking, or turn it off. For example, you might have the top LED turn red when your front door is open, or blink blue if there’s a water leak. It’s pretty straightforward.

I have all sorts of ideas for how to use this…

When the switch is in status mode, you will only be able to see the current dim level when you press-and-hold the paddles; that will temporarily switch it into normal mode until you let go. It does not do this when remotely activated, however.


I have little complaint about the normal functionality of the switch, but there are a few negatives that have to be mentioned:

  • As noted above, there needs to be a third ramp rate to separate “local on/off” from “local dimming operation”. The lack of this is a very frustrating limitation.
  • HomeSeer used RGB LEDs in the indicators rather than RGBW. The lack of a true-white LED is quite noticeable when the indicator color is set to white. You can see a “prism effect” when you walk by the switch, which gives it a much lower-quality feel than it should have. It’s especially noticeable when placed side-by-side with the HS-WD100+.

  • The LEDs cannot be configured with raw RGB values. Instead, you can only select from one of seven colors: red, green, blue, magenta, yellow, cyan, and white.


For most locations, I would probably stick with the HS-WD100+, simply for the true-white LEDs, which look a lot cleaner. For any location where you need status indicators or additional scene control, however, the HS-WD200+ is a solid choice. I only have the one at the moment, but I expect to be purchasing a couple more in the future to place next to doors for alarm status indication.

These switches retail for only a $5 premium over the 100+, which renders it an entirely personal decision as to whether or not you want the additional functionality. If you need it, then this is definitely a good choice; I’ve yet to see another switch with similar functionality.

If they release a model with true RGBW indicators, then I might just replace all my existing HS-WD100+’s; it’s the only thing holding me back.

2018 already? WTF?!

January 1, 2018

At some point while I clearly wasn’t looking, 2017 managed to escape. Now I’m stuck in 2018, and I have no clue how it happened.

My attention span really is that bad.

The Z-Wave interface I’m working on is an inherently asynchronous beast. Callbacks abound, and the use of lambda functions makes that much easier to deal with. This fact led me to select C++11 as the language standard for the project.

And then I added automatic memory management with std::shared_ptr<>, and it all fell apart.

Why, you ask?

So there I was, all gung-ho to make some serious progress. I was going to do a bunch of reseach on Z-Wave; I was gonna write a nice little bit of software to replace OpenHAB; and I was gonna blog about it. It was gonna be great!

I was truly in the Zone.

And then my boss quit, and it all went to hell in a handbasket.

openHAB is a Java-based platform (developed in parallel with Eclipse Smarthome, on which it is based) that provides interface, control, and automation functionality for your home. It supports many devices and networks through “bindings”, including Z-Wave. A rules engine provides for automation, and several user interfaces are available.

Since HomeAssistant doesn’t support the scene control features of the HS-WD100+, I decided to give openHAB 2 a shot.

It works reliably once configured.

Until you get to that point, it’s a hot mess…

The HS-WS100+ or HS-WD100+ HomeSeer switches both support multi-way configurations. This will not work with standard three-way switches, however; instead, you need the HS-WA100+.

Note that this switch is not a Z-Wave device, does not directly control a load, and will not work without one of the aforementioned HomeSeer switches. If you’re looking for just a remote Z-Wave switch without load control, you should look elsewhere.

From Stack to Rack

April 8, 2017

I wasn’t sure what I was going to do with my small collection of servers when I moved into the house, so they ended up stacked on a folding table. While it was functional, it certainly wasn’t the prettiest thing in the world. Plus there was the mess of power strips and cables…

After procrastinating for months, I finally got around to doing something about that this weekend.

HS-WS100+ Switch

The HomeSeer HS-WS100+ is a best-in-class Z-Wave wall switch. It uses a mechanical relay, which means you can switch almost any load within reason. It even supports three-way operation with the HS-WA100+ companion switch.

And like the HomeSeer dimmer, it includes additional scene control functionality, making this a very versatile addition to your home automation system.

Denny - the mind behind floating.io

Hard as it is to believe, today marks floating.io’s first birthday. One year ago today I finally got around to putting my new blog together. My goal was to post often, and talk about fun things.

I only managed about a post and a half per month. This is post #20.

What went wrong?

I’ve been waiting for weeks now for HomeSeer to get their excellent Z-Wave dimmers and companion switches back in stock. They finally did earlier this week, and my wallet is feeling the pain…

Shipping was prompt; I ordered them on Tuesday with standard ground shipping, and — to my shock — they arrived this afternoon. Now my weekend is utterly doomed…

Sensative Strips are thin devices that you can install on a door or window to detect the open or closed state. They’re small, they’re functional, and amazingly enough, they speak Z-Wave. Install one on the frame of your door, and you have a nice little sensor without having to run wires.

I got mine from a seller on Amazon.

They’re also fiddly little things, at least when pairing with OpenHAB…

If you can’t get your hands on a HomeSeer HS-WD100+, the GE 12724 is a nice alternative. It doesn’t have a visual indication of the dim level, and it doesn’t support multi-tap scene control, but it’s comparable in most other ways.

So long as you can get beyond the crappy status reporting, that is…

Need I say more?

I’m mainly looking at OpenHAB for support of the advanced functionality in the HomeSeer HS-WD100+ in-wall dimmers. Specifically, they have multi-tap functionality supporting four commands in addition to the generic On/Off function. For example, my pool light switch is out by the shed; wouldn’t be nice if I could just double-tap the switch at the back door instead?

Here’s one way of making it work in OpenHAB 2…

I’m in the process of evaluating alternative solutions to the Wink (I really want the Central Scene functionality for the HomeSeer Switches!). After a brief foray into HomeAssistant (which doesn’t support it either), I decided to try OpenHAB 2. It’s early in that process, but so far it looks promising.

Unfortunately, ESXi has an issue or three with USB passthrough support.

The HomeSeer HS-WD100+ In-Wall Dimmer is widely recognized as one of the best Z-Wave dimmers currently available. It has the functionality one would expect of a dimmer, plus additional scene control abilities via double- and triple-tap operations on either the top or bottom paddle. Pairing is simple, but advanced features may not be available with some hubs.

DZR15 Z-Wave Outlet

February 8, 2017

The Leviton DZR15 outlet provides a convenient method of controlling loads without having a separate module cluttering things up. This unit installs in place of a standard wall outlet and provides two sockets: one switched, and one unswitched.

The unit is very easy to pair with most home automation hubs.

The Leviton DZS-15 is a Z-Wave switch designed for on/off control of 15 Amp 120VAC loads. It supports a wide range of loads, and supports 3-Way operation with the addition of a remote companion switch. Pairing with the Wink (and presumably other hubs) is simple.

I’ve always been interested in home automation. In the olden days, this meant X10 — which meant bulky, slow, and unreliable. Modern technologies have changed this, however; From Apple HomeKit to Z-Wave, the choices are endless. Most are also far faster and more reliable than X10.

The local Home Despot had the Wink 2 in stock, so I decided to give it a shot.

Home Sweet Home

November 27, 2016

For those who are actually wondering, yes, I’m still alive. I managed to get quite thoroughly distracted, and TuneControl was shoved to the back burner for a while (as were all my other projects). I simply haven’t had the time to work on anything.


Because I decided to buy a house.

I haven’t been able to dedicate as much time to TuneControl as I’d like, but I managed to work on it here and there over the past few weeks. My focus has been on developing the firmware, and this is a new approach for me. Usually I build the hardware first.

It’s early days yet, but there has been some progress.

TUN/TAP Demystified

May 21, 2016

Have you ever wondered what the Linux TUN/TAP driver is for? Wonder no more! After spending most of last weekend tweaking the NuttX Simulator network support, I now have a pretty good idea of what TUN/TAP is, what it’s useful for, and how it works.

Might as well pass it on, right?

Several years ago I built a device to help with managing my iTunes library. Fast forward to 2016, and it’s still incredibly useful. Unlike days gone by, I don’t have to dig up my iTunes window every time I want to change tracks, pause the music, or rate a song. The only catch is that it’s a tethered USB device, and only useful when I’m at the computer.

And that’s no longer good enough.

Many of my basic network services live on Raspberry Pi hosts. DNS, DHCP, my yum repository mirrors, my git server… These useful little machines make excellent utility hosts for simple tasks that don’t require much horsepower.

But if I have so many important things running on them, shouldn’t they be monitored?

In my last post, I discussed using Zabbix to monitor varnish. I said it was easy, and that was mostly true — but it also missed one detail that made the situation a bit more complex. It has nothing to do with Zabbix or Varnish really, but the way in which I run my production servers.

Specifically, I run SELinux in enforcing mode.