- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 627
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,LightbulborOutlet. 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 Switchservice has the required characteristicOn. Characteristics can be read or written to (additionally they can also send updates, so called events). The characteristic defines a certainformatfor their value. TheOncharacteristic defines a format ofbool, meaning it accepts a value oftrueorfalse, which represent on or off. TheOncharacteristic is not only used for theSwitchservice, but also for example for theOutletservice. 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 Bridgeaccessory. ABridgeis 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.