Skip to main content
Account

Home Assistant

Home Assistant is an open source home automation server that runs on your own hardware. Learn how it handles devices, automations, and add-ons locally.

Status
Stable
Category
Platform
Subcategory
Installable Platform
License
Apache-2.0
Technology matrix Skip Just not for me See the matrix

Home Assistant is a Python home automation server that runs on your own hardware and talks directly to smart devices over their native protocols instead of routing everything through a vendor cloud. It is usually deployed as Home Assistant OS on a Raspberry Pi, NUC, or VM, and exposes a web UI, REST API, and WebSocket API.

The core is an event bus with a state machine: every device is an entity with a state, and “integrations” (over 2,000 of them) push state updates onto the bus. Automations are triggered by state changes, time, or events, and are authored either in YAML or in the visual editor — both compile down to the same representation. For local device access it ships with add-ons for Zigbee (ZHA, Zigbee2MQTT), Z-Wave JS, Matter, Thread/OpenThread Border Router, and MQTT via Mosquitto. The “Supervisor” architecture runs these add-ons as Docker containers alongside core.

It is the reference project for local-first smart home: automations keep running if your internet drops, device state does not leave the LAN unless you opt into Home Assistant Cloud (Nabu Casa) for remote access and Alexa/Google Assistant bridging. The ESPHome project, which generates firmware for ESP32/ESP8266 sensors that speak Home Assistant’s native API, is maintained by the same organization.

Email signup loads here. You can also manage email preferences in account settings.

Build Home Assistant? I'll show you where engineers get stuck with it → Back free content for the community →