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.
If you are just getting started with Home Assistant I highly recommend checking out this YouTube Series. It helped me a lot in the beginning and I still frequently reference some videos today. I also strongly recommend you read the Home Assistant Docs. So many questions asked on the Home Assistant Forum could be solved by reading the docs. I have tried to include links in my files to the associated guidance documents for easy reference.
-
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 allows me to run multiple virtual machines on the same physical hardware. I also run my router/firewall off this same hardware. The HA virtual machine is given 2 cores, 1GB of RAM and a 16GB disk.
I'm currently running Home Assistant version 0.64.1. My preferred installation method is an Ubuntu Server 16.04 instance and following the Python Virtual Environment installation instructions for Home Assistant. For anyone running a Raspberry Pi, I highly recommend using the Hassbian Install Method.
I setup my Mosquitto MQTT Broker using the instructions in this video
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.
- I separate my traffic into different subnets and by default these subnets cannot talk to one another. For example my devices on Wifi only have access to the internet or my Local Area Network (LAN) if I allow it.
- Using the tools in PFSense I block a large amount of traffic from ever reaching my network using PFblockerNG and a combination of published lists, and custom rules.
- All the traffic connecting to my Home Assistant instance is logged and e-mailed to me regularly. I only access my instance from a few devices to it is pretty easy to spot traffic that is not 'normal'.
- 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.
What works for me is creating a Samba share that I can then edit on any computer in my house.
For setting up Samba see this video: Samba Setup
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)
- Amazon Echo Dot Used for voice commands to turn devices on/off using the Emulated Hue Component
- Nest Thermostat
- iCloud Presence Detection / iPhone 8 Plus
- Xiaomi Yeelight RGBW E27 Smart LED Bulbs *
- Xiaomi Yeelight E27 Smart LED Bulbs *
- Ikea TRÅDFRI Gateway
- Ikea TRÅDFRI LED Bulbs
- Ikea TRÅDFRI Remote
- Edimax Wi-Fi Smart Plugs (SP-2101W) *
- Broadlink RM Mini 3*
- GE Z-Wave Plus Hinge Pin Door Sensors
- Amazon Dash Button * Used as button to turn on/off feed the dog automations
- 433Mhz Rf Transmitter and Receiver
- Etekcity Wireless Remote Control Electrical Outlet Switches
- DHT22 Temperature And Humidity Sensor
- Mono Price Z-wave Door Tilt Sensor
- Cyberpower CP1500PFCLCD UPS used to detect power outages and keep network and HA running in a power outage.
- Synology DiskStation DS216J * used as a NAS (obviously) and as the NUT server.
- OpenGarage Door Controller *
- Aeotec Z-wave Range Extender
- Sonoff POW (w/ Tasmota Firmware) *
- Sonoff TH16 (w/ Tasmota Firmware) *
- Dome Miniature, Z-Wave Plus Door/Window Sensor
- Sonoff Basic w/ Tasmota Firmware*
*Block these from external network access and they will still work on your local network with Home Assistant.
These notifications are triggered after 10:00 PM and I plug my phone in (generally I am in bed when this happens). These send an iOS app notification with an action option to turn the device off. These are primarily a power saving items.
- Notify Me if the garage door is open and I am in bed
- Notify Me if the Home Theater PC is left on and I am in bed
- Notify Me if the Desktop PC is left on and I am in bed
- Notify Me if the Living Room Lamps are left on and I am in bed
This notification is used to notify me if my Lets Encrypt certificate does not auto renew at the beginning of the month.
This notification is used to notify me if on of my home automation devices goes offline. Generally this is someone flipping a switch which cuts the power or a network connectivity issue.
These automations are used to notify me when a door is opened when no one is home or the garage door is left open when we leave.
- Notify Me if the interior garage door is opened and I am away
- Notify Me if the exterior garage door is opened and I am away
- Notify Me if the front door is opened and I am away
- Notify Me if the back door is opened and I am away
- Notify Me if the garage door is left open when I leave
These automations are used to turn a light on to signify the dog needs to be fed. A amazon dash button is used to signify the dog has been fed which either turns off the notification light or turn off the automation.
- Turn on Notification Light AM
- Turn on Notification Light PM
- Turn off The AM Automation and Notification Light AM
- Turn off The PM Automation and Notification Light PM
- Reset all the Automations at 1:00 AM
These notifications are triggered when I leave my home zone and no one is home. These send a iOS app notification with an action option to turn the device off. These are primarily a power saving item and are the same framework as the bedtime notification as above.
- Notify Me if the Home Theater PC is left on and no one is home
- Notify Me if the Desktop PC is left on and no one is home
- Notify Me if the Living Room Lamps are left on and no one is home
These lamps are the main light source when you walk in through the garage (our primary point of entry).
- Turn on the living room lamps at sunset
- Turn on the living room lamps when somone comes home and its dark out
- Turn off the living room lamps at midnight
This is to notify me to charge my phone when I am at work. Generally I forget to charge my phone and it is either low or dead for the train ride home.
A series of automations that trigger monthly or weekly to help me remember to perform maintenance tasks around the house. Reminders are sent via e-mail so they stick in my inbox until complete.
This is a notification automation to send me info about the day when I wake up. Currenlty it just contains the date and a weather report. I hope to integrate my calendar in the future and have it include the meetings I have that day.
I found it easier to automate my nest myself rather than using the nest features.
- Set Thermostat to Away when everyone leaves for work
- Turn off Away mode at 4:00 PM (pre heat/cool the house before arriving home)
- Turn off Away mode if someone arrives home
- If HVAC fan hasn't run for an hour, run it for 10 minutes
- Set the notification bulb to the color selected
- Set the notification bulb to a white color that matches the other lamps in the room
Some simple automations to turn my outside house lights on at sunset and off at sunrise. They are initially set to 20% brightness but are set to full brightness if a door is opened, until it is closed.
- Turn on the outside lights at sunset
- Turn off the outside lights at sunrise
- Open front doors Increase Brightness
- Open back door Increase Brightness
- Notify me if the Desktop PC is turned on while away
- Notify me if there is a failed login attempt to the HA front end
- Notify me of a new device added to my Wifi network
This is a single switch to turn on/off a number of automations and devices when we will be away from the house for an extended period of time.
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.