Attributes

struct Attributes

Attributes for the DoorLockTrait.

  • 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.

  • A list of client-generated commands which are supported by this cluster server instance.

    Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var acceptedCommandList: [UInt32]? { 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 }
  • Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var aliroBLEAdvertisingVersion: UInt8? { get }
  • Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var aliroExpeditedTransactionSupportedProtocolVersions: [Data]? { get }
  • Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var aliroGroupResolvingKey: Data? { get }
  • Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var aliroReaderGroupIdentifier: Data? { get }
  • Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var aliroReaderGroupSubIdentifier: Data? { get }
  • Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var aliroReaderVerificationKey: Data? { get }
  • Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var aliroSupportedBLEUWBProtocolVersions: [Data]? { get }
  • A list of the attribute IDs of the attributes supported by the cluster instance. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var attributeList: [UInt32]? { 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 }
  • The revision of the server cluster specification supported by the cluster instance. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var clusterRevision: UInt16? { 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 default settings for the door lock device. Valid values are defined by DlDefaultConfigurationRegister. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var defaultConfigurationRegister: Matter.DoorLockTrait.DlDefaultConfigurationRegister? { get }
  • The number of door closed events that have occurred since it was last zeroed. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var doorClosedEvents: UInt32? { 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 current door state as defined in DoorStateEnum. Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var doorState: Matter.DoorLockTrait.DoorStateEnum? { 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 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 }
  • 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 }
  • 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
  • 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 }
  • 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 }
  • 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 }
  • 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)
  • The trait identifier.

    Declaration

    Swift

    static var identifier: String { 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 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 }
  • 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 }
  • The maximum length in bytes of a PIN Code on this device. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var maxPinCodeLength: 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 PIN Code on this device. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var minPinCodeLength: UInt8? { get }
  • The minimum length in bytes of a RFID Code on this device. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var minRfidCodeLength: UInt8? { get }
  • Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var numberOfAliroCredentialIssuerKeysSupported: UInt16? { get }
  • Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var numberOfAliroEndpointKeysSupported: UInt16? { get }
  • The number of credentials that could be assigned for each user. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var numberOfCredentialsSupportedPerUser: UInt8? { get }
  • The number of holiday schedules supported for the door lock device. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var numberOfHolidaySchedulesSupported: UInt8? { 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 }
  • Number of total users supported by the lock. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var numberOfTotalUsersSupported: 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 }
  • 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 }
  • The current operating mode of the lock. Valid values are defined by OperatingModeEnum. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var operatingMode: Matter.DoorLockTrait.OperatingModeEnum? { 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 }
  • true if it is ok for the door lock to send PINs over the air. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var sendPinOverTheAir: Bool? { 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 }
  • 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 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 }
  • 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 }