Nuki BLE ESP32
Loading...
Searching...
No Matches
NukiLock Namespace Reference

Classes

struct  Action
 
class  NukiLock
 

Enumerations

enum class  ButtonPressAction : uint8_t {
  NoAction = 0x00 , Intelligent = 0x01 , Unlock = 0x02 , Lock = 0x03 ,
  Unlatch = 0x04 , LockNgo = 0x05 , ShowStatus = 0x06
}
 
enum class  CompletionStatus : uint8_t {
  Success = 0x00 , MotorBlocked = 0x01 , Canceled = 0x02 , TooRecent = 0x03 ,
  Busy = 0x04 , LowMotorVoltage = 0x05 , ClutchFailure = 0x06 , MotorPowerFailure = 0x07 ,
  IncompleteFailure = 0x08 , Failure = 0x0b , InvalidCode = 0xE0 , OtherError = 0xFE ,
  Unknown = 0xFF
}
 
enum class  ErrorCode : uint8_t {
  ERROR_BAD_CRC = 0xFD , ERROR_BAD_LENGTH = 0xFE , ERROR_UNKNOWN = 0xFF , P_ERROR_NOT_PAIRING = 0x10 ,
  P_ERROR_BAD_AUTHENTICATOR = 0x11 , P_ERROR_BAD_PARAMETER = 0x12 , P_ERROR_MAX_USER = 0x13 , K_ERROR_NOT_AUTHORIZED = 0x20 ,
  K_ERROR_BAD_PIN = 0x21 , K_ERROR_BAD_NONCE = 0x22 , K_ERROR_BAD_PARAMETER = 0x23 , K_ERROR_INVALID_AUTH_ID = 0x24 ,
  K_ERROR_DISABLED = 0x25 , K_ERROR_REMOTE_NOT_ALLOWED = 0x26 , K_ERROR_TIME_NOT_ALLOWED = 0x27 , K_ERROR_TOO_MANY_PIN_ATTEMPTS = 0x28 ,
  K_ERROR_TOO_MANY_ENTRIES = 0x29 , K_ERROR_CODE_ALREADY_EXISTS = 0x2A , K_ERROR_CODE_INVALID = 0x2B , K_ERROR_CODE_INVALID_TIMEOUT_1 = 0x2C ,
  K_ERROR_CODE_INVALID_TIMEOUT_2 = 0x2D , K_ERROR_CODE_INVALID_TIMEOUT_3 = 0x2E , K_ERROR_AUTO_UNLOCK_TOO_RECENT = 0x40 , K_ERROR_POSITION_UNKNOWN = 0x41 ,
  K_ERROR_MOTOR_BLOCKED = 0x42 , K_ERROR_CLUTCH_FAILURE = 0x43 , K_ERROR_MOTOR_TIMEOUT = 0x44 , K_ERROR_BUSY = 0x45 ,
  K_ERROR_CANCELED = 0x46 , K_ERROR_NOT_CALIBRATED = 0x47 , K_ERROR_MOTOR_POSITION_LIMIT = 0x48 , K_ERROR_MOTOR_LOW_VOLTAGE = 0x49 ,
  K_ERROR_MOTOR_POWER_FAILURE = 0x4A , K_ERROR_CLUTCH_POWER_FAILURE = 0x4B , K_ERROR_VOLTAGE_TOO_LOW = 0x4C , K_ERROR_FIRMWARE_UPDATE_NEEDED = 0x4D
}
 
enum class  KeypadAction : uint8_t {
  Intelligent = 0x00 , Unlock = 0x01 , Lock = 0x02 , Unlatch = 0x03 ,
  LockNgo = 0x04
}
 
enum class  KeypadActionSource : uint8_t { ArrowKey = 0x00 , Code = 0x01 }
 
enum class  LockAction : uint8_t {
  Unlock = 0x01 , Lock = 0x02 , Unlatch = 0x03 , LockNgo = 0x04 ,
  LockNgoUnlatch = 0x05 , FullLock = 0x06 , FobAction1 = 0x81 , FobAction2 = 0x82 ,
  FobAction3 = 0x83
}
 
