What is Home Assistant in 2022?

Disclosure: This post contains affiliate links. If you click through and make a purchase, I’ll earn a commission, at no additional cost to you. Read my full disclosure here.
Advertisement
A modern smart house with the lights on.

After seeing screenshots of smart home dashboards and hearing how some have automated just about every aspect of their home life, you might have asked yourself what Home Assistant is. It is that question that I aim to answer in this updated article. Over the years, Home Assistant has come a long way and while the essentials to previous years’ answers might not have changed, there have been many additions to Home Assistant.

Advertisement

This article will cover the basics of what Home Assistant is and what it can do for you. I will also delve into why local and self-hosted software is better than software relying on cloud services. To round things off, there will be a short comparison of Home Assistant and its most popular alternatives.

An example of a Home Assistant Dashboard showing light and media controls, automations, and scenes.
Light and media controls, automations, and scenes in a Home Assistant Dashboard

Please take note that I am just an enthusiastic user and in no way, shape, or form affiliated with Home Assistant or Nabu Casa. I have also not contributed to the development of Home Assistant. What I am is an avid user and I have been one for some time now, which I believe gives me the right to answer the underlying question of this article: What is Home Assistant?

Advertisement

Table of Contents

What is Home Assistant?

If I had to describe Home Assistant in as few words as possible, I would say that it is the glue that ties all your smart home platforms together. Home Assistant isn’t a hub but, instead, a platform-independent piece of software, written in Python. Using Home Assistant, you can integrate platforms that would otherwise not communicate with one another. Lights from Philips Hue, LIFX, Nanoleaf, and Xiaomi can all be controlled using the same interface, with Home Assistant. No longer do you have to use half a dozen apps, just to make yourself comfortable at night.

The fun doesn’t stop there. Besides manual control, you can automate every device that integrates with Home Assistant. We are talking about proper automations, and not telling a voice assistant to do something: for example, a motion sensor from Shelly can turn on your bulb from Yeelight. The robot vacuum cleaner you otherwise start manually, can be triggered whenever the house is empty. If reports of having to code automations using YAML have so far made you hesitate, more recent updates to Home Assistant have made the process of creating such automations much easier.

Advertisement
An example of a Home Assistant automation set up in the graphical interface
Today, automations can be setup using a graphical interface

If Home Assistant isn’t a hub, where does it run?

The physical hub you use to run Home Assistant, is whatever you have available. A popular device for beginners is the Raspberry Pi, especially the Raspberry Pi 4 Model B, due to its improvements to USB and networking. Though, Home Assistant can run on any hardware capable of launching Docker containers.

A Raspberry Pi 4 used to run Home Assistant

For example, I’m running my installation on an Unraid home server. Alternatively, you can also run the Home Assistant Operating System (more on that later) as a virtual machine. To get started without having to spend a penny, you can use any existing hardware you might have lying around, such as an old notebook or desktop.

CanaKit Raspberry Pi 4 Extreme Kit - Aluminum Edition (8GB RAM)
CanaKit Raspberry Pi 4 4GB Basic Starter Kit with Fan (4GB RAM)
CanaKit Raspberry Pi 4 4GB Starter PRO Kit - 4GB RAM
CanaKit Raspberry Pi 4 4GB Basic Kit with PiSwitch (4GB RAM)
Product
CanaKit Raspberry Pi 4 Extreme Kit - Aluminum Edition
CanaKit Raspberry Pi 4 Basic Starter Kit
CanaKit Raspberry Pi 4 4GB Starter PRO Kit
CanaKit Raspberry Pi 4 Basic Kit
Model
Raspberry Pi 4 Model B (8 GB)
Raspberry Pi 4 Model B (4 GB)
Raspberry Pi 4 Model B (4 GB)
Raspberry Pi 4 Model B (8 GB)
PSU
Power supply with noise filter
Power supply with noise filter
Power supply with noise filter
Power supply with noise filter
Accessories
Premium Aluminum Case with Built-In Passive Heat Sink Cooling
Clear case, fan, and set of heat sinks
Premium High-Gloss Case with Integrated Fan Mount, Low Noise Bearing System Fan
Set of 3 aluminium heat sinks
Price
Price not available
Price not available
Price not available
Price not available
-
-
-
-
CanaKit Raspberry Pi 4 Extreme Kit - Aluminum Edition (8GB RAM)
Product
CanaKit Raspberry Pi 4 Extreme Kit - Aluminum Edition
Model
Raspberry Pi 4 Model B (8 GB)
PSU
Power supply with noise filter
Accessories
Premium Aluminum Case with Built-In Passive Heat Sink Cooling
Price
Price not available
-
CanaKit Raspberry Pi 4 4GB Basic Starter Kit with Fan (4GB RAM)
Product
CanaKit Raspberry Pi 4 Basic Starter Kit
Model
Raspberry Pi 4 Model B (4 GB)
PSU
Power supply with noise filter
Accessories
Clear case, fan, and set of heat sinks
Price
Price not available
-
CanaKit Raspberry Pi 4 4GB Starter PRO Kit - 4GB RAM
Product
CanaKit Raspberry Pi 4 4GB Starter PRO Kit
Model
Raspberry Pi 4 Model B (4 GB)
PSU
Power supply with noise filter
Accessories
Premium High-Gloss Case with Integrated Fan Mount, Low Noise Bearing System Fan
Price
Price not available
-
CanaKit Raspberry Pi 4 4GB Basic Kit with PiSwitch (4GB RAM)
Product
CanaKit Raspberry Pi 4 Basic Kit
Model
Raspberry Pi 4 Model B (8 GB)
PSU
Power supply with noise filter
Accessories
Set of 3 aluminium heat sinks
Price
Price not available
-

