Thursday, March 8, 2018

Samsung Smartthings: Home automation system upgrade

Well it's been more than a solid year since my last post and in that time I have become much more invested in home automation. With a slew of new products and buzz this market is exploding with all kinds of setups. My biggest frustration with Home Assistant was three-fold:

  • Adding devices - This would usually require looking up the specific config type and then diving into terminal and updating my yaml config files. For z-wave you would also have to go through the inclusion process using the semi-awful ozcwp. Furthermore I found myself restarting Home Assistant about a thousand times during that process. 
  • Automation - Although the rules, triggers, events and everything else that go into the automation portion are nearly endless, so is the documentation (not to mention keeping up with which documentation was current). For me it was all very confusing and even harder to implement because the debugging and other tools are just not great.
  • Reliability/performance of state - My most common use case was and still is turning off the lights for a movie or bed. Telling my Google Home to turn off the light worked great because i knew the light was on as i was in the room. However if i pulled out the app i would notice that 9 times out of 10 it would be wrong. The icon would show that the light was on when in fact it was not. Being at home, this really isn't a problem because as i said, the events still worked and executed properly. But if i wasn't home, i couldn't really know. My usual workaround was to press it twice. Then i could safely assume that the light was in fact turned on (or remained on). Then repress the icon and turn it off. Increasing the polling frequency (despite warnings about flooding the network) didn't help.
After a while i started to notice that even though i was getting new devices, the dreadful task of adding them to the network or setting up automations brought out the procrastinator in me. After all, home automation is about making your life easier, right?

When the Samsung Smart things hub went on sale from $99 to $49 i pulled the trigger and decided to make the switch. I was ready for a GUI for setting up new devices and automations. Even the worst GUI would still be easier than reading through documentation, or searching for examples of others' configuration, copying to my own via terminal, then testing by restarting the whole system.

Luckily the Smart things app is not the worst GUI. In fact it's pretty good with just the built-in pieces. Devices are added automatically once in pairing mode with all the device properties they need. For example, I don't need to specify that GE_Z_WAVE_DIMMER is a light switch and can do dimming. It just works. It's compatible with most z-wave and zigbee products which meant that only one of my off-brand z-wave devices can no longer be used. 

Automation is also a snap because it's GUI driven. Samsung publishes Smart Apps that are available for most common use cases and the community can contribute for less common or more advanced use cases. But the best part is that i still have full control for really custom use cases. For example, my garage door opener is a raspberry pi running home-built software. I did come pretty close to finding a solution that would work in the community device type "URI switch" but since it only had properties of a switch and not a garage i couldn't do some additional things. So i went ahead and built my own device type handler. Since I was able to classify it as a garage door it had all the same functionality as a $600 plug and play garage door opener such as the Chamberlain MyQ (which is actually not supported by smart things currently)

Some things you lose by switching:
  • Compatibility. For example, I can no longer use the Nest through smart things because Nest does not allow apps to integrate unless they've been approved. Open source projects like Home assistant get around this by having you create your own Nest developer account and self-publishing an app. 
  • You sort of lose compatibility with hardware. Whereas anything under the sun can be configured to work with Home Assistant, Smart things has recommended cameras, light switches, etc. I say "sort of" because if you really want to, SmartThings does allow you to really add anything you want like I mentioned with my Garage Door opener. And in reality this isn't so much of a loss because things just work and you don't have to do the configuration yourself. 
On a final note, I'm excited to see where Samsung is taking the new SmartThings app as they've just announced that it will be merged with Samsung Connect. I have seen some users complain that not all Samsung products are supported with SmartThings. Indeed, the controls for my own 2016 Samsung Smart TV don't really work after adding it to the SmartThings app. But it did work with Samsung Connect the one time i tried.

Have you tried other systems? What's been your favorite?