struct OperationalStateTraitThis trait supports remote monitoring and allows the operational state of any device to be changed provided that a state machine is part of the operation.
-
List of the event types that are supported by
OperationalStateTrait.Declaration
Swift
static let supportedEventTypes: [any Event.Type] -
List of the commands that are supported by
OperationalStateTrait.Declaration
Swift
static let supportedCommandTypes: [any Command.Type] -
The trait identifier.
Declaration
Swift
static let identifier: String -
Metadata about this
Trait.Declaration
Swift
let metadata: TraitMetadata -
List of attributes for the
OperationalStateTrait.Declaration
Swift
let attributes: Matter.OperationalStateTrait.Attributes -
Creates a new Trait instance using data read from the given
TraitDecoder.Throws
HomeError.parseErrorwhen parsing fails.Declaration
Swift
init(decoder: TraitDecoder, interactionProxy: (any InteractionProxy)?, metadata: TraitMetadata) throwsParameters
decoderThe raw data representing this Trait.
interactionProxyProxy to the Interaction Client.
metadataMetadata about this Trait.
-
Writes this object to the given
TraitEncoder. ThrowsHomeError.encodingFailedif the data could not be encoded.Declaration
Swift
func encode(with encoder: TraitEncoder) throws -
This API provides the ability to invalidate state retrieved through subscriptions to the target device in the cases where state is not being reported correctly, either intentionally (e.g attributes in Matter traits with the “C” quality) or unintentionally due to poor implementations.
When successful, this API will result in a forced read of the convening scope as specified by the sub-class and return the result through existing Trait subscriptions if present and active.
This API is to be used sparingly as it can impact the performance and battery life of the target device. As such, this API may be throttled by the platform. Callers SHALL be prepared to deal with
HomeErrors thrown by this call.Declaration
Swift
func forceRead() async throws -
Attributes for the
OperationalStateTrait.Declaration
Swift
struct Attributes -
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
Parameters
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) -
Used to indicate the error state of the device when the
operationalStateattribute is Error.Declaration
Swift
struct ErrorStateStruct -
Used to indicate a possible state of the device.
Declaration
Swift
struct OperationalStateStruct -
This event is generated when a reportable error condition is detected.
Declaration
Swift
struct OperationalErrorEvent -
This event is generated when the overall operation ends, successfully or otherwise.
Declaration
Swift
struct OperationCompletionEvent -
Whether the device supports the
pausecommand for this trait.Declaration
Swift
var supportsPauseCommand: Bool { get } -
Pause the device if possible, based on the current operation underway.
Declaration
Swift
func pause() async throws -> Matter.OperationalStateTrait.PauseCommandResponseReturn Value
The result of the completed
Pausecommand. -
The batchable version of pause command above.
See also
pauseDeclaration
Swift
func pauseBatchable() throws -> BatchableCommand<Matter.OperationalStateTrait.PauseCommandResponse> -
Whether the device supports the
stopcommand for this trait.Declaration
Swift
var supportsStopCommand: Bool { get } -
Stop the device if possible, based on the current operation underway.
Declaration
Swift
func stop() async throws -> Matter.OperationalStateTrait.StopCommandResponseReturn Value
The result of the completed
Stopcommand. -
The batchable version of stop command above.
See also
stopDeclaration
Swift
func stopBatchable() throws -> BatchableCommand<Matter.OperationalStateTrait.StopCommandResponse> -
Whether the device supports the
startcommand for this trait.Declaration
Swift
var supportsStartCommand: Bool { get } -
Start the device if the device is in a state where it can be started.
Declaration
Swift
func start() async throws -> Matter.OperationalStateTrait.StartCommandResponseReturn Value
The result of the completed
Startcommand. -
The batchable version of start command above.
See also
startDeclaration
Swift
func startBatchable() throws -> BatchableCommand<Matter.OperationalStateTrait.StartCommandResponse> -
Whether the device supports the
resumecommand for this trait.Declaration
Swift
var supportsResumeCommand: Bool { get } -
Resume operation if the device is in a state where it can be resumed.
Declaration
Swift
func resume() async throws -> Matter.OperationalStateTrait.ResumeCommandResponseReturn Value
The result of the completed
Resumecommand. -
The batchable version of resume command above.
See also
resumeDeclaration
Swift
func resumeBatchable() throws -> BatchableCommand<Matter.OperationalStateTrait.ResumeCommandResponse> -
The error states.
Declaration
Swift
enum ErrorStateEnum -
The operational states.
Declaration
Swift
enum OperationalStateEnum