What is Homebridge?

Updated: 2 July 2020

Apple’s HomeKit smart home platform is a capable home automation solution designed to lower the technical barriers to entry into the world of smart devices. A key focus of HomeKit is privacy and security, which are achieved by requiring strict encrypted local communication between the controlling Apple device and third party smart devices.

This requirement unfortunately raises the cost of entry to device makers, and has resulted in many brands eschewing the HomeKit platform in favor of simpler integration options like Alexa and Google Assistant. Those solutions are, however, inherently less capable from an automation stand point and generally require an internet connection to work at all where HomeKit provides complete local control.

Apple has to own some of the blame for this by originally requiring specific licensed hardware components to manage secure communications. While the objective was laudable the impact on device makers, who often need to keep costs and development time low, was too much to encourage broad adoption. Apple recognized and rectified this roadblock with iOS11, allowing for a firmware based solution instead, and since then adoption has definitely increased. Even so, getting that device to do the thing you want can still be a challenge.

For those wanting to leverage the benefits of HomeKit but may be struggling to find compatible devices to perform certain tasks, HomeBridge offers some hope.

A Quick Overview

Shortly after Apple released HomeKit eager and hopeful smart home enthusiasts on Apple’s platform waiting for device makers to start adding support. The uptake was far slow than expected for various reasons, but suffice to say that some in the community became impatient. It shouldn’t be this hard surely?

So in 2016 a few open source developers got busy, reverse engineered HomeKit and built a software solution that could be added to Apple’s platform as a hub device. Homebridge was born, and has been actively developed ever since. Ostensibly intended to be a temporary work around until device makers got their act together, it continues to be a valuable extension for the hard core HomeKit user.

How Does it Work?

HomeKit’s focus on privacy and security means that it requires secure communication directly with any connected devices. This is done locally via your WiFi network or Bluetooth, as these two protocols are available on all Apple devices, a key consideration as you can theoretically set up a HomeKit home using only an iPhone.

Some device makers use other protocols, like the popular Philips Hue system that runs on Zigbee, or Chamberlain garage door motors that use a standardized RF frequency band for the purpose. Such devices will need a hub or bridge in order to communicate with the internet or other devices. In both of these examples such a bridge is available to enable control of the devices via a smart phone app.

These devices act as a relay to pass messages between your Ethernet network (wired or WiFi), and the devices themselves, kind of like a translator. HomeKit supports bridge/hub devices for this purpose and allows those to host multiple other devices and present them individually in your accessories list. In these cases, only the hub has to be HomeKit compatible, and can handle the communication with the child devices seperately. This is what HomeBridge does, the key difference being that it offers extensible device support through plugins. This is actually pretty much how Alexa works as well.

Many smart device families cannot be added to HomeKit at all because they are controlled via a centralized server, which the smart phone app connects to. Without direct communication, HomeKit certification is impossible, but Homebridge has no such limitations.

HomeBridge supports two classes of devices called Accessories and Platforms. The former is your typical HomeKit type device where direct local communication is available, and includes things like smart light switches and power outlets. The latter covers those devices with server-based control such as Ring cameras and Sensibo smart AC controllers, and it’s this category that opens up a lot of possibilities.

Running HomeBridge

As Homebridge is a software hub, it needs to be always online to enable HomeKit to communicate with any added accessories. This means you want it running on something that is going to be on all the time. Originally a Linux based solution, the available options have grown over time to include Windows, Mac and even Docker.

As HomeBridge runs on Node.js the setup is similar regardless of device, but given the low CPU requirements and the need to have it running constantly, setting it up on an inexpensive Raspberry Pi device is ideal. This used to be a bit daunting for those not familiar with Linux, but it’s a whole lot easier now thanks to the HOOBS project. You can use their pre-built image to get set up fast and a great user-friendly interface to manage it.

Once it’s set up and you’ve added some devices, you’ll see that they appear in HomeKit like any other, and can be fully utilized for scenes and automations, providing sensor triggers, and generating notifications. All the standard HomeKit attributes are supported, as well as custom attributes to cover those capabilities not natively supported by the platform.

HomeBridge Plugins

Each device maker is supported in HomeBridge by a plugin. These plugins are developed by third party developers, so your mileage may vary, but generally they run pretty well and offer a wide range of supported features.

Each plugin you want to use needs to be installed into your Homebridge setup and configured in a text file called config.json. Again, using the iOS app on a Raspberry Pi installation helps to make this a bit easier, and less error prone.

There are hundreds of devices with plugin support, and often multiple plugins are on offer for some popular brands. Here are some examples of the best in class:

Ring Plugin

A much sought after solution to Ring’s continued lack of HomeKit support. This is a very comprehensive solution covering the full range of ring products and features.

Sensibo Plugin

Sensibo’s Sky smart AC controller doesn’t support HomeKit natively, but this solution is so good they decided to just endorse it as their solution to the problem. This will present your Sky devices as HomeKit supported thermostats and related sensors with all the relevant control options.

Tado Plugin

While Tado now supports HomeKit on all their products, if you have a Smart AC Control prior to v3 this pluging gives you the same functionality. Because the Smart AC Control works a bit differently to a basic AC controller, it depends on a number of custom attributes, so doesn’t present as a thermostat. It still works the same way though for all intents and purposes.

MyQ Plugin

If you’re in the US, Chamberlain offers a HomeKit compatible bridge, but outside the US you’re out of luck. Even US users have reported reliability issues with the official solution, which this alternative doesn’t seem to suffer from.

In Summary

HomeKit is a solid home automation solution with deep integration into Apple’s ecosystem and good third party software apps. The device landscape is growing, albeit slowly, and while it does Homebridge offers a way to connect those devices that may never add official support.

The capabilities of these additional devices and platforms can greatly expand what you can do in HomeKit, especially for users outside the US market where device makers are focused. With plugins available for many device brands, there’s a good chance of finding one for that problem device you’d really like to integrate, and the capabilities are on par with any officially supported device.

It does take a little work to setup and to keep it running, but in general it’s fairly low maintenance and there is an active and knowledgeable community if you run into trouble. If you want to take your Homekit setup to the next level, it’s definitely worth considering.

You can find out more by visiting the Homebridge landing page, or check out the wiki on Github.