The Home Assistant can be a great base for the home automation system. In this post, I’ll show you my first Home Assistant configuration for a couple of devices.
Why the Home Assistant as a smart home system?
- First of all, Home Assistant is an open-source project that is actively developed and has a strong community.
- Its main advantage is the ability to integrate multiple devices from different vendors. Of course, there are systems like Google Home or Apple HomeKit which can integrate devices from different vendors, but their possible integrations are very limited in comparison to the Home Assistant.
- What else, the Home Assistant has a really good-looking frontend in the form of Lovelace dashboards, which can be configured through a user interface or YAML files. Moreover, it that can be extended with custom components. Such components are written by many developers and then published on GitHub. But of course, you can create your components with basic knowledge of JavaScript, HTML, and some CSS.
- The Home Assistant operates locally without the need for cloud, so it can be run locally without external access which improves safety. If you want to preserve external access to the system, then configuration with a VPN will be still very safe.
- It is primarily written in Python, enabling the creation of custom backend components in this language.
- Automations can be created easily through a user interface or YAML files, using as a simple set of rules and actions.
My example Home Assistant configuration – the first version
I have set up a basic configuration of a Home Assistant system for several devices such as lights, sensors, media, and air purifiers. The used hardware is listed below.
The complete system configuration can be found on the GitHub repository – mdrwiega/home_assistant_config.
Installation
There are several options for installing Home Assistant (HA). For example, it can be used ready Linux-based system with pre-installed Home Assistant, the docker image, or manual installation from packages. More details about HA installation methods can be found at home-assistant.io/installation.
I chose to use the docker image with HA, for its simplicity and portability. I had in mind that the server can be switched even between different architectures (arm, amd64) with minimal effort.
And this turned out to be a good choice because as I initially ran the system on a small, single-board computer Asus Tinker Board. But later moved to a higher-performance server base on amd64 architecture with an SSD for better performance and robustness.
Dashboard views
The smart home system user interface consists of a few views. The first is the main view and two others are used for the configuration and maintenance of the devices.
Main view
Devices configuration/maintenance
Server and network
Software
Integrations
Application | Integration | Description |
---|---|---|
Windy.com | iframe | Weather map |
Airly.com | airly | Outdoors air quality |
Met.no | Weather Forecast Card | Forecast (Meteorologisk institutt) |
SpeedTest.com | speedtestdotnet | Monitoring of the internet speed |
Custom cards – Lovelace dashboard
- Xiaomi Vacuum Card
- Battery Entity
- stack-in-card
- air purifier cards are my custom cards
Hardware
Lights
Device | Connectivity | Integration | Description |
---|---|---|---|
Yeelight Ceiling Light (YLXD01YL) | WiFi/Bluetooth | yeelight | 32 cm, 1800 lm, 28W, 2700-6500K |
Yeelight Ceiling Light (Jiaoyue 480, YLXD05YL) | WiFi/Bluetooth | yeelight | 48 cm, 2200 lm, 34W, 2700-6500K |
Air Purifiers/Humidifiers
Device | Connectivity | Integration | Description |
---|---|---|---|
Xiaomi Air Purifier 2S | WiFi | xiaomi_miio | <=288 m3/h, 21-37 m2, 31-66 dB, 1,5-31 W, HEPA |
Xiaomi Air Purifier 4 | WiFi | xiaomi_miio | <=400 m3/h, <50m2, 32-63 dB, <30W, HEPA H13, Ionizer |
Smartmi Evaporative Humidifier | WiFi | xiaomi_miio | 240 ml/h, 4l tank, 34-47 dB, <40m2, 8W |
Sensors
Device | Connectivity | Integration | Description |
---|---|---|---|
Xiaomi Temperature & Humidity 2 | Bluetooth (BLE) | Xiaomi BLE | resolution: 0.1 oC 1% RH |
Vacuum Cleaners
Device | Connectivity | Integration | Description |
---|---|---|---|
Xiaomi Roborock S5 | WiFi | xiaomi_miio | Cleaning robot with lidar |
Media
Device | Connectivity | Integration | Description |
---|---|---|---|
Ikea Symfonisk Speaker (Sonos) | WiFi | Sonos | Smart speaker |
Samsung TV UE55NU7172 | WiFi | samsungtv | Tizen based |
Network
Device | Connectivity | Integration | Description |
---|---|---|---|
TP-Link Archer C7 (AC1750) | Eth/WiFi | Router, 1750 Mb/s a/b/g/n/ac, 2.4/5 GHz |
Others
Device | Connectivity | Integration | Description |
---|---|---|---|
C&H Veritas | WiFi | gree | Air conditioner, 3.5 kW power |
Brother DCP-1610W | WiFi | brother | Laser printer |
Linak desk | Bluetooth | linak_desk | Electrical desk with adjustable height |
Conclusion
Home Assistant is a powerful system for creating a smart home. It can be easily configured and it provides a wide range of features and integrations.
The next topic is reliability which is a key value behind the smart home system. Based on my experience, I think the Home Assistant is reliable if configured correctly. I would recommend disabling automatic updates as some of them contains breaking changes. So, if you need to update the system it is better to do it aware. Another thing is related to server reliability. That is why I wouldn’t recommend the installation of the Home Assistant on single-board computers equipped only with an SD memory cards interface. I have found that the running system can quickly cause memory card failure. For better reliability, I recommend using a system with an HHD or SSD.
Links
- The presented configuration on GitHub repository
- Awesome Home Asistant List
- Home Assistant Demo!