Home Assistant is free, open-source smart home software that runs on your own home server and acts as the central brain for your smart devices — instead of each brand's app and cloud service running the show separately. It supports over a thousand device integrations, which means most of the smart bulbs, plugs, sensors, and thermostats you already own can very likely be brought into one unified system that keeps working even if a manufacturer's cloud service goes down or changes its terms.
Why run your own smart home hub instead of the manufacturer's app
- One app instead of five. Instead of separate apps for your lights, plugs, thermostat, and doorbell, Home Assistant gives you a single dashboard and lets devices from different brands automate together.
- Automations manufacturer apps don't offer. "Turn on the porch light at sunset, but only if someone's home" combines two brands' devices — something no single manufacturer app can do on its own.
- Keeps working if a cloud service shuts down. Smart home companies discontinue products and cloud services more often than people expect. Devices controlled locally through Home Assistant are far less exposed to that risk.
- Faster, more private. Local-only devices respond through Home Assistant without a round trip to a company's servers, and their usage data doesn't need to leave your home network.
What you need before starting
- A home server — the mini PCs covered in our hardware guide are more than enough; Home Assistant is lightweight.
- At least one smart device to connect — a smart plug is the cheapest, simplest first device to test with.
- Your home Wi-Fi network and its password handy.
Step 1: Install Home Assistant
The beginner-recommended installation method is Home Assistant OS, a purpose-built operating system that includes Home Assistant plus its add-on system out of the box. If you're running Proxmox or another virtualization platform (see our server OS comparison), Home Assistant OS installs cleanly as its own virtual machine, which is the setup we recommend for beginners because it keeps automatic updates and the add-on store fully functional. If you'd rather run it as a Docker container alongside other apps, that works too, but you'll manage add-ons and updates more manually.
Installation itself is straightforward: download the Home Assistant OS image, write it to a virtual machine or a physical boot drive, boot it, and after a few minutes it will be reachable at homeassistant.local:8123 from any browser on your network.
Step 2: Complete the onboarding wizard
On first visit, Home Assistant walks you through creating an admin account, setting your home's location (used for sunrise/sunset-based automations), and naming your home. It will also scan your network for devices it can already see and offer to set them up — don't worry about configuring everything at this stage, just get through onboarding.
Step 3: Add your first device
In Home Assistant, go to Settings → Devices & Services → Add Integration, and search for your device's brand (for example, "TP-Link Kasa," "Philips Hue," or "Govee"). Most popular brands have an official or community-built integration. Some connect directly over your local network with no extra hardware; others (like Hue) need their own hub, which Home Assistant then talks to. Follow the prompts — most integrations auto-discover devices already on your network and just need you to confirm and name them.
Step 4: Build one real automation
This is where Home Assistant starts to feel worth it. Go to Settings → Automations & Scenes → Create Automation, and build something simple and genuinely useful as your first one, for example:
- Trigger: Sun sets
- Condition: Someone is home (using your phone's location as a presence sensor, which Home Assistant supports out of the box)
- Action: Turn on the porch light
The visual automation editor lets you build this entirely by clicking through dropdowns — no code required. Once it's saved, it runs automatically in the background from then on. This single automation demonstrates the core value proposition: combining a time trigger, a location-based condition, and a device action that no single manufacturer's app offers together.
Step 5: Set up the mobile app
Install the official Home Assistant Companion app (iOS and Android) and log in with your server's address. This gives you a dashboard on your phone, notifications from automations, and — importantly — turns your phone into a presence sensor that other automations (like the one above) can use.
Common beginner questions
Do I need a Zigbee or Z-Wave hub?
Only if you're using Zigbee or Z-Wave devices (common for battery-powered sensors and many light bulbs, since these protocols use far less power than Wi-Fi). A small USB Zigbee or Z-Wave adapter plugged into your server, paired with Home Assistant's built-in coordinator software, works well for a starter setup — you don't need to buy a separate branded hub.
Will this replace Google Home or Alexa?
Not entirely on its own, but Home Assistant integrates with both, so you can keep using voice control through Google Home or Alexa while Home Assistant handles the actual automation logic behind the scenes.
Is it hard to maintain?
Once your core devices and a few automations are set up, Home Assistant runs unattended. You'll get periodic update notifications, which are optional to install right away — most people update every few weeks rather than immediately.
What to add next
After your first automation, natural next steps include adding a dashboard for your household, connecting more devices gradually rather than all at once, and exploring the Home Assistant Community Store (HACS) for additional integrations not in the default library. We'll cover ESPHome (for building your own sensors) and specific device recommendations in upcoming guides.