×

App 12 – Home Assistant

Home Assistant (HA) is a must-have app for anyone who has any IoT devices and wants to do more than run the simple built-in commands. Home Assistant is an open-source system that gives you local control of your devices with a world of add-ons and utilities that enables powerful interactions with all your smart devices, plus, by running the commands locally, you don’t have to rely on the Internet/cloud for functionality, or send all your data to some far-flung server.

Now, I have to admit, at the moment, I don’t have that many self-configured automations, but what I do have allows me to take full control of the devices I have in my house.

Home Assistant is very customisable and can be deployed in many different ways. As I’m running a series of posts about self-hosting via docker, that’s the one I will be discussing here, but there are turn-key solutions in the form of Home Assistant Green – A pre-built deployment of HA on a mini-PC.

For the more adventurous, there is Home Assistant Yellow, which involves some customisation of a Raspberry Pi.

Or you could build HA on a dedicated Raspberry Pi, an Odroid device, a NUC PC, a Linux system, Windows, MacOS, the list goes on – it is very flexible.

As mentioned, I use my HA via docker, the docker image I used was from here – https://hub.docker.com/r/linuxserver/homeassistant and the compose.yml file is shown below

Once deployed, the system is accessed via the browser on the exposed port (default 8123) and you can start adding your IoT systems via the use of Integrations.

An Integration is essentially an API that allows the connection of your smart devices to HA. So, for example, I use the Phillips Hue integration to connect HA to my Phillips Hue bridge – then HA can discover all the lights and switches in my Hue eco-system and bring them across to HA for configuration & control

Once the devices have been discovered, you can create automations, configure scenes (if they support scenes), and even build your own scripts to conduct advanced actions and link triggers to other IoT devices.

Data can be retrieved from any connected devices – below is an example of the data from my Brother laser printer.

Automations allow you to create a wide range of actions based on data trigger events, so for example if my toner gets to a defined threshold, I can trigger a txt message or email to be sent to remind me to purchase some more before it fully runs out.

The possibilities of HA are almost endless, and thanks to the huge online community of developers, there are simply hundreds of services, templates, and add-ons available for nearly every make and model of smart device on the market today. To be honest HA deserves a series of posts of its own – something I might do further down the line, once I have ticked off all the other things on my to-do list