This post is intended share my experience migrating from Smartthings/webCoRe to Home Assistant/Node-red. While there are some complexities it is a relatively smooth transition and one that I believe well worth the time and effort invested. Hopefully, this helps others who decide to take the leap. I also want to thank those people whose posts, YouTube channels and other information helped me prepare for this transition, as well as the broader Home Assistant community. The ones that I found myself turning to the most were: https://smarthomepursuits.com/how-to-migrate-from-smartthings-to-home-assistant/, https://slacker-labs.com/ and more broadly https://community.home-assistant.io/ . These are great resources for the details to make the move.
Before I share my journey let me describe my starting point. I had set up my house using a combination of Smartthings devices (buttons, motion sensors, multi-purpose sensors, smart bulbs), Ecolink/eWelink devices (buttons, smart plugs and multi-purpose sensors) and TP-Link/Kasa (switches, dimmers and smart bulbs). The Smartthings and Ecolink/eWelink devices are all Zigbee based and the TP-Link/Kasa are Wi-Fi based although I discovered a rogue Z-Wave device. I was able to manage and control these all in the Smartthings app using automations and virtual switches as well as handling the more complex needs in webCoRe. This all worked “OK” but was not as smooth as I wanted plus the dependency on the cloud caused issues when Smartthings services were having issues.
I started my move to HA due to the uncertainty around webCoRe. I decided Node-red was the direction I wanted to go, to use it to replace all my complex webCoRe automations as well as the Smartthings app-based automations. I had many time & state based automations that I could not easily do within the app without a lot of gymnastics and the more I read about Node-red I could see a path that would allow me to do everything in one place. My first approach was to try to use the Samsung Automation Studio but I could never get this to work. Plus, the palette for running on Node-red standalone was not as full featured as I wanted/needed. (This is unfortunate as I believe Node-red is the best platform for these types of implementations). The more I read about the Node-red integration in HA plus the Smartthings integration I saw a path forward. A bonus was the ability to create custom dashboards in Lovelace that comes with the HA setup.
This initial step was pain free and I had everything moved in a weekend. The Smartthings integration is a cloud push integration so I still depended on the Smartthings cloud but I was able to create multiple flows (Node-red terminology) that managed everything I have. I really enjoy Node-red and can create useful dashboards in HA Lovelace that are great looking on a phone as well as others that are targeted for larger displays. There was still a noticeable but mostly tolerable lag with some of the automations however this plus the issues with the Smartthings cloud finally reached a breaking point a couple weeks ago, pushing me to commit to a complete local Home Assistant setup.
Side note 1: I am running Home Assistant on a Raspberry Pi 4, 8G ram with a 120G SSD. I have this mounted on the wall in a utility closet in the middle of my 1 level home. I am running on Wi-Fi although many people state that HA is unstable on Wi-Fi, but I have not seen any issues in my few months of running this way. This setup was good because my Smartthings V3 hub was also mounted in the same closet and was on my Wi-Fi network. I am running a Google mesh Wi-Fi setup with 1 primary node and 2 satellite nodes with create coverage through out my house. I can stream 4k video throughout my house and this combination of speed/signal strength may be why my Wi-Fi HA setup works so well. The Zigbee smart plugs I mentioned earlier control a few lights but mainly function as Zigbee repeaters as do the Smartthings smart bulbs. This distinction became important when began moving off my Smartthings hub.
To begin moving all my Zigbee devices off my Hub meant I needed a new radio to handle this function. Based on everything I read I decided to go with the Nortek HUSBZB-1. It is both a Zigbee as well as a Z-wave radio and HA has integrations for both. I discovered that I had one Z-Wave dimmer installed so this was needed for me to fully move off my Smartthings hub.
Installing the HUSBZB-1 is straightforward and there are multiple How-to articles available. Once I had it connected to my Pi, I installed the ZHA integration (Zigbee Home Assistant). Again, this was based upon what I read although there are some other options. Once I had this up and running the real fun began.
I began by moving the devices in one room from Smartthings to ZHA. This room only 3 devices, all Zigbee – a Smartthings button and smart bulb plus an Ecolink smart plug. This allowed me to learn the nuances of the ZHA integration as well as how to deal with my button inputs. The Smartthings button provides status on single and double press events as well as press and hold. I use these states to trigger certain things. The nomenclature is slightly different with ZHA vs Smartthings, so I needed to adapt any Node-red flows accordingly. For example, I have a flow that runs everyday at 7 am, reading the battery status and sending me a notification. With 30+ battery devices I want to make sure I keep an eye on these devices. In Smartthings this entity comes in as “….battery” with the value reporting as a percentage. In ZHA this is “…power”. It is small things like this that will break flows and I wanted to understand what to expect once I moved to the rest of the house. All of these devices are in a guest room so I could take my time.
Side note 2: I used the Smartthings IDE page to delete the devices from my Smartthings setup. I then disabled those same devices inside the Home Assistant Smartthings integration. In most cases I needed to actively reset the devices to pairing mode but some seemed to switch to pairing mode when they were no longer connected to the hub.
After I had everything working in this room, I then began my next big step. As most of my smart plugs were functioning as repeaters, I began moving this off the Smartthings hub and over to ZHA. I did this one at a time in most cases and while this may be slower, I felt that I could better manage any impacts to my total home automation. I did eventually “break” some of the mesh connections in the Smartthings Zigbee mesh network during this process but nothing serious (a garage door sensor was offline for a day for example).
Once I had all these smart plugs moved over, I then tackled my biggest challenge. This involved multi-purpose sensors, motion sensors, smart bulbs, smart plugs and buttons. There were more affected flows that I needed to update as well but based upon what I learned with my first room it was straightforward. During the entire move some of my flows were a bit messy. For example, I have a number of buttons throughout my house that I manage within one flow. By moving over a room/area at a time I could update the affected portions and leave the unaffected portion running as normal. Again, the focus was to keep the affected area and devices at a manageable level so that I could update everything at one time, test it and then move to the next room/area. By moving my smart plugs over and only moving the smart bulbs as I worked on those rooms, I kept the original Zigbee mesh operating and had enough coverage with the new mesh to smoothly add the devices.
Once I had all my Zigbee devices moved off the Smartthings hub, verifying that all my automations were working I then began updating my dashboards. I saved these for last as these are main for viewing the status throughout the house. I do trigger specific automations from specific dashboards but the triggers are virtual switches that are managed within Node-red. I feel like I spent as much time cleaning up the broken entities on my dashboards as I did the moving off of one controller to another. This is definitely the boring stuff as I was sitting at a pc, making the updates. When I moved the devices over, I was getting up, moving from room to room, so the effort was broken up.
My last activity was to move the lone Z-Wave dimmer. To be honest, I wasn’t aware this device was Z-Wave until I started the move off of the Smartthings hub but fortunately my choice of the Nortek HUSBZB-1 and this move was straightforward with one hitch. While with Zigbee I could simply delete the device in Smartthings, set it in pairing mode and then add it in HA with Z-Wave you must formally exclude it on the old hub, to then add it on another. Other than this one snag this final device move was smooth as well.
Now that I have completed the move my first impression is everything is much snappier. I have several lighting controls that are based upon motion, doors being open, other lights that are on or off, etc. In the past, some automations would have a noticeable lag when triggered. Now, they happen as I would expect, with all running as soon as triggered. I have not dropped my internet connection to the outside world to insure everything runs locally (it should) yet. Once I do, I will provide an update.
Feel free to message me about any of the details above.