HomeKit is a framework for communicating with and controlling connected home automation accessories that support Apple's HomeKit Accessory Protocol. HomeKit apps enable users to discover compatible accessories and configure them. Users can also create actions to control accessories (such as a thermostat or light), group them together, and trigger them by using Siri.
Allow users to communicate with and control connected accessories in their homes using your app.
HomeKit integrates iOS, tvOS, and watchOS devices with home automation accessories, using a device-independent protocol. HomeKit enables your app to coordinate and control accessories from multiple vendors, presenting a coherent, user-focused interface.
What is the Apple Home app?
The Apple Home app, which runs on iOS 10 or later, lets you securely control any smart home device labeled as a "Works with Apple HomeKit” accessory. In the app, you can organize your accessories by room, manage multiple accessories at the same time, control your home with Siri, and more. Think of it as an app that turns your phone into a universal remote control for smart home devices that you could potentially use from anywhere in the world.
How does HomeKit work?
While you're home, all you need is the Apple Home app to control your Bluetooth or Wi-Fi-enabled HomeKit-compatible smart devices. To turn those devices on or off in the app, you'll simply tap on them.
To control your smart home devices when you’re not home, you'll need a third- or fourth-generation Apple TV running tvOS 9 or later or an iPad running iOS 10. For added features, including the ability to give other users permission to control your devices via HomeKit, you'll need a 4th-generation Apple TV with tvOS 10 or an iPad running iOS 10.
The same goes for users who want to set up home automation, such as programming a series of events based on certain circumstances, or turning on the lights, heat or air conditioning when you get home from work.
Some HomeKit devices are connected to your hub via your Wi-Fi connection. Others need to be in Bluetooth range of your hub, which can be tricky if you want to control devices that are more than 30 or so feet away. In that case, you may want to get a Bluetooth range extender, such as the Elgato Eve Extend or the ConnectSense Bluetooth Extender, which act as Bluetooth-to-Wi-Fi bridges to broaden your devices' Bluetooth range.
What can I control with Apple HomeKit?
HomeKit lets you turn on and off and dim your lights, adjust your thermostat, turn on and off devices connected to outlets using smart plugs or switches, lock and unlock your front door, see who's at your door and more. Apple's goal has been to make it easy for beginners to set up their smart homes, which can be a daunting task for novices.
How much does it cost?
The Apple Home app itself is free, but you'll need to pay for the smart devices you'll set up if you don't already own them. On the less expensive side, a single iHome iSP5 Control Smart Plug costs $49, and on the other end of the spectrum, an Ecobee3 Smart Wi-Fi Thermostat costs $249.95.
Depending on how big your home is and whether you want to control your lights, temperature, locks, security cameras and other devices, you could easily break the $1,000 mark. Plus, you'll need an Apple TV or iPad if you want to be able to control your smart home remotely.
What are scenes, and how do you create them?
HomeKit lets you create custom scenes that will trigger a number of devices at the same time. These scenes can be activated automatically at a set time, or when certain conditions are met.
For instance, at bedtime, you can set HomeKit to lock your front door, turn off all of your lights and lower your thermostat to your ideal sleeping temperature. Or, if you have a motion sensor hooked up, you can also set lights or other connected devices to turn on or off when motion is detected in a certain area of your home.
How does HomeKit work with Siri, and what can I control with my voice?
When you set up HomeKit, Siri knows what's connected, and without opening the Home app, you can ask the virtual assistant to turn devices on or off, adjust temperature, set scenes, check connected cameras and more if you have the right Apple TV or iPad set up.
Working with Home Automation Accessories
- HomeKit allows your app to perform three major functions:
- Discover HomeKit-compatible automation 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 actions, such as turning on the lights in the living room.
HomeKit support for Smart TVs shown in action
HomeKit seems to support the following controls on compatible Smart TV sets:
- Input source
- Media state (play, pause etc.)
- Picture mode
- Remote functionalities (simulation of the hardware remote keys)
HomeKit views a home as a collection of home automation accessories. The purpose of having a home configuration is to allow the end user to provide meaningful labels and groupings to the home automation accessories they have purchased and installed. Apps can provide suggestions to help the user create useful labels and groupings, but should not impose their own preferences on the users—the user’s wishes are most important.
The basic data containment 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, HomeKit 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. HomeKit 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; for example, “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.”