Awesome Open Source
Awesome Open Source

Repository status

Home Assistant version Github action status Github linter status

Last commit GitHub activity

Repository statistics

Lines of code Entities Domains Automations Scripts
41,394 1,251 36 95 59

Index

Smart home articles

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.

Summary of our smart home

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.

How we control our smart home

Physical control

We use a variety of physical switches from hard-wired to battery powered.

In-wall dimmers and switches

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.

bedroom_switches

Bedside toggle switches

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.

Voice control

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.

Screen control

mobile-ui

Mobile dashboard

I interact with the Home Assistant app on my phone to check in on the status of devices and automations.

Cast dashboard

  • Cameras: when the doorbell is pressed our outdoor cameras get cast to the Google displays.
  • Countdown timers: occasionally the wrong Google device starts a kitchen timer. To help with this issue Home Assistant casts a countdown timer status screen to the kitchen display while any timers are active.

Smart home devices

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 red series switches and dimmers

Device recommendations: Red series dimmer, Red series switch, Red series fan & light switch

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.

Project ideas

  1. Multi-click actions! 2x click to turn on/off the bright floor lamp, 3x click to turn on/off the floor fan, 4x click to activate your "good night" scene, 5x click to activate guest mode on your way to answer the door!
    See my automation: automations/buttons/zwjs_button_click.yaml
  2. House status indicator Use the LED strip to indicate when the garage is open, or the alarm is disarmed.
    See my article: "Inovelli red series status LED update"

Lutron caseta

Device recommendations: dimmer, pico remote, dimmer and pico remote, Lutron caseta pro bridge

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.

Project ideas

  1. Add a battery powered pico remote next to a room which doesn't have a wall switch! Control a smart bulb by any manufacturer! Our Play room was lacking a switch, so I screwed the mount to the drywall and covered with with a standard cover! 🍻
  2. Replace a dumb wired light switch or dimmer with a caseta dimmer so Home Assistant can automatically turn the lights on at night when a motion sensor detects you have entered the room!
  3. Use Home Assistant to brighten the lights gradually to help you wake up in the morning.

Philips hue bulbs

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.

Project ideas

  1. Use these bulbs to make your plug in lamps controllable by Home Assistant.
  2. Create a realistic sunrise to wakeup in the morning using the tunable white light.

Smoke + carbon monoxide detectors

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.

Project ideas:

  1. Safety alert! Have Home Assistant alert you which detector sensed the smoke so you can decide whether to try to put it out, or get to safety!

Aqara sensors & buttons

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.

Project ideas

  1. Flood damage alert! This has saved us from major damage once and minor under the sink leak damage twice! Place leak sensors under your all sinks, dishwasher, clothes washer, refrigerator, and water heater. Setup an alert to notify you where the leak is. This will give you valuable time to stop major flood damage!
  2. Door and window sensors: Stick door and window sensors on doors and windows around your house and have Home Assistant remind you to close the doors and windows when it starts to get warm outside.
  3. Motion lights: stick a motion sensor in your
    3a. Kitchen to turn on an LED strip under your cabinets to give yourself a nightlight when getting water in the middle of the night.
    3b. Bedroom to light a dim path to the bathroom.
  4. Medicine logger: stick a wireless button inside the medicine cabinet to log when you gave seizure medicine to your dog.
  5. Automatic bathroom exhaust: use a temperature & humidity sensor to automatically turn on your exhaust fan and turn it back off when the humidity drops again.

DIY smart home 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.

Shelly 1 boards

Device recommendations: shelly 1 (1 pack, 2 pack), shelly 2

These devices are great for shoving in a box behind a light switch to add smarts.

Project ideas

  1. Hue bulb functional light switch: my dining room has a 9 bulb chandelier, this provides constant power, while allowing the switch to remain functional.
  2. Smart bathroom exhaust fan
    2a. turns the fan off after 10 minutes when manually turned on (note: a battery powered motion sensor resets the countdown).
    2b. turns the fan on then back off when the humidity is up due to a shower (note: a battery powered humidity sensor in the bathroom is compared to one in a neighboring room).
  3. Garage door controller: I plan to replace the cloud based chamberlain MyQ controller soon using the hook up's video for reference .

SONOFF S31 plugs

Device recommendations: S31, S31 lite

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.

Power monitoring project ideas

Note: the relay can be left always on to put these in a monitor only mode.

  1. Monitor your washing machine so Home Assistant can notify you when your wash is ready to be hung up or moved to the dryer! No more stinky clothes!
  2. Monitor your dishwasher or clothes dryer.
  3. Monitor your 3D Printer or Laser Cutter to let you know when it is time to check out that thing you just created!

S31 lite project ideas

  1. Plug one of these into every floor and table fan you own and just ask your Google or Alexa to "turn on the bedroom fan!".
  2. Plug one into a sound machine to help you sleep at night. Have Home Assistant automatically start this when your phone starts charging for the night.

Presence detection

Life360 integration

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! :)

UniFi integration

For extended family visitors I use the Home Assistant Ubiquiti UniFi integration to track when their phones are connected to my wireless access points.

Guest mode helper

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.

Wireless communications

Wi-fi: Ubiquiti Unifi

Device recommendations: Unifi 6 lite access point (wi-fi 6), Unifi AC-PRO access point (802.11ac, I have 3 of these), Unifi security gateway

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.

Pros:

  • Rock solid wi-fi all throughout the downstairs.
  • Household members don't complain about the wi-fi anymore!
  • Long ethernet cable runs make all access points equally fast!

Cons:

  • Requires a long ethernet cable run to each access point. (But also a "pro"... see the last point above.)

Zigbee

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!

Z-wave

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.

