Services - HomeKit Accessory Protocol

  • HAP-BLE HomeKit Pairing Service Service

    Defines characteristics to support pairing between a controller and an accessory.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapPairing : Service
  • HAP-BLE HomeKit Protocol Information Service

    This service describes Protocol Information Service applicable to HAP-BLE 2.0.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapProtocolInformationService : Service
  • 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 more

    Declaration

    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 Service

    This service describes a fan.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapFan : 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 more

    Declaration

    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 more

    Declaration

    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 Lightbulb Service

    This service describes a lightbulb.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapLightbulb : Service
  • HAP-BLE HomeKit Lock Management Service

    The HomeKit Lock Management Service is designed to expose deeper interaction with a Lock device.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapLockManagement : 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 more

    Declaration

    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 Outlet Service

    This service describes a power outlet.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapOutlet : Service
  • HAP-BLE HomeKit Switch Service

    This service describes a binary switch.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapSwitch : Service
  • HAP-BLE HomeKit Thermostat Service

    This service describes a thermostat.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapThermostat : 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 more

    Declaration

    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 Security System Service

    This service describes a security system service.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapSecuritySystem : Service
  • HAP-BLE HomeKit Carbon Monoxide Sensor Service

    This service describes a Carbon Monoxide Sensor.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapCarbonMonoxideSensor : Service
  • HAP-BLE HomeKit Contact Sensor Service

    This service describes a Contact Sensor.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapContactSensor : Service
  • HAP-BLE HomeKit Door Service

    This service describes a motorized door.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapDoor : Service
  • HAP-BLE HomeKit Humidity Sensor Service

    This service describes a Humidity Sensor.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapHumiditySensor : Service
  • HAP-BLE HomeKit Leak Sensor Service

    This service describes a Leak Sensor.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapLeakSensor : Service
  • HAP-BLE HomeKit Light Sensor Service

    This service describes a Light Sensor.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapLightSensor : Service
  • HAP-BLE HomeKit Motion Sensor Service

    This service describes a Motion Sensor.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapMotionSensor : Service
  • HAP-BLE HomeKit Occupancy Sensor Service

    This service describes a Occupancy Sensor.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapOccupancySensor : Service
  • HAP-BLE HomeKit Smoke Sensor Service

    This service describes a Smoke detector Sensor.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapSmokeSensor : 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
    See more

    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 Temperature Sensor Service

    This service describes a Temperature Sensor.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapTemperatureSensor : Service
  • HAP-BLE HomeKit Window Service

    This service describes a motorized window.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapWindow : Service
  • HAP-BLE HomeKit Window Covering Service

    This service describes motorized window coverings or shades. examples:

    • shutters
    • blinds
    • awnings etc.
    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapWindowCovering : Service
  • HAP-BLE HomeKit Battery Service

    This service describes a battery service.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapBatteryService : Service
  • HAP-BLE HomeKit Carbon Dioxide Sensor Service

    This service describes a Carbon Dioxide Sensor.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapCarbonDioxideSensor : 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 more

    Declaration

    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 Microphone Service

    A Microphone service is used to control the sourcing of the input audio – primarily through a microphone.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapMicrophone : Service
  • HAP-BLE HomeKit Speaker Service

    A Speaker service is to use to control the audio output settings on a speaker device.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapSpeaker : Service
  • HAP-BLE HomeKit Doorbell Service

    The Doorbell Service describes a doorbell and is the primary service of the Video Doorbell Profile.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapDoorbell : 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).
    See more

    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 Filter Maintenance Service

    This service can be used to describe maintenance operations for a filter.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapFilterMaintenance : 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 more

    Declaration

    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 Heater Cooler Service

    This service can be used to describe either of the following:

    • heater
    • cooler
    • header and a cooler
    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapHeaterCooler : 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
    See more

    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 Service Label Service

    This service describes label scheme.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapServiceLabel : 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 more

    Declaration

    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 more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapValve : Service
  • HAP-BLE HomeKit Faucet Service

    This service describes accessories like faucets or shower heads.

    See more

    Declaration

    Swift

    @available(swift 4.0)
    @available(iOS 10.0, tvOS 10.0, watchOS 3.0, macOS 10.12, *)
    open class ServiceHapFaucet : Service