Can't connect to nuki

Hello all, Im a newbie in terms of BLE I read the documentation regarding the bluetooth protocol but still, when I read how to connect to the nuki I can’t understand these steps:

  1. CL registers itself for indications on GDIO
  2. CL writes Request Data command with Public Key command identifier to GDIO
  3. CL sends 0100030027A7

Im tryng to build an integration in C++, these are the steps in my flow:

  1. scan for devices near by
  2. looking for the nuki - strcmp(nameBuffer, “Nuk”)
  3. once nuki detected try to connect to the address but all the attempts seems to fail

can somebody guide me on these in order to continue the development, thanks in advance for any help.

Jaime

You could look to my JavaScript implementation of a Nuki client connecting to the lock by BLE: https://github.com/as19git67/nukible to see the necessary steps. There is also a python implementation from another developer…

Thanks Anton for the tip! I’ll look at it

Hey @aschegg looking at your code I noticed when you retrieve the manufacturer data the lenght of the message has to be >= 24, but when I retrieve this data the length is 21 so is a bit different, do you know if this is ok?

I’ve looked at my code (it’s already a while ago when I implemented it) and I believe that the nukiServiceUuid ‘a92ee200550111e4916c0800200c9a66’ that is in the manufacturer data is prefixed by 4 bytes which might be the length ( I don’t remember exactly). But this could be depending on the library you are using for the bluetooth stuff. In the case of nukible the library is noble and that might use 4 bytes for the length.
In your case it could be that it’s only one byte and because auf that you get only 21 bytes in the manufacturer data.

Thanks Anton fo the clarification, I printed the data inside manufatcurer_data but I can’t distinguish any known service/charcater, so I’ll kepp looking around fo these, thanks for your help man!!

1 Like