struct Attributes
Attributes for the DoorLockTrait
.
-
A list of the attribute IDs of the attributes supported by the cluster instance. Nullable: false.
Declaration
Swift
@TraitAttribute var attributeList: [UInt32]? { get }
-
Indicates the current state of the lock. Valid values are defined by
DlLockState
. Nullable: true.Declaration
Swift
@TraitAttribute var lockState: Matter.DoorLockTrait.DlLockState? { get }
-
The type of lock. Valid values are defined by
DlLockType
. Nullable: false.Declaration
Swift
@TraitAttribute var lockType: Matter.DoorLockTrait.DlLockType? { get }
-
Indicates whether the lock is able to process remote Lock, Unlock, or Unlock with Timeout commands. Nullable: false.
Declaration
Swift
@TraitAttribute var actuatorEnabled: Bool? { get }
-
The current door state as defined in
DoorStateEnum
. Nullable: true.Declaration
Swift
@TraitAttribute var doorState: Matter.DoorLockTrait.DoorStateEnum? { get }
-
The number of door opened events that have occurred since it was last zeroed. Nullable: false.
Declaration
Swift
@TraitAttribute var doorOpenEvents: UInt32? { get }
-
The number of door closed events that have occurred since it was last zeroed. Nullable: false.
Declaration
Swift
@TraitAttribute var doorClosedEvents: UInt32? { get }
-
This attribute holds the number of minutes the door has been open since the last time it transitioned from closed to open. Nullable: false.
Declaration
Swift
@TraitAttribute var openPeriod: UInt16? { get }
-
Number of total users supported by the lock. Nullable: false.
Declaration
Swift
@TraitAttribute var numberOfTotalUsersSupported: UInt16? { get }
-
The number of PIN users supported. Nullable: false.
Declaration
Swift
@TraitAttribute var numberOfPinUsersSupported: UInt16? { get }
-
The number of RFID users supported. Nullable: false.
Declaration
Swift
@TraitAttribute var numberOfRfidUsersSupported: UInt16? { get }
-
The number of configurable week day schedules supported per user. Week day schedules are used to restrict access to a specified time window on certain days of the week. The schedule is repeated each week. Nullable: false.
Declaration
Swift
@TraitAttribute var numberOfWeekDaySchedulesSupportedPerUser: UInt8? { get }
-
The number of configurable year day schedules supported per user. Year day schedules are used to restrict access to a specified date and time window. Nullable: false.
Declaration
Swift
@TraitAttribute var numberOfYearDaySchedulesSupportedPerUser: UInt8? { get }
-
The number of holiday schedules supported for the door lock device. Nullable: false.
Declaration
Swift
@TraitAttribute var numberOfHolidaySchedulesSupported: UInt8? { get }
-
The maximum length in bytes of a PIN Code on this device. Nullable: false.
Declaration
Swift
@TraitAttribute var maxPinCodeLength: UInt8? { get }
-
The minimum length in bytes of a PIN Code on this device. Nullable: false.
Declaration
Swift
@TraitAttribute var minPinCodeLength: UInt8? { get }
-
The maximum length in bytes of a RFID Code on this device. Nullable: false.
Declaration
Swift
@TraitAttribute var maxRfidCodeLength: UInt8? { get }
-
The minimum length in bytes of a RFID Code on this device. Nullable: false.
Declaration
Swift
@TraitAttribute var minRfidCodeLength: UInt8? { get }
-
Bitmap which indicates which credential rules are supported by the door lock. Valid values are defined by
DlCredentialRuleMask
. Nullable: false.Declaration
Swift
@TraitAttribute var credentialRulesSupport: Matter.DoorLockTrait.DlCredentialRuleMask? { get }
-
The number of credentials that could be assigned for each user. Nullable: false.
Declaration
Swift
@TraitAttribute var numberOfCredentialsSupportedPerUser: UInt8? { get }
-
The language used for the user interface. Nullable: false.
Declaration
Swift
@TraitAttribute var language: String? { get }
-
The settings for the LED support three different modes.
0
- Never use LED for signalling events.1
- Use LED to signal all but access- allowed events.2
- Use LED to signal all events.
Declaration
Swift
@TraitAttribute var ledSettings: UInt8? { get }
-
The number of seconds to wait after unlocking a lock before it automatically locks again.
0
= disabled. Nullable: false.Declaration
Swift
@TraitAttribute var autoRelockTime: UInt32? { get }
-
Has one of four possible settings:
0
- Silent Mode1
- Low Volume2
- High Volume3
- Medium Volume
Declaration
Swift
@TraitAttribute var soundVolume: UInt8? { get }
-
The current operating mode of the lock. Valid values are defined by
OperatingModeEnum
. Nullable: false.Declaration
Swift
@TraitAttribute var operatingMode: Matter.DoorLockTrait.OperatingModeEnum? { get }
-
Indicates which operating modes are supported by the lock. Valid values are defined by
DlSupportedOperatingModes
. Nullable: false.Declaration
Swift
@TraitAttribute var supportedOperatingModes: Matter.DoorLockTrait.DlSupportedOperatingModes? { get }
-
The default settings for the door lock device. Valid values are defined by
DlDefaultConfigurationRegister
. Nullable: false.Declaration
Swift
@TraitAttribute var defaultConfigurationRegister: Matter.DoorLockTrait.DlDefaultConfigurationRegister? { get }
-
Enable or disable local programming of certain features, as enumerated in the
localProgrammingFeatures
attribute. When set totrue
, local programming is enabled on the door lock for all features. Otherwise, local programming is disabled for those features whose bit is set to0
in thelocalProgrammingFeatures
attribute. Nullable: false.Declaration
Swift
@TraitAttribute var enableLocalProgramming: Bool? { get }
-
Enables or disables the ability to lock the door lock with a single touch on the door lock. Nullable: false.
Declaration
Swift
@TraitAttribute var enableOneTouchLocking: Bool? { get }
-
Enables or disables an inside LED that allows the user to see at a glance if the door is locked. Nullable: false.
Declaration
Swift
@TraitAttribute var enableInsideStatusLed: Bool? { get }
-
Enable or disable a button inside the door that is used to put the lock into privacy mode. When the lock is in privacy mode it cannot be manipulated from the outside. Nullable: false.
Declaration
Swift
@TraitAttribute var enablePrivacyModeButton: Bool? { get }
-
The local programming features that are disabled when the
enableLocalProgramming
attribute is set tofalse
. Valid values are defined byDlLocalProgrammingFeatures
. Nullable: false.Declaration
Swift
@TraitAttribute var localProgrammingFeatures: Matter.DoorLockTrait.DlLocalProgrammingFeatures? { get }
-
The number of incorrect credential attempts allowed before the lock enters the lockout state. The valid range is 1-255. Nullable: false.
Declaration
Swift
@TraitAttribute var wrongCodeEntryLimit: UInt8? { get }
-
The number of seconds that the lock shuts down following wrong code entry. The valid range is 1-255. Nullable: false.
Declaration
Swift
@TraitAttribute var userCodeTemporaryDisableTime: UInt8? { get }
-
true
if it is ok for the door lock to send PINs over the air. Nullable: false.Declaration
Swift
@TraitAttribute var sendPinOverTheAir: Bool? { get }
-
true
if the door lock server requires that an optional PINs be included in the payload of remote lock operation events like Lock, Unlock, Unlock with Timeout and Toggle in order to function. Nullable: false.Declaration
Swift
@TraitAttribute var requirePinforRemoteOperation: Bool? { get }
-
The number of minutes a PIN, RFID, fingerprint, or other credential associated with a user of type
ExpiringUser
remains valid after its first use before expiring. Nullable: false.Declaration
Swift
@TraitAttribute var expiringUserTimeout: UInt16? { get }
-
Nullable: true.
Declaration
Swift
@TraitAttribute var aliroReaderVerificationKey: Data? { get }
-
Nullable: true.
Declaration
Swift
@TraitAttribute var aliroReaderGroupIdentifier: Data? { get }
-
Nullable: false.
Declaration
Swift
@TraitAttribute var aliroReaderGroupSubIdentifier: Data? { get }
-
Nullable: false.
Declaration
Swift
@TraitAttribute var aliroExpeditedTransactionSupportedProtocolVersions: [Data]? { get }
-
Nullable: true.
Declaration
Swift
@TraitAttribute var aliroGroupResolvingKey: Data? { get }
-
Nullable: false.
Declaration
Swift
@TraitAttribute var aliroSupportedBLEUWBProtocolVersions: [Data]? { get }
-
Nullable: false.
Declaration
Swift
@TraitAttribute var aliroBLEAdvertisingVersion: UInt8? { get }
-
Nullable: false.
Declaration
Swift
@TraitAttribute var numberOfAliroCredentialIssuerKeysSupported: UInt16? { get }
-
Nullable: false.
Declaration
Swift
@TraitAttribute var numberOfAliroEndpointKeysSupported: UInt16? { get }
-
A list of server-generated commands (server to client) which are supported by this cluster server instance. Nullable: false.
Declaration
Swift
@TraitAttribute var generatedCommandList: [UInt32]? { get }
-
A list of client-generated commands which are supported by this cluster server instance.
Nullable: false.
Declaration
Swift
@TraitAttribute var acceptedCommandList: [UInt32]? { get }
-
Whether the server supports zero or more optional cluster features. A cluster feature is a set of cluster elements that are mandatory or optional for a defined feature of the cluster. If a cluster feature is supported by the cluster instance, then the corresponding bit is set to 1, otherwise the bit is set to 0 (zero). Nullable: false.
Declaration
Swift
@TraitAttribute var featureMap: Matter.DoorLockTrait.Feature? { get }
-
The revision of the server cluster specification supported by the cluster instance. Nullable: false.
Declaration
Swift
@TraitAttribute var clusterRevision: UInt16? { get }
-
The trait identifier.
Declaration
Swift
static var identifier: String { get }
-
Writes this object to the given
TraitEncoder
. ThrowsHomeError.encodingFailed
if the data could not be encoded.Declaration
Swift
func encode(with encoder: TraitEncoder) throws
-
Returns a Boolean value indicating whether two values are equal.
Equality is the inverse of inequality. For any values
a
andb
,a == b
implies thata != b
isfalse
.Declaration
Swift
static func == (lhs: Matter.DoorLockTrait.Attributes, rhs: Matter.DoorLockTrait.Attributes) -> Bool
Parameters
lhs
A value to compare.
rhs
Another value to compare.
-
Hashes the essential components of this value by feeding them into the given hasher.
Implement this method to conform to the
Hashable
protocol. The components used for hashing must be the same as the components compared in your type’s==
operator implementation. Callhasher.combine(_:)
with each of these components.Important
In your implementation of
hash(into:)
, don’t callfinalize()
on thehasher
instance provided, or replace it with a different instance. Doing so may become a compile-time error in the future.Declaration
Swift
func hash(into hasher: inout Hasher)