struct Attributes
Attributes for the FanControlTrait
.
-
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 speed mode of the fan. Valid modes are defined in
FanModeEnum
. Nullable: false.Declaration
Swift
@TraitAttribute var fanMode: Matter.FanControlTrait.FanModeEnum? { get }
-
The supported fan speed ranges. Valid modes are defined in
FanModeSequenceEnum
. Nullable: false.Declaration
Swift
@TraitAttribute var fanModeSequence: Matter.FanControlTrait.FanModeSequenceEnum? { get }
-
The speed setting for the fan. Nullable: true.
Declaration
Swift
@TraitAttribute var percentSetting: UInt8? { get }
-
The actual currently operating fan speed, or
0
to indicate that the fan is off. Nullable: false.Declaration
Swift
@TraitAttribute var percentCurrent: UInt8? { get }
-
The fan speed (value of
1
) or the maximum speed, if the fan is capable of multiple speeds, Nullable: false.Declaration
Swift
@TraitAttribute var speedMax: UInt8? { get }
-
The speed setting for the fan. Nullable: true.
Declaration
Swift
@TraitAttribute var speedSetting: UInt8? { get }
-
The actual currently operating fan speed, or
0
to indicate that the fan is off. Nullable: false.Declaration
Swift
@TraitAttribute var speedCurrent: UInt8? { get }
-
A bitmap that indicates what rocking motions the server supports. Valid values are:
0
— RockLeftRight1
— RockUpDown2
— RockRound
Nullable: false.
Declaration
Swift
@TraitAttribute var rockSupport: Matter.FanControlTrait.RockBitmap? { get }
-
A bitmap that indicates the current active fan rocking motion settings. Nullable: false.
Declaration
Swift
@TraitAttribute var rockSetting: Matter.FanControlTrait.RockBitmap? { get }
-
A bitmap that indicates what wind modes the server supports. Valid values are:
0
— Sleep Wind1
— Natural Wind
Nullable: false.
Declaration
Swift
@TraitAttribute var windSupport: Matter.FanControlTrait.WindBitmap? { get }
-
A bitmap that indicates the current active fan wind feature settings. Valid values are:
0
— Sleep Wind1
— Natural Wind
Nullable: false.
Declaration
Swift
@TraitAttribute var windSetting: Matter.FanControlTrait.WindBitmap? { get }
-
Nullable: false.
Declaration
Swift
@TraitAttribute var airflowDirection: Matter.FanControlTrait.AirflowDirectionEnum? { 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.FanControlTrait.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.FanControlTrait.Attributes, rhs: Matter.FanControlTrait.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)