Smart home in practice · beginner

What is Home Assistant?

What Home Assistant does, how to install it, which hardware it runs on, how integrations and local control work, and who should pick a simpler hub.

A phone next to a smart wall switch

Photo: Jakub Żerdzicki / Unsplash

After reading this article you will be able to:

  • Explain how Home Assistant turns devices into entities and runs automations on a local machine
  • Choose between Home Assistant OS and Container and pick hardware to run it on
  • Decide whether Home Assistant suits your home or whether a commercial hub is less work
On this page
  1. What does Home Assistant actually do?
  2. How can you install it?
  3. What hardware should it run on?
  4. Is the cloud required?
  5. What about voice control and energy?
  6. Who is Home Assistant for, and who should skip it?
  7. Where to go next

Home Assistant is open-source software that runs on a small computer in your home and acts as the controller for everything else: lights, sensors, thermostats, locks, solar inverters, media players and the cloud services some of them depend on. It keeps the state of every device in one place, runs automations on the local machine and gives you one app and one set of dashboards instead of a dozen vendor apps. The software is free; you supply the hardware and the time to set it up.

It differs from the hubs sold by Apple, Google, Amazon or Samsung in two ways. It talks to devices from almost any brand and protocol rather than a curated list, and it is built so that the home keeps working when the internet does not. The price is that you become the administrator: updates, backups and the occasional broken integration are yours to handle. This guide covers how it works, how it is installed, what it runs on, what the optional cloud adds, and who it suits.

What does Home Assistant actually do?

At its core Home Assistant is a state machine with an event bus. Every device or service appears as a set of entities (a temperature reading, a switch, a light with brightness and color), and every change of state is an event. Automations listen for events (“the front door contact opened after sunset”), check conditions (“nobody is home”) and run actions (“turn on the hallway light, send a notification”). Scenes, scripts, dashboards, history graphs and voice commands all work on the same entities, so a device added once is available everywhere.

The connections to the outside world are called integrations. Some drive a radio through a USB adapter: ZHA for Zigbee, Z-Wave JS for Z-Wave, and the Matter and Thread integrations for the newer standards (Matter vs Zigbee compares the two most common choices). Others talk to a device over the home network (a Shelly relay, a Philips Hue bridge, an ESPHome sensor built on an ESP32), and others call a vendor’s cloud API, as many robot vacuums, cars and some thermostats require. MQTT is supported too, so anything that publishes to a broker can become an entity.

Each integration carries an IoT class that tells you how it talks to the device: local push, local polling, cloud push or cloud polling. Local push is the best case: the device reports a change immediately over the home network. Cloud polling is the weakest: Home Assistant asks a vendor server at intervals, so updates arrive late and stop when the internet or the vendor’s service does. The integrations directory can be filtered by local or cloud connection, which is worth doing before you buy a device.

How can you install it?

Home Assistant has two supported installation types. Home Assistant OS is a minimal operating system that runs Home Assistant and manages its updates, backups and apps, which were called add-ons until release 2026.2. Apps are extra services that run alongside Home Assistant: an MQTT broker, Zigbee2MQTT, the Matter server, the Z-Wave JS server, a local speech engine. The project recommends Home Assistant OS for most users.

Home Assistant Container is the same application as a Docker image on a Linux system you already run. You handle updates yourself, and Container installations have no apps, so anything an app would provide has to be run as a separate container that you configure.

Two older methods, Core (a Python virtual environment) and Supervised, were deprecated in May 2025, with support ending at release 2025.12. The same announcement dropped 32-bit systems, so a Raspberry Pi 3 or 4 has to run a 64-bit operating system. Tutorials that start with “install Home Assistant Core” are out of date.

What hardware should it run on?

Four options cover nearly every home:

  • Home Assistant Green is the project’s ready-made box, with a Rockchip RK3566, 4 GB of RAM and 32 GB of eMMC storage, shipped with Home Assistant OS installed. It has Ethernet but no Zigbee or Thread radio, so you add a USB adapter for those.
  • Home Assistant Yellow combined a Raspberry Pi Compute Module 4 with a built-in Zigbee and Thread radio. It is no longer in production but still receives software updates, so existing units remain a sound choice.
  • A Raspberry Pi works if you already own one. The installation guide asks for a Raspberry Pi 4 or 5 with at least 2 GB of RAM and an Application Class 2 (A2) SD card.
  • A mini PC or a virtual machine on an x86-64 server gives the most headroom, which matters if you plan to run local speech recognition, camera recording or many apps.

Radios are added as USB adapters. The project’s own Connect ZBT-2 runs either Zigbee or Thread, not both at the same time, and the Connect ZWA-2 adds Z-Wave, including Z-Wave Long Range. Adapters from other makers work as well. Plan one adapter per protocol you use, and place it on a short USB extension cable away from the computer, a point the Zigbee documentation stresses.

Is the cloud required?

No. Home Assistant runs entirely on your hardware and needs no account with anyone. The optional subscription, Home Assistant Cloud (which Nabu Casa, the company behind it, is renaming Home Assistant Link), adds services that are awkward to build alone: remote access without opening ports on your router, linking to Alexa and Google Assistant without creating your own developer project, cloud speech-to-text and text-to-speech, and off-site storage for a backup. It is a paid monthly or annual plan, and Nabu Casa states that most of its profit goes to the foundation behind Home Assistant.

Each of those services has a do-it-yourself route: a VPN for remote access, the manual Google Assistant setup (which requires Home Assistant to be reachable from the internet with a hostname and an SSL certificate), and backups copied to a NAS.

What about voice control and energy?

Home Assistant has its own voice pipeline, Assist, which can run entirely on your hardware. The documentation describes two local speech-to-text engines. Speech-to-Phrase understands only a set of home-control commands but answers in under a second on a Green or a Raspberry Pi 4. Whisper transcribes free speech but takes around 8 seconds per command on a Raspberry Pi 4 and under a second on an Intel NUC. Piper generates the spoken replies locally. The Voice Preview Edition speaker detects its wake word on the device and works without Home Assistant Cloud.

The energy dashboard brings electricity from the grid, solar production, home batteries, gas and water into one view, along with individual appliances measured by smart plugs or sub-meters. It needs sensors that report energy in kWh; a sensor that reports only power in watts can be converted with the Riemann sum integral integration.

Who is Home Assistant for, and who should skip it?

It suits you if you own devices from several brands and protocols, want automations that keep running without the internet, care about where your data goes, or enjoy building things. It also suits people leaving a vendor that discontinued a hub or a cloud service, because integrations for most brands already exist and the data stays on your machine.

It does not suit a household where nobody wants to be the administrator. Someone has to apply updates, read release notes for breaking changes and keep backups. Home Assistant encrypts backups by default, and without the key from the emergency kit a backup cannot be restored, so losing that key is as bad as losing the backup. If your devices all come from one ecosystem and you are happy with its app, Apple Home, Google Home, Alexa or SmartThings will be less work. A reasonable middle path is to start with a Green, one Zigbee adapter and a handful of devices, and grow only once the basics feel routine.

Where to go next

Topics: Home Assistant, smart home, local control, open source

Diagram