This article originally appeared in TidBITS on 2018-03-08 at 9:13 a.m.
The permanent URL for this article is:
Include images: Off

Smart Home Lessons from a Home Automation Veteran

by Rich Mogull

Trying to build a smart home nearly three years before the first iPhone was released was likely an act of combined hope, hubris, and stupidity. Early home automation products were limited in options and unreliable at best.

My smart home journey started back in 2005 when Smartlabs [1] released the first light switches based on the company’s Insteon [2] home automation technology. I had long been interested in home automation, and the combination of a new standard and a poorly located light switch finally motivated me to try living in the future. 13 years and 80 or so devices later, I’ve learned that adding automation to your home is more about creating reliable, convenient enhancements to your life than the crazy, complex demonstrations you so often see in movies, television, and product advertisements.

[image link] [3]

One advantage of picking up an unrealistic hobby early on is being able to teach newcomers the hard lessons now that home automation is hitting the mainstream with technologies like Apple’s HomeKit. If you’re getting interested in home automation, a good way to start is with “Take Control of Apple Home Automation [4]” by fellow TidBITS editor Josh Centers. Josh does a great job of showing you how to integrate HomeKit-compatible devices into your home and use Apple’s Home app to tie them together.

My Home, My Lab -- There are a lot of ways to bring home automation into your life. I like to break these out into two big categories: parlor tricks and complete home automation.

Parlor tricks are simple, useful automations that require minimal investment and generally don’t involve ripping out drywall, like smart bulbs and outlets. They’re the best way to dip your toes into home automation to see if you want to dive in fully because they don’t require complex integrations or large investments. These days, thanks to a growing range of integration options, these parlor tricks are relatively safe investments you can build on over time. I started here, with a few switches and a single remote, and I recommend you do as well.

Complete home automation is a far bigger investment and a more complex, essentially endless path. To set the stage, here is a quick overview of my smart home.

My house contains over 80 physical devices and more than 20 virtual devices, all integrated via a central server. The collection includes dozens of light and fan switches, sensors, two separate alarm systems, thermostats, AV receivers, a television, Alexa and Siri, door controllers, external cameras, and a sprinkler system. I have Hue lights [5], Insteon switches [6], Arlo cameras [7], Logitech Harmony remotes [8], a Rachio [9] sprinkler controller, and random devices you’ve probably never heard of.

[image link] [10]

I tie everything together with the amazing Indigo [11] home control software running on a 2009 Mac mini in my office closet. Indigo is the secret weapon of home automation; it natively supports Insteon and a competing home automation technology called Z-Wave [12] (with bridge hardware). Indigo can be extended by plugins, and the user community has created a robust library of plugins. My Indigo system runs many dozens of automation and custom scripts without needing Internet access (although it also integrates with Internet services via IFTTT [13]) and enables all these disparate products to work together relatively seamlessly. I can build new automation with a point-and-click interface, or drop to AppleScript or even Python for full programmatic control.

[image link] [14]

Indigo is not only the glue and the bridge, it’s also the translator. For example, a plugin called Homebridge Buddy lets me connect my existing non-HomeKit devices into Apple’s Home app and Siri. A separate plugin enables Alexa control, and each plugin can cross-communicate through Indigo so I can, for example, use Alexa to issue HomeKit commands. I can do weird things like turn the backlights on a wall keypad on or off based on the status of an Internet service using IFTTT (for an example of that, see “Using Philips Hue Lights as a Hurricane and Tornado Alert,” 3 March 2017). Indigo is the smarts in my smart home.

Then the fun starts. Every morning, before I wake up, the house warms slightly to take the morning edge off, but only in winter, not that winter means much in Phoenix. As I walk downstairs into the kitchen to make coffee, the lights slowly brighten. Although I could automate a coffee maker, I prefer to make fresh coffee myself before walking down the hallway to my office. A motion sensor sees me approaching the office and turns on the lights set with a morning color scheme and activates the Roku TV [15] I use as an external monitor, setting it to the right input. That may not seem like a lot, but even that simple setup involves two thermostats, two motion sensors, two Insteon light switches, Hue light integration, and Roku integration, all tied together with six separate automations to manage the triggers, schedules, and devices.

