Home Assistant
Home Assistant is a home automation platform that connects supported devices and services through integrations.
Why consider Home Assistant?
Open source home automation platform focused on privacy, local control, and compatibility with thousands of devices.
Learn Home Assistant by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide3 sections
Home Assistant
Home Assistant is an open source home automation platform designed to operate securely and efficiently without relying on cloud services. By running on local hardware such as a Raspberry Pi or a dedicated home server, Home Assistant ensures your smart home operations process locally, keeping your data private and your system independent of internet outages.
Automating your home devices
The system focuses on allowing you to manage and automate devices from over a thousand different brands in one central hub. Once started, Home Assistant scans your local network to discover compatible devices automatically. You can then unleash a versatile automation engine to have your home work for you—for example, automatically turning on your lights when the sun sets or alerting you when you leave your garage door open.
Dashboards in Home Assistant let you display information about your home environment, visualize energy usage, and control your devices. You can customize the user interface heavily to suit your needs, making it easier to govern everything from lighting and climate control to your voice assistants.
Deployment environments and hardware
Because it runs locally, Home Assistant is typically deployed on hardware that you host in your home. The project officially recommends its tailored embedded operating system, known as Home Assistant Operating System. This minimal OS provides a complete ecosystem and simplifies updates, letting you run Home Assistant directly on devices like the Home Assistant Green, Home Assistant Yellow, a Raspberry Pi, or an ODROID device.
If you prefer to maintain your own operating system or leverage virtualization, Home Assistant also supports installation as a container. Home Assistant Container is a standalone, container-based version of the core platform that you can deploy on an existing Linux host or a NAS device.
Installing Home Assistant Container on Linux
If you opt for a containerized installation using Docker, you can run Home Assistant on your existing Linux environment. A container-based deployment does not have access to apps natively, but it is suitable for users comfortable with Docker.
To deploy Home Assistant Container using Docker CLI, you can start a new container with the official stable image. You must adjust /PATH_TO_YOUR_CONFIG to the folder where you want to store your configuration, and update MY_TIME_ZONE to your database time zone name (for example, America/Los_Angeles).
docker run -d \ --name homeassistant \ --privileged \ --restart=unless-stopped \ -e TZ=MY_TIME_ZONE \ -v /PATH_TO_YOUR_CONFIG:/config \ -v /run/dbus:/run/dbus:ro \ --network=host \ ghcr.io/home-assistant/home-assistant:stableAfter starting the container, Home Assistant is accessible via a web browser at port 8123 on your host's IP address (for example, http://localhost:8123 or http://homeassistant.local:8123). From there, you can begin the onboarding process to configure your home layout and adopt your first devices.
Related tools
More options with a similar category or technology profile.
McFly
Fly through your shell history with an intelligent neural network search engine.
cheat
Interactive command-line cheatsheets for system administrators and software engineers.
Pipenv
Python development workflow for humans uniting Pipfile, pip, and virtualenv.
Rye
Comprehensive Python package and workspace management tool written in Rust.