Application virtualization, IoT and Cloud Computing, Blog of Sacha Thomet

My Smart Home – Chapter 2: Home Assistant

After my smart mirror project which was exciting, I can still only see the values of the integrated sensors on the mirror. The problem that I can’t control my smart devices from one place still exists.

The conglomeration of smart devices in my home is very various, I need to work with something which is open for almost everything imaginable.

On Facebook, I saw a post of an acquaintance who adverted for Home Assistant (home-assistant.io). Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control. Perfect to run on a Raspberry Pi.

Hass.io (Home Assistant) is still in development but works already good. I’ve started with version 0.48 or so and now in December 2017 we are on 0.60.

First I started with Hass.io on a Raspberry Pi 3, but then I’ve upgraded my Synology NAS and the new one is able to run Docker, so I moved my Home Assistant to a Container on my NAS.

I don’t write here now a post how to install and run Home Assistant, that you can find in Getting started on hass.io, the intention of this post is a short Intro for Home Assistant with some hints for the practice.

For Hass.io there is also a mobile app, you can use the App if you are in the same network as your Home Assistant server or you have a VPN connection in this network. It’s also possible to expose the server to the internet, it contains all you need for that like duck dns and Let’s Encrypt. But I won’t do that for security consideration.

Devices and Components

Home Assistant has a very broad range of supported smart devices, I added the following devices to my system:

A short demo of how that looks on my environment:

Automation

Before I used Home Assistant I automated some of my smart devices with IFTTT, with hass.io I can now do that “On Premises”.

I created the following “recipes” for my home automation:

  • If the IKEA lamp in my living room turns on, also turn on the lights in my vitrine (LED plugged in a MyStrom Smart Plug):
  • If my UniFi controller doesn’t see any Wifi Mac address of the mobile phones of my family members, the automation “Away-Mode” turns on. This procedure powers off some Smart Plugs, bring my Sonos Player to pause, and all Hue lights will be turned off.

In contrast to IFTTT it’s possible with hass.io to combine things almost indefinitely. It’s possible to define so-called Conditions.

Helpful Hints

If you try Home Assistant and you start to create and modify your *.yaml files, really use a text editor which shows you invisible characters! Python is very fussy for syntax errors even when only an invisible character.

Make backup from your files before you modify it, this can help to avoid some frustration.

If you intend to add a MyStrom Smart Button, I found out that this doesn’t work currently if your Home Assistant Web GUI is protected with a password.

Conclusion

A big benefit of Home Assistant is that it’s an open system with a large developer community, there are many components integrated and it’s possible to integrate by your own.

The downside of Home Assistant is that’s currently not yet a solution for an Enduser without any IT skills. More and more it’s now configurable via Web GUI but without any IT knowledge, it’s impossible to manage it.

+ Command center for your Smart Home
+ Cheap
+ Interaction with your smart components is possible
+ many Components integrated
+ App for your mobile phone or tablet computer
+ – Open Source (Open to integrate other things, improve code vs Security)
– Not an End-user product
– Needs Maintenance

A short preview for my third Smart Home article, I will show you something which is also usable for End-Users without IT Knowledge. I know the readers of my blog are mostly IT Pro’s but I’m sure you have also friends who want to play the Smart Home game and have no clue how to start.

12 Responses to My Smart Home – Chapter 2: Home Assistant

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.