What Is Homebridge - And Why You Need It
Shortly after Apple released HomeKit, eager and hopeful smart home enthusiasts on Apple’s platform waited for device makers to start adding support. The uptake was far slower 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.
A Quick Overview
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 standpoint 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. The new Matter standard is also helping to broaden device compatibility, but 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.
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 Wi-Fi network, Thread, or Bluetooth, as these protocols are available now on 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 IP-based network (wired or Wi-Fi), 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 separately. 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 that their smart phone app connects to. Without direct, local communication HomeKit certification is impossible because of security concerns, 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 security cameras and smart thermostats, 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. Alternatively you can set up your own image pretty easily and install Homebridge directly.
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.
Is There An iOS App?
Thankfully, there is a handy utility app for iOS that can help manage your Homebridge installation. This is called Homemanager and provides adminstration tools and monitoring for Homebridge. This helps to keep the system and plugins up-to-date, allows you to check log files and system status, and in a pinch, edit the config files as well.
It’s certainly not a requirement for running Homebridge, but I find it very useful for those quick check-ins and maintenance tasks.
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. You can look for certified plugins to be sure of a better experience and active support.
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 with 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
While the newer Sensibo models support HomeKit natively they only provide raw sensor data, ignoring calibrations you’ve made on the Sensibo service. If you have a Sensibo Sky device then you don’t have native support either. This solution gets around both problems by adding the devices into HomeKit through the Sensibo service instead. You can also opt to have it ignore any devices with native support if you prefer.
Tado Plugin
While Tado now supports HomeKit on all their products, if you have a Smart AC Control prior to v3 this plugin 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.
Dummy Switch Plugin
A dummy switch is simply a simulated switch accessory that can be toggled without being connected to anything. This seems pointless at first, but it is one of the most useful hacks you can add to your HomeKit setup. Why? Because each switch can be configured with a self-reset timer, which means you can use it to either link automations together by triggering something off the dummy switch or using the timer to delay other automations. You’d be surprised how many problems this can solve; it really should be a native feature.
In Summary
HomeKit is a solid home automation solution with deep integration into Apple’s ecosystem and good third-party software apps that can expand functionality. 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.