This year’s Apple WWDC keynote was over two and a half hours long, and it didn’t have a lot to say about HomeKit—Apple’s framework to configure and control home automation accessories—but the news that Apple is moving HomeKit outside of the prohibitively complex licensing regime of the MFi program, and opening it up to normal developers, may well be the biggest thing to come out of this year’s WWDC.
The focus during the keynote was on the release of the HomePod—pitched by Apple as a reinvention of home music—the smart speaker also includes Siri support, and is a direct competitor to both Amazon’s Echo and the Google Home. Despite that, the fact it can be used as a hub to control HomeKit devices like the Apple TV has been barely mentioned.
But during the “What’s new in HomeKit” session developers were told that HomeKit smart devices—that had previously had to go through extensive testing and include a special cryptographic chip for authentication — can now use software based authentication, and be self-certified.
Of course you could sort of do that before using something called HomeBridge—a lightweight NodeJS server you can run on your home network that emulates the iOS HomeKit API—as it’s pretty easy to get HomeBridge running on the Raspberry Pi.
What’s different now is that, amongst other things, you don’t have to fear a DMCA take down notice from Apple. But also that your microcontroller-based HomeKit device can talk directly to your phone, without going through a bridge.
For those of you with Apple Developer accounts the HomeKit Accessory Protocol Specification, at least for non-commercial use, is now available. This is what you need to allow you to HomeKit-enabled your project directly.
However you’ll need to remember that, if you intend to build and sell a HomeKit-enabled device commercially, you still have to enrol in the MFi Program. In other words, if you’re taking your project to Kickstarter, you still need to do the legal paperwork.
Update: There is already an native on ESP8266_RTOS, “The code provides all the services required to pair iOS with an IP device and to operate that device once paired with multiple iOS devices. It runs on even the smallest ESP8266 device like the ESP-01. It creates an API level to create your HomeKit device without descending to the lower levels of the HAP protocol.” See the demonstration project for details.