-
-
Notifications
You must be signed in to change notification settings - Fork 629
HomeKit Terminology
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: 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
orOutlet
. 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 characteristicOn
. Characteristics can be read or written to (additionally they can also send updates, so called events). The characteristic defines a certainformat
for their value. TheOn
characteristic defines a format ofbool
, meaning it accepts a value oftrue
orfalse
, which represent on or off. TheOn
characteristic is not only used for theSwitch
service, but also for example for theOutlet
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. ABridge
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.
- (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.