/HomeAssistant

Home Assistant Configuration Files and Documentation

Primary LanguageJavaScript

These are the Home Assistant configuration files used in my Home Assistant (HA) setup. I relied on repositories of other HA users quite a bit when I was getting started for ideas and example code. Hopefully this repository will help someone else who is getting started.

Automations:

A detailed description of each of my automations and a link to the yaml file is located HERE

This is the most important part of Home Assistant! Remote control and voice commmands are nice, however, that is not home automation, just remote control. Automations should make your life easier, look at what you do everyday, the simplest things, and automate them. To me Home Automation is collecting data about your home and automatically acting based on that data.

Hardware Running My Home Assistant Setup:

  • Dell Optiplex 9010 Small Form Factor (SFF) This desktop has a i5 3470T (low power CPU) swapped in. The machine is running VMWare ESXi which is a bare metal hypervisor that allows me to run mutiple virtual machines on the same physical hardware. This is a great guide for getting HassOS runing in ESXi. The HA virtual machine is given 2 cores, 2GB of RAM and a 16GB disk. I also run a Router and NAS from the same box.

  • Raspberry Pi3 Model B+ I have a few sensors sticking off this Pi and also use if for Bluetooth presence tracking. The data from this pi is fed back to the main instance via the MQTT Statestream component. Future plans for this incude a watchdog for the main instance and possibly moving my zwave hub to it as its centrally located.

I am also running the following Hass.io add-ons:

I'm currently running Home Assistant version 0.89.1

Network & Home Assistant Instance Security:

I think this is an often overlooked part of any internet connected project. I am far from a security expert, however, these are the steps I have taken to add some level of security to my Home Assistant instance.

  • Simple protections like enabling a password and limiting the number of incorrect login attempts.
  • Anything that doesn't need an internet connection is blocked from any inbound or outbound traffic at the router level.
  • Using the tools in PFSense I block a large amount of traffic from ever reaching my network using PFblockerNG, Suricata and a combination of published lists, and custom rules.
  • Failed login attempts to the Home Assistant Front end generate a notification to me with the source IP.
  • My Home Assistant Traffic is encrypted with Let's Encrypt. I used this guide to get it setup on Hassbian and now use the DuckDNS add-on in Hass.io to do the same thing.
  • Test your secuirty and test it often.

Editing the Configuration Files:

What works for me is creating a Samba share that I can then edit on any computer in my house. I am doing this with the Samba add-on for Hass.io. For other install methods this is a good tutorial.

After you have the Samba share setup, I like to use Atom to edit my files. It works on both Windows and Linux, has a great interface and some nice features. NotePad++ is also easy to use and is a bit more lightweight than Atom (no Linux support though)

A Few Stats On my Setup:

Tracked Devices Lights Binary Sensors Switches Automations Scripts Sensors Zwave Devices
46 8 7 28 80 4 137 7

Connected Devices:

Cloud Controlled Devices:

Wifi Connected Devices

Zwave / Zigbee Devices

Hardwired Devices

*Block these from external network access and they will still work on your local network with Home Assistant.

Front End Screen Shots:

Home

Device Status

Home Assistant Status

Automations

Switches

Weather

Stats & Data

Questions?

The best way to get help on Home Assistant is the Home Assistant Forum. If you have a specific question about my configuration send me a Private Message on the HA forum, my username over there is Silvrr. If you have found something incorrect, please submit an issue here on Github and ill get it fixed.