enum class  LockState : uint8_t {
  Uncalibrated = 0x00 , Locked = 0x01 , Unlocking = 0x02 , Unlocked = 0x03 ,
  Locking = 0x04 , Unlatched = 0x05 , UnlockedLnga = 0x06 , Unlatching = 0x07 ,
  Calibration = 0xFC , BootRun = 0xFD , MotorBlocked = 0xFE , Undefined = 0xFF
}
 
enum class  LoggingType : uint8_t {
  LoggingEnabled = 0x01 , LockAction = 0x02 , Calibration = 0x03 , InitializationRun = 0x04 ,
  KeypadAction = 0x05 , DoorSensor = 0x06 , DoorSensorLoggingEnabled = 0x07
}
 
enum class  State : uint8_t { Uninitialized = 0x00 , PairingMode = 0x01 , DoorMode = 0x02 , MaintenanceMode = 0x04 }
 
enum class  Trigger : uint8_t {
  System = 0x00 , Manual = 0x01 , Button = 0x02 , Automatic = 0x03 ,
  AutoLock = 0x06
}
 

Functions

struct __attribute__ ((packed)) KeyTurnerState
 
void cmdResultToString (const CmdResult state, char *str)
 
void completionStatusToString (const CompletionStatus status, char *str)
 
void doorSensorStateToString (const DoorSensorState state, char *str)
 
void lockactionToString (const LockAction action, char *str)
 
void lockstateToString (const LockState state, char *str)
 
void logAdvancedConfig (AdvancedConfig advancedConfig)
 
void logAuthorizationEntry (AuthorizationEntry authorizationEntry)
 
void logBatteryReport (BatteryReport batteryReport)
 
void logCompletionStatus (CompletionStatus completionStatus)
 
void logConfig (Config config)
 
void loggingTypeToString (const LoggingType state, char *str)
 
void logKeypadEntry (KeypadEntry keypadEntry)
 
void logKeyturnerState (KeyTurnerState keyTurnerState)
 
void logLockAction (LockAction lockAction)
 
void logLockErrorCode (uint8_t errorCode)
 
void logLogEntry (LogEntry logEntry)
 
void logNewAdvancedConfig (NewAdvancedConfig newAdvancedConfig)
 
void logNewAuthorizationEntry (NewAuthorizationEntry newAuthorizationEntry)
 
void logNewConfig (NewConfig newConfig)
 
void logNewKeypadEntry (NewKeypadEntry newKeypadEntry)
 
void logNewTimeControlEntry (NewTimeControlEntry newTimeControlEntry)
 
void logNukiTrigger (Trigger nukiTrigger)
 
void logTimeControlEntry (TimeControlEntry timeControlEntry)
 
void logUpdatedAuthorizationEntry (UpdatedAuthorizationEntry updatedAuthorizationEntry)
 
void logUpdatedKeypadEntry (UpdatedKeypadEntry updatedKeypadEntry)
 
void triggerToString (const Trigger trigger, char *str)
 

Variables

const NimBLEUUID keyturnerGdioUUID = NimBLEUUID("a92ee101-5501-11e4-916c-0800200c9a66")
 
const NimBLEUUID keyturnerPairingServiceUUID = NimBLEUUID("a92ee100-5501-11e4-916c-0800200c9a66")
 
const NimBLEUUID keyturnerServiceUUID = NimBLEUUID("a92ee200-5501-11e4-916c-0800200c9a66")
 
const NimBLEUUID keyturnerUserDataUUID = NimBLEUUID("a92ee202-5501-11e4-916c-0800200c9a66")
 

Enumeration Type Documentation

◆ ButtonPressAction

enum class NukiLock::ButtonPressAction : uint8_t
strong
Enumerator
NoAction 
Intelligent 
Unlock 
Lock 
Unlatch 
LockNgo 
ShowStatus 

◆ CompletionStatus

