Awesome Open Source
Awesome Open Source

Home Assistant

My personal implementation of Home Assistant (version: 0.88.0). Configuration last updated 2/22/2019.

Overview

Here is my home automation project I have been improving since mid 2017. At that time I had switched from Samsung SmartThings and I could not be more happy with my decision. I take a firm minimalism approach to my layout, hence the number of things are essential and concise.

In-front of Home Assistant

  • HA is running on a docker container on a collective docker host I run in my homelab. For z-wave there a Z-stick plugged into the host. When I first started I tried Hassbian and other deployment methods, but wasn't satisfied with the level of control over the access and administration. HA in a Virtual Environment on a Debian Raspberry Pi 3 host is what I ran for awhile until last year when I upgraded my homelab to a single docker host. Docker is defiantly the way to go for easy of use, administration and updating.
  • Interested in Docker but never used it before? Checkout my blog post: Docker In Your HomeLab - Getting Started.
  • Connecting to HA externally, I use my own domain through Google Domains with a Dynamic DNS record setup on a sub domain. To solve the internal/external connection problem, I have a Host Override setup on my pfSense router that forwards my HA sub domain to the local IP address of HA when I'm on my local network.
  • For connection security and certificate management I use the linuxserver/letsencrypt Docker container which has Nginx and Let's Encrypt packaged together. Nginx to reverse proxies the connections to HA and Let's Encrypt auto-renews to secure my traffic internally and externally.

High Level Components and Ideas

  • Google Assistant Commands - To get around a few limitations like casting Spotify and the mediocre native TTS I am using emulated google assistant SDK on my RaspberryPi. Following a post form chocomega here he walks you though setting it up. You can find the config in configuration.yaml, the spotify/playlist selector here playlist.yaml and broadcast notifications here things.yaml.
  • Dishwasher Status/Notification - phil1019 shared his write up with me about monitoring dumb home devices power consumption to assume their state. I used the dishwasher portion of his setup, it can be found here.
  • Auto hide media devices when not in-use - Before I used a self made method, now lovelace has more native functionality through a Conditional Card. I didn't like the clutter of 6 media devices on my main page when they are not playing anything.
  • Light Alarm Clock - My bedroom lights slowly turn on, and the radio cast(s) instead of an immediate audible alarm. I used this example on the community forum by hokagegano.
  • Alarm Control - There are a lot of examples of HA Alarm Systems on the community forum, but none of them did exactly what I wanted, so I wrote this one myself. The front end modules is the lovelace javascript module alarm_control_panel-card.
  • geekofweek Repository - When I was getting started I pulled a lot of ideas and config examples from geekoftheweek. Many thanks to this guy!
  • Future Considerations - When I own my own dwelling I will probably monitor, operate, and use sensors from smart deadbolts/doors handles, smart smoke/carbon monoxide detector, smart doorbell, exterior lights, garage door opener, etc from HA.

Custom Components

  • nadtcp2 - The nad component doesn't work with the Nad C 338. This is a workaround.

Lovelace JavaScript Modules

Devices

  • Docker Host - SSD based
  • Aeotec Z-Stick Gen5
  • DIY pfSense router
  • Netgear Orbi (Set in AP mode)
  • ZoneMinder

Z-Wave Devices

  • GE Z-Wave Plus In-wall Smart Dimmer Toggle 14295 - 6
  • Ecolink Z-wave Plus Motion Detector PIRZWAVE2.5-ECO - 5
  • Inovelli Z-Wave Plus Single Channel Smart Outlet
  • Inovelli Z-Wave Plus Dual Channel Smart Outlet - 2
  • NEO Z-wave Plus MINI Smart Power Plug (monitors power consumption) - 1
  • Sensative Z-Wave Plus Strips Guard Contact Sensor (Don't recommend) - 3
  • Kwikset 912 Z-Wave SmartCode Electronic Touchpad

Media and Other Devices

  • Hikvision Cameras - 2
  • Google Hub
  • Chromecast Ultra
  • JBL Link 20
  • Vizio 4k TV
  • Nad C 338
  • Roomba 890
  • Hue Bridge (Deprecating)
  • Hue White A19 - 2
  • Hue Dimmer Switch

Interface

UI UI UI

Alternatives To Homeassistant Config
Select To Compare


Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (821,947
Docker (97,700
Raspberry Pi (22,372
Home Assistant (3,787
Home Automation (2,249
Ha (1,653
Chromecast (700
Home Assistant Config (310
Zwave (281