Home Automation in 2023

I’ve written about home automation a few times in the past, but so much has changed since last time I wrote about it that I feel like I have much more practical advice to give than in times past. I’ve been automating my houses (and formerly rooms and apartments) for over 25 years now, and while I’m not as expert as some people online, I think I am probably right in that sweet spot of knowing most of the advanced stuff and being able to recommend a good path even for new people.

First, some equipment recommendations:

Home Assistant

Home Assistant is sort of like Linux. For years I tried to switch to Linux and every time I thought “it’s too much hassle and the benefits don’t outweigh the inconveniences” until ten years ago (almost exactly!) I found that it had finally gotten to the point where it was worth installing. The same has been true of Home Assistant, the most powerful home automation platform. The first time I installed it I couldn’t get anything to work with it. The second time only half of my things would work. This time not only did everything work but it found things on the network that I didn’t even realize could be controlled remotely. I switched over and haven’t looked back.

Home Assistant can be run on a raspberry pi. I knew that I’d have a pretty intense setup, so I bought a small cheap server and installed it on that. What’s amazing about Home Assistant is that it effortlessly configures everything, automatically generates good dashboards, and is extremely powerful for automations. Install Node-RED for a really easy and powerful way to create automations.

Frigate

I’ve tried every self-hosted NVR platform to connect to cameras and (in some cases) automate based on them. The best option by far ended up being Frigate, which is closely tied to Home Assistant. You can buy cheap Reolink cameras for ~$50 and Frigate will detect people, cats, and other objects. Now I do complex things like alert when people are detected and no one is supposed to be home, increase brightness near doors only when people are detected, etc. It can even count people, so I could make a mode where if 3 or more people are in the pool it switches to pool party mode and starts playing music.

Hue

You don’t have to buy Hue, but I find them to be the easiest to set up and the best light quality for bulbs. I used to buy cheaper ones but have now replaced all but a few. They have a wide range of bulb types, including some excellent recessed light retrofits. They work seamlessly in Home Assistant.

WLED

WLED is a bit more technical but is amazing for light strips. You buy a cheap ESP32 ($7-10), solder it to the light strip, and you have amazing control over the strip. I get individually addressable strips for a few dollars more which allow me to have cool effects. The main strip in my living room, hidden behind a projector screen beam that I built, has almost lava-lamp like color blobs floating left and right very slowly over time. You can also divide it into segments. I have one strip running through my sauna and steam room with slightly different colors fading in a James Turrell-like fashion. WLED also has a very good phone app and web interface, so once you set it up it’s really easy to control. Of course, Home Assistant has excellent control over it too.

Something I wish I knew earlier was that it’s better to buy higher voltage LED strips so that power can be delivered over longer distances. I just ordered some 24V WS211 COB strips that have 720 lights per meter, and I’m excited to use them over the 5V ones I mostly have now. It’s easy to make a basic controller with WLED, but if you’re driving more power or want to control multiple strips from one unit, get a QuinLED.

Zigbee and ZWave

I try to avoid getting wifi devices and prefer Zigbee and ZWave because they’re easier to pair and they create a mesh network. These cover locks, switches (in cases where there is no practical way to use individual bulbs), and random items like valve controllers and plug in modules. When buying plug-in modules ALWAYS get ones that can read the power usage. They’re a few dollars more expensive but I’ve found that often times I want to trigger something based on how much power it’s using. For example, my pinball machine turns on with an automation, but once the power has been <150W for 5 minutes it turns off because I noticed that it only goes over 150W when playing actively.

Zigbee motion detectors seem to be the best. There are new mmwave presence detectors but I haven’t found a real benefit to them.

Withings Sleep Mat

I love the Withings Sleep Mat. It is very annoying (but possible and reliable once you figure it out) to get connected to Home Assistant, but it’s the best way to detect who is in bed. We have one on each side of our bed and trigger various things like if I’m in bed and my wife isn’t home, shut down the whole house. If she’s in bed but I’m not, shut down the bedroom but leave my bedside light at 1% so I can find my way to bed. When both people are out of bed in the morning, open curtains, turn the AC up, take the house out of high security mode, etc.

Curtains

Get curtain tracks that use Dooya motors from Aliexpress, and also get zigbee rolling shades. I also have a SwitchBot for an area where I couldn’t get a long enough curtain track but it’s the least reliable, needs to be charged sometimes, and is the loudest.

