By Jason Snell
April 27, 2021 9:45 AM PT
Tip: Control HomeKit via Stream Deck
After much hesitation and research, I recently bought a Stream Deck Mini. And I immediately wondered if I could assign buttons to turn the lights in my office on and off.
Here’s the problem: The Home app on the Mac isn’t scriptable. (Even though it’s a Catalyst app, it could be made scriptable if Apple wanted to—witness Dice By PCalc, which recently added scripting support.)
Fortunately, I figured out a solution. In January I wrote about HomeControl Menu, a utility that puts control of HomeKit devices in your Mac’s menu bar. But that’s not all HomeControl Menu does—it also supports automation via custom URLs.
With that knowlege in hand, setting up Stream Deck buttons to control my lights became extremely easy. The Stream Deck’s default set of actions includes one called Website, which is designed to open a page in your default browser. Automation URLs from Home Control Menu are prefaced by the
homecontrol protocol handler, and when the Stream Deck app hands that URL off to macOS, it does the right thing—namely pass the URL on to HomeControl Menu, which toggles my lights.1
(This process will even work if HomeControl Menu isn’t running, because macOS will launch any app that’s registered to receive a particular URL scheme if it’s not open.)
My exploration of the Stream Deck Mini has taken me to a bunch of very interesting places in Keyboard Maestro and elsewhere—more on those at a later time—but this simple URL-based integration has actually had the biggest impact.
- Dan Moren reminds me that if you’re just controlling Philips Hue bulbs, there’s a Hue plugin available for Stream Deck. ↩
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.