Home Assistant
Home AutomationOpen-source home automation that puts privacy first
Replaces SmartThings, Google Home
Automation hub
Local-first home automation with no cloud dependency.
Home Assistant is the brain; Zigbee2MQTT frees your Zigbee devices from vendor hubs; ESPHome turns cheap ESP32 boards into fully local sensors and switches; Node-RED covers the automations that outgrow the built-in editor; and Frigate adds real-time camera object detection on your own hardware. This is the reference local-first setup — every device keeps working when the internet doesn't.
Open-source home automation that puts privacy first
Replaces SmartThings, Google Home
Automation hub
Bridge Zigbee devices to MQTT without vendor hubs
Replaces SmartThings
Zigbee devices without vendor hubs
Configure ESP devices with simple YAML
Replaces SmartThings
DIY sensors on ESP32 boards
Flow-based programming for event-driven apps
Replaces Zapier
Visual automation flows
Local NVR with real-time AI object detection
Replaces Google Home
Camera NVR with object detection
Last reviewed Oct 11, 2026 · 650 words
The piece this stack needs that its card list does not show is an MQTT broker. Zigbee2MQTT publishes every device to MQTT and Home Assistant subscribes, so install Mosquitto (64 MB by the directory's estimate) before either of them, and most of the wiring falls into place. The five listed apps come to about 4,096 MB of RAM combined by the directory's estimates; Frigate is half of that at 2,048 MB and Home Assistant takes 1,024 MB.
Home Assistant is the hub, and each of the other four connects to it by a different route.
| App | Connects to Home Assistant via | Rated | Directory RAM estimate |
|---|---|---|---|
| Zigbee2MQTT | MQTT broker, with discovery | Medium | 256 MB |
| ESPHome | Its own native API, directly | Medium | 512 MB |
| Node-RED | Home Assistant websocket API and an access token | Easy | 256 MB |
| Frigate | MQTT events plus its Home Assistant integration | Hard | 2,048 MB |
Zigbee2MQTT owns the USB Zigbee coordinator and translates Zigbee into MQTT topics; Home Assistant's MQTT integration discovers the devices automatically. ESPHome compiles YAML-defined firmware for ESP32 boards, flashes it over the air, and the devices then talk to Home Assistant directly without the broker. Node-RED runs flows that call Home Assistant services and react to its state changes. Frigate watches camera streams, runs object detection locally, and publishes detections to the same broker so Home Assistant automations can react to "person at the front door".
Mosquitto first, with a username and password. Then Home Assistant with host networking, which the catalogue notes is required for mDNS and SSDP device discovery. Then Zigbee2MQTT with the coordinator passed through as a device; plug the stick in on a short USB extension cable away from USB 3 ports, which are a known source of 2.4 GHz interference. Pair devices one room at a time.
ESPHome next, once you have a board to flash. Node-RED only when an automation outgrows Home Assistant's built-in editor. Frigate last: it is the only Hard-rated member, benefits from a Coral TPU or similar accelerator, and its configuration is involved enough that you want everything else stable first.
Because add-ons only exist on Home Assistant OS and Supervised installs. The Container install, which is what you get from the catalogue's compose file, runs Home Assistant core alone. Guides that say "install the Mosquitto add-on" or "install the Zigbee2MQTT add-on" assume a Supervisor that is not there. On a Docker host, every add-on in this stack becomes its own container that you define and update yourself. That is the most common mistake with this combination: mixing guides for the two install types and wondering why the menu items are missing. Pick one model up front. If you want add-ons managed for you, run Home Assistant OS on dedicated hardware or a VM.
If Home Assistant sits behind a reverse proxy, add the proxy's IP to trusted_proxies in configuration.yaml or logins fail. Keep Zigbee2MQTT's frontend, ESPHome's dashboard and Node-RED's editor on the LAN; each can reconfigure or reflash your house. Frigate's recordings can fill a disk, so give it a dedicated volume.
For backups, Home Assistant's /config folder holds almost everything that matters. Zigbee2MQTT's data folder holds the coordinator's network state, and losing it means re-pairing every device. Back up ESPHome's YAML and Node-RED's flows too; both are small.
Mosquitto, Home Assistant and Zigbee2MQTT in the first weekend, ESPHome when you build your first sensor, and Frigate only once you have the hardware for it. The first month with Home Assistant covers which automations to build first.