If there is one thing that is annoying about the smart home, you need to use more apps to do it all.
Existing ones have limitations: HomeKit has limited device support and only works on Apple devices; SmartThings has limited support and needs to buy hardware.
Home Assistant omits these issues.
A free tool, Home Assistant only requires a Raspberry Pi 3 or Raspberry Pi 4 to run. Once installed, you can connect it to hundreds of devices, thanks to its integrations, giving you one place to control everything in your home.
In addition, HomeKit is also compatible, allowing you to control devices that are not normally supported through the Home application.
Even better, Home Assistant allows you to create automations so that your smart home can operate automatically the way you want, through the rules you’ve set. Although you can do things similar to IFTTT, the automations here give you more control and run even faster.
Home Assistant can get complicated pretty quickly, so here I focused on the basics, system installation and operation, plus HomeKit setup and basic automation.
Home Assistant: Installation
Instead of running as an application on top of the Raspberry Pi operating system, Home Assistant runs its own operating system that needs to be installed from scratch.
To do this, you must first download the Etcher Whale, a tool for intermittent OS files on SD cards and USB drives.
Once downloaded and installed, insert the microSD card into a reader on your computer and run Etcher.
Select the Flash option from the URL, then you need to enter the correct URL based on the Raspberry Pi you have. The current options are:
This for Pi 4
This for Pi 3
You can check for updated URLs on the Home Assistant installation page.
Enter the URL you want, and then click OK.
Then click Select target and choose the microSD card from the list. Make sure you choose the right device, as the one you select will be deleted.
When done, click Flash and the operating system will be downloaded and then installed on the chosen SD card.
When you’re done, you can insert the microSD card into the Raspberry Pi, connect an Ethernet cable, and turn it on. Your Pi will start automatically in Home Assistant. Give Pi a few minutes to get started, then from a web browser, you can visit http: //homeassistant.local: 8123 /.
Home Assistant must first be set up, so you will receive a webpage telling you that it is set up and that the process can take up to 20 minutes, so you must wait for this job to complete.
After you’re done, you’ll be prompted to enter a username and password, so go ahead and then click Create an account. Then use the map to place your location and click Next.
On the next screen, you’ll see that Home Assistant has automatically detected some of the devices it finds on your home network.
You can click on any detected device to start setting it up, or you can skip it and install the devices later.
Whether you set up your devices during installation or do it later, the instructions are the same. To add new devices, go to Setup and then Integrations.
The first page will show you a list of detected devices: the same as during installation.
To add one, click on it. Here I selected Philips Hue, which asked me to press the button on the Hue Bridge, then click Submit.
Home Assistant then pulls up the list of Hue lights, entering them in the same rooms you set up. The sensors will also be detected, although you have to enter them manually in the areas (rooms).
Most detected devices are just as easy to configure. For example, with Tado I just had to enter my username and password to log in to my accounts. The discovered devices can then be placed in an area using the drop-down menus.
If you have other devices that are not detected, you can add them by clicking the Add Integration button and then searching for the one you want.
Setup is largely simple: I only added my Ring account by entering my username and password, although the current integration doesn’t support the Call Alarm, only the cameras and sounds.
Repeat until you have added all the desired integrations.
Keep in mind that some integrations need a little more work. For example, SmartThings requires some backend configuration. If you are experiencing automation, each has a dedicated help page on the Home Assistant Integrations page, which will take you through the installation step by step.
If you want to control where devices appear, you need to click Entities, find the device you want, select it, and then use the Advanced Settings drop-down menu to move its location.
Once you’ve added your devices, you can click the Overview link in the side menu and you’ll see the main dashboard with the devices grouped under Areas.
Devices that you can turn on and off, such as lights, will need to switch past them.
You can also click on a device such as some Hue lights to get advanced controls, such as color and temperature selectors.
Some devices, such as the Tado smart thermostat, receive their widget, which allows you to control more advanced options.
With Tado, you can select temperature and mode, for example.
If you want mobile control, there is the Home Assistant application for iOS and Android, which gives you the same interface, only mounted on the phone screen.
When you download and run this application, it should automatically find your Home Assistant server on the network; you must select this and then log in with your username and password.
Introductory notions about automation and scenes
One of the main advantages of Home Assistant is that you can create automations to run your Smart Home automatically.
To create a new one, go to the web interface and click Setup, and then click Automation. To add a new one, click Add Automation.
First, you need to enter the name of the automation. Make sure it’s descriptive, such as “Turn on garden lights automatically” and click Create.
Home Assistant will analyze the name you gave to the automation and then suggest devices to control.
For example, use lights and you’ll get a list of lights to choose from and set how you want them to respond.
After you have done this, you need to select the shutter button. There are a few options, but these are the main ones. The device allows you to run automation when a device is used, say when a light turns on or off.
The status allows you to select from the list of sensors, such as “Front Motion”, which, in my home, is activated when the beep detects movement.
Geolocation allows you to trigger depending on the location of the selected mobile device. The sun allows you to choose Sunrise or Sunset. Time allows you to choose a certain time of day.
There are other triggers, some of which require a bit of coding to work, and you can learn more about them on the Home Assistant Shutter page.
Finally, you can set a condition, in which the automation runs only if the condition is met. The most useful are the Hour or the Sunrise / Sunset. For time, you can set the hours before and after and the days applied (say, after 18:00 and before midnight, every day of the week).
For Sunrise, Sunset, you can set the condition to run before or after, and set a time offset, say 10 minutes after sunset. Compensations are entered as HH: MM: SS (01:00:00 means, for example, one hour).
For my automation test, I set my Hue kitchen lights to turn on when motion is detected by the Ring doorbell, but only after sunset.
Home Assistant has an entire scripting language that allows you to fully control automation by programming how you want it to respond.
I didn’t cover it here, because the visual interface will give you 99% of what you need and is much easier to use.
Finally, the scenes are similar to automation, in that you can select a bunch of devices and set their mode. The difference is that Scense can be added to an area and run manually.
For example, you might have a movie night scene that turns the heating on and automatically dims the lights.
Home Assistant: HomeKit Setup
Home Assistant is also compatible with HomeKit, allowing you to add Home Assistant-controlled devices to be discovered through the Apple Home app.
This allows you to add devices that traditionally do not support HomeKit. This is similar to running HomeBridge, though it’s worth checking for its different device support: for example, HomeBridge supports the call alarm.
To add HomeKit support, go to Setup and select HomeKit if it’s detected (if not, you’ll need to add it via the Add Integration button).
Follow the wizard and you can specifically exclude some devices. For example, Philips Hue is already compatible with HomeKit, so you don’t want to add lights twice and you should exclude them in Home Assistant.
When you’re done, click the Notifications icon (at the bottom left of the web interface) and you’ll see a HomeKit QR code. From the Home app on your phone, select Add accessory, then scan the QR code to add all Home Assistant devices to the HomeKit.
Then you can create automations and HomeKit scenes normally.