Home Assistant rests not on a cloud

With Home Assistant running on your hardware and being connected to your network, it is truly yours, not like other home automation services that require you to use what they have chosen. To further solidify the true ownership of Home Assistant, it requires no cloud services. You can cut off Home Assistant from the outside world, and it will continue functioning. Similarly, development could cease today, and what you have already set up will continue working.

It’s not just the hardware that is yours, but also the data stored on it. If not set up to do otherwise, Home Assistant will never call home. Your analytics data won’t be sold to any shady entities. If you think of having your most valuable data exposed to the internet isn’t a big deal, it’s worth noting that there have been reports of cloud-backed security cameras suddenly broadcasting to random accounts, due to the developer’s negligence.

There is a voluntary analytics program, you can opt in to. This tracks how many active installations of Home Assistant there are, and which integrations are being used. The data you share is not used to advertise products or show you targeted ads. It does help the developers of Home Assistant in making decisions on whether certain integrations should remain maintained or be phased out. As Home Assistant is free software, I do encourage new users to share their data in return for being able to use Home Assistant without paying a penny or having to view any ads.

What programming language is Home Assistant written in?

Home Assistant is written in the popular Python programming language and hosted on GitHub. Due to Python’s popularity and the ever-increasing Home Assistant user base, there are many contributors contributing to the project. As of writing, there have been over 2,800 in total.

With that, we have answered the first part of the question “what is Home Assistant?”: It is hardware-agnostic, universal home automation software, written in Python and capable of being installed on most modern operating systems.

The case against cloud services

Smart devices which connect to the cloud do frequently have advantages such as an easier setup for the end-user and more control for the manufacturer. A device that connects to a remote server can also be tracked which allows the manufacturer to gather data which in turn can be used to adjust their marketing, sales, or, in the worst-case scenario, be sold.

Having devices connected to cloud services not only introduces unnecessary security and privacy concerns, it also can make them useless if your internet cuts out. Only a few systems, such as Philips Hue, keep working when the internet goes out. Without an internet connection, most cloud-controlled devices will just stop working.

The Philips Hue Bridge, which can integrate with Home Assistant and doesn't require an internet connection
Philips Hue can function without internet as it uses a hub

The cloud makes subject to economically driven decisions

Other risks you face when using devices that require the cloud, are planned obsolescence, a company shutting down its servers, or going bust altogether. There have been many examples of this happening in the past couple of years. For example, Logitech announced in 2018 that they will shut down their Harmony Link service, which meant that Harmony Link devices would stop working.

The Revolv hub, which was released, shortly thereafter bought by Google Nest and subsequently made useless
Revolv was released, bought by Nest, and subsequently killed

IFTTT, a web service which can also be used for automation, recently announced that free accounts would be limited to just three automations. Revolv, the makers of a home automation hub, were bought up by Nest, who bricked the hubs customers had bought with their hard-earned money. There are too many scenarios to mention them all, but one thing is for sure, there will be even more in the future.

Why local with Home Assistant is better

Home Assistant will never go away. It is locally hosted and will only stop working once you pull the plug. No one working on Home Assistant has the power to disable any of your devices. And assuming you have a safe network, Home Assistant will always be securer because no information leaves your home (unless you allow it to).

Even if the development of Home Assistant were to cease, which is hopefully not happening anytime soon, you could continue using it, and, if you wanted to, continue developing. As open-source software, you can modify the underlying code however you want.

Because Home Assistant communicates through your local network and no data is sent to or received from the cloud, it will, in most cases, also be faster than any cloud services.

What can Home Assistant do?