23 Custom integrations

Adaptive Lighting v1.0.14

Adaptive Lighting custom component for Home AssistantAuthors:@basnijholt, @RubenKelevra.

Anniversaries v4.5.0

Anniversary Countdown Sensor for Home AssistantAuthors:@pinkywafer.

Battery Simulation v1.0

Authors:@hif2k1.

Browser mod v1.5.3

Config Check v0.1.1

Run the CLI config_check from a service call.Authors:@ludeeus.

Fontawesome icons v2.1.5

Frigate v3.0.0-rc.2

Frigate integration for Home AssistantAuthors:@blakeblackshear.

Generate readme v0.5.0

Authors:@ludeeus.

Google Home v1.9.12

Home Assistant Google Home custom componentAuthors:@leikoilja, @DurgNomis-drol, @ArnyminerZ, @KapJI.

Home Assistant Community Store (HACS) v1.25.5

HACS gives you a powerful UI to handle downloads of all your custom needs.Authors:@ludeeus.

HASS.Agent Notifier v2022.3.15

Authors:@LAB02-Admin.

Holidays v1.7.4

📅 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 Notify v1.0.0

Lovelace notification / alert component for Home AssistantAuthors:@rr326.

NWS Alerts v2.4

Authors:@finity69x2.

Rainforest EMU-2 v1.2.0

Authors:@ryanwinter.

SamsungTV Smart v0.7.2

Authors:@jaruba, @ollo69, @screwdgeh.

Scheduler integration v0.0.0

Authors:@nielsfaber.

Simple Wyze Vacuum v1.7

Home Assistant Custom Component for Wyze VacuumAuthors:romedtino.

SmartThinQ LGE Sensors v0.23.0

Authors:@ollo69.

Sun2 v2.1.1

Authors:@pnbruckner.

UniFi Gateway v0.3.3

Authors:@jchasey.

Watchman v0.5.1

Home Assistant custom integration to keep track of missing entities and services in your config filesAuthors:@dummylabs.

Wyze v0.1.12

Home Assistant Integration for Wyze devices.Authors:@JoshuaMulliken.

27 lovelace plugins

Atomic Calendar Revive v7.0.0

Custom calendar card for Home Assistant with Lovelace

Auto Entities v1.11.0

🔹Automatically populate the entities-list of lovelace cards

Canary v0.3.4

🐤 Adds many useful extensions to lovelace, such as templating secondary info, stacking within a card and more!

Card Mod v3.1.5

🔹 Add CSS styles to (almost) any lovelace card

Card Tools v11

🔹A collection of tools for other lovelace plugins to use

Decluttering Card v0.6.3

🧹 Declutter your lovelace configuration with the help of this card

Favicon Counter v1.0.0

Show a notification count badge.

Flipdown Timer Card v0.3

Flipdown Timer Card for Home Assistant Lovelace

Fold Entity Row v20.0.4

🔹 A foldable row for entities card, containing other rows

Kiosk Mode v1.7.2

🙈 Hides the Home Assistant header and/or sidebar

Layout Card v2.4.2

🔹 Get more control over the placement of lovelace cards.

Lovelace Home Feed Card v0.6.3

A custom Lovelace card for displaying a combination of persistent notifications, calendar events, and entities in the style of a feed.

Lovelace Text Input Row v0.0.8

A custom Lovelace text input row for use in entities cards

Mini Graph Card v0.11.0

Minimalistic graph card for Home Assistant Lovelace UI

Multiple Entity Row v4.4.1

Show multiple entity states and attributes on entity rows in Home Assistant's Lovelace UI

Mushroom v1.9.0

Mushroom Cards - Build a beautiful dashboard easily 🍄

Power Wheel Card v0.1.5

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.)

Restriction Card v1.2.7

🔒 Apply restrictions to Lovelace cards

Scheduler Card v2.3.4

HA Lovelace card for control of scheduler entities

Simple Thermostat v2.4.3

A different take on the thermostat card for Home Assistant ♨️

Slider Entity Row v17.2.1

🔹 Add sliders to entity cards

Stack In Card v0.2.0

🛠 group multiple cards into one card without the borders

State Switch v1.9.5

🔹Dynamically replace lovelace cards depending on occasion

Swipe Card v4.0.0

Card that allows you to swipe throught multiple cards for Home Assistant Lovelace

Timer Bar Card v1.18

A progress bar display for Home Assistant timers

Vacuum Card v2.6.3

Vacuum cleaner card for Home Assistant Lovelace UI

Weather Card v1.5.0

Weather Card with animated icons for Home Assistant Lovelace

8 addons

ESPHome v2022.5.1

ESPHome add-on for intelligently managing all your ESP8266/ESP32 devices

File editor v5.3.3

Simple browser-based file editor for Home Assistant

HA Scheduler v0.17

Home Assistant scheduler

Home Assistant Google Drive Backup v0.108.2

Automatically manage backups between Home Assistant and Google Drive

Portainer v2.0.0

Manage your Docker environment with ease

RTSPtoWeb - WebRTC v1.2.2

RTSP Stream to WebBrowser over WebRTC and other protocols based on Pion

Samba share v9.7.0

Expose Home Assistant folders with SMB/CIFS

SDR to Home Assistant v0.1.14b

SDR/RTL Sensors to Home Assistant via MQTT with Autodiscovery

Home Assistant community

Community Forum Discord

The following are just some of the people that have inspired my smart home.

Carlo

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!

DrZzs

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.

Frenck

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.

Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Shell (171,036
Family (3,971
Home Assistant (3,709
Alexa (3,574
Home Automation (2,211
Smart Home (1,592
Homekit (1,086
Home Assistant Config (309