What is Home Assistant, and what can it do?

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

“What is Home Assistant?” That is a question I frequently see asked in the replies, whenever someone posts an impressive automation or script to Twitter or Reddit. This article shall serve as a starting off point for newcomers asking exactly that question. It will cover the basics of what Home Assistant is, and 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.

Advertisement
An example of a Home Assistant dashboard
An example of a Home Assistant dashboard

On Home Assistant Guide, I have covered many aspects of Home Assistant in hundreds of articles. In doing so, I have come to realize that I never took the time to actually explain the very basics of what Home Assistant is, and what it can do for you and your smart home. I see the importance of introducing new users to this fantastic platform, as it pressures vendors to open up their ecosystems and allow for better cross-platform integration.

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 of Home Assistant 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 Home Assistant is a Universal Home Automation Platform. Or perhaps Universal Home Automation Software would describe it better because Home Assistant isn’t an actual physical hub, it is just a piece of software. It is free to use, open-source, and, if you choose so, never has to connect to the internet.

The actual physical hub you use is your decision. A popular device for beginners is the Raspberry Pi. Though, Home Assistant can run on just about any hardware and OS thanks to Docker. For example, I’m running my installation on an Unraid home server. To get started, you can use any existing hardware you might have lying around, such as an old laptop or desktop.

A Raspberry Pi 4 used to run Home Assistant
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 gives you the power of home automation without having to connect to any cloud services. So, you don’t have to expose your smart home devices to the internet and your usage won’t be tracked or sold to unknown, shady entities. It is not just those that are up to no good that you should be protecting yourself from. In the past, there have been reports of cloud-backed security cameras suddenly broadcasting to random accounts, due to the developer’s negligence.

Advertisement

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,700 in total.

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

Advertisement

What is Home Assistant Core, Supervised, and Operating System?

Home Assistant comes in multiple forms, namely Core, Supervised and there is also the Home Assistant Operating System. But what are the differences between these Home Assistant options? Let me explain as quickly as possible. If you want more details on the differences, you might be interested in my in-depth article on the topic.

What is Home Assistant Core?

Home Assistant Core is always present, regardless of which option you go for. As the name suggests, it is the core application itself. Using Home Assistant Core, you can write scripts, set up automations, and add integrations. If you are planning to run Home Assistant in a Docker environment, the Home Assistant Core container is what you will go for. But, Home Assistant does not come with a Supervisor and as such does not support add-ons, and it can’t be updated from within Home Assistant.

System information of Home Assistant Core running in a Docker container
Home Assistant Core running in a Docker container

What is Home Assistant Operating System?

The Home Assistant Operating System is a minimal operating system optimized to power Home Assistant. It can either run on bare metal, for example on a Raspberry Pi, or on a virtual machine.

The Home Assistant running on a Raspberry Pi
The Home Assistant Operating System includes the Home Assistant Supervisor and Home Assistant Core
A sample of the add-ons that can be installed when running the Home Assistant Operating System
A sample of the add-ons that can be installed when running the Home Assistant Operating System

This option is by far the easiest and, thus, best for beginners. It includes the Home Assistant Supervisor, which gives you access to Home Assistant add-ons. A Raspberry Pi with Home Assistant is how I started out, and it is what I recommend as a first setup. Other platforms the Home Assistant Operating system can be installed on are:

Advertisement

The latter option is popular with those who need some extra oomph after starting out with a Raspberry Pi. The Intel NUC series of mini-PCs have powerful and efficient CPUs, expandable RAM and storage, and fit inside a case not much larger than a couple of stacked DVD cases.

The number of Home Assistant installations

If you opt for the Home Assistant Operating System, you are not alone. Despite being the best option for beginners, advanced users will also use the same option. Home Assistant Operating System is the most popular installation option.

What is Home Assistant Supervisor?

If you want to have access to Home Assistant add-ons, but don’t want to run the Home Assistant Operating System, then the Home Assistant Supervisor is for you. As this is not a recommended setup, while also being quite complicated, I will not be detailing it here.

