Attributes

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.
    Nullable: false.

    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 Mode
    • 1 - Low Volume
    • 2 - High Volume
    • 3 - Medium Volume
    Nullable: false.

    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 to true, local programming is enabled on the door lock for all features. Otherwise, local programming is disabled for those features whose bit is set to 0 in the localProgrammingFeatures 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 to false. Valid values are defined by DlLocalProgrammingFeatures. 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. Throws HomeError.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 and b, a == b implies that a != b is false.

    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. Call hasher.combine(_:) with each of these components.

    Important

    In your implementation of hash(into:), don’t call finalize() on the hasher 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)