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 , Unknown = 0xFF
}
 
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 , Fingerprint = 0x02 }
 
enum class  LockAction : uint8_t {
  Unlock = 0x01 , Lock = 0x02 , Unlatch = 0x03 , LockNgo = 0x04 ,
  LockNgoUnlatch = 0x05 , FullLock = 0x06 , FobNoAction = 0x50 , ButtonNoAction = 0x5A ,
  FobAction1 = 0x81 , FobAction2 = 0x82 , FobAction3 = 0x83 , Undefined = 0xFF
}
 
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 , HomeKit = 0xAB , MQTT = 0xAC , Undefined = 0xFF
}
 

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, bool debug, Print *Log)
 
void logAuthorizationEntry (AuthorizationEntry authorizationEntry, bool debug, Print *Log)
 
void logBatteryReport (BatteryReport batteryReport, bool debug, Print *Log)
 
void logCompletionStatus (CompletionStatus completionStatus, bool debug, Print *Log)
 
void logConfig (Config config, bool debug, Print *Log)
 
void loggingTypeToString (const LoggingType state, char *str)
 
void logKeypadEntry (KeypadEntry keypadEntry, bool debug, Print *Log)
 
void logKeyturnerState (KeyTurnerState keyTurnerState, bool debug, Print *Log)
 
void logLockAction (LockAction lockAction, bool debug, Print *Log)
 
void logLockErrorCode (uint8_t errorCode, bool debug, Print *Log)
 
void logLogEntry (LogEntry logEntry, bool debug, Print *Log)
 
void logMessage (const char *message, Print *Log, int level)
 
void logMessageVar (const char *message, const char *var, Print *Log, int level)
 
void logMessageVar (const char *message, const float var, Print *Log, int level)
 
void logMessageVar (const char *message, unsigned int var, Print *Log, int level)
 
void logNewAdvancedConfig (NewAdvancedConfig newAdvancedConfig, bool debug, Print *Log)
 
void logNewAuthorizationEntry (NewAuthorizationEntry newAuthorizationEntry, bool debug, Print *Log)
 
void logNewConfig (NewConfig newConfig, bool debug, Print *Log)
 
void logNewKeypadEntry (NewKeypadEntry newKeypadEntry, bool debug, Print *Log)
 
void logNewTimeControlEntry (NewTimeControlEntry newTimeControlEntry, bool debug, Print *Log)
 
void logNukiTrigger (Trigger nukiTrigger, bool debug, Print *Log)
 
void logTimeControlEntry (TimeControlEntry timeControlEntry, bool debug, Print *Log)
 
void logUpdatedAuthorizationEntry (UpdatedAuthorizationEntry updatedAuthorizationEntry, bool debug, Print *Log)
 
void logUpdatedKeypadEntry (UpdatedKeypadEntry updatedKeypadEntry, bool debug, Print *Log)
 
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 
Unknown 

◆ 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 
Fingerprint 

◆ LockAction

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

◆ 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 
HomeKit 
MQTT 
Undefined 

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,
bool debug,
Print * Log )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ logAuthorizationEntry()

void NukiLock::logAuthorizationEntry ( AuthorizationEntry authorizationEntry,
bool debug,
Print * Log )
+ Here is the call graph for this function:

◆ logBatteryReport()

void NukiLock::logBatteryReport ( BatteryReport batteryReport,
bool debug,
Print * Log )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ logCompletionStatus()

void NukiLock::logCompletionStatus ( CompletionStatus completionStatus,
bool debug,
Print * Log )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ logConfig()

void NukiLock::logConfig ( Config config,
bool debug,
Print * Log )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loggingTypeToString()

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

◆ logKeypadEntry()

void NukiLock::logKeypadEntry ( KeypadEntry keypadEntry,
bool debug,
Print * Log )
+ Here is the call graph for this function:

◆ logKeyturnerState()

void NukiLock::logKeyturnerState ( KeyTurnerState keyTurnerState,
bool debug,
Print * Log )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ logLockAction()

void NukiLock::logLockAction ( LockAction lockAction,
bool debug,
Print * Log )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ logLockErrorCode()

void NukiLock::logLockErrorCode ( uint8_t errorCode,
bool debug,
Print * Log )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ logLogEntry()

void NukiLock::logLogEntry ( LogEntry logEntry,
bool debug,
Print * Log )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ logMessage()

void NukiLock::logMessage ( const char * message,
Print * Log,
int level )
+ Here is the caller graph for this function:

◆ logMessageVar() [1/3]

void NukiLock::logMessageVar ( const char * message,
const char * var,
Print * Log,
int level )

◆ logMessageVar() [2/3]

void NukiLock::logMessageVar ( const char * message,
const float var,
Print * Log,
int level )

◆ logMessageVar() [3/3]

void NukiLock::logMessageVar ( const char * message,
unsigned int var,
Print * Log,
int level )
+ Here is the caller graph for this function:

◆ logNewAdvancedConfig()

void NukiLock::logNewAdvancedConfig ( NewAdvancedConfig newAdvancedConfig,
bool debug,
Print * Log )
+ Here is the call graph for this function:

◆ logNewAuthorizationEntry()

void NukiLock::logNewAuthorizationEntry ( NewAuthorizationEntry newAuthorizationEntry,
bool debug,
Print * Log )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ logNewConfig()

void NukiLock::logNewConfig ( NewConfig newConfig,
bool debug,
Print * Log )
+ Here is the call graph for this function:

◆ logNewKeypadEntry()

void NukiLock::logNewKeypadEntry ( NewKeypadEntry newKeypadEntry,
bool debug,
Print * Log )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ logNewTimeControlEntry()

void NukiLock::logNewTimeControlEntry ( NewTimeControlEntry newTimeControlEntry,
bool debug,
Print * Log )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ logNukiTrigger()

void NukiLock::logNukiTrigger ( Trigger nukiTrigger,
bool debug,
Print * Log )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ logTimeControlEntry()

void NukiLock::logTimeControlEntry ( TimeControlEntry timeControlEntry,
bool debug,
Print * Log )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ logUpdatedAuthorizationEntry()

void NukiLock::logUpdatedAuthorizationEntry ( UpdatedAuthorizationEntry updatedAuthorizationEntry,
bool debug,
Print * Log )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ logUpdatedKeypadEntry()

void NukiLock::logUpdatedKeypadEntry ( UpdatedKeypadEntry updatedKeypadEntry,
bool debug,
Print * Log )
+ Here is the call graph for this function:
+ 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")