The answer isn’t simple because Home Assistant can do so many things. In broad terms, there are three main functions Home Assistant adds to your smart home:

  • Home Assistant integrates and connects devices using different protocols and from different vendors.
  • A smart home isn’t smart if nothing is automated, and Home Assistant provides you with a mighty automation engine.
  • While automations are nice, there is still a place for control and observation. Thankfully, Home Assistant has a slick web-based Dashboard and apps for mobile devices.

Home Assistant connects your devices, operating systems, and apps

The first thing you will want to do with Home Assistant, is to integrate all your existing devices. Currently, Home Assistant supports over 2,100 integrations from a broad variety of categories. When using Home Assistant, it doesn’t matter if you use Philips Hue Zigbee lights, Wi-Fi LED strip controllers from Yeelight, or lamps retrofitted with Z-Wave wall switches. Home Assistant is capable of communicating with each platform and sees them for what they are: lights.

Home Assistant has a powerful automation engine

Home Assistant doesn’t just integrate and control devices, you can create automations. It gives you the ability to toggle a Wi-Fi connected bulb using a Zigbee motion sensor. It can send a notification to your Windows if your Android phone is low on battery. And it can dim your IKEA TRÅDFRI bulbs when watching a film on Plex.

A graphic illustrating a motion sensor being activated and relaying that information to Home Assistant

The latter example is another case where Home Assistant can be much more useful than proprietary systems: It doesn’t just integrate with physical devices, but also numerous applications and services. For example, you could limit Transmission’s download speed whenever you are home, or someone is streaming from your Plex server. You can also recreate the “bitcoin is volatile” scene from Silicon Valley.

Home Assistant is your central Dashboard for everything

And finally, Home Assistant gives your smart home a pretty face. The Dashboard, previously called Lovelace UI, is modern, sleek, and easy to use. The web interface acts as a central dashboard for all of your devices. You can control devices from it, monitor sensors and other entities such as the weather, or your current solar production.

Several weather cards in the Home Assistant Dashboard
Weather cards
A media player card being displayed in the Home Assistant Dashboard
A media player card
Several cards for controlling lights from the Home Assistant Dashboard
Cards for controlling lights

Is Home Assistant difficult?

Home Assistant might be harder to get into than other, payed-for alternatives. But once you get to grips with the basics, Home Assistant is much more powerful and boasts more integrations than the alternatives. With the most recent releases, Home Assistant has made strides in terms of user-friendliness. Many integrations can now be configured using the web interface, and there are easy-to-use editors for scripts and automations.

Getting started with Home Assistant is as easy as buying a Raspberry Pi 4 Model B (minimum 2 GB of RAM, more recommended) and an SD card. For those interested, the Home Assistant website lists the suggested hardware. But be warned, once you get hooked on it, you will find a new self-hosted application you want to try daily. If you have some old hardware lying around at home, it is effortless to get Home Assistant running on a Linux installation.

Home Assistant will auto-discover devices such as Chromecasts and those from the TP-Link Kasa line. Devices that aren’t auto-discovered either have to be added using the web interface or with a few lines of code. But fear not, Home Assistant uses YAML, a very basic language. In most cases, you will be copying the example from the Home Assistant website and just entering the required information.

YAML code, which is sometimes used to configure Home Assistant.
This is what YAML looks like

Home Assistant is expandable

Just like many other smart home hubs, Home Assistant is expandable. You can buy a cheap Z-Wave or Zigbee USB stick, plug it in, enable it in Home Assistant, and start pairing lightbulbs, sensors, or whathaveyou.

I use Zigbee devices from IKEA, Aqara, and Philips. Were I not to be using Home Assistant, I would need an individual hub from every manufacturer. But thanks to Home Assistant, I can connect them all to a single and central controller.

Once you really get into Home Assistant you will soon realize that there is a whole community working on numerous unofficial add-ons, integrations, and cards for the Dashboard.

Home Assistant has no official support but a great community

As a free and open-source product, Home Assistant doesn’t have any official support channel or call centres you can ring up. But Home Assistant does have one of the friendliest and enthusiastic communities I have ever come across.

How to access Home Assistant outside the home?

Not everyone wants to keep everything local. There are valid reasons for wanting to access your Home Assistant from outside the home. And if you intend to use the Google Assistant or Amazon Alexa to control your devices, Home Assistant will also have to be exposed to the web.

In this scenario, you have two options: You can either set up internet access on your own using a service such as Duck DNS, or you can subscribe to Nabu Casa for US$6.50 per month. The founders of Home Assistant started Nabu Casa, and the money they earn from subscribers is reinvested into keeping the lights on and supporting development of their product.

The Nabu Casa logo

What are the alternatives to Home Assistant?

