3 Awesome Ways to Add Non Supported Devices to HomeKit
Updated on 26th Sep 2020 16:09 in General, Smart
HomeKit is an excellent way to implement an offline smart home without needing to get too much into the technical details. With many different technologies on the market, many may wonder if they can work together. Can HomeKit control Alexa? Unfortunately, no. There is no way to control Alexa from any external source as is, only the other way around with Alexa controlling other devices.
Table of Contents
Can HomeKit control Alexa?
No. Unfortunately, there is no way for systems that aren't a part of Amazon's ecosystem to have any control over Alexa. As HomeKit is its own ecosystem, there isn't much incentive for anyone to create a method for it to have any control over Alexa. As of now, there is only one reasonable way for an external device to send commands to Alexa, and it involves sending commands over a speaker. The speaker will speak the commands out loud in a way that Alexa will hear it, and take action accordingly.
This option certainly isn't optimal, and there isn't a reason to believe that there will be any better way any time soon. As we will see in the next sections, there is a vast amount of ways to connect HomeKit to devices that offer no support natively.
Can Alexa control HomeKit?
Yes! There is no way for Alexa to control HomeKit devices by default, but there is a relatively easy way to add this functionality your self. By installing a program called HomeBridge. The program will act as an interface between HomeKit and any external API, such as the one provided by an Alexa skill. When HomeBridge is installed, there is a plugin called homebridge-alexa that will provide the functionality in the form of an extension to HomeBridge and a skill to Alexa.
The plugin requires some configuration to work correctly, but once set up, any device available on the HomeKit network will be visible to Alexa. There are some limits, such as their list of supported devices, but that list has support for most categories except in particular cases. Saying something like "Alexa, turn on <light>" will now work even for devices only connected via HomeKit.
Does Nest work with HomeKit?
Yes! Although not by default. As with Alexa, installing HomeBridge will allow you to install and configure a plugin called homebridge-nest. This plugin will then connect to the Nest API, retrieving the state of devices and sending commands. As a result, you can now have all of your Nest devices integrated directly into your HomeKit ecosystem. Using a hub, automations triggered by the value of your thermostat or modifying the setpoint of your thermostat become possible.
In fact, this plugin doesn't only support thermostats! It also supports Nest Protect and Nest x Yale Lock devices, allowing any of those products to essentially become HomeKit compatible. There is a downside to this approach, however, which is that this method relies on the Nest cloud API. This is unlike HomeKit devices which operate entirely locally with no connections to the cloud. In other words: no offline Nest automations.
Does Ring work with HomeKit?
Yes! As is a theme with these devices, this supports is not native. By using HomeBridge, it is possible to install a plugin called homebridge-ring, which acts to integrate Ring devices into HomeKit. The plugin will require some simple configuration, but once installed, it will enable you to view the video feed from your doorbell from within the Home app. As there is currently a minimal selection of HomeKit compatible doorbells, this is an excellent solution!
As Ring is one of the most popular smart doorbells, it can be frustrating for HomeKit users to either have to use a different app or forgo getting one altogether. This plugin allows the bridge to be made between these two, enabling the use of HomeKit automations to respond and control Ring. Unfortunately, as with Nest, the API used by the plugin is online-only, meaning HomeKit will see nothing should the internet go out.
As the Ring could be seen as a security device, it certainly isn't optimal that losing connection means everything stops working. Currently, there isn't much to be done about this as there is no native HomeKit support and using the cloud API is the best that can be done. If offline use is crucial to you, I recommend checking out other doorbell options.
Wait, what's HomeBridge?
We've talked a lot about different technologies that offer no integration with HomeKit natively along with a method to integrate them relatively easily into your network. Every one of them involved something called HomeBridge, so what exactly is it? HomeBridge is a solution to a significant gap in the smart home market, which is the lack of HomeKit compatibility by many big-name products.
The aim is to provide a bridge interface between the public APIs of the devices that do not support HomeKit and the protocol required for it to appear in the Home app. The bridge its self is just a core program that has done a lot of the heavy lifting in implementing the challenging parts of the HomeKit protocol. To integrate new devices, you would install a plugin that adds the functionality required by a given product, bridging the gap.
An example of this is the Nest plugin, which will use the API provided by Google to get the state of any device connected to the user's account. Then, when someone clicks on a button in the Home app to change the temperature of their thermostat, the plugin will register the change and send it to the API where the Nest system will actually make the requested change.
That last example exposes one of the downsides of using HomeBridge, which is the reliance on an internet connection. As it is usually quite challenging to add functionality to the device its self, the only course of action for developers looking to make plugins is to use methods provided by the manufacturer. These methods will usually be accessible only via the internet, meaning that should it go out, you will lose connection to them.
Many will accept their device's reliance on the cloud, but the issue with HomeKit is that it is supposed to be a system that can operate completely offline. This is quite possibly one of the reasons many of these products do not support HomeKit natively, instead requiring the use of HomeBridge to add this missing functionality.
How do you run HomeBridge?
One of the nice things about HomeBridge is it can easily be installed on a Raspberry Pi, which is a small single-board computer that usually costs less than 100$ everything considered. This is an excellent way for people who are only just getting started with smart homes or those who want to do some DIY. For a relatively low cost, it is possible to write the premade image to an SD card and to have HomeBridge up and running in a matter of minutes.
If you either currently use HomeKit or are looking to build a smart home around it, HomeBridge is a compelling argument for the ecosystem. As a result of this software, you can have confidence that even when a device is not advertised as being HomeKit compatible, there will be a way to integrate it. Obviously, there is not a plugin for every device on the market, but the wonder of open-source is that you could be the one to write it! One of the best ways to learn about smart homes is to jump in and start tinkering with things.
Summary
Overall, we saw that while products like Alexa, Nest, and Ring might not support HomeKit out of the box, there is a way to integrate them together. If anything you saw here sounds interesting, check out the HomeBridge website and start adding all sorts of devices to HomeKit today! Also, be sure to check out this article where I demonstrate how any Meross device can be used offline without using cloud APIs.