SmartThings vs Z-Wave JS UI Transition - My Experience

I have been using ZWave products for the past decade. Recently, I decided to transition from my SmartThings hub to a local controller (Zooz ZST39 800 LR) using ZWave JS UI in a docker container. Here is my experience:

Without any exception, inclusion of ZWave devices into SmartThings is just simple. Never a single hang-up or drama. Always very quick inclusions. The exclusion process is absolutely instantaneous. I didn’t realize until now that I had been spoiled.

As you may be guessing, my experience using a local controller in Z-Wave JS UI has not been as clean or headache free. While I have been able to include dozens of devices ranging from old pre-Plus Z-Wave devices to the newest ZooZ switch, almost never do these devices include easily. They hang, the inclusion pauses for minutes to hours, often never even finishing the interview process. Or pausing for so long that you just give up. I’ve tried everything from long USB cables to better my RSSI moving the controller closer to switches, to increasing the power output of the controller trying various dBm’s. Confirming the newest possible firmware on everything. These attempts to fix this fundamental issues do not seem to work (or only better the experience incrementally).

Do not get me wrong, once you get your devices into Z-Wave JS UI, it is generally a solid experience. There are benefits of having local control providing a slight increase in device communication speed and not having your data housed on Samsung servers. But I began asking myself if any of this was worth it?

The straw that broke the camels back was (after hours and hours of inclusion), I got into trouble with a device that just would not let me remove it. It hung, it slowed things down, but it just would not mark itself as failed in order to allow the controller to remove it. This resulted in me downloading the recommended software to fix the issue; Simplicity Studio from Silicon Labs. This is a hog beast piece of software that I finally figured out how to remove a dead node. Keep in mind, you have to shut down the controller and move the USB stick to a Windows computer to do this. But finally I was able to remove the dead node.

This issue, the issue of dead nodes or nodes that could not complete the inclusion process, being difficult to remove, to me, is by far the most frustrating part of using the Z-Wave JS UI software. This issue has become so frustrating that I have decided to keep the majority of my Z-Wave devices on SmartThings until the Z-Wave JS UI software can be more fully developed or perfected to the point of SmartThings quality.

There have been many posts about these issues. While I’m not giving up on Z-Wave JS UI and the interaction of that software with Home Assistant, I am taking a more nuanced approach running both controllers simultaneously. Keeping some problematic, generally older devices on SmartThings while only moving devices into the new ecosystem on a case-by-case basis.

Please don’t misunderstand, it was not only older devices that have inclusion hiccups. Even brand new ZooZ 800 LR switches didn’t always quickly recognize and include without sitting at a switch for 20 minutes keeping the node alive for the interview to finish. A seemingly crazy way to spend your time in my humble opinion.

Please let me know your experience.