How to get started with Home Assistant

house with a lightbulb floating above Steps: 30, Sampler: Euler a, CFG scale: 7, Seed: 182016107, Size: 1024x512, Model hash: 5d5ad06cc2, Model: mdjrny-v4

Introduction

2017 was the year I had my first encounter with home automation. I bought a set of KlikAanKlikUit (abbreviated KaKu). This set contained a remote with 2 on/off buttons and 2 wall socket connectors (APA2-2300R). The convenience of operating the lights while seated on the couch was quite convenient. Was it needed? No. Was it fun? Yes! I wanted more: the doorbell, timers on the light, sunset-controlled lighting, and everything else.

I started with running Domoticz on a Raspberry Pi computer. Although Domoticz was functional, the user interface wasn't what I would have preferred. Since the API was changing often at the time, I did what every developer does: make my own. It named it DOMUSTO and made it open source.

This part describes how I gave Home Assistant a try in order to replace DOMUSTO as well as the hardware I am using. I hope it helps others to get quickly started. Spoiler: I gave up DOMUSTO and I've switched to Home Assistant permanently.

Table of contents

Home automation tasks

The possibilities are endless with home automation. Before switching, I chose a few things that I truly required Home Assistant to complete.

Software

Almost a year ago, a friend of mine started to use Home Assistant in his home and was quite fond of it. I gave it a try but could not get it to play a mp3 file when my doorbell rang. Reason for me to stay with my own DOMUSTO.

Now almost 1 years later he showed more and more cool stuff in Home Assistant which I would never be able to program in DOMUSTO. I am now at the point that I have to make a choice to either overhaul the old DOMUSTO code or switch to something else. Time to give Home Assistant another try.

Hardware

To give you a better understanding I here describe the hardware I use for my home automation:

Item Protocol Model Price Store
RFXcom 433mhz transceiver 433Mhz RFXtrx433E € 109,95 online
Smart meter cable P1 P1 Smart meter cable € 19,95 online
RPI, power adapter, sd card n/a RPI3B starter kit € 60,95 online
RPI, power adapter, sd card, RFXcom** n/a RPI3B starter kit + RFXtrx433E € 160,95 online
Wireless doorbell 433Mhz Select Plus 433mhz wireless doorbell € 5,95 Action
2x wall plug + remote 433Mhz KaKu APA2-2300R € 24,99 DIY store*
3x wall plug + remote 433Mhz KaKu APA3-1500R € 29,99 DIY store*
Sunscreen controller 433Mhz KaKu ASUN-650 € 41,99 DIY store*
Wall push button 433Mhz KaKu AWST-8800 € 20,99 DIY store*
Wall dual push button 433Mhz KaKu AWST-8802 € 22,99 DIY store*
Build-in TL-light switch*** 433Mhz KaKu AWMR-300 € 31,99 DIY store*
Build-in switch 433Mhz KaKu AMU-500 € 34,99 DIY store*
Temp + Humidity sensor 433Mhz 433MHz Weather Humidity € 10,62 Banggood
Fibaro Smoke detector Z-wave Fibaro Smoke detector € 49,95 online
Apple TV LAN/Wifi Apple TV € 169,00 online
Philips HUE GU10 spots Zigbee Philips HUE GU10 spots (2 pack) € 49,99 online
*   Dutch DIY stores like Gamma and Karwei regularly have discounts on KaKu devices
**  The kit comes without a SD card, make sure you order it when you don't have one
*** For fluorescent light make sure you use the AWMR-300 and NOT the AWMR-230

Keep in mind that some components are outdated or are even not the best choice anymore.

Where to run Home Assistant?

Installing Home Assistant (abbreviated HA) is pretty straightforward. Just follow the steps in their installation guide. I am running Home Assistant OS on a RPI3 and it runs fine. If you have to buy a new RPI, I would recommend buying a RPI4 since it has more processing power.

Installing Home Assistant Operating System on for example a RPI instead of Home Assistant as a web application is something I would advise (and is recommended by HA as well). In HA OS, the Home Assistant team manages the OS to be configured exactly what system services it needs. As an application on your webserver (or Docker environment), it is your obligation to keep everything up to date and functional with HA's requirements.

Two of the four installation methods, copied from the installation documentation:

Home Assistant Operating System: Minimal Operating System optimized to power Home Assistant. It comes with Supervisor to manage Home Assistant Core and Add-ons. Recommended installation method.

Home Assistant Container: Standalone container-based installation of Home Assistant Core (e.g. Docker).

It's important to think about how HA will access USB devices. It could be difficult for the HA Docker container to connect to the USB devices plugged into the NAS. On a RPI this is managed by Home Assistant Operating System, which makes things much simpler.

Also keep in mind to use a decent power adapter for your RPI. All the USB controllers will take some power. For example mine has:

This is already 3 USB devices. You might want to connect an USB hard drive and all 4 ports are occupied.

Now that we've covered the installation, let's talk about the devices & services I am using.

RFXcom

The first, and for me most important device is the RFXcom. I use it to control all my KlikAanKlikUit devices.

RFXCom 433Mhz transceiver
RFXCom 433Mhz transceiver

My biggest issue with this was to migrate the codes used in DOMUSTO to Home Assistant. I've been using some hand made codes in the past. Therefore there is no physical button I could press to teach HA the correct codes. The trick was to reverse engineer the codes so HA could understand them.

The doorbell worked very easy. I just had to press the button and HA understood the code it was sending.

Smart meter cable for P1

This was a plug and play. I just connected the cable with the P1 port of my electricity meter and Home Assistant did the rest.

Temperature and humidity sensor

These are found by the RFXCom service automatically. Keep in mind to label them properly with a name you will understand later. I took the batteries out of each one to make the process simpler, and then I placed each one back in one at a time. Then I could quickly determine which had been found in HA.

Fibaro smoke detector

In order to detect the Fibaro Z-wave smoke detector, I needed something that could read Z-wave signals. I can't remember the brand, but my dongle looks like this.

Z-wave usb dongle
Z-wave usb dongle

Plugging in the dongle was simple. Home Assistant took some time to find each of my smoke detectors. Smoke detectors take a short nap in order to conserve battery life. As a result, it took some time for everything to be identified. Unlike two of my friends, I did not experience any false alarms or other problems with these detectors.

Apple TV

Up until the most recent Home Assistant update, the Apple TV was a problem. It creates a bridge so that Home Assistant can function as an Apple TV control. The best part is that you can now see if Apple TV is currently playing. For instance, you may switch the lights off when the movie starts and back on when it pauses.

Presence detection with Apple HomeKit

We have an Apple TV, therefore it also serves as the Apple HomeKit hub in our household. This is highly useful for detecting presence. We simply leave that up to HomeKit, using virtual switches in HA that are managed by HomeKit. The Home Assistant app can be used to detect presence instead. One drawback is you should expose your HA installation to the Internet. Something I would rather avoid doing.

Conclusion

This concludes the first part of my Home Assistant guide. In part 2, I tell you all about my must have Home Assistant add-ons 🚀