Friday, June 20, 2014

Home Kit - A first look

Smart homes are gaining grounds – Connected home concept enables user to remotely switch on/off lights, adjust home temperature via devices connected to the Home WiFi network. 
Multitude of Home Automation vendors and device and proprietary protocol 
Hard for each vendor to inter-operate, custom integration needed to bring services together between vendors 
Philips Hue Bulb example 
Provides REST based Lights API, Group API, Schedules API, Configuration API etc
Developer makes REST API calls to turn control the devices 
A number of APIs available http://developers.meethue.com/1_lightsapi.html
Belkin WeMo SDK 
SDK available at http://developers.belkin.com/wemo/sdk
Provides intefaces such as WeMoDiscoveryManager, WeMoDevice etc to control the devices

As can be seen, there is fragmentation, and it is going to grow as many players enter into market. 

Home Kit provides seamless integration between accessories that support Apple’s Home Automation Protocol and iOS devices 
Home Kit allows 3rd party apps to perform below 3 functions 
Discover accessories and add them to a persistent, cross device home configuration database
Display, edit, and act upon the data in the home configuration database
Communicate with configured accessories and services to get them to perform 
The home configuration data base is also available to Siri, so a configuration made in the app and user can invoke that via the Siri by saying “Siri, turn on the lights in the living room”
From the perspective of Home Kit, below are the entities in home automation scenario
Homes
Rooms 
Accessories
Services, Zones

The main components of Home Kit  framework are 
HMAccessoryBrowser => A network browser to discover new accessories
HMAccessory => represents a home automation accessory, such as Light bulb, Garage door
HMHome => Allows to communicate with and configure different accessories 
HMHomeManager => Manages a collection of one or more homes
HMRoom => Represents a room in home 
HMService => Represents a service provided by an accessory. Such as lightbulb, switch, 
HMServiceGroup => represents a collection of accessory services so that easier to address services as single entity   
HMTrigger => Represents an action set. 
HMZone => Represents a collection of rooms that user thinks of as a single area or zone 

Xcode 6.0 provides a simulation kit for Home Kit that will help developer to simulate the accessories and bridges


No comments:

Post a Comment