Home Assistant is an open-source home automation platform that is powered by a massive community of makers, tinkerers, and DIY enthusiasts. The software itself runs on numerous hardware and software platforms including the Raspberry Pi, Tinkerboard, Odroid, and Intel NUCs. You can even run the Home Assistant OS (HassOS) from inside a virtual machine if you wish. I run an Intel Nuc with multiple VM’s. One of which is the HassOS and to be honest I do not remember ever having to turn the VM on/off or reset. It has been solid as a rock! At first, I did install Home Assistant on the Raspberry Pi to test with but decided that I did not want another piece of hardware lying about and opted for the VM. I have not looked back since. For a full list of hardware and (VM Images), check out the HassOS installation section here.
So what were my first thoughts about Home Assistant? Well, the installation of HassOS on the hardware of choice is actually the easy part. The Learning Curve for configuration of the devices you want to add to Home Assistant was easily the most challenging. My aim for this post is to help you out a bit with the on-boarding. Here are my top tips for an easier onboarding experience to Home Assistant:
What are (Device) integrations?
Ok, so now that HassOS is installed we navigate around the software and easily start to get confused about what the heck we are meant to configure. If you head over to this webpage, you will be greeted by sheer volumes of possible devices and hardware that Home Assistant allows you to control. For example, your goal may be to use Home Assistant to Automate some lighting. Under the “Light” tab you will see 76 different integrations. Ranging from IKEA Tradfri smart bulbs through to the more common LifX and Phillips Hue integrations. These integrations pages are basically guides or configurations that you must follow to allow Home Assistant to control the devices.
What is YAML?
YAML stands for “Yet Another Markup Language”. It is a human-readable, data serialization language. It is commonly used for configuration files and yes, we use YAML for the configuration of our Integrations! In a nutshell, YAML is not a programming language, but a configuration language. It certainly is not hard to pick up and if I can manage to nut it out, then I’m sure you can too.YAML configuration exactly like above, be it a very simple example, the idea is the same throughout. Of note is the configuration.yaml document. The majority of all your integrations will end up inside this file, or similar .yaml files. YAML does follow a certain syntax, I would suggest having a read through the Home Assistant YAML page prior to diving in.
What are Entities?
Each individual device you add to Home Assistant via an Integration and Entity ID. (Yes, every single item, device, switch and automation, even non-physical items can have entities!) When you first install HassOS and run it, you may find that some devices are automatically found on your network are assigned an entity. As long as you remember that an entity represents a particular device then you cannot go wrong. For example, you may have 15 Phillips Hue Globes on the network, (Via a Bridge) each globe will have its own entity. It is this entity that defines the particular device. example “light.lounge” represents the Phillips Hue light in the lounge and you will need to reference that in your configuration integration.
Love Lace UI
You will hear the term ‘Love Lace UI” thrown around the forums and web a fair bit. This User Interface is somewhat newish to Home Assistant and is the main user interface that we see on the startup of Home Assistant. Everything we do generally speaking is via the Love Lace UI. A Demo of the Love Lace Ui can be found here.
The User Interface is made up of a few components:
- Cards – These are a bit like tiles that can be laid out in the UI to display different information. HA has 24 predefined cards. The HA community, however, has many more. I use cards to display switches which I can tap to turn lights on and off. I also use cards to show the current weather forecast and check the temperatures around the house. One card even lets me view the IP CCTV cameras I have around the house.
- Customization – The customization section allows you to change the layout of the cards to suit the view you want. You can add tabs and change the layout as you see fit. If you decide to run the Love Lace UI on a tablet, then you may need to customize the look and feel.
Well, I hope I have not scared you off or bored you to death, but these are the things I wish were explained to me a bit better before getting stuck into Home Assistant. Stay tuned for more on Home Assistant!