[Smart Home] Home Assistant Review | The most robust local home automation hub for intermediate users

My current technology focus is smart home automation. Smart Home automation is not entirely new to me, but I have never dived deep enough in the past. Soon after getting into Smart Home automation couple years ago, I came across the Home Assistant. However, even as a technology enthusiast, it got to the point very quickly I just did not want keep spending time fixing/editing Home Automation every day. This experience was almost a two year ago. In the interim, I had purchased Hubitat, recently started to use Homebridge, and currently on trial with HomeSeer. More I see the alternatives, I realize how powerful the Home Assistant is for as local home automation hub/controller. This is my third or forth times giving a try to Home Assistant. This time, I am ready to commit. Cut to the chase, this is the best local home automation hub for those willing to go through some learning curve.

https://demo.home-assistant.io/#/lovelace/0

Background

Home Assistant (HA) was initially released on September 17, 2013. Similar to its competitions, this is a home automation software/platform designed to be a central control system for wide range of smart home appliances with emphasis on local control (ref). As of today, HA is considered to be one of the most popular local home automation platform. If anyone is serious about a home automation using local control, this is one platform you cannot ignore.

What’s home automation?

Let’s talk about Home Automation itself. Home Automation is an integration of various network connected so called, smart home devices to perform sequences of actions i.e. routine. Amazon’s Alexa, Google Assistant routines or Homekit’s automation function are the examples of home automation.

https://www.apple.com/ios/home/

For example, rather than voice control to just turn on the kitchen light, you can create automation such as when you say “good morning”, the blinds throughout home opens, multiple lights and TV in the kitchen turns on, coffee maker power turns on and unlock front door while turning off bedroom lights and living room fan.

Platform and cloud independence

If big 3 already supports home automation, why do you want home automation hub/controller unit like home assistant (HA)? There are several reasons but the biggest reason are two forms of independence, platform and cloud.

Platform independence

We live in Apple ecosystem; however, my security camera system is UniFi Protect. Unfortunately, they are not compatible with Homekit. I was able to make UniFi Protect to be Homekit compatible by using a software called, homebridge. This works really well and my Unifi Doorbell can make ring sounds to HomePod minis. If someone is looking for way to make a device Homekit compatible unofficially, my recommendation is try Homebridge first.

However, in my case we have other areas in home with Sonos speakers and not able to hear doorbell ring. So the real automation I like to do is UniFi Protect Doorbell push to announce “someone is at the door” on all my Sonos speakers throughout home. In fact, I want to do this in Japanese.

This is where dedicated home automation hub like HA plays a role. HA acts as home automation controller/brain unit and ties otherwise completely independent products from different venders to integrates together and make an automation.

Cloud independence

Cloud independence means home automation runs independent of internet connection. Both Alexa and Google Assistant always use internet connection as that’s where brain of the automation located. Local operation of home automation provide 3 primary benefits.

  1. Reliability: Home automation will continue operating even while internet service is down.
  2. Improved speed/low latency operation.
  3. Security/Privacy: No information sent across internet; therefore, much reduced risk for privacy breech.

Therefore, I am personally only interested in local home automation systems at this time.

Review

When reviewing local home automation hub/platform/system, I look at following 5 elements:

  1. Performance
  2. Integration
  3. Simplicity
  4. Support
  5. Cost

Performance

The performance includes both speed, stability and reliability. This is extremely important for home automation. Imagine the situation where you have a motion sensor to turn on stair light. If this is unreliable or takes several seconds, it is essentially same as doing nothing and you might as well push physical button.

When it comes to speed, the primary question is how fast local execution work. Needless to say, if any original component uses cloud access, home assistant automation won’t make that run in local. Basically, Alexa integration of Home Assistant won’t make Alexa to run on your local network.

“Gold Standard Matching Speed”

Home Assistant speed is as good as it can get. The above test results were subjectively recorded i.e. rather than using actual timer since they were too fast to start and stop timers accurately. Basically, I have tested time i.e. latency for light bulb to turn on or off using different input methods. The ultimate gold reference is physical switch input, which in my home are Lutron RadioRA 2 switches. They are truly instantaneous.

