AudioOutputTrait

struct AudioOutputTrait

This trait provides an interface for controlling the output on a video player device such as a TV.

  • Returns a Boolean value indicating whether two values are equal.

    Equality is the inverse of inequality. For any values a and b, a == b implies that a != b is false.

    Declaration

    Swift

    static func == (lhs: Matter.AudioOutputTrait, rhs: Matter.AudioOutputTrait) -> Bool

    Parameters

    lhs

    A value to compare.

    rhs

    Another value to compare.

  • Attributes for the AudioOutputTrait.

    Declaration

    Swift

    struct Attributes
  • AudioOutput cluster FeatureMap.

    Declaration

    Swift

    struct Feature
  • Contains information about an output.

    Declaration

    Swift

    struct OutputInfoStruct
  • The type of output.

    Declaration

    Swift

    enum OutputTypeEnum
  • List of attributes for the AudioOutputTrait.

    Declaration

    Swift

    let attributes: Matter.AudioOutputTrait.Attributes
  • Writes this object to the given TraitEncoder. Throws HomeError.encodingFailed if 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
  • 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. Call hasher.combine(_:) with each of these components.

    Important

    In your implementation of hash(into:), don’t call finalize() on the hasher 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)
  • The trait identifier.

    Declaration

    Swift

    static let identifier: String
  • Creates a new Trait instance using data read from the given TraitDecoder.

    Throws

    HomeError.parseError when parsing fails.

    Declaration

    Swift

    init(decoder: TraitDecoder, interactionProxy: (any InteractionProxy)?, metadata: TraitMetadata) throws

    Parameters

    decoder

    The raw data representing this Trait.

    interactionProxy

    Proxy to the Interaction Client.

    metadata

    Metadata about this Trait.

  • Metadata about this Trait.

    Declaration

    Swift

    let metadata: TraitMetadata
  • Rename the specified output.

    Declaration

    Swift

    func renameOutput(index: UInt8, name: String) async throws

    Parameters

    index

    The index of the output to rename.

    name

    The new name of the specified output.

  • The batchable version of renameOutput command above.

    See also

    renameOutput

    Declaration

    Swift

    func renameOutputBatchable(index: UInt8, name: String) throws -> BatchableCommand<Void>
  • Change the output on the device to the specified output.

    Declaration

    Swift

    func selectOutput(index: UInt8) async throws

    Parameters

    index

    The index of the output to select.

  • The batchable version of selectOutput command above.

    See also

    selectOutput

    Declaration

    Swift

    func selectOutputBatchable(index: UInt8) throws -> BatchableCommand<Void>
  • List of the commands that are supported by AudioOutputTrait.

    Declaration

    Swift

    static let supportedCommandTypes: [any Command.Type]
  • No supported events for AudioOutputTrait.

    Declaration

    Swift

    static let supportedEventTypes: [any Event.Type]
  • Whether the device supports the renameOutput command for this trait.

    Declaration

    Swift

    var supportsRenameOutputCommand: Bool { get }
  • Whether the device supports the selectOutput command for this trait.

    Declaration

    Swift

    var supportsSelectOutputCommand: Bool { get }