Services - HomeKit Accessory Protocol
-
HAP-BLE HomeKit Accessory Information Service
Every accessory must expose a single instance of the Accessory Information service with the following definition. The values of Manufacturer, Model, Name and Serial Number must be persistent through the lifetime of the accessory.
See moreDeclaration
Swift
@available(swift 4.0) @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *) open class ServiceHapAccessoryInformation : Service
-
HAP-BLE HomeKit Fan Version 2 Service
This service describes a fan.
If the fan service is included in air purifiers accessories, Current Fan State and Target Fan State are required characteristics
See moreDeclaration
Swift
@available(swift 4.0) @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *) open class ServiceHapAdvancedFan : Service
-
HAP-BLE HomeKit Garage Door Opener Service
This service describes a garage door opener that controls a single door. If a garage has more than one door, then each door should have its own Garage Door Opener Service.
See moreDeclaration
Swift
@available(swift 4.0) @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *) open class ServiceHapGarageDoorOpener : Service
-
HAP-BLE HomeKit Lock Mechanism Service
The HomeKit Lock Mechanism Service is designed to expose and control the physical lock mechanism on a device.
See moreDeclaration
Swift
@available(swift 4.0) @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *) open class ServiceHapLockMechanism : Service
-
HAP-BLE HomeKit Air Quality Sensor Service
This service describes an air quality sensor. Air Quality refers to the cumulative air quality recorded by the accessory which may be based on multiple sensors present.
See moreDeclaration
Swift
@available(swift 4.0) @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *) open class ServiceHapAirQualitySensor : Service
-
HAP-BLE HomeKit Stateless Programmable Switch Service
This service describes a stateless programmable switch.
The following rules apply to a stateless programmable switch accessory:
- Each physical switch on the accessory must be represented by a unique instance of this service.
- If there are multiple instances of this service on the accessory, they must be linked to a Service Label.
- If there are multiple instances of this service on the accessory, Service Label Index is a required characteristic.
- Service Label Index value for each instance of this service linked to the same Service Label must be unique.
- The User visible label on the physical accessory should match the Service Label Namespace described by the accessory
- If there is only one instance of this service on the accessory, Service Label is not required and consequently Service Label Index must not be present
Declaration
Swift
@available(swift 4.0) @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *) open class ServiceHapStatelessProgrammableSwitch : Service
-
HAP-BLE HomeKit Camera RTP Stream Management Service
A Camera RTP Stream Management service allows description of the supported audio and video codecs and parameters supported by the accessory as well as configuration and control of the RTP session to stream the audio/video stream to a controller.
See moreDeclaration
Swift
@available(swift 4.0) @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *) open class ServiceHapCameraRtpStreamManagement : Service
-
HAP-BLE HomeKit Slat Service
This service describes a slat which tilts on a vertical or a horizontal axis.
- Current Tilt Angle and Target Tilt Angle may be included in this service if the user can set the slats to a particular tilt angle.
- Swing Mode implies that the slats can swing automatically (e.g. vents on a fan).
Declaration
Swift
@available(swift 4.0) @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *) open class ServiceHapSlat : Service
-
HAP-BLE HomeKit Air Purifier Service
This service describes an air purifier. An air purifier accessory can have additional linked services such as:
- Filter Maintenance service(s) to describe one or more air filters.
- Air Quality Sensor services to describe air quality sensors.
- Fan v2 (ServiceHapAdvancedFan) service to describe a fan which can be independently controlled.
- Slat service to control vents.
If Fan v2 (ServiceHapAdvancedFan) is included as a linked service in an air purifier accessory:
- Changing Active characteristic on the Air Purifier must result in corresponding change to Active characteristic on the Fan v2.
- Changing Active characteristic on the Fan v2 from Inactive to Active does not require the Active on the Air Purifier to change. This enables Fan Only mode on air purifier.
- Changing Active characteristic on the Fan v2 from Active to Inactive must result in the Active on the Air Purifier to change to Inactive
An air purifier accessory service may include Rotation Speed to control fan speed if the fan cannot be independently controlled
See moreDeclaration
Swift
@available(swift 4.0) @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *) open class ServiceHapAirPurifier : Service
-
HAP-BLE HomeKit Humidifier Dehumidifier Service
This service can be used to describe either of the following:
- air humidifier
- air dehumidifier
- air humidifier and an air dehumidifier
Declaration
Swift
@available(swift 4.0) @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *) open class ServiceHapHumidifierDehumidifier : Service
-
HAP-BLE HomeKit Irrigation System Service
This service describes an irrigation system. This service must be present on an irrigation systems which supports on-device schedules or supports a top-level Active control across multiple valves.
See moreDeclaration
Swift
@available(swift 4.0) @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *) open class ServiceHapIrrigationSystem : Service
-
HAP-BLE HomeKit Valve Service
This service describes accessories like irrigation valves or water outlets. A valve is set to In Use when there are fluid flowing through the valve.
See moreDeclaration
Swift
@available(swift 4.0) @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *) open class ServiceHapValve : Service