Simple and reliable actions like this are the heart of home automation. The trick is to enhance your life slightly with little conveniences, not create a series of annoyances and failures that can quickly come to resemble science fiction satire.

Figure Out What You Want, Then Cut It in Half -- Starting your full home automation journey is like planning for a big trip. Lay out what you think you want to bring… and then cut it down to what you can realistically carry. That applies to both devices and your desired automations. Unless you plan to pay an installer tens of thousands of dollars, you need to start simple and grow over time. Focus on small enhancements rather than big, complex scenarios.

Many of the automations you see on TV or in advertisements would, if you were to implement them, annoy you and anyone visiting your home. For instance, consider the simple example of turning on your lights in your bedroom to help you wake up in the morning, which is something that is easy to set up via HomeKit or with IFTTT: pick a time, pick the lights, and you are good to go. Sounds simple, but it’s not. Why?

First, don’t forget to exclude the weekends if you want to sleep in. Second, if you don’t sleep alone, make sure your partner is happy to wake up at the same time you do every day. Third, make sure you have an easy way to disable the automation when you are sick or on vacation, and don’t forget to turn it back on when things return to normal.

Similar examples abound:

Josh addresses many of these pitfalls with the “10 Commandments of Home Automation” in his book, such as “Thou shall consider actual usage patterns” and “Thou shalt communicate with thy housemates.” The deeper you go, the more you realize that there is a subtle complexity in building automations that adapt to your life and the messy reality of living with other human beings. Implementing useful automations is all about understanding and handling these different conditions and situations. The need to encapsulate this complexity often marks the difference between what you can do with HomeKit versus Indigo or, to a lesser degree, an Insteon [16] or SmartThings hub. The more advanced tools let you lean on increasingly complex conditional statements to handle all the different situations that would turn a simple schedule or location-based automation into an annoyance.

Enhance, Don’t Intrude -- The real value in home automation today comes in enhancing your daily life without building intrusive annoyances. For me, this comes down to one primary rule: For a visitor, my house should work like any other house.

This dictum is a concise way of wrapping up many of Josh’s recommendations. Wall switches should control lights, no iPhone needed. The thermostats, alarm system, remote controls, and everything else should work like they would in any other home. If I go on vacation and a relative housesits to watch our cats, the house shouldn’t frustrate them.

There may still be some unavoidable small surprises. For instance, if Hue lights were turned off with an iPhone, you may have to flip the light switch off and then on again to get Hue lights to turn on. You can worry less about parts of the home that guests aren’t likely to use, such as your home office or master bedroom.

One of the strongest use cases for full home automation is simple app and voice control over all your lights. I love being able to turn off the lights my kids leave on downstairs with a Siri command or tap on my iPhone. Maybe it’s a dad thing. At least a lazy, technology-obsessed dad thing.

I like to focus on little enhancements that may be complex behind the scenes but are subtle or even invisible to those in my home. For example, my morning routine that turns on the kitchen lights can activate only after 5 AM so a midnight snack run doesn’t blind someone with bright lights and will run only once in a day. Indigo lets me set conditions on triggers and have other automations enable or disable triggers based on schedules or other criteria. As a result, I have sets of triggers and actions enabled differently for mornings and evenings, weekdays and weekends, and some even based on the time of year or who is in the home.

Another automation example that seems simple but is complex behind the scenes revolves around going to bed at night. I have a string of actions called “sleep” that sets the alarm, changes the thermostat, turns off most of the lights, dims the kids’ lights to nightlight level, turns on our master bathroom lights, starts up our bedroom ceiling fan, and turns on some hallway lights at the right dimming level for us to go upstairs, and then turns those lights off after 15 minutes.

[image link] [17]

