For those of you that don’t know me, I am a long-time (independent) developer of various SmartApps and DTHs including Ask Alexa and the GE Motion Sensor DTH, to name a few. I even have my name immortalized in the SmartThings app for one of my first apps, Color Coordinator.
Anyway, I have always (tried) to treat this forum like a training area…this is where I came when I first started using SmartThings in 2015, and I was always in awe of those ‘community masters’ that would unselfishly share their knowledge with the community. With that in mind, I always wanted to ‘pay it forward’ and help the community like I was helped.
As such, I wanted to post my journey off of SmartThings, as I have seen that bold statement many times, but no one ever shared how they did it or their outcome…Typically, you simply get a long post about everything that is wrong with SmartThings and a ‘see ya, wouldn’t want to be ya’ type of good bye. While this post will be long, I hope it never comes across as that I hate SmartThings. Just the opposite…When SmartThings first started, it was a FANTASTIC concept. Did it work all of the time?..oh, heck no! But the concept was there, and that is what I bought into.
As I learned to program for the environment, I spent a considerable amount of time in the forums, and even got a call from Amazon to interview for a position in Seattle as an Alexa Evangelist because of my work with Ask Alexa. While that job didn’t fit where I wanted my career to go, it was an honor just to interview.
As mentioned above, SmartThings started with a great concept, and while it was buggy and inconsistent in the beginning, most of us ‘old timers’ were able to work around it. After Samsung bought SmartThings, a funny thing happened…the platform became MORE stable. I know this wasn’t everyone’s experience, but there was a full year where I had to do practically nothing with my implementation and my automations simply ‘worked’.
However, this move to Samsung also started closing the door on some of the uniqueness of SmartThings. The ‘community’ feeling went away, and slowly, some of the ‘openness’ of the platform was depreciated in the spirit of ‘stability’. I work in the tech industry, so “I get it”…the cloud is expensive, and the original platform did not scale as it needed to. While there was a time I would have loved to see SmartThings charge a subscription to keep the old environment, I also applaud them for keeping the service free. In retrospect, this was the right move as another funny thing happened since 2015+…Smart home automation is now no longer ‘fringe’…everyone can and does do it in some form or fashion. Looking at the industry, we can probably partially thank Amazon for making this a reality, but the truth is that was happening already with ISPs and security companies packaging motion sensors and light switches with their services.
While I lived through the Samsung ST app change, then the Alexa smartapp change, the piece that really concerned me was the move away from Groovy. After 2019 I no longer spent time programming and had no desire to learn ‘the API or Edge’. So to ‘mentally prepare’ myself for this Groovy change, I began removing ALL non-standard SmartApps and DTHs in an attempted to run ‘stock’. You know what…I was ALMOST able to do it…but two things stood in my way…WebCore was about 50% of my automations, and about 10% of those required my GE DTHs…While I figured out a way to mimic the DTHs functionality with a few automations, I couldn’t stomach the loss of WebCore and the automation power it provided that everyone in the household just took for granted.
About 8 months ago, I began teaching myself Docker with a small cluster of Raspberry PIs. It had been a while since I had looked at these small credit card sized computers, and they had become rather powerful…so much so that I starting just experimenting with OpenHAB and Home Assistant. While I didn’t really like OpenHAB, Home Assistant really impressed me by integrating items that I never even considered adding to SmartThings (Because you simply can’t)…This included my home’s IP camera, my LG TV, Washer, Dryer, etc. There was even an integration to control SmartThings through Home Assistant…so I could have everything in one platform! And, since HA has its own automation engine (or you can integrate with Node Red), I figured I would try to re-write all of my WebCore apps to Home Assistant. After a few days, I had done that without any perceived change to the way my home worked day-to-day. However, since my GE switches were still in SmartThings, I was worried that when the day came that Groovy was gone I would not longer be able to use them as I had…so I made a ‘silly choice’…I bought a $50 Zwave stick for Home Assistant so I could “simply move those 12 switches to a system where I could control them as I had been accustom to”. You probably see where this is going…One week later I moved ALL 50 of my Zwave devices to this stick. Now, since I was only using SmartThings for Zigbee, I didn’t have 100% local control…So we all know where this ended up…I bought a Zigbee stick and moved all of my devices over to HA as well. It has now been one week since I put my SmartThings hub in a drawer just to make sure I didn’t need to plug it back in…and I haven’t.
If have have read to this point, I will now get ‘to the meat’ of what you want to know…How ‘hard’ was the transition, should you do it, and what are the advantages/disadvantages.
To address the difficulty, that is hard to say…Home Assistant is VERY well documented…Think of their forum as the SmarThings forum on steroids. Any question you run into probably has an answer…literally! There hasn’t been one question about programming, error messages or bugs that I haven’t been able to find an answer to. However, this will NOT be a simple ‘set it and forget it’ system…there is no company running this…it is all community driven (Just like ST in the ‘before times’). As such, you get a hit and miss on the quality of the information you read online. However, it is VERY well baked, and if you are willing to put in the work, it can be rewarding. However, be ready to dive into APIs, YAML and concept changes like devices that then have entities driving them. You don’t turn on a device, you toggle the on/off entity.
As for ‘should you do it’, I would say the way I went about it was a good way to start. Don’t buy a PI and simply set a weekend aside to convert. Instead, install HA without any ST devices and just play with the ‘other’ integrations.Then, integrate ST into HA. You don’t have to change one thing with ST or your automations to do this, and you don’t need to install ZWave or Zigbee on HA as the ST hub can be a ‘slave’ to your HA implementation. Then, if you want to go further, start simple and do some automations for your ST devices in HA. If you have WebCore, it takes some work (And mental concept changes), but everything I was doing in WebCore I was able to do in HA. If you then take the plunge into the USB radios, do the devices one at a time. The great thing about HA is once you build an automation, even if you remove the device (entity) from ST and move it to HA, the automation still works if you name the device the same (you MAY have to edit some automation YAML if the device ID changes, but the main point here is that you don’t lose the automation work you put into HA because a device is deleted then added again).
Finally (whew), the advantages…local control. If any of your automations in ST run locally, you know the advantages of this. Even with an internet outage, your stuff still runs. HA even emulates a Phillips Hue Hub, so you can have Alexa access your devices without paying for the service that allows this natively in HA, And, you can pick and choose which devices Alexa sees. Just be prepared to learn a little YAML!
However, there are a few ‘disadvantages’. Again, if you came into my house 1 year ago and today everything works as it did while in ST…the lights come on when you enter a room, and when I say good night it locks the doors and shuts off all of the light. This is because I spent WEEKS converting everything over. So, disadvantage #1…If you have multiple (I had 100+) devices and automations, etc, plan to cancel some of your free time, This is a time sink! The rewards when it ‘just works’ are great, but you DO need to invest the time. One big disadvantage in the HA world is that you have to be VERY careful when editing automations or rebooting the system. Remember, everything is operating from a single Raspberry Pi…when you edit an automation it re-writes the WHOLE automation file where the other automations live. As such, if you have a timer set in a triggered automation and you save another automation, the timer will just stop for the original (and all other) automations. Also, with this being a non-cloud implementation, your compute platform is a SINGLE POINT OF FAILURE. If you ‘fry’ something, have a power glitch or something happens to that small computer, you will have to start over. Now, this leads into another advantage if you never liked the concept that there was no migration tool for the ST hubs…The paired ZWave and Zigbee devices ‘live’ in the USB sticks; if you ‘fry’ your PI, simply set up another one and plug in your USB sticks. If they survived, you should NOT have to re-pair any devices. And, since the data lives in the stick, as long as you back up the memory (NVM) of the sticks, you can move that to another stick and STILL not have to re-pair your deices. Backing up is ALWAYS good advice and it becomes paramount here; if you follow good backup practices for your HA environment, you can literally recover from a drastic failure of hardware in about an hour.
The last item can either be a disadvantage or an advantage; updates come out for this platform constantly…I like this as the community is always fixing things and adding things. However, some things break in these updates…Eariler this week I was unable to edit the names of any of my devices because of an update. However, 24 hours later there was another update and it was fixed. If you are OCD and like consistency, HA will be VERY ‘triggering’ to you as things are constantly changing…however, from my view, this is always for the greater good so I enjoy it.
I hope everyone found this post useful. While I don’t want to hijack SmartThings’ forum for this discussion, I am open to providing ‘broad advice’ in this thread or through PM, as another user here has done for me (you know who you are :)).