Skip to content

HomeKit Terminology

Jean Mertz edited this page Jul 17, 2022 · 7 revisions

This page tries to give you an introduction to terminology used in HomeKit. A pretty detailed resource on how HomeKit works is the HomeKit Accessory Protocol (HAP) specification found on the HomeKit - Apple Developer website and is open to anyone for non-commercial use.

Accessory Terms

  • Accessory: An accessory is a representation for the actual physical device. An accessory consists of multiple services.
  • Service: A service is a way of grouping the functionality of a certain device type. Common services are Switch, Lightbulb or Outlet. A service consist of multiple required and optional characteristics. There are multiple Apple predefined services which can be found in the HAP specification. Apple predefined services are the only services which can be controlled with the Home app or using Siri.
  • Characteristic: A characteristic is the actual control point to interact with functionality of a service. For example, the Switch service has the required characteristic On. Characteristics can be read or written to (additionally they can also send updates, so called events). The characteristic defines a certain format for their value. The On characteristic defines a format of bool, meaning it accepts a value of true or false, which represent on or off. The On characteristic is not only used for the Switch service, but also for example for the Outlet service. It's basically used for any service which can be turned on or off.

To illustrate the above terms imagine the following example:
You got a motion sensor which incorporates a temperature sensor and a light level sensor. Your implementation would expose one accessory (representing the one physical device) exposing three services: a MotionSensor service, a TemperatureSensor service and a LightSensor service, as these are all the functionalities your device supports. You can look up the characteristics defined for the given service in the HAP specification. All services define a set of required characteristics you must implement (and are automatically added by HAP-NodeJS) and may define a set of optional characteristics you may implement if you want to support the given functionality.

  • Bridge: In general all HomeKit devices would only expose a single accessory. An exception to this is a Bridge accessory. A Bridge is a special type of accessory which is able to add multiple accessories. Like for example a Phillips Hue bridge would bridge multiple Lights and connect them to your local network.

Device Terms

  • (HomeKit) controller: this term is used to refer to any client communicating with our HAP server. Most of the time this would be a iOS device or macOS device running the Home app or even Home Hubs.
  • Home Hub: A Home Hub is a HomeKit controller which is able to provide remote access to other HomeKit controllers. As time of writing possible Home Hubs are an Apple TV, HomePod or an iPad.