If you are new to Home Assistant this will be helpful for you. A small intro into Home Assistant and then the surrounding ecosystem which is huge.
This article was created for the local self-hosted meetup I created in Cologne. The first event was about Home Assistant for beginners and I figured I could write this into a blog post.
Unfortunately, Meetup.com does not allow me to send an email to my attendees with too many links.
While others were going out for Halloween 👻 🎃 we had a great nerdy 🤓 evening with tasty food from my coworker Tim.Backt who is going crazy with baking and cooking 😊
Home Assistant in General
Home Assistant is one of the biggest projects on Github according to the GitHub Octoverse from 2022.
Home Assistant is having a huge impact on Smart Home.
Interesting fact: Did you know that Home Assistant is used as a test platform by many device manufacturers? This potentially means that devices will be implemented and tested on the Home Assistant Matter controller before others; cool!
Who is developing Home Assistant and how do they make money?
via Home Assistant Cloud (monthly subscription) they pay the devs and even things like a security audit.
Home Assistant Cloud is not the typical cloud. It will "just" allow you to access your "local" Home Assistant instance from outside, the bad bad internet. That configuration is done via a click instead of going into your router and setting things up.
Additionally, Home Assistant Cloud makes it easy to integrate Google Assistant and Alexa. You still can configure Google Assistant without the Home Assistant Cloud, which is pretty technical and annoying.
The money for that service is used for paying a few full-time roles to work on Home Assistant. If I can count the team has 29 members at the moment according to their website:
What problem does Home Assistant solve?
Let's say you buy a smart light. Most manufacturers will force you to buy a Smart Home Hub as well to control the devices. Now you need to install the app on your phone and set everything up.
Nice, you now can control your devices from your phone or automate something in the app. Like a time-based trigger.
Let's say you now want to buy a sensor that will allow you to track a person in the room via motion, mmWave, or whatever. However, the manufacturer of your smart light does not offer such a sensor or it is way too expensive.
Now you can buy a sensor from manufacturer B. This will also need a different smart home hub and a different app. Even with standards like Zigbee and Zwave does not work well or at all.
Home Assistant can connect both Hubs via integrations. Now you can create an automation with all devices from each manufacturer that were not compatible.
You most likely have to have a lot of Hubs but now you can at least use all of your devices together. Also you can now just use one app, the Home Assistant Companion App instead of all the different ones from manufacturers. This is all done via the Home Assistant integrations of which we currently have 2500+:
There is still one problem remaining: Each vendor tries to create their ecosystem with those hubs. They even release different versions of their hub and make older ones incompatible. It is a nightmare.
There are community projects like Zigbee2MQTT or the new Matter/Thread standard which hopefully will get rid of this nightmare. More to that later.
Where do I install Home Assistant?
Home Assistant runs on regular computer hardware(x86), some ARM SBCs (Single Board Computers), and also in a VM. There are also 3 distinct Home Assistant devices sold by Home Assistant. Let's go into the hardware. But first, I tell you about my journey to give you some context for your personal decision.
My personal Home Assistant journey
- I think I started in 2017 with Home Assistant with Hass.io (later renamed/evolved to Home Assistant OS) on my Raspberry Pi 3. (My SD card got only corrupted once and that might be related to a power outage.)
- Then I moved my installation to my Ubuntu server in the supervised mode.
- One day supervised was deprecated on Ubuntu and only supported Debian. Therefore I moved to Home Assistant OS on a VM on my Ubuntu server. QEMU and CLI.
- At last, I got myself dedicated hardware, the Home Assistant Blue. Now my home automations are not affected by reboots and tinkering on my Ubuntu server.
I am happy with the dedicated device that will be taken care of by the Home Assistant team. So let`s go into the installation methods before we talk hardware. Here is the official part of the docs for the Installation methods for Home Assistant.
Let's summarize the 4 Installation methods:
- Home Assistant Operating System:
Use this. It is the easiest and best experience!!!
Minimal Operating System optimized to power Home Assistant. You can and should not install anything on Home Assistant OS. It is designed for running Home Assistant only. This gives you updates from the maintainers and a reliable experience. It comes with Supervisor to manage Home Assistant Core and the Add-ons.
- Home Assistant Container: Standalone container-based installation of Home Assistant Core (e.g. Docker). You will not have Add-Ons.
- Home Assistant Supervised: Manual installation of the Supervisor. Only runs on Debian. You will have Add-Ons however, this is for advanced users only.
- Home Assistant Core: Manual installation using Python virtual environment. You will not have access to Add-Ons.
What Hardware should I use?
If you have a Raspberry Pi 3 or up in your drawer then use it and start with it. If you have an old computer or laptop lying around, that is also fine. As long as you have ethernet you will be fine. And if time tells you want to have a different device you can easily switch with a backup. It is super easy.
If you need to buy hardware I would recommend you a ThinClient. These are small Desktop PCs often used in corporate environments. You can find tons of used ones for a good deal on eBay. You can get them for around 10 - 30 Euros.
ServeTheHome has a good write-up about this form factor: Introducing Project TinyMiniMicro Home Lab Revolution.
Do not think too much about which spec you need. Everything will be more than enough to run Home Assistant. Just pick one that fits your budget. Another option is the Intel NUCs. Though these are more expensive.
There are 3 hardware projects created by the Home Assistant project. Do not worry, you will not miss out on anything by not choosing them. You can add Zigbee and other features via dongles later.
Home Assistant Blue
This is a Hardkernel Odroid N2+ with a nice case. The rest is a standard Odroid N2+. The Home Assistant Blue is discontinued but you still can get the Odroid N2+. That is what I am running because I wanted to support the project. I would not buy this again for the price of 115+ Euros.
Home Assistant Yellow
A PCD designed for the Raspberry Pi Compute Module 4. It has
It has a lot of features built-in like Zigbee, however, with shipping, tax, and customs you are way over 200 Euros.
Home Assistant Green
A less expensive and less feature-rich alternative to the Home Assistant Yellow based on the Rockchip RK3566 SoC with quad-core Arm Cortex-A55 CPU and 4 GB of memory.
It is more affordable with 110 Euro + shipping but still too expensive in my opinion.
Extending Home Assistant
You can stop now. You have a device with Home Assistant, your smartphone app and buy devices that are listed compatible in the integration list. However, the fun just starts now.
Let's first explain what Add-ons are.
These are only available for Home Assistant OS and the supervised installation methods. These are completely unrelated software projects which come in a preconfigured package and you can install them via the UI and configure them via the UI (if needed).
You can install all the Add-Ons on your own on a second server and then configure them to use with Home Assistant. But the Add-On system makes it easy and convenient. Especially you get updates for those as well.
What can I do with Add-Ons?
- Well, you can and should for example install the MariaDB Add-On and let Home Assistant do all the work with a database instead of a SQL file. This will improve performance by quite a bit!
- You can add an MQTT broker like Mosquitto broker, which will allow you to use use MQTT protocol for devices. Often needed for other projects like Zigbee2MQTT.
- You can use Duck DNS as a DynDNS service and update your home IP.
- Add the project to use a lot of smart home devices by a various amount of vendors.
- You can install applications that have nothing to do with Home Assistant like The Lounge a web IRC client or Uptime Kuma like I do.
- ESPHome to add ESP8266 or ESP32 based devices to Home Assistant. These can be DIY electronic devices with sensors, motors, paper, or even of the shelf components like the AirGradient air quality sensor. Here is the GitHub repository to integrate the Air Gradient with ESPHome.
- Google Drive Backup for having automated offsite Backup! This saved my bacon quite a few times.
- Home Assistent Core Add-Ons: Already installed, no need to add
- Home Assistant Community Add-Ons - Third party software which you might need/want on your Home Assistant device
- Home Assistant Add-On: Google Drive Backup - Allows you to automatically move your backups to Google Drive
- There are several community Add-Ons on the Home Assistant Forum as well
There are quite a few popular dongles for Home Assistant which allow you to add either Zigbee, Zwave, or Matter/Thread devices.
- Home Assistant Sky Connect - built by Home Assistant and supports Zigbee and Matter/Thread
- Sonoff Zigbee 3.0 Dongles - Popular Zigbee Dongle. Apparently, there are different versions out there: So look out for what you need
- ConBee II - Another popular stick
Before you buy a Dongle check what devices you want to use and their compatibility.
- Zigbee2MQTT - connect many manufacturer devices with Home Assistant
- Use USB 2.0 extension cables for dongles, especially 2.4GHz (Zigbee, Mouse and Keyboard Dongles)
- Zwave no idea about that, but there are docs: Supported Z-Wave USB Sticks & Hardware Modules
- ESPHome - Flash common WiFi devices with your own Firmware, and create DIY devices
- Node Red - Third-party visual automation system
Random Rabbit Holes
There are plenty of other projects that will enrich your Home Automation time by quite a lot.
- Valetudo - Open Source Vacuum cleaner firmware
- ESPresense - Tracking devices like phones, and watches via Bluetooth
- Tasmota - Alternative firmware for common WiFi devices like Sonoff, Tuya, etc. (similar to ESPHome)
- WLED - LED Firmware to control LEDs via App, Home Assistant, Web, etc
- QuinLED - Hardware project for WLED
- Home Buttons - Epaper Display with 4 or 6 Buttons. Integrates into Home Assistant
- AirGradient - Air Quality Sensor Device. ESPHome firmware by me. There are others out there as well
- Home Assistant Tag Reader - NFC Tag reader. You can build Tony Box or automate stuff via NFC tags
- Everything Presence One - mmWave sensor for person tracking in rooms
- OpenEPaperLink - ePaper tags as displays for Home Assistant
- Upsy Desky - control your standing desk
- HACS - Home Assistant Community Store for easy integration of third-party plugins, themes, etc
Additional resources from the Meetup:
I hope this helps you when starting out with Home Assistant.
If I miss anything crucial let me know!