Using the HomeKit Accessory Protocol Specification
HomeKit Accessory Protocol (HAP) is Apple’s proprietary protocol that enables third-party accessories in the home (such as 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 (Noncommercial Version) describes how to implement HAP in an accessory that you create for noncommercial use and that won't be distributed or sold.
How do I access the specification?
Sign in with your Apple ID to access the HomeKit Accessory Protocol Specification (Noncommercial Version). Before downloading the file, you'll need 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 noncommercial HomeKit accessory, a commercial 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 onboarding an IP-based accessory to the network, and it 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'll be able to use all of these features. Learn more about using the Home app.
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'll need to develop a custom app that uses HomeKit APIs. You won't 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're using. Then you'll 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'll 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. Learn about controlling your HomeKit accessories through the Home app.
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. View Bonjour source code and specifications.
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 don't 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.