Using the HomeKit Accessory Protocol Specification (Non-Commercial Version)
HomeKit Accessory Protocol (HAP) is Apple’s proprietary protocol that enables third-party accessories in the home (e.g., lights, thermostats and door locks) and Apple products to communicate with each other. HAP supports two transports, IP and Bluetooth LE. The information provided in the HomeKit Accessory Protocol Specification (Non-Commercial Version) describes how to implement HAP in an accessory that you create for non-commercial use and that will not be distributed or sold.
How do I access the specification?
The HomeKit Accessory Protocol Specification (Non-Commercial Version) can be downloaded from the HomeKit Apple Developer page. Before downloading the file, you will need to sign in with your Apple ID, then review and execute a click-through agreement.
How will a commercial HomeKit accessory be different from an accessory that I create using this specification?
Unlike a non-commercial HomeKit accessory, a HomeKit accessory that will be distributed or sold must incorporate the Apple Authentication Coprocessor, obtain Wi-Fi Alliance certification or Bluetooth SIG certification depending on the transport used, and complete HomeKit certification under the MFi Program. At a user level, a non-commercial accessory will use a different process for on-boarding an IP-based accessory to the network, and will present a warning dialog in iOS that the user must acknowledge before continuing.
How do I develop or manufacture a HomeKit-enabled accessory for distribution or sale?
Your company must first enroll in the MFi Program. HomeKit accessories that are distributed or sold to third parties must comply with MFi program requirements, including completion of HomeKit certification, before being manufactured, distributed or sold.
Can I use the “Works with Apple HomeKit” logo in connection with my accessory?
No, the logo may only be used in connection with commercial accessories that have completed HomeKit certification under the MFi Program.
Will I be able to control my accessory using the Home app and Siri, and create scenes?
Yes, if you implement HAP using the Apple-defined HomeKit services and characteristics documented in the specification and are running iOS 10 or later, you will be able to use all of these features. You can learn more about using the Home app at https://support.apple.com/en-us/HT204893.
Can I create an accessory that isn’t yet supported through an Apple-defined HomeKit service?
Yes, you can create an accessory that implements HAP using custom characteristics. In order to control this accessory, you will need to develop a custom app that uses HomeKit APIs. You will not be able to control it through the Home app or Siri.
How will I pair my accessory with an iOS device?
For IP accessories, the accessory and iOS device must first be on the same Wi-Fi network. The method for getting the accessory on the network will vary depending on the development platform you are using. Then you will be able to complete the pairing process through the Home app or through your custom app. For BLE accessories, pair your iOS device with the accessory in iOS as you normally would.
Will I be able to remotely control my accessory and set up automations using the Home app?
Yes, you will be able to do this if the accessory uses Apple-defined characteristics and you have an iPad or Apple TV (4th generation) set up as your home hub. For more information, go to https://support.apple.com/en-us/HT207057.
What security features does HAP use?
All sessions between HomeKit accessories and Apple products over HAP are end-to-end encrypted and mutually authenticated.
Does an IP-based HomeKit accessory have to implement Bonjour?
Yes, it must implement Bonjour to enable discovery of the accessory. Bonjour source code and specifications are available at https://developer.apple.com/bonjour/.
Does a Bluetooth LE-based accessory have to adhere to the Bluetooth core specification?
Adherence to the Bluetooth core specification is strongly recommended to ensure proper functioning of the accessory.
Is a HomeKit SDK available from Apple?
No, not at this time.
Why does my accessory trigger a warning dialog on the iOS device?
Accessories that do not incorporate the Apple Authentication Coprocessor will trigger a warning dialog in iOS indicating that the accessory is not certified to work with HomeKit. The user can acknowledge the warning in iOS in order to continue using the accessory.
Can I put an Apple Authentication Coprocessor in my accessory?
No, the authentication coprocessor is only intended for use in commercial HomeKit accessories. This component is available to companies that are enrolled in the MFi Program.
Where can I ask more questions about implementing HAP?
To ask technical questions and discuss the HomeKit Accessory Protocol with other developers and smart home enthusiasts, visit the Apple Developer Forums.