struct AttributesAttributes 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, andSpeed, as defined in theDimensionStateStruct. Nullable: true.Declaration
Swift
@TraitAttribute var currentState: Matter.ClosureDimensionTrait.DimensionStateStruct? { get } -
The target state of the closure dimension, including its
Latch,Position, andSpeed, as defined in theDimensionStateStruct. Nullable: true.Declaration
Swift
@TraitAttribute var targetState: Matter.ClosureDimensionTrait.DimensionStateStruct? { get } -
The minimal acceptable change to the
Positionfield of thetargetStateandcurrentStateattributes. 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
resolutionattribute. 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
unitattribute. The unit range is determined by the values stored in theminandmaxfields of theUnitRangeStruct. Nullable: true.Declaration
Swift
@TraitAttribute var unitRange: Matter.ClosureDimensionTrait.UnitRangeStruct? { get } -
The range of possible values for the
Positionfield in theCurrentStateattribute. 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. ThrowsHomeError.encodingFailedif 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
aandb,a == bimplies thata != bisfalse.Declaration
Swift
static func == (lhs: Matter.ClosureDimensionTrait.Attributes, rhs: Matter.ClosureDimensionTrait.Attributes) -> BoolParameters
lhsA value to compare.
rhsAnother value to compare.
-
Hashes the essential components of this value by feeding them into the given hasher.
Implement this method to conform to the
Hashableprotocol. 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 thehasherinstance 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)