6 min read

The Rube Goldberg smart home

A Rube Goldberg machine is a machine intentionally designed to perform a simple task in an indirect and overcomplicated fashion.

Like many techie new homeowners, I wanted to trick out my home with the latest and greatest in smart home gadgets. With the proliferation of internet-of-things devices, it was overwhelming to know where to start.

I started looking into to the problems we (me, my wife and sister-in-law) were encountering day-to-day and settled on three types of problems:

  • Remote access - With different work schedules and visitors to the house, we needed a way to easily grant access to people without physically giving them keys or remotes.
  • Monitoring - I’d like to know when things need my attention so I don’t find out when it’s too late.
  • Automation - There are certain humdrum tasks that I need to do a regular interval, like watering my plants.

Tackling Remote Access

Unlike many people who enter their house through the front-door, we almost exclusively enter through the garage. So the first device in my smart home was a garage opener.

I bought a Chamberlain garage door opener with MyQ compatibility (which means it can receive a proprietary signal from a Chamberlain-approved hub).

For most MyQ openers, it requires a separate hub that bridges the connection between the Chamberlain app on my phone and the garage door opener. I’ll later find out that bridging devices (or hubs as the marketers would call them) make up the majority of my smart home setup.

After installing the new garage door opener, setting up the MyQ bridge, and creating an account with Chamberlain, I could open the garage door from my phone. If I wanted to share that access with others, they would have to download the app and use my login info. In 2016, I knew we can do better than that!

There were all these great smart home ecosystems such as HomeKit, Amazon Alexa, SmartThings, and Google Home that have controls and access sharing built into the phones and smart speakers we used on a regular basis. Sure it can’t be that hard to integrate my garage door opener with at least one of these systems.

I was mistaken.

At the time, MyQ does not natively integrate with HomeKit or Google Home or Amazon Alexa. Chamberlain also does not have a nice REST API. Fortunately for me, many folks on the internet have already reverse-engineered the MyQ web API.

The next hurdle was a way to bridge the unofficial (could be shut down at any time) MyQ web API and Alexa / HomeKit. Neither ecosystems had great plug-and-play solutions for me to try.

Thankfully, the open source community came to my rescue. Homebridge is an open source HomeKit bridge that has plugins for every imaginable smart home device out there. But you need a dedicated computer like a Raspberry Pi or an old PC/Mac to run it. Luckily I have a lot of card-sized computers from IOT hacks I’ve done in the past.

After getting the Homebridge computer setup and running, I need to download Homebridge and an additional plug in for each device I’d like to control. Fortunately someone already made a Chamberlain plug-in based on the MyQ web API. It’s not too hard to make a plugin but it seemed like overkill if you just want your garage door to open from your iOS device.

Setting up Homebridge required basic Linux command-line skills and some debugging skills. Here is the guide to install and configure Homebridge.

Now that I had Homebridge setup, I finally could control the garage door from Apple’s native controls panel and easily share access to any iOS user. My Android friends were SOL but that’s the life they chose.

I giddily stepped outside to test the system. I pull out my trusty iPhone and saw … nothing. After some quick research while sitting on the curb outside my home, I found that I needed another bridging device if I wanted to control my HomeKit devices outside of Wi-Fi range.

Embarassed, I called my wife to let me back in.

The final piece of the Rube Goldberg garage door opener was the bridge from my local Wi-Fi HomeKit to the Internet so I can control it from … dare I say it … ANYWHERE!

Apple recommended an old iPad or an Apple TV as this bridging device.

In the end, here’s my full system for opening the garage door:

Garage Door Opener <-> MyQ Gateway <-> Wi-Fi Router <-> HomeBridge <-> Apple TV <-> iPhone

Messy, convoluted, but it finally worked! I could even say:Hey Siri, Open the garage door *(provided Siri understands me the first time and the phone is unlocked and none of the many pieces of Rube Goldberg machine was broken).

Was it worth all that effort?

Definitely not. I wish Chamberlain and Apple HomeKit worked together out of the box. It should take two devices for this to work, Phone <-> Garage Door Opener.

What I learned:

The land-grab tactics used by the big tech companies for their “smart” home ecosystems have left consumers like me confused, frustrated, and intimidated by the thought of the smart home.

  • No matter how obscure you think your API is, the open source community will find a way to reverse engineer it. As a device maker, plan for openness.
  • Interoperability and choice are highly valuable to the consumers, but there is almost no incentives for Apple, Amazon or Google to play nice with each other.
  • A traditional device maker like Chamberlain has no expertise making apps and complying with the latest HomeKit APIs. They spend money on consultants just to check the “has mobile app” box and it often results in poor user experiences.

As device makers, what can we do to make it better:

Play nice with others

Stop making new standards and proprietary ecosystems. The success metric should be number of people using your device, not how many locked-in users. While you’ll give up some “platform plays”, it will create defensibility with brand loyalty because users will trust that you have their interests at heart.

Standards

https://xkcd.com/927/

Stop making mobile apps, start offering services

My phone has hundreds of apps. I use 5 on a daily basis, 10 on a weekly basis, and at most 15 on a monthly basis. As a consumer, I don’t need more single-purpose apps.

I’m not alone. Recode reports that app download growth is slowing even for some of the most popular apps. The novelty of using an app to control a home device wears off fast.

Instead of new apps for device control, we should offer integrations and services that make device ownership delightful. For example with Chamberlain, they can contract with local repair technicians to offer maintenance plans for garage doors and discounts on repairs if the user needed it. They could offer (and charge) for plug-and-play integrations with different home ecosystems.

Make it work with zero configuration

It’s faster for me to get set up with WeChat to talk to someone in China than it is to control the light 10ft away. That is counterintuitive.

Hardware makers are so obsessed with data collection, user tracking, and platform control that they’ve sacrificed good user experiences as a result. I’ve done this as a maker, I’m guilty!

But it doesn’t have to be this way. Mobile games and chat apps have shown us how to progressively onboard the user so that they get immediate gratification up front and still complete our user goals over time.

Owning and maintaining a home is hard. Our “smart” devices should at least make it easier, not harder.