My primary goal with my SmartHome setup was to use HomeKit compatible devices, as my wife and I are both pretty invested in the Apple ecosystem: I’m typing this on a MacBook Pro sitting on a table with an iPad, an iPhone and a really old Mini I’m trying to install node.js on – you’ll hear more about that soon though.
Even if we weren’t make users, I think there is a lot about HomeKit that is very appealing to a consumer like me. In theory the way HomeKit works I can use any HomeKit compatible device with any HomeKit compatible app, and any device inside the HomeKit bubble can talk to every other device inside the bubble.
This gives you tremendous flexibility in selecting the app you want to use to manage your HomeKit setup, at least in theory. One of the key parts of HomeKit is the trigger mechanism, which you can use to activate scenes (scripted commands for your devices, or accessories in HomeKit parlance). You can trigger a scene at a specific time on a specific day or repeating, you can trigger a scene when your phone either enters or leaves a geofence and you can trigger a scene based on the current status of an accessory’s characteristic (if that accessory supports that characteristic being used as a HomeKit trigger). You can also apply conditions to a trigger, like a time range or the state of another accessory’s characteristic.
For many people, another key feature of HomeKit is that it works with Siri, so you can ask Siri to execute a scene for you or to turn on all of the lights in a room. I’m not a big Siri user, but I can see how this would be a nice feature for someone who is. It is possible that HomeKit will turn me into a Siri fan sooner than later though.
HomeKit does still struggle with remote access though, as it needs to be bridged through a newer AppleTV (supposedly the third generation AppleTV’s work for this as well as the new 4th generation devices, but from what I’ve read of people’s experiences online and my own experience trying to use a third generation AppleTV to provide remote access to HomeKit devices I don’t think it is as compatible as Apple has led people to believe). Another drawback for that is if you have a device that communicates through BlueTooth, this means the AppleTV has to be within BlueTooth range of that device. That isn’t a problem in our home, but I can see how it would be for a lot of people.
When I was putting my initial components together I noticed that a lot of the HomeKit compatible devices I was going to be using were also compatible with the Wink hub platform. Wink operates in the cloud and is only just starting to incorporate local control for some devices, which can lead to slower responses from your devices when you are home, but it also means you have better remote access to your devices that what the Apple TV currently provides as a bridge.
So I also added a Wink hub to my system, and the majority of my devices are also in the Wink hub. Wink’s Robots, which are basically the same as HomeKit’s triggers, fire off either direct control events for devices or scripts that Wink calls Shortcuts. Wink can also send you a push notification as an action from a Robot, which HomeKit can not right now. For most of my HomeKit triggers I actually found a way to use Wink to identify when the trigger executes based on time of day and the device characteristics and events that Wink also access to and used those Robots to fire off a notification to let me know the HomeKit trigger executed at least somewhat successfully – enough to cause the event that fires the Wink Robot, which is turning on the power to my reading lamp in most cases.
I have also experimented a bit with a project on Git called Homebridge that is pretty cool. Using Homebridge I was able to get my Wink devices integrated into Homekit as well as the netatmo weather station. Homebridge uses Node.js and describes itself as “HomeKit support for the impatient” (which I certainly am). There are currently over 100 Homebridge device plug-ins that will help you integrate devices that don’t natively support HomeKit into your HomeKit bubble. I’ll do a full post on Homebridge once I can get a permanent instance of it up and running (not on my laptop that leaves the house) and have had some time to test it out more thoroughly.