The Home Kit Framework – Details on Apple’s Home Automation Protocol
When Automated Home launched in 1996 there were only a handful of smart home systems out there – and none of them worked together. But things have moved on. Now there are literally hundreds of home automation systems – which don’t work with each other.
We’ve often wondered over the years what might happen if Apple were to bring their famed user experience to the smart home world.
Well wonder no more. At the WWDC Keynote earlier today apple announced “HomeKit” is coming in iOS 8 this Autumn and from their preliminary documentation we can determined the following.
HomeKit is a new framework for communicating with and controlling connected devices in a user’s home. Apps can enable users to discover devices in their home and configure them, or you can create actions to control those devices. Users can group actions together and trigger them using Siri.
So rather than merely providing the touchscreen interface to our smart homes, Apple will effectively make your iOS device the home automation hub in your setup.
The i-word is important here. It’s not iOS or iPhone, it’s iNTEGRATION…
Home Kit provides seamless integration between accessories that support Apple’s Home Automation Protocol and iOS devices, allowing for new advances in home automation. By promoting a common protocol for home automation devices and making a public API available for configuring and communicating with those devices, Home Kit makes possible a marketplace where the app a user controls their home with doesn’t have to be created by the vendor who made their home automation accessories, and where home automation accessories from multiple vendors can all be integrated into a single coherent whole without those vendors having to coordinate directly with each other.
The docs reveal that Home Kit includes major features like ‘Discovery’ and that it will allow third-party apps to perform three major functions..
1. Discover accessories and add them to a persistent, cross-device home configuration database.
2. Display, edit, and act upon the data in the home configuration database.
3. Communicate with configured accessories and services to get them to perform actions, such as turning on the lights in the living room.
Control via Siri is another major feature here. In the past entire PCs along with mixers and networks of microphones around homes have been devoted to try and create what can be done so much better these days on a smartphone.
For example, you can tell Siri you are “going to bed” and it could dim the lights, lock your doors, close the garage door and set the thermostat.
According to the developer docs the HomeKit data hierarchy looks like this
Homes (HMHome) are the top level container, and represent a structure that a user would generally consider to be a single home. Users might have multiple homes that are far apart, such as a primary home and a vacation home. Or they might have two homes that are close together, but that they consider different homes—for example, a main home and a guest cottage on the same property.
Rooms (HMRoom) are optional parts of homes, and represent individual rooms in the home. Rooms don’t have any physical characteristics—size, location, etc. They’re simply names that are meaningful to the user, such as “living room” or “kitchen”. Meaningful room names enable commands like, “Siri, turn on the kitchen lights.”
Accessories (HMAccessory) are installed into homes and assigned to rooms. These are the actual physical home automation devices, such as a garage door opener. If the user doesn’t configure any rooms, Home Kit assigns accessories to a special default room for the home.
Services (HMService) are the actual services provided by an accessory. Accessories have both user-controllable services, like a light, and services that are for their own use, like a firmware update service. Home Kit is most concerned with user-controllable services. A single accessory may have more than one user-controllable service. For example, most garage door openers have a service for opening and closing the door, and another service for the light on the garage door opener.
Zones (HMZone) are optional groupings of rooms in a home. “Upstairs” and “downstairs” would be represented by zones. Zones are completely optional—rooms don’t need to be in a zone. By adding rooms to a zone, the user is able to give commands to Siri such as, “Siri, turn on all of the lights downstairs.”
We look forward to learning more about HomeKit over the coming weeks and months as well as seeing what new hardware partnerships Apple comes up with. Is it possible that Apple’s clout could finally be enough to get an entire industry behind a common protocol?
Or will the walled garden and lack of support for other OS’s mean it will just be another standard to add the many that have gone before? Let us know what you think in the comments below.