The house where my family currently lives is lit primarily by a bunch of ceiling-mounted recessed bulbs. From top to bottom, counting bathroom fixtures, we have something like 40 lightbulbs in the entire house. And when we moved in, every single one of those lightbulbs was a hot, power-sucking incandescent bulb. Replacing those bulbs with cooler, more-efficient LEDs was one of the low-hanging home improvement projects I took on after we moved in.
As part of that project, I lit a couple of rooms with Philips Hue smartbulbs, which did a ton to popularize and simplify customizable LED lighting when they first came out back in 2012. These bulbs plus an Ecobee thermostat formed the foundation of a HomeKit setup, chosen because my wife and I are both iPhone users and we didn’t own an Echo or any Google or Nest products at the time. Since then, our smart home has grown in fits and starts, accruing different gadgets here and there and aiming for HomeKit compatibility when we can get it. (I assume lots of smart home setups are like this—stumbled into over time, made up of a patchwork of products that either came with the house or were all bought individually to fill some specific need, all strapped together after the fact by Google, Amazon, or Apple, depending on which of the tech giants has you captured most firmly in its tendrils at the time.)
Fast-forward five years, and I was ready to add smart lighting to more rooms in the house. However, I didn’t want to pay Hue prices, especially for the multicolor bulbs—a 60W equivalent white Hue bulb normally runs about $15, and a full-color bulb costs between $30 and $50 a pop. A company called meross makes an appealing HomeKit-compatible multicolor bulb for around $15, but middling customer reviews (and a dearth of professional reviews) made me hesitate.
I ended up settling on another Philips bulb brand, the completely different and incompatible Wiz lineup (Signify, a Philips spin-off that produces the Hue bulbs, purchased a company called WiZ Connected in 2019, which is the short explanation for why the same company sells two completely separate lines of smart bulbs). Wiz bulbs are well-reviewed and cost $12 or $13 per multicolored bulb—the only thing they didn’t do was integrate with HomeKit. But for the intrepid DIY-er, there’s a solution for this: Homebridge, lightweight server software that mediates connections between HomeKit and a wide range of not-officially-HomeKit-compatible smart accessories.
Setting up Homebridge
Wiz bulbs can be integrated into Google or Amazon Alexa-powered homes with no issues, but outside of the Wiz app itself, the bulbs rely on Siri Shortcuts for support on Apple devices. In a home that only used Wiz bulbs, these shortcuts are probably good enough—you can build individual shortcuts to control different groups of lights pretty much however you want. But I wanted them to mesh with the Hue bulbs and other accessories I already have set up in HomeKit so I can control a mix of bulbs using the same commands, share access to those commands with other people I live with, and use the same interface to control everything rather than a patchwork of different apps.
Homebridge is a nodeJS server that will run on just about anything, including the PC or Mac you already use, or on a Synology or QNAP NAS as a Docker container. By scanning a QR code, you can add your Homebridge device to your HomeKit setup as a hub, a lot like the hub that controls Hue lights. From there, HomeKit communicates with your bridge, and HomeBridge sends those commands to your non-HomeKit accessories in a language they can understand. Homebridge relies on community-developed plugins for support, and you can find Homebridge plugins for Wiz bulbs, for Nest thermostats and smoke detectors, and even for giving commands to your HomeKit devices via Amazon Alexa.
Because I wanted something cheap and low-power that could just sit tucked in a corner turned on all the time, I elected to use an old Raspberry Pi 3 I already had. It used to be for game-console emulation, but since I replaced it with a Pi 4, it’s been languishing in a closet. There’s a ready-made Homebridge image for the Pi that includes the software and a web-based UI, and that will easily fit on any 4GB-or-larger microSD card.
After flashing the Homebridge image and turning on the Pi, Homebridge will broadcast a Wi-Fi network that you connect to with a phone or computer. This opens a simple page you use to connect HomeBridge to your home Wi-Fi network (it’s easiest to have all your devices on the same VLAN, which will be how most home networks are configured unless you’ve specifically set it up otherwise; if you put smart home devices on a separate VLAN for security purposes, you can still use HomeKit and Homebridge with them, but that’s a bit beyond our scope here).
I then used the Wiz app to get all of the Wiz bulbs joined to my network, which is pretty much all you need it for if you intend to use the bulbs with Homebridge. There’s nothing stopping you from using HomeKit and the Wiz app separately, and the Wiz app has some neat color presets you can’t really replicate with the Home app, but I mainly control the bulbs using Siri voice commands and HomeKit automations.
The captions to the images in the gallery above will give you a step-by-step walkthrough of installing the Wiz plugin for Homebridge and making sure that all of your accessories have been added. Rather than using the QR code on Homebridge’s main page to add accessories, I also prefer to create “child” bridges for each plugin to make Homebridge more reliable and to make it easier to isolate problems when they occur. When Homebridge has discovered your Wiz bulbs on the network and you add the bridge to HomeKit using the QR code, all of the bulbs should show up in the Home app as they normally would. Homebridge and the Wiz plugin even support the new “adaptive lighting” feature introduced in iOS 14, which dynamically changes your bulbs’ color temperature throughout the day.
I haven’t put a ton of effort into securing my Homebridge box, since the Wiz bulbs are the only thing currently connected to it and all communication happens over the local network. There should be no logins or exposure to the open Internet (I’ve experimented with adding our Nest Protect thermostats to it but haven’t done much beyond dabbling). You can add 2FA to Homebridge’s login screen if you like, and I also recommend doing some basic Raspberry Pi security due diligence, like making sure the default “pi” admin account has its password changed and making sure the OS requires a password for sudo commands. You can also enable HTTPS for the Homebridge web interface relatively easily if you have a certificate. Further security considerations will vary based on your network configuration and the accessories you’re using.
This project hasn’t been entirely smooth sailing; the Home app and the bulbs sometimes need a minute to see each other if you turn the bulbs on and off with a light switch, and one unfortunate power outage totally disrupted communication between the bulbs and my Raspberry Pi. I might have been able to troubleshoot it with enough time, but my setup is simple enough that I just reset everything and did it all over again. But that’s a risk you run with any smart home DIY project, and my house needs enough bulbs in each room that it’s worth dealing with some headaches in exchange for a much lower cost per bulb.
The Wiz-plus-Homebridge approach isn’t going to be for everyone—whether you buy the HomeKit-compatible meross bulbs you decided to skip or just use Google or Alexa rather than HomeKit to tie all of your accessories together, there are certainly simpler and more user-friendly options out there. But this was a quick, easy, and fun DIY project that helped me integrate my cheap new bulbs with my expensive old ones and made an old Raspberry Pi useful again. Homebridge proved to be a functional little piece of smart-home software that’s a good fit for lots of different kinds of projects.
Note: Ars Technica may earn compensation for sales from links on this post through affiliate programs.