Matter Survey

Community-driven database of Matter device capabilities

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

Application Cluster
Closures
Introduced in: Matter 1.0
Devices: 32
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