Perhaps you’ve heard of one or the other alternatives to Home Assistant. All the following applications serve a similar purpose in the smart home. Some of these services use the cloud and others keep all of your data locally. There are pros and cons to each approach.

SmartThings – Same goal, different approach

SmartThings is a subsidiary of Samsung Electronics and their primary products include a free SmartThings app, a SmartThings Hub, as well as various sensors and smart devices. Different to Home Assistant and other alternatives, SmartThings is not an open-source project. It is also reliant on cloud services, and won’t function without an internet connection.

Bestseller No. 1
Aeotec Smart Home Hub, Works as a SmartThings Hub, Z-Wave Zigbee Gateway, Compatible with Alexa, Google Assistant, WiFi
  • Easiest way to make your home a smart home: Wirelessly connect and control a huge range of smart devices – over 5,000 are available from dozens of brands – including voice assistants, lights & switches, speakers, cameras, sensors and more
  • Automate connected devices: Any device you connect can be included into automations which can be intelligently managed
SaleBestseller No. 2
SAMSUNG SmartThings Smart Home Hub 2nd Generation
  • Your smart home needs a brain, so get started with a SmartThings Hub. It connects wirelessly with a wide range of smart devices and makes them work together
  • Add smart devices and put your home to work. Choose from a wide range of compatible devices, including lights, speakers, locks, thermostats, sensors, and more
Bestseller No. 3
SAMSUNG GP-U999SJVLGDA 3rd Generation SmartThings Hub, White
  • Connectivity: Wirelessly connect and control a wide range of compatible smart devices from 40+ partner brands, including voice assistants, lights & switches, speakers, cameras, sensors and more
  • Home Automation: Teach the hub your Good Morning, Goodbye, Goodnight, and other routines to automatically turn devices on or off throughout the day

In late 2020, Samsung announced that SmartThings would be pivoting entirely into software. Aeotec now sells a “Works as a SmartThings Hub” in Australia, Europe, and North America.

Homebridge – Bringing HomeKit support where there is none

Homebridge allows you to integrate with smart home devices that do not natively support HomeKit. Examples include Nest Cameras from Google, UniFi Protect, Ring, and Belkin Wemo. Homebridge can, similarly to Home Assistant, be run from a Raspberry Pi and many other operating systems. This project is only of interest to users of Apple’s HomeKit (which I am not).

Although Homebridge does have a web-based interface, it isn’t intended to be the equivalent of the Home Assistant Dashboard. It does let you see the status of your various devices and plugins, but the main interface is Apple’s Home app.

Hubitat – A closed-source alternative

Hubitat, which is closed-source but locally controlled, was created by ex-developers of SmartThings. Hubitat requires a Hubitat Elevation® hub (~US$150) and can’t be installed on generic hardware. It appears to be a suitable alternative if you find Home Assistant to be too intimidating, though I can’t claim to have any personal experience.

The Hubitat Elevation® hub, which is required to be able to run the Hubitat home automation software.
Hubitat Elevation®

Domoticz – Smaller community, fewer releases

Domoticz first appeared around the same time as Home Assistant and was also founded by a Dutchman. The similarities don’t stop there. Domoticz is free and open-source software and can run on various systems. Each commit to the code is checked and reviewed by the founder, and over 330 developers have contributed in one way or the other.

I have no experience using Domoticz, but from studying screenshots and videos, it looks to be more complicated than Home Assistant to set up. All in all, Home Assistant is currently the stronger platform with more frequent releases, a bigger user base, and many more contributors. Domoticz is primarily written in C++, as opposed to Python.

openHAB – A different approach to automations

openHAB is another free and open-source application which boasts numerous integrations (or add-ons as they call them). It is developed in the Java programming language and runs on many devices and operating systems. Of the applications mentioned, it is the most comparable to Home Assistant.

The openHAB logo reading: openHAB, empowering the smart home.

One big difference to the other alternatives I have listed is that openHAB does not use its own automation engine. Instead, it relies on Blockly, a visual programming editor developed by Google. This does have the advantage of not having to reinvent the wheel, when something that does the job already exists.

Example code created with Blockly, the visual programming editor used in the Home Assistant alternative, openHAB.
Programming in Blockly (source: Google Developers)

As with Domoticz, I have not tested openHAB. Similarly, stable releases aren’t as frequent as Home Assistant, and it also has fewer contributors.

1 thought on “What is Home Assistant in 2022?”

  1. This is the best Home Assistant article I’ve found. So many jump to the technical aspects without explaining what something is or does. Imagine giving a cowboy a Tesla car in the 1800s. The cowboy isn’t dumb but can’t appreciate the vehicle.

    Thank you for your knowledge and writing skill. To really know, you must teach.

    Reply

Leave a comment