My personal implementation of Home Assistant

Hey Home Assistant Community! Here is my implementation of Home Assistant. It can also viewed on Github.

Overview

Here is my home automation project Ive 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 why the number of things are essential and concise. Also, some areas and ideas of improvement have been limited due to leasing my dwelling but that situation will be changing soon.

In-front of Home Assistant

  • HA is running in a Virtual Environment on Raspberry Pi 3 running Debian Stretch (I highly recommend running HA on a RasPi with a Z-stick). I tried Hassbian and other deployment methods, but wasn’t satisfied with the level of control of the things I list below until I put HA on top of my own deployed OS.
  • To connect 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 on HA, I have an Nginx reverse proxy setup on the RaspberryPi that forwards requests to HA. My Nginx config is pretty strict and I have a certificate setup through Let’s Encrypt
    that auto-renews to secure my traffic internally and externally.

Big Components and Ideas

  • Auto hide media devices when not in-use - This one was original, can be found in mediaother.yaml. I didn’t want 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. Thanks 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.
  • Google Assistant - I’m using the Google Assistant native integration to control lights and switches. For everything else and custom commands I setup the IFTTT integration with HA and Google Assistant, guide here thanks fanuch!
  • Brightness slider below light switch - This provides the functionality of the dimming slider on the main part of a switch. Thanks andrey-git! state-card-custom-ui
  • Remote custom icon layout - This is how I front end my media and other devices with buttons instead of the horizontal switch layout. I wanted this functionality for a while as it was the last thing holding my UI back from looking right for media remotes. Big thanks to eddi89 and mviezzer! state-card-tiles
  • Roomba 650 IR control - My Roomba doesn’t have Wifi so I use my IR blaster to automate a schedule and start it (future consideration below). Originated here on the community forum. Thanks davejcameron!
  • Package Tracking - This is a cool idea I am still testing out. As of writing this the USPS component is broken. Took the example from here and here. Thanks brianjking!
  • 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

  • I would like to be able to click button start casting a Spotify playlist from HA. Spotify currently doesn’t support this functionality due to a cast device discovery limitation, so I do a voice command through Google Assistant instead.
  • I’d like to use a power consumption meter Z-Wave outlet to assume states of devices. Being able to monitor the power draw of a device allows you to be able to identify power usage patterns that allow you to assume device state. Considering this for non smart devices: Roomba dock, dishwasher, laundry washer & dryer, etc.
  • Getting a Wifi enabled robot vacuum for native compatibility.
  • When I own a residence I would like to 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.
  • Getting rid of Hue things in favor of full Z-Wave consistency. I’ve gone all in on Z-Wave.

Devices

  • Raspberry Pi 3
  • Aeotec Z-Stick Gen5
  • DIY pfSense router
  • Asus Router (Set in AP mode) - 2

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
  • Sensative Z-Wave Plus Strips Guard Contact Sensor (Don’t recommend) - 3

Controlled Devices

  • Vizio 4k TV (Controlled through API)
  • Nad Stereo (Controlled by Broadlink IR Blaster)
  • Roomba 650 (Started by Broadlink IR Blaster)

Media Devices

  • Google Home
  • Google Mini
  • Chromecast Audio
  • Chromecast Ultra
  • Vizio Crave 360 (Chromecast built-in)
  • Broadlink RM Mini Networked IR Blaster
  • Hikvision Cameras - 2

Deprecating

  • Hue Bridge
  • Hue White A19 - 2
  • Hue Dimmer Switch

Interface




9 Likes

Nice setup
Could you give example codes ?

Thanks!

All of my code is on Github here: https://github.com/robwolff3/homeassistant-config

If there is something specific you’re looking for I can add it here as a code block.

1 Like

The parts where the buttons are.

Under Parts.

Under things

Love the integrated dimming widget for the lights! I may just stealborrow that. :slight_smile:

geekofweek was a huge inspiration when I got started with my config as well, so thanks!

1 Like

Thank you very much for sharing both Mr. robwolff3 and Mr. Joch

It’s always good to hear that I had a positive impact on the community.

2 Likes

This looks great, especially the sliders and the buttons!
I see a couple of busy weekends coming up replicating this…

Thanks for sharing