I don’t have specific recommendations because I bought my curtain tracks a long time ago and the roller shade company I used was just OK.

Google Nest for Speakers

Rather than spend a ton of money on Sonos I just got a bunch of Google Nest Mini and Audio. My use case for music is generally quiet background music and these speakers do well enough.

Now that you have all your gear, what should you do with it?

My goal is to never touch a light switch, and I haven’t touched one in years. If I have to go into the HomeAssistant, WLED, or Hue app, that means that I haven’t automated enough, so I try to figure out how I could have automated the light change.

Almost every change in light, curtain, etc, is prompted by something else. Think about what that prompt would be, and figure out how to automate it. An obvious one is that you only turn dining room lights on when you sit at the table. So put a motion detector on the bottom of the table so that when it sees your legs it turns on the lights. Set a long delay to turn it off— maybe 30 minutes. An extra 10-15 minutes of burning lights won’t matter, but it’s very annoying for lights to turn off prematurely while you’re eating.

Sometimes you have to be more clever. I wanted an automation to turn on the bathroom heater when someone is in the shower and it’s below 60 degrees outside. Rather than try to put a motion detector in the shower, I put a switch that could detect power usage on the bathroom fan. When the bathroom fan detects humidity it turns on higher and uses more power, so I used that as a trigger to turn on the heater.

I did something similar in my tea room. My tea room has a see-through wooden slat wall separating it from the gym. It lets nice light into the gym, but you don’t want to look at gym equipment when drinking tea, so I have a curtain between the two. I have a motion detector at the tea table, but I disabled the curtain triggering from it because if I walked by to grab some tea to drink at my desk it would start closing the curtain. I didn’t want to wait for me to be sitting there for 5 minutes because then the curtain noise would interrupt tea. So I finally hooked a power meter up to the kettle and trigger it only when the kettle turns on.

You can start with basic automations and flesh them out as you go. When I turn on my projector it sets all of the lights to low levels, drops the screen, etc. But it also disables the motion detector in the kitchen. Before I did that I noticed that I would avoid getting water while watching TV because I didn’t want the bright lights to shine on the screen.

Our living room has a wall of windows that we keep plants next to, but during the summer the plants would get singed. So based on the altitude and azimuth of the sun I have those shades open and close. Generally they’re closed when I wake up but as soon as there’s no direct light shining through the windows they open. I also do something similar in my office to avoid sun on the screen.

Spend time building up the logic for different states. I keep track of whether my wife and I are in Vegas, whether we have guests (using NUTs and ESPresence), whether one person is sleeping, whether everyone is sleeping, whether it’s evening, whether people are watching TV, etc. Then it’s easy to make flows that do the right thing in every case.

I also like to build scenes and I name them things like Backyard Evening On, Backyard Evening Off, Backyard Day On, Backyard Day Off, etc. When an action is triggered I just set the appropriate scenes for it. You could also make a switch for “Backyard On” and have it check the time and set the backyard appropriately.

In cases where there’s no obvious trigger, use voice commands. For example, I want to turn on the steam room before I get there, so I just say “Google, steam time”. I may eventually switch to local processing of voice as it has just this year become easy enough to do.

I love using the components of home automation to come up with solutions to problems. I have a pool filler that is basically a hose with a float valve, and I hate looking at it on the patio. So now I’m using ESPHome to design a system that will ultrasonically measure the depth of the pool and then shoot water over the pool equipment fence at night to fill the pool. I’m not sure if it will work or not, but it’s fun to work on.

Building these sorts of automations might sound daunting, but once you do a few they’re actually pretty simple. They also might seem pointless— why not just flip a few switches? The main reason is that to generate a really nice atmosphere you might need to set 4-5 lights to specific brightnesses and even colors, so you just won’t do it. It’s also just really nice to have everything set right all the time. When I walk into my office in the morning the shades are already open. The hot tub turns off and saves money when my wife and I are both outside of Vegas. The AC also goes into vacation mode automatically. When we come home everything is set back how it should be. In the early days I wondered if things were even working because I never saw any lights off. It’s nice to know that all of the doors are locked when you’re sleeping, rather than have to check them all.

