If you're interested in HomeKit and being able to control your Vera with Siri, please read on.
I successfully "hacked" together a way to control my Vera using Siri and HomeKit.
I'll start by getting this overwhelming excitement out before going into the technical details and what it means for you..."Turn on my outdoor lights"
"Dim my outdoor lights to 20%"
"Lock my front door"
I actually got it working, and I'm just totally blown away at how incredible it is to control things using Siri. In fact, I can see myself walking up to my front door and using an Apple watch to tell Siri "Unlock my front door" and have it unlock within seconds. I now have a reason to get an Apple watch, just for this ability alone. You're laying on the couch and ready to watch a movie... lift up your arm and speak into your apple watch.... "Dim the lights to 10%". Woah, incredible. Up until now, I've been using an app to control things and you need to open an app, wait for a connection, go to the right screen, then tap on a light to control it. On my best days i can do that in 5 seconds, normally, 10-15 seconds. With Siri... 3 seconds.
Moving on to where HomeKit and Vera currently stand...The crappy news is that you probably won't see Vera including HomeKit anytime soon, if ever. Looks like Apple wants HomeKit enabled things like light switches, light bulbs, locks, etc... to have built in wifi or bluetooth so they can communicate directly with your iPhone on the same WiFi network, or if you're not on the same network, an Apple tv will act as a bridge between your devices and your iPhone while your away from your house. Not only that, each HomeKit enabled product needs to be certified by Apple.
Apple said that devices that don't support HomeKit can take advantage of HomeKit by using a bridge. Unfortunately it looks like the only devices that are allowed to be "bridged" are devices that report things like a motion detector, or a temperature sensor. You cannot bridge devices that control things like a lock, or a light switch, or a thermostat. LAME! Vera cannot legally get around this, because Apple wont certify them, and if Vera were to circumvent Apple and implement HomeKit on their own, they would likely get sued.
Why would they get sued, and how can you circumvent Apple to get Vera to work with HomeKit?Bear with me as i'm still learning the details of how this all works. Basically Apple has created the HomeKit Accessory Protocol. This protocol is how all HomeKit devices, bridges, and your iPhone communicate with each other. The only way to get the documentation on how this protocol works is to pay a fee to apple, sign an NDA, and join the MFI (Made for iPhone?) program. If you try to reverse engineer the protocol, my understanding is that you would be breaking the law, specifically the DMCA. If someone reverse engineers the protocol, and writes a program that uses the protocol, is that illegal? That i don't know. So if Vera implements the HomeKit Accessory Protocol because they reverse engineered it, i think Apple would shut that down real quick.
How did you get Vera to work with HomeKit?Ok so this is probably what you want to know. Some smart people reverse engineered the protocol and wrote some code to simulate HomeKit devices. Heres the project I found and got working
https://github.com/nfarina/homebridgeBasically you run this code on your computer while on the same network as your iphone. The code then allows you to simulate HomeKit devices, so that your iPhone will see them and allow you to control them. When you try to control one of these devices, the code gets notified that for instance, you want to turn on your bathroom light. From there, the code can take over and do anything you want.
What i was able to do is write some code that when a command comes into to control a light, i then send a command off to Vera to actually control the light. Its totally hacked together, but it works and proves that the ability to control your entire home using Siri and Vera is technically possible.
What does this mean for the Vera communityI'm writing this post because i just figured all this out and got a hacked together prototype working. I'm going to refine it so that everyone else can easily use it, no matter what your skill level is. I think i can make it so simple, it will take you under 2 minutes to get running. So follow this post and ill keep you updated over the weekend.