-
Notifications
You must be signed in to change notification settings - Fork 13
Home
HomeKit Bridge is a plugin for the Indigo home automation software (v7.0 or better) that publishes Indigo devices and action groups to HomeKit via a localized version of Homebridge that is packaged with the plugin. This is a collaboration between Colorado4Wheeler writing the Indigo integration and RESTful API and Webdeck writing the Homebridge integration.
The underlying driving philosophy behind HomeKit Bridge is that if it can be done in Indigo then it can be done in HomeKit. The reason is simple: HomeKit does far less than Indigo and supports far fewer devices overall. If, through Homebridge Buddy, we can shoehorn complex devices into a simple dimmer control in HomeKit then we can do just about anything.
When you consider all of the various Homebridge add-ons that are available, they are all simply creating stock HomeKit devices with custom information. Want to control Sonos? It's a few Switch devices doing this task or that. Want the weather? It's a few temperature and humidity devices pulling from Weather Underground. HomeKit Bridge will do the same thing when needed, but the most important concept is that if it CAN be done natively then it WILL be done natively - there is a fan in Indigo and there is a fan in HomeKit, that's a direct native control that can be done.
This is why this plugin is 100% server and nothing else. It won't be wrappers. It won't be aliases. It won't be add-ons. It will do this one task and do it well.
There is a thread on the Indigo forums that asked about having devices that HomeKit supports but Indigo does not somehow back feed into Indigo. This isn't really possible because our "Indigo Accessory" can only talk to what we publish, but we can create automation in HomeKit and that means we can manipulate devices that we then create in Indigo.
Let's say you have an Ajax Sensor that is natively supported in HomeKit. Well, create a generic sensor in Indigo then use HomeKit's automation ability to match each setting of the Ajax to the concocted Indigo device.
This can be considered the second generation of both Homebridge-Indigo by Webdeck and Homebridge Buddy by C4W as both have been completely rewritten for this new plugin.
Homebridge Buddy started out as a plugin that allows you to manage your Homebridge-Indigo implementation because manipulating the configuration files can be a cumbersome process. It became clear that many people were having difficulty manually implementing Homebridge and Homebridge-Indigo so the Indigo devs asked C4W and Webdeck to come up with a way to simplify the entire HomeKit integration.
What resulted was a somewhat bulky application that did both jobs, incorporating a localized version of Homebridge and being able to manage that version as well as a full Homebridge-Indigo installation. One of the problems is that the plugin was designed to manage configuration files, not host a server and this resulted in some stability issues (that have mostly been resolved now).
This next generation learns from the mistakes of Homebridge Buddy while also releasing Homebridge-Indigo from the restrictions it had in using the native Indigo API that required Webdeck to manually code each HomeKit device type and being able to not support many Indigo devices.
In HomeKit Bridge every HomeKit device will be supported and mappable to Indigo. The result is a plugin that runs on 90% less memory, uses 1/10th of the CPU and is more stable while providing significantly more functionality.
Wrappers and Aliases will no longer be a part of this plugin and will be picked up in another existing plugin. Details on that will be made available when the other plugin is ready for release.
HomeKit Bridge for Indigo Copyright (c) 2018 Colorado4Wheeler
HomeKit Indigo Version 2 Homebridge Script Copyright (c) 2018 Webdeck
Indigo Copyright (c) Perceptive Automation
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.