protocol InteractionProxy : Sendable
Abstraction for the Interaction Client.
-
Whether to use strict validation when sending commands or writing attributes.
Declaration
Swift
var strictOperationValidation: Bool { get }
-
Executes a command, not expecting a result.
Declaration
Swift
func sendCommand(commandID: ScopedCommandID, request: (any CommandRequest)?, useTimedInteraction: Bool, clientRequestID: String?) async throws
Parameters
commandID
The GHP-specific command id within the cluster.
request
The parameters of the command.
useTimedInteraction
Whether the command should be invoked using a timed interaction.
clientRequestID
An optional ID provided by the client to track the command.
-
Executes a command, expecting an result.
Declaration
Swift
func sendCommand<Response>(commandID: ScopedCommandID, request: (any CommandRequest)?, useTimedInteraction: Bool, clientRequestID: String?) async throws -> Response where Response : CommandResponse
Parameters
commandID
The GHP-specific command id within the cluster.
request
The parameters of the command.
useTimedInteraction
Whether the command should be invoked using a timed interaction.
clientRequestID
An optional ID provided by the client to track the command.
-
Updates a trait’s mutable attributes.
Declaration
Swift
func update(trait: any TraitEncodable, useTimedInteraction: Bool) async throws
Parameters
trait
The trait to update.
useTimedInteraction
Whether the update should use a timed interaction.
-
Forces the given trait to be updated.
See also
ForceReadableTrait.forceRead
Declaration
Swift
func forceRead(traitID: ClusterID) async throws
-
Builds a command that can be passed to a
CommandBatcher
.Declaration
Swift
func buildBatchableCommand<Response>(commandID: ScopedCommandID, request: (any CommandRequest)?, useTimedInteraction: Bool) -> BatchableCommand<Response>
Parameters
commandID
The GHP-specific command id within the cluster.
request
The parameters of the command.
useTimedInteraction
Whether the command should be invoked using a timed interaction.
-
sendCommand(commandID:request:useTimedInteraction:)
Undocumented
Declaration
Swift
func sendCommand(commandID: ScopedCommandID, request: (any CommandRequest)?, useTimedInteraction: Bool) async throws
-
sendCommand(commandID:request:useTimedInteraction:)
Undocumented
Declaration
Swift
func sendCommand<Response>(commandID: ScopedCommandID, request: (any CommandRequest)?, useTimedInteraction: Bool) async throws -> Response where Response : CommandResponse