Attributes

struct Attributes

Attributes for the ClosureDimensionTrait.

  • A list of the attribute IDs of the attributes supported by the cluster instance. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var attributeList: [UInt32]? { get }
  • The current state of the closure dimension, including its Latch, Position, and Speed, as defined in the DimensionStateStruct. Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var currentState: Matter.ClosureDimensionTrait.DimensionStateStruct? { get }
  • The target state of the closure dimension, including its Latch, Position, and Speed, as defined in the DimensionStateStruct. Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var targetState: Matter.ClosureDimensionTrait.DimensionStateStruct? { get }
  • The minimal acceptable change to the Position field of the targetState and currentState attributes. Resolution gives a collection of valid current position points over a linear ruler. A resolution of 100% means that the associated dimension cannot be placed in an intermediate position because its position is binary. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var resolution: UInt16? { get }
  • The size of a single step, in hundredths of a percent. The value of this attribute is an integer multiple of the resolution attribute. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var stepValue: UInt16? { get }
  • The unit related to the position of the closure, where the unit is defined in ClosureUnitEnum. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var unit: Matter.ClosureDimensionTrait.ClosureUnitEnum? { get }
  • The physical range of the closure’s movement, expressed as minimum and maximum values of the unit of measurement. The unit of measurement is specified by the unit attribute. The unit range is determined by the values stored in the min and max fields of the UnitRangeStruct. Nullable: true.

    Declaration

    Swift

    @TraitAttribute
    var unitRange: Matter.ClosureDimensionTrait.UnitRangeStruct? { get }
  • The range of possible values for the Position field in the CurrentState attribute. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var limitRange: Matter.ClosureDimensionTrait.RangePercent100thsStruct? { get }
  • The direction of translation for the closure dimension, as defined in the TranslationDirectionEnum. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var translationDirection: Matter.ClosureDimensionTrait.TranslationDirectionEnum? { get }
  • The axis of rotation for the closure dimension, as defined in the RotationAxisEnum. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var rotationAxis: Matter.ClosureDimensionTrait.RotationAxisEnum? { get }
  • The overflow direction of the closure, as defined in the OverflowEnum. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var overflow: Matter.ClosureDimensionTrait.OverflowEnum? { get }
  • The modulation type of the closure dimension, as defined in the ModulationTypeEnum. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var modulationType: Matter.ClosureDimensionTrait.ModulationTypeEnum? { get }
  • Whether the latch mechanism can be latched or unlatched remotely, as defined in the LatchControlModesBitmap. Nullable: false.

    Declaration

    Swift

    @TraitAttribute
    var latchControlModes: Matter.ClosureDimensionTrait.LatchControlModesBitmap? { 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.ClosureDimensionTrait.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.ClosureDimensionTrait.Attributes, rhs: Matter.ClosureDimensionTrait.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)