What is Home Assistant Blue and Home Assistant Yellow?

In more recent years, the team behind Home Assistant has been producing their own, dedicated hardware. The first release, Home Assistant Blue, used an ODROID-N2+ single-board computer inside a custom case, with the Home Assistant Operating System preinstalled. For storage, it has a 128 GB eMMC SSD and 4 GB of DDR4 RAM to make sure everything runs smoothly.

The upcoming Home Assistant Yellow, previously named Home Assistant Amber, is built on top of the Raspberry Pi Compute Module 4. The Compute Module 4 sits on top of a custom-built board, which includes a Zigbee radio chip from Silicon Labs. That chip will also support the upcoming Matter smart home connectivity standard once it is finalized. An M.2 extension port allows you to add heaps of storage, and a heat sink makes sure the SoC stays nice and cool.

The case against cloud services

Smart devices which connect to the cloud do 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 concerns, it also can make them useless if your internet drops. 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.

Another risk you could run in to with devices that require the cloud to work, is planned obsolescence or a company shutting down its servers. 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 Philips Hue Hub, which doesn't require an internet connection to function.
Philips Hue can function without internet as it uses a hub
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 made the hubs customers had bought with their hard-earned money useless. 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 more secure 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 to that question isn’t a simple one 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.

What is Home Assistant? 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 1,800 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 a lamp retrofitted with a Z-Wave wall switches. Home Assistant is capable of communicating with each platform and sees them for what they are: lights.

What is Home Assistant? Home Assistant is a powerful automation engine

Home Assistant doesn’t just integrate and control devices, you can create automations. It gives you to ability to toggle a Wi-Fi capable bulb using a Zigbee bulb. It can send a notification to your Windows if your Android phone is low on battery. And it can dim your IKEA bulbs when watching a film on Plex. The latter example is another 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 recreate the “Bitcoin is volatile” scene from Silicon Valley by integrating the Bitcoin network.

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

What is Home Assistant? Home Assistant is a central dashboard for everything

And finally, Home Assistant gives your smart home a pretty face. The Lovelace UI, which is what the interface is called, 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.

Is Home Assistant hard?

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 (1679 as of writing) 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’ll 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.

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, Xiaomi, 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’ll soon realize that there is a whole community working on numerous unofficial add-ons, integrations, and cards for the web interface.

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’ve ever come across.

How to access Home Assistant outside of 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 want 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 or you can subscribe to Nabu Casa for $5 per month. Nabu Casa was founded by the founders of Home Assistant, and the money they earn from subscribers is reinvested into keeping the lights on.

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

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. Compared to the other alternatives listed below, SmartThings is not an open-source project.

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

Homebridge

Homebridge allows you to integrate with smart home devices that do not natively support HomeKit. Homebridge can, similarly to Home Assistant, be run from a Raspberry Pi. This project is only of interest to users of Apple’s HomeKit (which I am not).

Hubitat

Hubitat, which is closed-source but locally controlled, is developed by ex-developers of SmartThings. Hubitat requires a hub and can’t be installed on generic hardware. It appears to be a good alternative if you find Home Assistant to be too intimidating.

Domoticz

Similarly to Home Assistant, Domoticz is free and open-source software. I have no experience using this product but in my eyes, it looks to be more complicated than Home Assistant. From what I have read, the biggest advantage Domoticz has over others is that it is very lightweight.

openHAB

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

AdGuard Home vs. Pi-hole (2020) – Two ad and internet tracker blockers compared

Live healthier and sleep better by syncing your lights with natural daylight

Advertisement
Liam Alexander Colman, the author and maintainer of Home Assistant Guides.

About Liam Alexander Colman

Liam Alexander Colman has been using Home Assistant for various projects for quite some time. What started of with a Raspberry Pi quickly became three Raspberry Pis and eventually a full-blown server. I now use Unraid as my operating system, and Home Assistant happily runs in a Docker container. My personal setup includes many Zigbee devices as well as integrations with existing products such as my Android TV box. Read on to find out more on how I got started with Home Assistant.

Leave a comment

Advertisement
Share to...