Disclosure: This post contains affiliate links. If you click through and make a purchase, I will earn a commission, at no additional cost to you. Read my full disclosure here.
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.
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.
Light and media controls, automations, and scenes in a Home Assistant Dashboard[/caption]
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?
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.
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.
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.
Product
CanaKit Raspberry Pi 4 Extreme Kit - Aluminum Edition
GeeekPi Raspberry Pi 4 8GB 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 (8 GB)
Raspberry Pi 4 Model B (4 GB)
Raspberry Pi 4 Model B (8 GB)
PSU
Power supply with noise filter
USB-C power supply (5V/3.6A)
Power supply with noise filter
Power supply with noise filter
Accessories
Premium Aluminum Case with Built-In Passive Heat Sink Cooling
Case; cooling fan wit four aluminium heatsinks, 64 GB microSD card, two HDMI cables
Premium High-Gloss Case with Integrated Fan Mount, Low Noise Bearing System Fan
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.
Philips Hue can function without internet as it uses a hub
The cloud makes subject to economically driven decisions
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.
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.
Weather cards
A media player card
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.
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.
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.
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. Now many automations work locally even when internet service is disrupted.
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
YOUR TV AS AN IoT HUB: Use your TV as a hub to create a more connected smart home; Without a separate IoT hub, the SmartThings Dongle expands connection to Zigbee devices with your TV out of the Works With SmartThings (WWST) devices*
CONNECT MORE DEVICES: Use the SmartThings Hub Dongle to seamlessly add Zigbee devices to the TV WiFi Hub**
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.
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.
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.
As with Domoticz, I have not tested openHAB. Similarly, stable releases aren't as frequent as Home Assistant, and it also has fewer contributors.
About Liam Alexander Colman
Liam Alexander Colman is an experienced Home Assistant user who has been utilizing the platform for a variety of projects over an extended period. His journey began with a Raspberry Pi, which quickly grew to three Raspberry Pis and eventually a full-fledged server. Liam's current operating system of choice is Unraid, with Home Assistant comfortably running in a Docker container.With a deep understanding of the intricacies of Home Assistant, Liam has an impressive setup, consisting of various Zigbee devices, and seamless integrations with existing products such as his Android TV box. For those interested in learning more about Liam's experience with Home Assistant, he shares his insights on how he first started using the platform and his subsequent journey.
2 thoughts on “What is Home Assistant in 2022?”
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.
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.
Very Comprehinsive Artilce. Something that I was and am looking for.
Tahnk you!