My Home Automation Setup: Home-Assistant

So, I’ve mentioned in a post or two that I have a home automation system running, but haven’t really talked about what it is or what it can do… Well, here’s an overview!

What is it?

Home-Assistant.  It’s a fairly new home automation (HA) platform, that has gained a large following over the past couple years in the open-source community.  Of the home HA systems I’ve used, it has the best user-interface, and works with the widest variety of smart-home devices.  All of the HA systems I’ve tried required a good bit of technical knowledge to setup, but Home-Assistant is the easiest.  I should note that the systems I’ve tinkered with were all open-source systems (OpenHAB, Domoticz, etc) and are not geared towards your typical home user.  There are platforms out there that are aimed at the regular home user (Wink, Insteon, SmartThings, etc), but I have not tried them out.

What can it do?

Consolidation & Easy Access

One main function of a HA system is to provide a single user interface to control all of the smart, or “internet-of-things” (IoT) devices in your home.  I’m able to connect any of the compatible devices listed on the Home-Assistant component page.

Prior to having a HA system, I was annoyed each time I had to switch to another app when I wanted to turn on or control a device like a switch or light.  There’s an App for each manufacturer… Philips Hue, Ubiquiti mFi switches, Belkin WeMo, etc.  Now that they’re all controlled by Home-Assistant, each device is visible and controllable via a single web-based interface.  Moreover, you can organize everything by room, floor, type of device, or however else you feel the need to.

HomeAssistant Panel for 1st Floor

As you can see, the system is aware of which lights & outlets are on, how much power is being used by some appliances, room temperatures, etc.

Granted, It’s not always easy or convenient to pull up a web page or open an app when I just want to turn on a light.  Fortunately, the system is controllable via Apple’s Siri assistant (yep, Google Home and Amazon Echo work as well).  Assuming that one of my apple devices is within earshot (uh, do phones have ears? is that usage appropriate?), I can just say “Hey Siri, turn on living room”, and watch in wonderment as all the living room lights illuminate.  If, instead, I only wanted to turn on one light at half brightness, I can say “Hey Siri, set living room pharmacy to 50%”.

Something that you can’t tell by the screenshot above is that the system knows whether or not we are home or away.  A lot can be done when you combine presence information along with info from the devices, and that’s where the next feature picks up… Automations.

Automations

Automations are a set of triggers, conditions, and actions.  For example, one basic automation that I have running is to turn off all of the house lights when there is no one in the house.  Here are a few other automations that are running in my home:

  • Turn on some first floor lights when someone arrives home after sunset.
  • Turn on front door & garage side door light from sunset – 10p and 5a – sunrise.
  • Send me a notification when washer & dryer cycles have finished.
  • Turn on basement lights if light level is below 15 lux and there is movement detected.
  • Turn on living room lights (to a dimmed level) if they’re off after sunset and TV is on.
  • Send me a notification if Smoke or Carbon Monoxide alarm is set off.

It’s the automations that really make the home feel “smart”.  When done correctly, the house appears to be aware of your presence and makes small convenient adjustments based on criteria you’ve set.

Historical Information

The system stores all device state information and can provide historical data.  I’ve setup a few graphs in Grafana to view power usage information as well as environmental data:

Basement Power Usage
Home Temperature Information

Those are some of the key features of the home automation system I’m currently using.  There’s so much more that can be done when you get into the nuts and bolts of the system, all thanks it being open-source.  I might go into some more detail about some specific components in a future post!

More on why I chose Home-Assistant

It’s Open-Source

Being an open source project, the code is freely available to anyone and everyone that wants to view, change, or add features for their own needs.  The project has a large community with over 500 contributors that have dedicated their own personal time to make improvements and add features to the system.

I have control of the system

Home-Assistant is running within my own home, it does not require an internet connection to a cloud service in order to function properly like Wink, Vera, SmartThings, etc.  If my internet were to go out, I would still be able to control all of my smart devices via Home-Assistant, so long as I was connected to my home Wifi Network.  More importantly, the automations will continue to run.  The same cannot be said of the other services.  Furthermore, I don’t have to worry about whether or not the company providing service to my home hub gets bought out or goes out of business, and as a result stops supporting my hub.

Support for all the things

Home-Assistant has support for just about every single type of smart device that’s out there.  If on the off chance it’s not yet supported, and you have the know-how, it has the tools built right in to extend functionality to patch it in.  Or, since it’s an open-source platform, you can write a new component and contribute for all to use.

Want to dive into Home-Assistant?

If you’d like more information on Home-Assistant, I recommend checking out Home-Assistant.io – the home of Home-Assistant.  For additional how-to’s on setting up various Hass components and reviews of smart-home products, head over to BRUH Automation’s YouTube channel.  He has a great getting started video for the newly announced Hass.io (Home-Assistant OS).