By Dan Moren
June 28, 2016 8:10 AM PT
Automate This: Light it up
Apple’s WWDC announcements about the future of HomeKit got me kind of jazzed about smart home equipment, so before the betas were even finished downloading, I went out and ordered a starter set of Philips Hue bulbs for my apartment.
I picked the Hue set for a few reasons: one, they’re generally well regarded, including being The Wirecutter’s top pick for smart light bulbs. Two, they work with HomeKit. And three, they work with my Amazon Echo as well.1 Great!
With three bulbs and a relatively small apartment, I ended up installing the bulbs in the floor lamp in my office and the two floor lamps in my living room. (My office previously was connected to a WeMo switch, which I removed, and, being unable to find another good use for it, gave it to my parents to replace their old analog timer.) I installed the Hue bridge in the cabinet with my TV and router because it only supports a connection over Ethernet2, fired up the Hue app on my phone, and then I was pretty much done.
At this point, I can control my lights via my phone and, without too much trouble, the Echo. But just being able to turn lights on and off is kind of basic. What else could I accomplish?
Because I’m a giant nerd, the first thing I decided to try my hand at was creating a “red alert” scene, wherein the office lights would turn red, flash, and–for extra credit–the red alert klaxon from Star Trek would play.
This actually ended up being kind of complicated, in part because of the tools available. My first foray used IFTTT, which at least made it pretty easy to say “trigger red alert” and have all three lights turn red.
There are downsides to IFTTT, however: you have to say “trigger,” which is annoying; the Echo responds “Sending that to ifttt3” which is eye-roll-inducing; and the connection can sometimes be slow and seemingly get lost. Also, you can only make the lights blink once, and there’s no way to get the Echo to play a sound, since it’s not available as an “action,” only as a trigger. Moreover, IFTTT is limited in that it generally pairs a single trigger with a single action; if you want to do more than one thing, you have to create multiple recipes with the same name…which seems to sometimes create conflicts.
I briefly tried going to the other end of the spectrum by creating a custom skill for my Echo that would essentially be a bare bones app–in large part because it seemed like that was a way to get it to play a custom sound. Unfortunately, I never had any luck getting it to play back the audio file I wanted. And, in general, as someone who’s more of a dabbler in programming, it got a little too involved for me.
So I spent some time looking into the Echo’s Smart Home integration and ended up finding an entirely different service that helped me accomplish at least part of my goal: Yonomi.
You down with API? Yeah, Yonomi
Essentially, Yonomi is kind of like IFTTT or HomeKit: it’s an abstraction layer that can talk to a bunch of different smart devices, and allows you to execute a variety of actions off a single trigger. It’s kind of like the “scene” capability of HomeKit, but with a bit more customization.
Using Yonomi, I was able to set up a routine triggered by “turn on red alert” which set all of my lamps to red and blinked. Which was pretty cool, except for a couple things: the commands seem to execute at different times rather than concurrently, so the lights don’t blink in unison, and you can’t set them to blink indefinitely, so my lights only blink five times before settling on steady red. As far as the audio component went, though, it was right out.4
Not bad, though. The trick, however, came when I wanted to find a way to return the lamps back to “condition normal” as I’d dubbed it. This is where home automation gets a bit sticky.
A multitude of methods
I can control my lights with the Hue app, the Echo, Yonomi, IFTTT, and HomeKit. That’s a whole lot of different methods…and of course, each of them is slightly different with its own peculiarities and idiosyncrasies.
Take, for example, my first attempt to set a routine that would return my lights to their default state. Using IFTTT I can specify a color using plain language–”red”, “white”, “blue”, etc.–or a hex color code (i.e. #4CC552 for “kelly green”). The issue here is twofold: first, when you specify “white” it gives you essentially pure white, which I find an overly harsh tone. Secondly, there are a ton of different systems for quantifying colors, and the versions that Philips uses in its app don’t easily translate into hex code.5
I turned again to Yonomi, but this presented its own problems. It presents two methods for specifying color: first, choosing from a menu of common, specific values–”white”, “green”, “yellow”, and so on–or second, picking from a discrete list of color temperatures measured in Kelvin. With the latter I was able to get close to the value I wanted, but it fell between two of the options presented–2500 and 3000–and there’s no way to specify an arbitrary value.
The “normal” lighting I like is actually one of Hue’s built-in “Recipes” called “Read”…but there’s no way to set that mode from outside the Hue app. The easiest solution for that was a somewhat buried feature that lets you create a Today widget; I created one to set all the lights to that particular mode. But that still means I have to dig out my phone in order to reset everything.
All of that is before we even get into automations. HomeKit, the Hue app, and Yonomi all offer their own forms of routines: scripts of things that happen based on a manual or automatic trigger. But they all provide different triggers. For example, I can use Yonomi to turn lights on at sunset6, which is great, and apparently unavailable via the other methods. Several of the apps have ways to set lights based on my location (which is not something that I find terribly useful personally, though I get the appeal), so which one do you choose? HomeKit has the ability to set a “good night” scene, which is nice from a natural language perspective, but you have to remember to issue that command to Siri, not to the Echo. And so on.
In short, it’s all kind of a mess.
The future of the smart home
My time with the Philips Hue lights and the Echo and my Harmony Hub have convinced me that the Smart Home has some cool potential, and it’s definitely coming along. But right now, the tech is so Balkanized that it ends up being fairly hostile to even a tech savvy user. (Honestly, it might be friendlier to someone who didn’t dig as deep into it as I have.)
That said, if my Amazon wishlist full of smart gear is any indication, I’m far from giving up on the connected home. At the moment we’re only scratching the surface of nifty things that we can do.
- Four, they were on sale at the time. Hey, who says a tech writer can’t be a savvy shopper? ↩
- As I was out of ports on my router, I had to unplug the Apple TV from Ethernet. So far, though, it hasn’t shown any signs of its recurring Wi-Fi bug. Phew. ↩
- Yes, it pronounces it “ift”. Silly Alexa. ↩
- I can’t believe it, but this has me actually considering a Sonos, which Yonomi also supports. Please send help. ↩
- I spent a while searching this and actually found a variety of complicated mathematical algorithms, but no simple tool for plugging in one value and coming up with the other. Even getting quantitative color information out of the Hue relies on access to a developer console. ↩
- But not an hour before sunset, which my old WeMo switch let me do and which was more useful, because by actual sunset, it’s already too dark in my office. ↩
If you appreciate articles like this one, support us by becoming a Six Colors subscriber. Subscribers get access to an exclusive podcast, members-only stories, and a special community.