Homekit/HAP Controller pairing issue Nuki 3


I’m the developer of a Homekit HAP Controller implementation to pair Homekit/HAP devices with Node.js applications. We have implemented the HomeKit Accessory Protocol Specification Release R2 (Non-Commercial version). The latest version that Apple published here is from 2019. The library is available at GitHub - Apollon77/hap-controller-node: Node.js library to implement a HAP (HomeKit) controller and we also have an integration for the smart home software ioBroker.
This HAP Controller implementation basically works fine with IP and also BLE devices, but there is a pairing issue with Nuki Lock 3.0 as reported by users.

The issue is that we send the M1 message, Nuki answers with a valid M2 message. then we send M3 but then the lock do not answer anymore. Also an “identify” call that was possible before is not possible afterwards for some time.

Is this a known issue? Is there maybe anything we need to send (because it is a “security device” or such) which is not published in the publicly available HAP specs?
I also have the log from one user which exactly shows the messages send on BLE level.

Thank you very much for guidance. It would be cool to offer support for the users.


We can’t & won’t go into any details because of confidentiality restrictions, but what i can tell you is that in step M3 Apples authentication coprocessor comes into play.

I know, it’s not part of your project but using Nukis BLE API gives much more options (commands, lock states) and is therefore a better way to interact with Nuki accessories rather than relying on HomeKit with its two states and one single command.

Thank you, I kind of ecpected something like this which is bad because that politics (from Apple, not you!) hinder Open source projects :frowning: