Home Assistant
Local first home automation that ties every smart device together
Home Assistant connects lights, sensors, plugs, speakers and thousands of other devices in one place and automates them locally, without each vendor's cloud. It is Apache-2.0, Python based, and has a huge integration catalogue.
Best for when
- you have smart devices from several brands and want one place for them
- you want automations that keep working when a vendor's cloud is down
- you enjoy scripting your environment
Watch out for
- the Docker install lacks the add on store, so many people end up giving it its own machine
- monthly updates sometimes change integrations, which can break automations
- the learning curve is real once you go past the defaults
One brain for a house full of apps
Every smart device brand wants its own app and cloud. Home Assistant talks to most of them, often locally, and lets you write automations that cross brands: turn on the hall light when the door sensor opens after sunset, whatever made either device.
Dashboards, energy tracking, presence detection and voice control come built in. For a developer it is also a satisfying playground, because everything is scriptable and the event system is open.
How to run it without regret
The container install is the core only. The full experience, with its add on store and one click backups, comes from the dedicated operating system, which is why many people give it a small machine of its own. Zigbee or Z-Wave devices also need a USB radio.
Your house now depends on it, so stability matters more than novelty. Update with care, keep the automatic backups, and keep remote access behind a VPN or the paid Nabu Casa service rather than an open port.