The Door Lock cluster (0x0101) is a Matter cluster that Controls door locks including lock/unlock operations, user management, and access schedules.. It defines 27 commands and 45 attributes and is mandatory for 2 device types.
Door Lock 0x0101
Controls door locks including lock/unlock operations, user management, and access schedules.
Spec History
This cluster's ClusterRevision across the Matter releases it has shipped in. Click a version to inspect the cluster as it existed in that release.
Attributes 45
Commands 27
Features 15
| Code | Name | Type | Flags |
|---|---|---|---|
| 0x0000 |
LockState
max 3 · nullable
|
DlLockState | |
| 0x0001 |
LockType
max 11
|
DlLockType | |
| 0x0002 | ActuatorEnabled | boolean | |
| 0x0003 |
DoorState
max 5 · nullable
|
DoorStateEnum | Optional |
| 0x0004 | DoorOpenEvents | int32u | Writable Optional |
| 0x0005 | DoorClosedEvents | int32u | Writable Optional |
| 0x0006 | OpenPeriod | int16u | Writable Optional |
| 0x0011 | NumberOfTotalUsersSupported | int16u | Optional |
| 0x0012 | NumberOfPINUsersSupported | int16u | Optional |
| 0x0013 | NumberOfRFIDUsersSupported | int16u | Optional |
| 0x0014 |
NumberOfWeekDaySchedulesSupportedPerUser
max 0xFD
|
int8u | Optional |
| 0x0015 |
NumberOfYearDaySchedulesSupportedPerUser
max 0xFD
|
int8u | Optional |
| 0x0016 |
NumberOfHolidaySchedulesSupported
max 0xFD
|
int8u | Optional |
| 0x0017 | MaxPINCodeLength | int8u | Optional |
| 0x0018 | MinPINCodeLength | int8u | Optional |
| 0x0019 | MaxRFIDCodeLength | int8u | Optional |
| 0x001A | MinRFIDCodeLength | int8u | Optional |
| 0x001B |
CredentialRulesSupport
max 0x07
|
DlCredentialRuleMask | Optional |
| 0x001C | NumberOfCredentialsSupportedPerUser | int8u | Optional |
| 0x0021 | Language | char_string | Writable Optional |
| 0x0022 |
LEDSettings
default 0
|
int8u | Writable Optional |
| 0x0023 | AutoRelockTime | int32u | Writable Optional |
| 0x0024 |
SoundVolume
default 0
|
int8u | Writable Optional |
| 0x0025 |
OperatingMode
max 4
|
OperatingModeEnum | Writable |
| 0x0026 |
SupportedOperatingModes
max 0x001F
|
DlSupportedOperatingModes | |
| 0x0027 |
DefaultConfigurationRegister
max 0x00E7 · default 0
|
DlDefaultConfigurationRegister | Optional |
| 0x0028 |
EnableLocalProgramming
default 1
|
boolean | Writable Optional |
| 0x0029 |
EnableOneTouchLocking
default 0
|
boolean | Writable Optional |
| 0x002A |
EnableInsideStatusLED
default 0
|
boolean | Writable Optional |
| 0x002B |
EnablePrivacyModeButton
default 0
|
boolean | Writable Optional |
| 0x002C |
LocalProgrammingFeatures
max 0x0F · default 0
|
DlLocalProgrammingFeatures | Writable Optional |
| 0x0030 |
WrongCodeEntryLimit
min 1
|
int8u | Writable Optional |
| 0x0031 |
UserCodeTemporaryDisableTime
min 1
|
int8u | Writable Optional |
| 0x0032 |
SendPINOverTheAir
default 0
|
boolean | Writable Optional |
| 0x0033 | RequirePINforRemoteOperation | boolean | Writable Optional |
| 0x0035 |
ExpiringUserTimeout
1..2880
|
int16u | Writable Optional |
| 0x0080 |
AliroReaderVerificationKey
nullable
|
octet_string | Optional read: administer |
| 0x0081 |
AliroReaderGroupIdentifier
nullable
|
octet_string | Optional read: administer |
| 0x0082 | AliroReaderGroupSubIdentifier | octet_string | Optional read: administer |
| 0x0083 | AliroExpeditedTransactionSupportedProtocolVersions | array | Optional read: administer |
| 0x0084 |
AliroGroupResolvingKey
nullable
|
octet_string | Optional read: administer |
| 0x0085 | AliroSupportedBLEUWBProtocolVersions | array | Optional read: administer |
| 0x0086 | AliroBLEAdvertisingVersion | int8u | Optional read: administer |
| 0x0087 | NumberOfAliroCredentialIssuerKeysSupported | int16u | Optional |
| 0x0088 | NumberOfAliroEndpointKeysSupported | int16u | Optional |
| Code | Name | Direction | Parameters |
|---|---|---|---|
| 0x00 |
LockDoor
This command causes the lock device to lock the door.
|
client→server |
PINCode: octet_string |
| 0x01 |
UnlockDoor
This command causes the lock device to unlock the door.
|
client→server |
PINCode: octet_string |
| 0x03 |
UnlockWithTimeout
Optional This command causes the lock device to unlock the door with a timeout parameter.
|
client→server |
Timeout: int16u, PINCode: octet_string |
| 0x0B |
SetWeekDaySchedule
Optional Set a weekly repeating schedule for a specified user.
|
client→server |
WeekDayIndex: int8u, UserIndex: int16u, DaysMask: DaysMaskMap, StartHour: int8u, StartMinute: int8u, EndHour: int8u, EndMinute: int8u |
| 0x0C |
GetWeekDaySchedule
Optional Retrieve the specific weekly schedule for the specific user.
|
client→server |
WeekDayIndex: int8u, UserIndex: int16u |
| 0x0C |
GetWeekDayScheduleResponse
Optional Returns the weekly repeating schedule data for the specified schedule index.
|
server→client |
WeekDayIndex: int8u, UserIndex: int16u, Status: DlStatus, DaysMask: DaysMaskMap, StartHour: int8u, StartMinute: int8u, EndHour: int8u, EndMinute: int8u |
| 0x0D |
ClearWeekDaySchedule
Optional Clear the specific weekly schedule or all weekly schedules for the specific user.
|
client→server |
WeekDayIndex: int8u, UserIndex: int16u |
| 0x0E |
SetYearDaySchedule
Optional Set a time-specific schedule ID for a specified user.
|
client→server |
YearDayIndex: int8u, UserIndex: int16u, LocalStartTime: epoch_s, LocalEndTime: epoch_s |
| 0x0F |
GetYearDaySchedule
Optional Retrieve the specific year day schedule for the specific schedule and user indexes.
|
client→server |
YearDayIndex: int8u, UserIndex: int16u |
| 0x0F |
GetYearDayScheduleResponse
Optional Returns the year day schedule data for the specified schedule and user indexes.
|
server→client |
YearDayIndex: int8u, UserIndex: int16u, Status: DlStatus, LocalStartTime: epoch_s, LocalEndTime: epoch_s |
| 0x10 |
ClearYearDaySchedule
Optional Clears the specific year day schedule or all year day schedules for the specific user.
|
client→server |
YearDayIndex: int8u, UserIndex: int16u |
| 0x11 |
SetHolidaySchedule
Optional Set the holiday Schedule by specifying local start time and local end time with respect to any Lock Operating Mode.
|
client→server |
HolidayIndex: int8u, LocalStartTime: epoch_s, LocalEndTime: epoch_s, OperatingMode: OperatingModeEnum |
| 0x12 |
GetHolidaySchedule
Optional Get the holiday schedule for the specified index.
|
client→server |
HolidayIndex: int8u |
| 0x12 |
GetHolidayScheduleResponse
Optional Returns the Holiday Schedule Entry for the specified Holiday ID.
|
server→client |
HolidayIndex: int8u, Status: DlStatus, LocalStartTime: epoch_s, LocalEndTime: epoch_s, OperatingMode: OperatingModeEnum |
| 0x13 |
ClearHolidaySchedule
Optional Clears the holiday schedule or all holiday schedules.
|
client→server |
HolidayIndex: int8u |
| 0x1A |
SetUser
Optional Set user into the lock.
|
client→server |
OperationType: DataOperationTypeEnum, UserIndex: int16u, UserName: char_string, UserUniqueID: int32u, UserStatus: UserStatusEnum, UserType: UserTypeEnum, CredentialRule: CredentialRuleEnum |
| 0x1B |
GetUser
Optional Retrieve user.
|
client→server |
UserIndex: int16u |
| 0x1C |
GetUserResponse
Optional Returns the user for the specified UserIndex.
|
server→client |
UserIndex: int16u, UserName: char_string, UserUniqueID: int32u, UserStatus: UserStatusEnum, UserType: UserTypeEnum, CredentialRule: CredentialRuleEnum, Credentials: CredentialStruct, CreatorFabricIndex: fabric_idx, LastModifiedFabricIndex: fabric_idx, NextUserIndex: int16u |
| 0x1D |
ClearUser
Optional Clears a user or all Users.
|
client→server |
UserIndex: int16u |
| 0x22 |
SetCredential
Optional Set a credential (e.g. PIN, RFID, Fingerprint, etc.) into the lock for a new user, existing user, or ProgrammingUser.
|
client→server |
OperationType: DataOperationTypeEnum, Credential: CredentialStruct, CredentialData: octet_string, UserIndex: int16u, UserStatus: UserStatusEnum, UserType: UserTypeEnum |
| 0x23 |
SetCredentialResponse
Optional Returns the status for setting the specified credential.
|
server→client |
Status: DlStatus, UserIndex: int16u, NextCredentialIndex: int16u |
| 0x24 |
GetCredentialStatus
Optional Retrieve the status of a particular credential (e.g. PIN, RFID, Fingerprint, etc.) by index.
|
client→server |
Credential: CredentialStruct |
| 0x25 |
GetCredentialStatusResponse
Optional Returns the status for the specified credential.
|
server→client |
CredentialExists: boolean, UserIndex: int16u, CreatorFabricIndex: fabric_idx, LastModifiedFabricIndex: fabric_idx, NextCredentialIndex: int16u, CredentialData: octet_string |
| 0x26 |
ClearCredential
Optional Clear one, one type, or all credentials except ProgrammingPIN credential.
|
client→server |
Credential: CredentialStruct |
| 0x27 |
UnboltDoor
Optional This command causes the lock device to unlock the door without pulling the latch.
|
client→server |
PINCode: octet_string |
| 0x28 |
SetAliroReaderConfig
Optional invoke: administer
This command allows communicating an Aliro Reader configuration, as defined in Aliro, to the lock.
|
client→server |
SigningKey: octet_string, VerificationKey: octet_string, GroupIdentifier: octet_string, GroupResolvingKey: octet_string |
| 0x29 |
ClearAliroReaderConfig
Optional invoke: administer
This command allows clearing an existing Aliro Reader configuration for the lock.
|
client→server | None |
PIN Credential
(PIN)
bit 0
Lock supports PIN credentials (via keypad, or over-the-air)
RFID Credential
(RID)
bit 1
Provisional
Lock supports RFID credentials
FingerCredentials
(FGP)
bit 2
Provisional
Lock supports finger related credentials (fingerprint, finger vein)
Logging
(LOG)
bit 3
TLLock supports local/on-lock logging when Events are not supportedGt
WeekDayAccessSchedules
(WDSCH)
bit 4
Lock supports week day user access schedules
DoorPositionSensor
(DPS)
bit 5
Lock supports a door position sensor that indicates door's state
FaceCredentials
(FACE)
bit 6
Provisional
Lock supports face related credentials (face, iris, retina)
CredentialsOverTheAirAccess
(COTA)
bit 7
PIN codes over-the-air supported for lock/unlock operations
User
(USR)
bit 8
Lock supports the user commands and database
Notification
(NOT)
bit 9
TOperation and Programming Notificationst
YearDayAccessSchedules
(YDSCH)
bit 10
Lock supports year day user access schedules
HolidaySchedules
(HDSCH)
bit 11
Lock supports holiday schedules
Unbolt
(UBOLT)
bit 12
Lock supports unbolting
AliroProvisioning
(ALIRO)
bit 13
Lock supports Aliro credential provisioning as defined in Aliro
AliroBLEUWB
(ALBU)
bit 14
Lock supports the Bluetooth LE + UWB Access Control Flow as defined in Aliro
Device Types Using This Cluster
Device types in the Matter spec that reference this cluster
Devices Implementing This Cluster
32 devices in the survey implement this cluster
eufy Smart Lock E31
Anker Innovations Technology
SN8102 WiFi Module
Hangzhou Sciener Smart Technology Co., Ltd.
Nuki Smart Lock
Nuki
eufy Smart Lock C34
Anker Innovations Technology
Halo Select
ASSA ABLOY Americas Residential
Tedee GO2
Tedee
Aqara Smart Lock J200 Set
Aqara
Bold Elite
Bold Smart Lock