However, the practical gold standard here is the official Lutron iOS app as it is a first party app. As for another reference testing, I have used Homekit Home App as input source since it is also locally run Home Automation system and Lutron is officially HomeKit compatible. Both are ~ 1 sec latency i.e. definitely noticeable difference from physical switch but very fast. Comparing to the Lutron iOS app or Homekit App, Home Assistant input running either on my NAS docker or dedicated Rasberry Pi 3B, there was no noticeable difference.

The second test I have conducted is the reverse of the first test. This is subjective measure of how long it takes from physical switch on/off to reflect on app’s switch instance/entity status. The gold standard here again is Lutron iOS app. In this case, Homekit Home app failed to reflect updating its status in real time despite multiple tests. Home Assistant again had no subjectively noticeable difference from the Lutron iOS app.

The previous tests were one step and not a true reflection of home automation. So this time, I used simple but multi-step home automation. The input/trigger action in this case is UniFi Protect Doorbell push. The output is target device doorbell ring event notification. For this test, I used Sonos Move (wirelessly connected) speaker to say “Someone is at the door” in Japanese.

Gold standard here is UniFi Protect doorbell ring notification message on my iPhone 12 Pro (wirelessly connected). This took approximately full 1 second.

Unifi Doorbell is not HomeKit compatible. So I used Homebridge, which allowed it to be registered as Homekit compatible doorbell. Since Homekit compatible doorbell ring can make “ring” sound on HomePods as part of HomeKit automation, I felt this is another good comparison. This also took 1 second. HomeKit (home app) have notification on iPhone 12 Pro, similar to UniFi Protect but this took 5 seconds compared compared to 1 second.

Now as for the real automation test of Home Assistant, output is Sonos speakers using text to speech (TTS). Home Assistant provides an option to locally store TTS. So during the first run of the automation, text is sent to cloud and converted speech/audio file is then stored locally. So all the subsequent executions will use locally stored audio. This allowed blazing fast 1 second announcement. In fact, a very subtle but the first word of Sonos Move announcement took place before the ring sound initiation on HomePod mini, which is very impressive.

Reliable stability

For the true stability test, we need months of the system running. At this point, the test is rather much shorter i.e. of just days. When the system is functioning, it is reliable. For example, Lutron switch integration works every single time without a failure.

In contrast, HomeSeer only worked only the first input and rest failed to respond for Lutron integration. However, I have run across an issue with Apple TV integration on Home Assistant. It is one of officially supported integration/plugin. It worked fine initially but next day it no longer worked for no reason. The rebooting system did not help. It is understandable that individual integration/plugin’s stability and reliability can be highly variable, which is even true for highly monitored environment like Apple’s App Store apps. As far as the core system i.e. Home Assistant itself, I have not noticed any single event of freeze or unexpected rebooting event to this date.

Integrations

Analogous to computer, tablet and smart phone application catalogue, home automation platform usability comes down to whether it supports smart home devices you own or not. These are called integrations in Home Assistant. If you are seriously considering to start any new home automation system/platform like Home Assistant, I’d highly recommend creating a spreadsheet and list devices you own and check to see whether the platform support each. For Home Assistant, you can check official integration page and home assistant community store catalogue page. In the end, no matter how fast, how easy and how stable the system is if you don’t have integration to support your device, it is a meaningless to you.

Below are summary of compatibility spreadsheet I created for my personal smart home devices.

Although I made above table for the purpose of comparing Home Assistant and HomeSeer, I have only done extensive testing on Home Assistant at the time of this writing and partial testing on HomeSeer. Above list is created by using each platform’s official plugin site and some additional google search. In summary, Home Assistant integration coverage are one of the best and each integration I tested worked as expected with exception of Arlo (discussed later).

Simplicity

The purpose of home automation is to simplify our life. While achieving this goal, many of us are willing to spend time and effort. However, the question is how much of the effort and time? It comes down to ease of setup and use of Home Automation system. Unfortunately, this is where Home Assistant comes short.

Ease of Setup

While installation of Home Assistant itself is similar to the competitors, there are potential confusion points. For example, the official sites list four versions of Home Assistant. Home Assistant integration have essentially four potential mode of installation/configuration from UI based installation all way to custom store, custom components integration.

