Chrisron95 Home Assistant Config Save

My Home Assistant configuration

Project README

Chris Heder
Home Assistant Config


This repo contains my latest Home Assistant configuration. I'm Chris Heder, a proud nerd in South Florida. I've been working on this system as a hobby since roughly 2019 and it's grown exponentially since then. It all started with a simple Raspberry Pi setup that controlled only two lights, and over time has evolved to a virtual machine running on my old 2012 MacBook Pro that runs just about every aspect of the house, controlling every light, switch, fan, tv, etc. (details below).

This has been and will forever continue to be a fun hobby for me (hopefully I'll have a true J.A.R.V.I.S. one day). I had a lot of help and inspiration to get where I am now (credits below) and I hope that in sharing my own configuration I can help inspire and help others who are setting up their own smart home.

In time, I plan on making some videos detaining some of the things I've implemented, as well as some cool new stuff I have on my to-do list. Follow me for updates as I do! Feel free to reach out on Twitter if you have any questions or comments, or just to say hi!


My Smart Home Devices

My Host Devices

MacBook Pro (mid-2012)

This is my old laptop, when I upgraded to a new one I converted this into a 24/7 server.

LaCie D2 Quarda USB 3.0

This is a 4tb hard drive, used as a Plex media server.

LaCie D2 Thunderbolt 2

Another 4tb hard drive. This is my personal server, used for old photos, videos, music, documents, etc.

LaCie 2big Thunderbolt 2

This is an 8tb hard drive, I use this as my Time Machine backup. All my computers (including HA and my personal server) are regularly backed up on here.

My setup

  • I have Home Assistant OS running on my MacBook Pro using VirtualBox. I followed the instructions provided in the HA documentation
    • It's very important that if you're using USB devices, you install the VM VirtualBox Extension Pack (from the same VirtualBox link above) and install it on your Mac. Took me longer than I care to admit to realize this. Once installed I never had another problem with USB devices again.
  • I also run a Plex media server on my Mac

Battery Backups

(2) CyberPower CP1500PFCLCD CyberPower CP1000AVRLCD

In South Florida, power goes out fairly frequently. Mainly because of storms, but we all know Florida drivers aren't the best either so, you know, utility poles get hit too. Or palm fronds fall on the power line by my house causing the transformer to explode. That's always fun (each have happened multiple times over the years). Florida's greeeeat. But anyway, considering power is kinda necessary for a smart home, I have several UPS (uninterruptable power supply) units throughout my house. I highly recommend the CP1500PFCLCD because it's got a heck of a battery in it and the pure sinewave keeps all my devices from turning off during the transition from AC to battery (the other models are good too but without the pure sinewave, I've had devices like TVs turn off when it switches over to battery). Not to mention, it's been going strong for a few years now without needing a replacement battery.

  • One CP1500 is in my "Lab" and it powers most of the electronics in the room, including my HA equipment, a couple external hard drives, two desks each with monitors, my TV, even my 3D printer! All from this one power supply. Even with all that connected, it'll still last usually about an hour (give or take) without any issue.
  • The other CP1500 is in my living room powering my media center.
  • The CP1000 is in the bedroom. This one isn't quite as important, but it powers my TV, bedroom stereo, and my lamp with a Philips HUE lightbulb (super useful since it doesn't draw much power and lets me still have light when the power's out)

In Home Assistant, I use the Network UPS Tools (NUT) add-on (combined with the accompanying integration) to report the status of the CP1500 in my Lab. This allows me to use that information for automations. For example, I have an automation that sends my iPhone a critical alert if/when the power goes out at my house. In the future, I also plan to add automations to do things such as pause any active 3D print job, and safely turn off some devices if the battery's getting close to running out.

Now just a fair warning, NUT is a bit of a pain in the you-know-what. It took me quite a while to get my unit consistently reporting. I had to set up an automation that would basically watch for any problems, and restart the addon when there is. Lately it's been working fine and hasn't needed the restart, but it's there just ready and waiting for if/when there is a problem.

Networking

Unifi Dream Machine (2) Unifi AP 6 Lite TP-Link Gigabit Unmanaged Network Switch Netgear Gigabit Unmanaged PoE Switch

Considering I have probably 75+ devices connected to my wifi at any given time (all these smart switches/plugs, ESP devices and everything really add up) I decided to go nuclear and upgrade to Unifi. I used to have Netgear Orbi, which was great, but as the devices started adding up, it started to really slow down our regular devices. Which of course drove everyone in the house nuts. So going nuclear seemed the best option. Ever since, it's been flawless.

Now, I can guarantee I'm not using my system to its fullest capabilities. There's plenty I still don't quite understand about it. But it's doing pretty much everything I need. The UDM is in my living room, basically the center point of the house. It's connected to an ethernet switch in my media center that routes to all the devices within. Unfortunately my house isn't wired for ethernet, but I managed to run a Cat5E line upstairs to an ethernet switch in my Lab where my HA setup is. There's an access point hardwired there, then I also have an AP downstairs by the front door connected via wireless mesh. With these three, I have flawless coverage everywhere inside and outside the house.

In Home Assistant, I use the AdGuard Home add-on (and of course the accompanying integration) to block ads on a network-wide level. This is super helpful and I can't imagine going back to dealing with constant ads. Unfortunately, this doesn't stop YouTube ads, and it does occasionally block things that you need to let through (like some streaming services that have ads - Looking at you Paramount+ - without unblocking those, you literally can't watch the content you pay to watch. Ugh.) but that's an easy fix, and if something's not working it's easy to narrow down what's being blocked and unblock it (or vice-versa). Plus you can block/unblock for specific devices, so you don't have to worry about your phone catching an ad from a TV service you unblocked. To be perfectly honest, I used to have PiHole, and I do prefer that. But the ease-of-use of AdGuard and it being built-in to HA makes life so much simpler.

I also have the WireGuard add-on running. This gives me an extremely easy and reliable VPN. It allows me to connect to my home network from anywhere with an internet connection. One of my favorite benefits to this, is I can get my ad-blocking abilities anywhere. I just about always have my VPN connected on my phone when I'm away from home. The second I see an ad, I pop over to my settings and turn on VPN, refresh my page and ads are gone. Soooooo nice. Plus, it allows me to connect to any of my home devices as if I'm right in the house. Great when I have to diagnose an issue when I'm out.

Alexa

Amazon Echo 2nd Gen (2) Amazon Echo Dot 3rd gen Amazon Echo Show (I don't recommend) Amazon Echo Flex (with motion sensor attachment)

I use Echo devices throughout the house, there's one in each room. They're used for all kinds of audio notifications, among their usual capabilities. They definitely have their flaws, but I find that they work the best out of the smart speakers. I haven't tried Google Home, but I tried Apple HomePod and was disappointed by it's lack of functionality.

I used to use them like normal... as do most people. But thanks to the vast abilities of the Alexa Media Player integration and with the help of Jeffery Stone's JARVIS video, I was able to setup my own version of JARVIS directly using these Echo devices (check out my notify.yaml package here for details). It works fantastic, and little by little I've started overriding her usual commands with my own JARVIS responses. I like to tell people Alexa and JARVIS work together in my house. One of my favorite aspects of this other than the voice, is... no more recommendations! No more asking for the weather and hearing "By the way, I can also order printer ink..." because that's such useful and relevant information 😑. The only hassle is writing the templates to get the same information. But it's absolutely worth the hassle in my opinion.

I also have an Echo Auto, unfortunately I can't get JARVIS working in there. I think it's a limitation of the device, not entirely sure. I haven't had too much time to dedicate to it, but I'm hoping one of these days I'll be able to get it working. Just imagine having JARVIS in the car too.

I also use Nabu Casa which gives me access to all my Home Assistant devices within Alexa. This gives me the ability to eliminate most of the cloud integrations within Alexa, so instead of talking to the respective integrations, all my devices are provided by Home Assistant. This adds to the ability of having JARVIS control everything instead of Alexa, and also solves a lot of the "I'm having trouble with that" messages you get with cloud integrations. I believe this can also be achieved by creating your own custom skill, but that's a fairly big job that I just haven't had the chance (yet) to play around with.

Lighting

Philips Hue

Hub, 2 color bulbs, and 4 simple white bulbs

WLED

Used mainly on WeMos D1 Minis for pixel strips like these WS2812B strips

H801

Used on less-smart RGBW light strips like these, flashed with Tasmota

Single Color LED Dimmer

Used for single color LED strips like these. Also flashed with Tasmota

Most of the lights in the house are just simple lights controlled with smart switches (refer to next category for details). But I have a few Philips Hue smart bulbs. These were actually how I got started with my smart home, these were my first ever smart home-related purchase.

Now aside from regular lights, I have several light strips throughout the house that provide ambient light. Some are smarter than others, but they're all smart in their own way. Pixel strips with WLED are by far my favorites though because they have the most functionality considering they're individually addressable, so you can have cool patterns play, not just a static color across the strip.

The single color strips and controllers are used for very simple things like my under-the-cabinet lights in the kitchen and in my 3D printer enclosure. Basically places that I don't care about having color abilities.

Switches

Treatlife Single Pole Switches

These are used for the majority of my switches

Treatlife Single Pole Dimmer

Oddly enough, the only dimmer I have is in my bathroom

Treatlife 3-way Switch

Hallway/staircase light

iFan03

Looks like iFan04 is only one available now. Don't know the difference.

I've replaced every switch in the house with a smart switch. Every switch, including the iFan, is flashed with Tasmota and use MQTT to sync with Home Assistant. They work flawlessly.

The iFan03 works well but it took some annoying steps to get them working. They used different resistors in there than what's needed for 110v in the United States, so all speeds were super slow, even high speed. I had to get some 5uF capacitors and replace the two in each iFan03 with them. There's a good write-up by digiblurDIY but unfortunately his links to the capacitors don't work anymore, and I couldn't find the ones I bought either. That being said, it seems there's now the iFan04... I have no clue if that one fixed this problem or not. The questions and answers on the listing are old, and it's at the same link as the old iFan03 which doesn't make it easy to tell for sure. But do some research. It's invasive and can be dangerous so proceed with caution and use your own judgement.

Media Players

LG 75" and 65" 4K Smart TVs Apple TV (HD and 4K) Plex Pioneer VSX-1131

There's 3 TVs in the house, the 75" LG is in the living room, 65" LG in the Lab, and I also have a 42" Samsung "smart" TV in the bedroom that's pretty dumb if you ask me.

The living room is basically my home theater. I have the Pioneer VSX-1131 in there with the 4K Apple TV, along with a PS4, a 4K Blu-Ray player, and a Nintendo Switch, all connected to the Pioneer which acts as an HDMI switch. The TV, Pioneer, Apple TV, and PS4 all connect to Home Assistant, and I have pretty full control over everything through there. Admittedly, the Apple TV doesn't have as much functionality through HA as I'd like, but it's got quite a few abilities. Plus, as an Apple household, it works so well with all our devices that it's worth the very slight lack of abilities in HA.

Also, I use the living room TV's optical output connected to an optical to RCA converter, which is then connected to a 2 channel audio amp. That connects to a Monoprice 6-channel speaker selector (only use two outputs but planned for the future) which distributes audio from the TV and stereo to my patio in-ceiling and kitchen in-wall speakers, which each have an in-wall volume controller. I installed these many years ago, long before I started doing any smart home work. They were actually my very first addition to this house and probably one of my favorite things I've done. There's some stuff I would do differently if I did it today, but for the most part this system works really well.

Climate

Ecobee4 Smart Thermostat Espresense DHT22 Temp and Humidity Sensor

Climate in my home is pretty simple for now. My Ecobee4 connects to my Home Assistant using HomeKit. This gives me local access regardless of the state of their cloud services. I also ignore the built in schedules and presets. I tried using them, but I wanted more options than simply "Home" "Away" and "Sleep". So now it's just set on eternal hold and Home Assistant controls the temperature with my own preset handler script and an input_select.

I also use Espresense flashed on an ESP32 in each room of the house. This gives me several abilities, including bluetooth presence tracking, but for this category I use DHT22 sensors on each which gives me the temperature and humidity of each room in the house. Currently they're not used for anything other than simply reporting, but I have plans to integrate them into my climate handler script to give me some more accurate automatic temperature control depending on the room someone's in.

Sensors

Espresense ESP32 Mini ESP8266 NodeMCU WeMos D1 Mini ESP8266

I've got tons of these around the house. Like I mentioned in the last category, I have Espresense flashed on an ESP32 in each room. This not only gives me temperature and humidity sensors in each room, but also ambient light and motion sensors for each. Also, bluetooth presence tracking so I can track where our iPhones and Apple Watches are within the house. I don't have the bluetooth tracking fully setup yet, but it's there and ready for the day I get around to setting that up. I definitely highly recommend Espresense, it's very simple to use and the developer is active and quick to help with any issues on his GitHub.

Security

ESP8266 NodeMCU Normally Open Reed Switch (and magnets) Schlage BE469ZP Smart Deadbolt Ring Doorbell 2 and Spotlight Cam

There was an old ADT system installed in the house before we moved in, but the previous owners ripped out some necessary components. Aaaand I ripped out some more when we moved in since the control panel was useless at that point anyway. So since the house had sensors already on all the doors and windows, I hooked them all up to an ESP8266 NodeMCU flashed with ESPHome. One of the sensors was among the things ripped out forever ago, and I couldn't find any wired door sensors with good reviews... so I built my own with a magnetic reed switch and an accompanying magnet and just hooked it up to the old wiring. It works beautifully.

The Schlage Z-Wave lock is connected to Home Assistant using an Aeotec Z-Stick Gen5 Z-Wave Stick. Everything is managed using the Keymaster integration in HACS which works great and lets me very easily manage all the access codes at will, and gives me intelligent notifications for it.

3D Printing

Monoprice Maker Select Plus OctoPrint IKEA Lack Enclosure Raspberry Pi 7" Touch Screen

3D printing is fun, I've upgraded my setup several times over the years. Latest upgrade was the IKEA Lack enclosure. It's simply two Lack tables stacked on top of each other, connected with some 3D printed parts. The top part is enclosed in plexiglass. Very affordable upgrade.

Everything is run from a Raspberry Pi with OctoPrint. I never use the printer's SD card and hardly ever even use the built-in controls. Everything is done right in OctoPrint. The Raspberry Pi is connected to the 7" touch screen to give me full control right at the printer. A bigger screen would be nicer, but what I have works well enough that I don't find it necessary to upgrade at the moment. Maybe one day.

Landscape Lighting/Light Show

HolidayCoro AlphaPix Classic 4 Pixel Controller FPP (Falcon Christmas) HolidayCoro RGB Flood Kit (now discontinued) Netgear Nighthawk R6700

I started my light show in 2014 with a simple fire-hazard of a controller that used an Arduino and some relays mounted to a wood board. As time went on I quickly upgraded to much more legit and safe equipment, all culminating to what I have today. A lot of my lights have been upgraded to 12v RGB pixels, but I also have an upgraded version of my original lighting controller for dumb lights. It's basically an Arduino Mega and 16 solid-state relays, all enclosed in a weather-proof enclosure. It uses an ethernet shield which is how FPP communicates with it.

FPP (Falcon Christmas) runs on a Raspberry Pi 3B+ just inside the front door. That connects via ethernet to the Netgear Nighthawk router, which then distributes to the AlphaPix controller and all other devices. Yup, I have a whole router setup that's dedicated to my light show. My singing faces run off an Arduino connected to an ESP8266 ESP-01, which lets them connect to my FPP instance over WiFi. That means they only need power and they can be a part of the show too.

Now, some of the setup stays out year-round. The controllers stay out there, along with two RGB pixel strips that are permanently mounted to the face of my house, and two flood lights that I setup myself with the kit mentioned above. I used to have path lights too that were awesome, unfortunately the weather got the best of them so I eliminated them until I can find a better solution. I'm currently designing my own path lights that I'll be 3D printing and will use RGB pixel strips inside. Hope to have something to show off soon.

FPP connects to Home Assistant through MQTT. The Raspberry Pi basically connects to the lights through ethernet to the router. Then it also connects to my home network through WiFi. It's truly an interesting setup and took me quite a while to get everything right. I had to do some interesting finessing to get everything into Home Assistant, including volume control and all. But now I have it working so well that I was able to eliminate the scheduler provided by FPP, and now everything is scheduled, controlled, and run directly from Home Assistant, including the off-season nightly landscape lighting.

I'm planning on doing a video explaining all of this soon so stay tuned for more!


Inspiration

I couldn't have gotten my setup to where it is now without the inspiration from a few fellow Home Assistant enthusiasts. Check out their links here:

Jeffery Stone

Carlo Costanzo

I also got the inspiration for my front-end from SWAKES and matt8707. My front end is still very much a work in progress, but I hope to soon have that finalized so I can share that on here as well.

Open Source Agenda is not affiliated with "Chrisron95 Home Assistant Config" Project. README Source: chrisron95/home-assistant-config

Open Source Agenda Badge

Open Source Agenda Rating