enum class NukiLock::CompletionStatus : uint8_t
strong
Enumerator
Success 
MotorBlocked 
Canceled 
TooRecent 
Busy 
LowMotorVoltage 
ClutchFailure 
MotorPowerFailure 
IncompleteFailure 
Failure 
InvalidCode 
OtherError 
Unknown 

◆ ErrorCode

enum class NukiLock::ErrorCode : uint8_t
strong
Enumerator
ERROR_BAD_CRC 
ERROR_BAD_LENGTH 
ERROR_UNKNOWN 
P_ERROR_NOT_PAIRING 
P_ERROR_BAD_AUTHENTICATOR 
P_ERROR_BAD_PARAMETER 
P_ERROR_MAX_USER 
K_ERROR_NOT_AUTHORIZED 
K_ERROR_BAD_PIN 
K_ERROR_BAD_NONCE 
K_ERROR_BAD_PARAMETER 
K_ERROR_INVALID_AUTH_ID 
K_ERROR_DISABLED 
K_ERROR_REMOTE_NOT_ALLOWED 
K_ERROR_TIME_NOT_ALLOWED 
K_ERROR_TOO_MANY_PIN_ATTEMPTS 
K_ERROR_TOO_MANY_ENTRIES 
K_ERROR_CODE_ALREADY_EXISTS 
K_ERROR_CODE_INVALID 
K_ERROR_CODE_INVALID_TIMEOUT_1 
K_ERROR_CODE_INVALID_TIMEOUT_2 
K_ERROR_CODE_INVALID_TIMEOUT_3 
K_ERROR_AUTO_UNLOCK_TOO_RECENT 
K_ERROR_POSITION_UNKNOWN 
K_ERROR_MOTOR_BLOCKED 
K_ERROR_CLUTCH_FAILURE 
K_ERROR_MOTOR_TIMEOUT 
K_ERROR_BUSY 
K_ERROR_CANCELED 
K_ERROR_NOT_CALIBRATED 
K_ERROR_MOTOR_POSITION_LIMIT 
K_ERROR_MOTOR_LOW_VOLTAGE 
K_ERROR_MOTOR_POWER_FAILURE 
K_ERROR_CLUTCH_POWER_FAILURE 
K_ERROR_VOLTAGE_TOO_LOW 
K_ERROR_FIRMWARE_UPDATE_NEEDED 

◆ KeypadAction

enum class NukiLock::KeypadAction : uint8_t
strong
Enumerator
Intelligent 
Unlock 
Lock 
Unlatch 
LockNgo 

◆ KeypadActionSource

enum class NukiLock::KeypadActionSource : uint8_t
strong
Enumerator
ArrowKey 
Code 

◆ LockAction

enum class NukiLock::LockAction : uint8_t
strong
Enumerator
Unlock 
Lock 
Unlatch 
LockNgo 
LockNgoUnlatch 
FullLock 
FobAction1 
FobAction2 
FobAction3 

◆ LockState

enum class NukiLock::LockState : uint8_t
strong
Enumerator
Uncalibrated 
Locked 
Unlocking 
Unlocked 
Locking 
Unlatched 
UnlockedLnga 
Unlatching 
Calibration 
BootRun 
MotorBlocked 
Undefined 

◆ LoggingType

enum class NukiLock::LoggingType : uint8_t
strong
Enumerator
LoggingEnabled 
LockAction 
Calibration 
InitializationRun 
KeypadAction 
DoorSensor 
DoorSensorLoggingEnabled 

◆ State

enum class NukiLock::State : uint8_t
strong
Enumerator
Uninitialized 
PairingMode 
DoorMode 
MaintenanceMode 

◆ Trigger

enum class NukiLock::Trigger : uint8_t
strong
Enumerator
System 
Manual 
Button 
Automatic 
AutoLock 

Function Documentation

◆ __attribute__()

struct NukiLock::__attribute__ ( (packed) )

◆ cmdResultToString()

void NukiLock::cmdResultToString ( const CmdResult state,
char * str )

◆ completionStatusToString()

void NukiLock::completionStatusToString ( const CompletionStatus status,
char * str )
inline

◆ doorSensorStateToString()

void NukiLock::doorSensorStateToString ( const DoorSensorState state,
char * str )
inline