In fact one of the integration installation method, I personally call legacy integration, uses text file in format called YAML to configure. Below is what Wikipedia says about YAML.

Home Assistant has been included in a number of product and platform comparisons, where, like many other non-commercial home automation controllers/hubs, it has often in the past been criticized for forcing users into a tedious file-based setup procedure using text-based YAML markup-language instead of graphical user interfaces.[46][47][48][49][50][51][32][52]

https://en.wikipedia.org/wiki/Home_Assistant

Although Home Assistant is working toward better, simpler UI, this still remains the weakness of the system. As of today, I cannot recommend Home Assistant to those who are simply looking for alternatives to UI refined home automation platform like Homekit.

Home Assistant will undoubtedly give you multiple counterintuitive moments where well use of established GUI system standard design would have otherwise avoided unnecessary time consumption.

Although Home Assistant is working toward better, simpler user experience, this still remains the weakness of the system.

Support

The world of smart home platform is rapidly evolving. What is standard today does not mean it remains as such next year, especially given the relative lack of gold standard here. What this means to Home Automation users is that good system requires an active and fast development to keep up with new integration as they come out. So support here refers to how is the Home Assistant development pace. Will it be able to keep up with rapid pace of smart home catalogue explosion?

The secondary objective measure that can potentially answer the question is community developer size because Home Assistant, like other competitors, are community developer driven platform.

Github Octoverse 2020 Community Report

In 2020 the State of the Octoverse from the Github, home-assistant ranked #2 spot on the Top 10 Python packages with the most unique contributors. Python is #2 programming language on the Github. This is a reflection of its popularity amongst community developers.

From the consumer side, the Home Assistant platform popularity is reflected on the number of Reddit community users. This means you are likely to receive expert consult replies than those with smaller community. In fact, experienced community users are way more helpful than technical support in 90% of technology companies.

https://frontpagemetrics.com/r/homeassistant (May 2, 2021)
# of reddit community members in March 2021

As you can see, Home Assistant community size if multiple factors above the competitors.

As for my personal experience, I posted a comment on one of HACS store component. I got quick response from the developer and he has promised to add my requested feature in the future. This is fairly impressive and if it was a company running the show, I would not have received the generic, contentless reply for few days. This is the power of large community developer supported platform.

Cost: 100% FREE

Home Assistant actually have no catch on their cost. It can be really free. What you need however is hardware to run Home Assistant. This can be a dedicated Rasberry Pi, your Mac or Windows, NAS with Docker or you can spend money and purchase dedicated intel NUCS for Home Assistant. But these are your own choice and your own hardware. If you do not want to use it for Home Assistant, you can use them for entirely something else.

Home Assistant Cloud

Home Assistant has fully optional $5/month subscription service, Nabu Casa. The Nabu Casa subscription takes care of all the background setup to make Home Assistant work with Alexa and Google Assistant. Additionally, it provides secure remote access and natural text to speech. Since Home Assistant itself is free, this is one way perhaps the best way to financially support Home Assistant. I have decided to pay this service at least for now. 

However, every piece of aforementioned features can be setup without subscription so long as you are willing to them up. Considering competitors are charing for their own hardware (Hubitat), Hardware, Software and even Integrations (HomeSeer) PLUS optional subscription, I think Home Assistant is very generous here.

Here is the official Nabucasa website if you are interested reading a bit.

Conclusion

As of April 2021, Home Assistant is the most powerful, local Home Automation Hub/platform. If you are serious about Home Automation, this is the one you want to learn and use. However, while the system is actively improvement user friendliness, it still remains the weakest link. If you are satisfied with the capability of Homekit, my recommendation is Homebridge. When you outgrow Homebridge or see it as restrictive, you can always go to Home Assistant at that point and who knows by then Home Assistant may become more beginner friendly.

Reference

Home Assistant

FREE or $5/mo (optional cloud subscription)
9

Performance

9.5/10

Integration

9.5/10

Simplicity

7.0/10

Support

9.0/10

Cost

10.0/10

Pros

  • Ultimate Performance
  • Strongest integration library
  • 100% Free

Cons

  • User Friendliness lagging