1. Terms of Use
Thank you for using one of NUKI’s Application Programming Interfaces. By accessing or using our APIs, you are agreeing to NUKI’s Terms of Use API’s - Nuki
2. Introduction
Bluetooth-API documentation contains a description of the Bluetooth protocol used by the Nuki Smart Lock, the encryption functions in use and some communication examples.
3. Bluetooth GATT services
4. Message Format
Terminology
ADATA
(additional data) data that is not encrypted (e.g. protocol data)
PDATA
(plaintext) data to be encrypted and authenticated
ADATA:
- nonce (number only used once, NEVER reused with same secret key)
- authorization identifier
- message length
PDATA:
- command identifier
- payload data depending on command
- CRC
Transfer format for encrypted messages
ADATA | PDATA | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
PDATA | ||
---|---|---|
command identifier | payload | CRC |
2 Byte | n Byte | 2 Byte |
unencrypted |
CRC calculation
Algorithm: CRC-CCITT
Polynomial representation: normal (0x1021)
Initial remainder: 0xFFFF
5. Encryption
6. Commands
See: Nuki Developers
7. Error codes
See: Nuki Developers
8. Status Codes
Code | Name | Usage |
---|---|---|
0x00 | COMPLETE | Returned to signal the successful completion of a command |
0x01 | ACCEPTED | Returned to signal that a command has been accepted but the completion status will be signaled later. |
9. List of Timezone IDs
See: Nuki Developers
10. Command usage examples
see PDF file for now
Complete document:
Nuki Smart Lock Bluetooth API Documentation 2.1 as PDF download