Needless to say, I don’t want all these actions to run at a set time, so I created multiple triggers. I can press a button on a wall keypad, start it with Siri or Alexa, or invoke it by tapping a shortcut on my phone. But I always want some of those actions to run, so they also have a backup schedule that checks to see if I manually triggered the overall collection. If not, the backup schedule uses a time trigger to dim the kids’ lights and turn on the ceiling fan in our room.

I also have a variable I can set to put the home in a “vacation mode” and disable some of these time- and sensor-based triggers to reduce confusion for whoever is watching our cats. I can even set that mode automatically if my wife or I haven’t been home within 24 hours using presence detection and our iPhones. (Or maybe this is all just some subconscious plot to confuse the cats.)

One of my favorite automations is “babysitter mode,” which we can enable manually when an adult isn’t paying direct attention to the kids. I have a set of sensors (separate from alarm sensors) on all our doors that send alerts to my iPhone when tripped. I built it the day I didn’t notice my then 2- and 3-year-old children walk outside and sit on our front doorstep in their underwear until my wife came home while I was working in my office all of four feet away.

Those are the differences between a trick and an automation.

Add a Brain to Find the Useful — None of these examples are, on their own, particularly special. The magic is in how they adapt to the state of the home, the people in it, and other variables so they run reliably and unobtrusively. That isn’t to say I don’t experience glitches — this is technology, after all — but over the years I’ve continually refined my automations to the point where I now struggle to come up with anything new.

Keep in mind that everyone has different home automation goals. It’s just like picking out the furniture that matches your tastes. Aside from geeking out over the technology, I enjoy the combination of remote access, voice control, and automation that is now part of the fabric of our day-to-day life. But what works for my family may not align with your goals — our family patterns are different.

If you want to move past the basics, you could try to push the limits of HomeKit to get a better sense of what you actually want before you make a larger investment in time and equipment. Once you’ve decided you need more than HomeKit can provide on its own, I highly recommend trying Indigo or exploring a SmartHome or SmartThings hub. Indigo has the most robust capabilities but requires that you have an always-on Mac.

In terms of devices, I’ve gotten the most value out of replacing all the wall switches in my house. That process took years and cost more than anything else I’ve done, so I started in areas that mattered the most, like the kitchen and my office, and then slowly hit the other rooms.

Thermostats are a no-brainer, but I recommend making sure whichever one you choose has local control and doesn’t rely too much on Internet connectivity.

[image link] [18]

Insteon [19] and Z-Wave [20] motion sensors are inexpensive and scattering a few of them around starts to give you a home that can be more responsive to your presence. That said, if security is important to you, don’t tackle that until you really know what you’re doing. Even now, I prefer to keep my security system separate, and I use a professional monitoring service. Security is hard.

Along the same lines, I recommend being very careful with door locks (Josh advises against them in his book), but as long as you have a security system to keep an eye on things, you can consider garage controllers. The trick with them is to have backups, since the last thing you want to do is accidentally leave the largest door in your house wide open. So I put an Arlo camera inside the garage to make sure I can get a real-time feed of the doors if I ever question what my system is reporting. I also have both a security sensor and a motion sensor on each door.

If you get to this point in your home, you will likely have moved into the addiction and hobby phase, which opens up a world of options, from custom Raspberry Pi sensors to fully integrated AV controls. You’ll also realize that simple and elegant automations tend to be the ones you use the most. Those are the automations that fade into the background so completely that you forget about them until there’s an outage.

And having your house work in the background for you is, in the end, really the entire goal of home automation. You don’t want a house that confuses and frustrates, but one in which all sorts of small touches make life just a little bit more convenient. Most of us want to run our own lives, not have a computer tell us how to live.

If what I’ve described here sounds overwhelming, keep in mind that I’ve spent over a decade building up my home automation system. You can start off with just a single light switch or smart outlet, and unlike when I started, you have the benefit of being able to read Josh’s “Take Control of Apple Home Automation [21]” before you dive in.