|Lines of code||Entities||Domains||Automations||Scripts|
I write instructional articles on brianhanifin.com. Topics primarily revolve around Home Assistant and ESPHome code and devices, but I also I have written about my HomeLab server setup.
I started using Home Assistant in the spring of 2018 when we outgrew the limited automations on Apple's HomeKit platform. Our Home Assistant initially included many HomeKit smart plugs our collection of smart lights, switches, plugs, cameras, and sensors. Since we have added many devices that use protocols like Zigbee and Z-Wave and even several custom built electronic modules.
Home Assistant now manages our smart home devices with lots of intelligence handled by automations. It is important that our devices can be controlled by standard wall switches, but we also use Google Nest speakers to control our devices with our voice. Not only can we talk to Google, but she can let us know when a laundry cycle, 3D Print, or laser cutting job is complete.
We use a variety of physical switches from hard-wired to battery powered.
These can be used to control dumb lights. However, some devices allow you pass constant power so you can control smart bulbs with Home Assistant. For example a switch in my Dining Room leaves power to my Hue bulbs so I can turn the lights on with my voice or the physical wall switch.
Battery powered devices with 6 buttons on each bedside table. Top row: single clicks toggle lights on either side of the bed, while a double clicks toggle a third lamp. Second row: single click toggles the fan or sound machine. Bottom row: single clicks to the left button toggles the window air conditioner between Cool and Fan only modes while the right button turns the Air Conditioner off.
We can also interact with our devices with Google Nest speakers and displays in all of the major rooms of the house.
Our Google Nest also make announcements when something needs our immediate attention. For example: when it is time to leave for school, or for the boys to turn their computers off before the Internet is turned off at bedtime.
I interact with the Home Assistant app on my phone to check in on the status of devices and automations.
Disclosure: This section contains affiliate links. If you decide to make a purchase, I'll make a small commission at no extra cost to you.
Inovelli z-wave devices are high quality and they really care about our niche community. The red series switches handle double, triple, quadruple, and event quintuple click events. These even have a led light strip on the right side which we use different color and animations to indicate the state of things around the house.
In-wall dimmer switches and in-wall (or handheld) wireless remotes. Get the Lutron caseta pro bridge so you can use your pico remotes with Home Assistant to control any device in your house! The standard bridge is less expensive but you cannot watch for pico remote button press events.
Device recommendations: starter Kit (3 color bulbs, dimmer, & hub)
The Hue ecosystem is easy to get setup with Home Assistant. We primarily use their tunable white bulbs for plug in floor and table lamps, but we do have 9 colored bulbs in our dining room chandelier for holiday fun.
Device recommendation: first alert z-wave 2-in-1 smoke detector & carbon monoxide alarm
Thanks to Carlo's article "PSA: CHECK OUT YOUR SMOKE DETECTORS (ONCE EVERY 10 YEARS)" I realized that I had lived in my house for almost 11 years, and we were due for new smoke detectors. So I replaced them with new First Alert zcombo z-wave smoke detectors.
Device recommendations: wireless buttons, motion & luminance sensors, temperature & humidity sensors, door & window sensors, leak sensors, vibration sensors Hub recomendations: Phoscon conbee II USB gateway, Aqara homekit hub, Aqara starter kit: hub, plug, button, motion, door/window
This chinese company makes a lot of very useful and inexpensive wireless smart home products. At first I used their Zigbee smart hub to get these devices to talk to Home Assistant. However I now use a USB stick connected to my server to communicate with all of my Zigbee devices.
I have flashed the below devices with ESPHome firmware which I have full control over! You can see my code at my esphome-config GitHub repository.
These devices are great for shoving in a box behind a light switch to add smarts.
The SONOFF S31 is a reliable wi-fi controlled smart switch which can be flashed with Tasmota or ESPHome if you wish. The original S31 has power monitoring built in, while the new S31 lite omits that for a discount.
Note: the relay can be left always on to put these in a monitor only mode.
I use Life360 for presence tracking on my son's, wife's, and my phone. This has made me comfortable enough to do things like having Home Assistant close the garage door if one of us leaves the home zone. This covers us for those few times we may forget to close the door before driving away! :)
For extended family visitors I use the Home Assistant Ubiquiti UniFi integration to track when their phones are connected to my wireless access points.
Finally, I have a "Guest Mode" input_boolean setup as both a trigger and a condition on many of my lighting and front door locking automations.
Eventually you outgrow even the fanciest home wi-fi setup. There were just too many devices for my Netgear orbi mesh networking system to handle, so I had to upgrade to a business grade solution.
Recommendation: Phoscon conbee II USB gateway
Home Assistant's ZHA integration directly runs all of my zigbee devices. This includes all of my philips hue bulbs and all of my Xiaomi Aqara sensors!
Recommendation: Aeotec Z-Stick Gen5 Plus
As of February 2021 Home Assistant's Z-Wave JS integration directly runs all of my z-wave devices. To be precise I am running Zwavejs2Mqtt) with MQTT disabled so I can make use of the z-wave device management UI built in. This includes several in-wall switches and dimmers, smoke detectors, and a bulb.# Technical details
Our Home Assistant install has approximately 1251 total entities, including 644 sensors. My YAML files contain 41,394 lines of code.
Anniversary Countdown Sensor for Home AssistantAuthors:@pinkywafer.
Run the CLI config_check from a service call.Authors:@ludeeus.
Frigate integration for Home AssistantAuthors:@blakeblackshear.
HACS gives you a powerful UI to handle downloads of all your custom needs.Authors:@ludeeus.
📅 Custom Home Assistant integration for public holidays - also used for garbage_collection integration to automatically move scheduled events that fall on a public holiday (by an automation blueprint)Authors:@bruxy70.
Lovelace notification / alert component for Home AssistantAuthors:@rr326.
Home Assistant Custom Component for Wyze VacuumAuthors:romedtino.
Home Assistant custom integration to keep track of missing entities and services in your config filesAuthors:@dummylabs.
Home Assistant Integration for Wyze devices.Authors:@JoshuaMulliken.
Custom calendar card for Home Assistant with Lovelace
🔹Automatically populate the entities-list of lovelace cards
🐤 Adds many useful extensions to lovelace, such as templating secondary info, stacking within a card and more!
🔹 Add CSS styles to (almost) any lovelace card
🔹A collection of tools for other lovelace plugins to use
🧹 Declutter your lovelace configuration with the help of this card
Show a notification count badge.
Flipdown Timer Card for Home Assistant Lovelace
🔹 A foldable row for entities card, containing other rows
🙈 Hides the Home Assistant header and/or sidebar
🔹 Get more control over the placement of lovelace cards.
A custom Lovelace card for displaying a combination of persistent notifications, calendar events, and entities in the style of a feed.
A custom Lovelace text input row for use in entities cards
Minimalistic graph card for Home Assistant Lovelace UI
Show multiple entity states and attributes on entity rows in Home Assistant's Lovelace UI
Mushroom Cards - Build a beautiful dashboard easily 🍄
An intuitive way to represent the power and energy that your home is consuming or producing. (A custom card for the Lovelace UI of Home Assistant.)
🔒 Apply restrictions to Lovelace cards
HA Lovelace card for control of scheduler entities
A different take on the thermostat card for Home Assistant ♨️
🔹 Add sliders to entity cards
🛠 group multiple cards into one card without the borders
🔹Dynamically replace lovelace cards depending on occasion
Card that allows you to swipe throught multiple cards for Home Assistant Lovelace
A progress bar display for Home Assistant timers
Vacuum cleaner card for Home Assistant Lovelace UI
Weather Card with animated icons for Home Assistant Lovelace
ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices
Simple browser-based file editor for Home Assistant
Home Assistant scheduler
Automatically manage backups between Home Assistant and Google Drive
Manage your Docker environment with ease
RTSP Stream to WebBrowser over WebRTC and other protocols based on Pion
Expose Home Assistant folders with SMB/CIFS
SDR/RTL Sensors to Home Assistant via MQTT with Autodiscovery
The following are just some of the people that have inspired my smart home.
I aspire to Carlo's level of home connectedness. I have taken baby steps to giving my home a voice, but my speech routines are not being utilized quite as elegantly as at Carlo's house!
I wish I could be more like this guy. He is just so darn positive and happy all of the time. He taught me how to "Tasmota". I like to have one of his videos or streams playing in the background while I am coding.
I just learned of Frenck recently, but he is a long time member of the community. I just refactored my code to be similar to his config (as discussed in this video).
All of my configuration files are tested against the most stable version of home-assistant using Github Actions.