◆ lockactionToString()

void NukiLock::lockactionToString ( const LockAction action,
char * str )
inline

◆ lockstateToString()

void NukiLock::lockstateToString ( const LockState state,
char * str )
inline

◆ logAdvancedConfig()

void NukiLock::logAdvancedConfig ( AdvancedConfig advancedConfig)
+ Here is the caller graph for this function:

◆ logAuthorizationEntry()

void NukiLock::logAuthorizationEntry ( AuthorizationEntry authorizationEntry)

◆ logBatteryReport()

void NukiLock::logBatteryReport ( BatteryReport batteryReport)
+ Here is the caller graph for this function:

◆ logCompletionStatus()

void NukiLock::logCompletionStatus ( CompletionStatus completionStatus)
+ Here is the caller graph for this function:

◆ logConfig()

void NukiLock::logConfig ( Config config)
+ Here is the caller graph for this function:

◆ loggingTypeToString()

void NukiLock::loggingTypeToString ( const LoggingType state,
char * str )
inline

◆ logKeypadEntry()

void NukiLock::logKeypadEntry ( KeypadEntry keypadEntry)

◆ logKeyturnerState()

void NukiLock::logKeyturnerState ( KeyTurnerState keyTurnerState)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ logLockAction()

void NukiLock::logLockAction ( LockAction lockAction)
+ Here is the caller graph for this function:

◆ logLockErrorCode()

void NukiLock::logLockErrorCode ( uint8_t errorCode)
+ Here is the caller graph for this function:

◆ logLogEntry()

void NukiLock::logLogEntry ( LogEntry logEntry)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ logNewAdvancedConfig()

void NukiLock::logNewAdvancedConfig ( NewAdvancedConfig newAdvancedConfig)

◆ logNewAuthorizationEntry()

void NukiLock::logNewAuthorizationEntry ( NewAuthorizationEntry newAuthorizationEntry)
+ Here is the caller graph for this function:

◆ logNewConfig()

void NukiLock::logNewConfig ( NewConfig newConfig)

◆ logNewKeypadEntry()

void NukiLock::logNewKeypadEntry ( NewKeypadEntry newKeypadEntry)
+ Here is the caller graph for this function:

◆ logNewTimeControlEntry()

void NukiLock::logNewTimeControlEntry ( NewTimeControlEntry newTimeControlEntry)
+ Here is the caller graph for this function:

◆ logNukiTrigger()

void NukiLock::logNukiTrigger ( Trigger nukiTrigger)
+ Here is the caller graph for this function:

◆ logTimeControlEntry()

void NukiLock::logTimeControlEntry ( TimeControlEntry timeControlEntry)
+ Here is the caller graph for this function:

◆ logUpdatedAuthorizationEntry()

void NukiLock::logUpdatedAuthorizationEntry ( UpdatedAuthorizationEntry updatedAuthorizationEntry)
+ Here is the caller graph for this function:

◆ logUpdatedKeypadEntry()

void NukiLock::logUpdatedKeypadEntry ( UpdatedKeypadEntry updatedKeypadEntry)
+ Here is the caller graph for this function:

◆ triggerToString()

void NukiLock::triggerToString ( const Trigger trigger,
char * str )
inline

Variable Documentation

◆ keyturnerGdioUUID

const NimBLEUUID NukiLock::keyturnerGdioUUID = NimBLEUUID("a92ee101-5501-11e4-916c-0800200c9a66")

◆ keyturnerPairingServiceUUID

const NimBLEUUID NukiLock::keyturnerPairingServiceUUID = NimBLEUUID("a92ee100-5501-11e4-916c-0800200c9a66")

◆ keyturnerServiceUUID

const NimBLEUUID NukiLock::keyturnerServiceUUID = NimBLEUUID("a92ee200-5501-11e4-916c-0800200c9a66")

◆ keyturnerUserDataUUID

const NimBLEUUID NukiLock::keyturnerUserDataUUID = NimBLEUUID("a92ee202-5501-11e4-916c-0800200c9a66")