I’m surprised more people don’t automate their houses. I guess with almost 2000 words written you could argue that it’s complicated, but even just adding a few things like door locks and bedroom lights is a start that will pay off. Do you do any cool automations that you don’t think I’ve thought of? I’d love to hear them.

###

Photo is my tea room and new pinball arcade that I built with my dad!

Join me this Sunday at 11am PST (different time than usual) for Tea Time with Tynan.


Posted

in

by

Tags:

Comments

12 responses to “Home Automation in 2023”

  1. Lane Banks Avatar
    Lane Banks

    You have done some pretty awesome things! I will definitely have to implement some of these. I built a hydroponic growing tower in my kitchen that is automated. Water is pumped up to the top and then filters down to each of the grow sites. The water comes on for 60 minutes and then off for 30 minutes. I have a fan that turns on at the same time as the water pump to stimulate the leaves on my lettuce. The lights come on at 4am and turn off at 10pm. This is all done with kasa smart plugs. Look up the gardyn tower on google to get an idea of what I built, though my custom one is bigger and cooler haha. It is so much fun to grow fresh produce in my kitchen and after building it, I hardly lift a finger to maintain it. I can do more to automate it, but for the moment I am enjoying it how it is.

  2. Noah Adams Avatar

    I have Alexa play an album of music curated to help you sleep as soon as I say goodnight. Didn‘t think of the withings sleep pad to automate it further, I‘ll have to check that out!

  3. Adam Ruggle Avatar
    Adam Ruggle

    Inspiring work Tynan, thanks for sharing.

  4. ReggyB Avatar
    ReggyB

    What if you want the light on in the dining room for some reason, but you aren’t going to sit at the table? Do you now have to pull out a chair and sit down instead of being able to just flip a switch? When I start thinking about automation, a million things like this start occurring to me and it just feels infinitely more simple to have a light switch.

    1. Tynan Avatar

      In my case I just kick my foot under the table. If there was some other regular use of the room where I wanted it bright (like cleaning, maybe) I’d just make a voice command for it. For one off things I can use the app or a generic “Hey google, turn on dining room lights”. Maybe those things are less convenient than a switch, but they’re much more rare than just sitting at the table and eating.

  5. John Avatar
    John

    Do you have a recommendation for getting started with Zigbee et al?

  6. Micah Berkley Avatar

    As a home automation self-described scientist, this is a spot-on, genius, and well-written piece. Absolutely thorough, and I appreciated it completely.
    Some of the more nefarious things I have done is created a netflix and chill mode that turns on my candle warmers, sets the lights, turns off devices, and starts music, all by the “rhythm” detected on the pressure mat. It is also triggered by Alexa.
    Another cool thing that I did is I connected a smoke machine (I was a DJ), to my alarm. So if my alarm was tripped, the AC will turn on blast (cool air slows fog disperation),all the lights & strips turn red, and the switch on the smoke machine turned on. I had it under the couch and the power button pushed down. It will time out automatically after 2 minutes. Then cycle again. ( I have a cool video if you ever want to see it, lol).
    Your use of voltage… FREAKING GENIUS. Genius. Genius. I love it. I look forward to following and updates you post in the future. This page is monitored also for changes. It will flick my lights and update my alexa, lol.

  7. Martin Avatar
    Martin

    Thanks great article. Agree with most suggestions. I prefer using very robust KNX bus system especially in new build houses but love HA for mobile/visual interface and automation/cross integration.

    For your pool stay away from sonar the receiver foggs up. Rather use pressure sesnsoe with 4-20mA analogue IO Module very accurate. I use those a lot for tank volume.

    I also use GPS on mobile plus number plate recognition / car direction for automatic gate opening.

    And agree all switch and dimm actuators with power measurements for instance pool chlorinator only on if pool pump RPM reach certain value via Watts.

  8. Martin Avatar
    Martin

    What do you recommend for wireless door contacts? Zigbee?

  9. Radek Avatar
    Radek

    I’m using Fibaro’s system. Best things so fat? ON-wait xx minutes-OFF for things like aircon or electric bathroom heater. This one actually heats the bathroom in the morning for Autumn / Winter season as well. Also “movie night” presets for my lights and Roomba’s “clean after movie night” routine between the sofa and the TV set. 😌

  10. Taylor Rose Avatar

    great blog I ever read

Leave a Reply

Your email address will not be published. Required fields are marked *