Why Home Assistant over commercial hubs
Most commercial smart home systems require a cloud connection. If the vendor's servers go down or the company shuts down, your devices stop working. Home Assistant runs locally. Automations trigger in under a second without an internet round-trip, and your home keeps functioning during internet outages.
Home Assistant supports Google Home, Amazon Alexa, Apple HomeKit, Philips Hue, IKEA Tradfri, Zigbee, Z-Wave, MQTT, and thousands of other devices through its integration library. You can migrate gradually from existing ecosystems without replacing everything at once.
Choosing the right installation method
Home Assistant comes in several installation forms:
- Home Assistant OS (this guide): A purpose-built Linux image for dedicated hardware. Easiest to install and maintain, full Add-on Store support, recommended for beginners.
- Home Assistant Supervised: Installs on existing Debian. More flexible but requires maintaining the OS yourself.
- Home Assistant Container: Runs in Docker. Lightweight but lacks the Add-on Store and some features.
Requirements
For this guide you need:
- Raspberry Pi 4 (2GB minimum, 4GB recommended) or Pi 5
- 32GB+ microSD card or USB SSD. SSD is strongly preferred as Home Assistant writes to storage frequently.
- Raspberry Pi Imager on your computer
- Wired ethernet connection for your Pi
Step 1: Flash Home Assistant OS
Open Raspberry Pi Imager. Click Choose Device and select your Pi model. Click Choose OS, scroll to Other specific-purpose OS, then Home Automation, then Home Assistant OS. Pick the version for your Pi model.
Select your storage under Choose Storage, then click Write.
Unlike Raspberry Pi OS, Home Assistant OS manages all configuration through its own web interface. Do not set a hostname, username, or SSH keys in the Imager options.
Step 2: First boot and onboarding wizard
Connect ethernet and power on the Pi. First boot downloads and installs Home Assistant components and takes 5 to 10 minutes. From any browser on the same network, navigate to:
http://homeassistant.local:8123
If that address does not resolve, find your Pi's IP in your router's DHCP lease table and go to http://192.168.1.xxx:8123 instead.
The wizard creates your admin account, sets your home location for sunrise and sunset automations, and optionally shares anonymous usage statistics.
Step 3: Add your first devices
After onboarding, Home Assistant shows a list of devices detected automatically on your network, which often includes smart TVs, media players, and smart home devices using local protocols.
To add integrations manually: go to Settings, then Devices and Services, then Add Integration. Search for your device type or brand.
Common first integrations:
- Philips Hue: Discovers your Hue Bridge automatically on the same LAN
- Google Cast: Auto-discovers Chromecast and Google Home devices
- MQTT: Required for Zigbee2MQTT and other MQTT-based device integrations
Step 4: Create a basic automation
Go to Settings, then Automations and Scenes, then Create Automation. An automation has three parts: trigger, optional conditions, and actions.
A simple example that turns on a light at sunset:
- Trigger: Sun - Sunset
- Condition: Person - Someone is home (optional)
- Action: Call service - light.turn_on - select your light entity
Save the automation. It will fire automatically each evening at local sunset time.
Next steps
Once Home Assistant is running reliably:
- Install HACS (Home Assistant Community Store) for thousands of community integrations not in the official library
- Add a Zigbee USB coordinator and follow our Zigbee2MQTT guide for local Zigbee device control
- Set up WireGuard VPN for secure remote access without exposing Home Assistant to the public internet
- Connect Node-RED for more complex visual automations
Raj runs a fully self-hosted smart home on three Raspberry Pi units and has contributed to several open-source Home Assistant integrations.