struct AttributesAttributes for the ServiceAreaTrait.
-
A list of the attribute IDs of the attributes supported by the cluster instance. Nullable: false.
Declaration
Swift
@TraitAttribute var attributeList: [UInt32]? { get } -
The list of supported service areas for the device. Each item in this list represents a unique area, as indicated by the
AreaIDfield ofAreaStruct. Nullable: false.Declaration
Swift
@TraitAttribute var supportedAreas: [Matter.ServiceAreaTrait.AreaStruct]? { get } -
The list of supported maps for the device. Each item in this list represents a unique map, as indicated by the
MapIDfield ofMapStruct. A map is a full or partial representation of a home known to the device. Each map includes one or more areas. Nullable: false.Declaration
Swift
@TraitAttribute var supportedMaps: [Matter.ServiceAreaTrait.MapStruct]? { get } -
The set of areas where the device should attempt to operate. Mobile devices may travel without operating across any areas while attempting to reach the areas indicated by the
SelectedAreasattribute. For example, a robotic vacuum cleaner may drive without cleaning when traveling without operating. If this attribute is empty, the device is not constrained to operate in any specific areas. Nullable: false.Declaration
Swift
@TraitAttribute var selectedAreas: [UInt32]? { get } -
The area where the device is currently located, regardless of whether it is operating. If the device is not mobile and can operate in multiple areas sequentially, this attribute indicates the area that is currently being serviced or the area that is currently traversed by the device. Nullable: true.
Declaration
Swift
@TraitAttribute var currentArea: UInt32? { get } -
The estimated Unix epoch time for completing service in the area, indicated by the
currentAreaattribute. A value of0means that the operation has completed. Nullable: true.Declaration
Swift
@TraitAttribute var estimatedEndTime: UInt32? { get } -
The operating status of one or more areas. Each entry in this list has a unique value for the
AreaIDfield inProgressStruct. Nullable: false.Declaration
Swift
@TraitAttribute var progress: [Matter.ServiceAreaTrait.ProgressStruct]? { 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.ServiceAreaTrait.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.ServiceAreaTrait.Attributes, rhs: Matter.ServiceAreaTrait.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)