PushAvStreamTransportTrait

struct PushAvStreamTransportTrait

This trait is a minimalistic version of the PushAvStreamTransport standard Matter cluster, and only provides an On/Off-like functionality for cameras.

  • List of the event types that are supported by PushAvStreamTransportTrait.

    Declaration

    Swift

    static let supportedEventTypes: [any Event.Type]
  • List of the commands that are supported by PushAvStreamTransportTrait.

    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 PushAvStreamTransportTrait.

    Declaration

    Swift

    let attributes: Matter.PushAvStreamTransportTrait.Attributes
  • 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.

  • 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
  • Attributes for the PushAvStreamTransportTrait.

    Declaration

    Swift

    struct Attributes
  • 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.PushAvStreamTransportTrait, rhs: Matter.PushAvStreamTransportTrait) -> 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. 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)
  • Defines parameters for controlling the timing of a transport stream triggered by motion.

    Declaration

    Swift

    struct TransportMotionTriggerTimeControlStruct
  • Defines options related to a specific zone for transport triggers.

    Declaration

    Swift

    struct TransportZoneOptionsStruct
  • Settings related to triggering events.

    Declaration

    Swift

    struct TransportTriggerOptionsStruct
  • The container type and related options.

    Declaration

    Swift

    struct CMAFContainerOptionsStruct
  • Defines the options related to the container format used for an AV stream.

    Declaration

    Swift

    struct ContainerOptionsStruct
  • The transport options.

    Declaration

    Swift

    struct TransportOptionsStruct
  • The transport configuration.

    Declaration

    Swift

    struct TransportConfigurationStruct
  • Defines the supported formats for a push transport.

    Declaration

    Swift

    struct SupportedFormatStruct
  • Event that is sent when a transport push begins.

    Declaration

    Swift

    struct PushTransportBeginEvent
  • Event that is sent when a transport push ends.

    Declaration

    Swift

    struct PushTransportEndEvent
  • Whether the device supports the allocatePushTransport command for this trait.

    Declaration

    Swift

    var supportsAllocatePushTransportCommand: Bool { get }
  • Allocate a push transport.

    Declaration

    Swift

    func allocatePushTransport(transportOptions: Matter.PushAvStreamTransportTrait.TransportOptionsStruct) async throws -> Matter.PushAvStreamTransportTrait.AllocatePushTransportCommandResponse

    Parameters

    transportOptions

    The transport options to allocate.

    Return Value

    Contains the allocated transport.

  • The batchable version of allocatePushTransport command above.

    See also

    allocatePushTransport

    Declaration

    Swift

    func allocatePushTransportBatchable(transportOptions: Matter.PushAvStreamTransportTrait.TransportOptionsStruct) throws -> BatchableCommand<Matter.PushAvStreamTransportTrait.AllocatePushTransportCommandResponse>
  • Whether the device supports the deallocatePushTransport command for this trait.

    Declaration

    Swift

    var supportsDeallocatePushTransportCommand: Bool { get }
  • Deallocate a push transport.

    Declaration

    Swift

    func deallocatePushTransport(connectionID: UInt16) async throws
  • The batchable version of deallocatePushTransport command above.

    See also

    deallocatePushTransport

    Declaration

    Swift

    func deallocatePushTransportBatchable(connectionID: UInt16) throws -> BatchableCommand<Void>
  • Whether the device supports the modifyPushTransport command for this trait.

    Declaration

    Swift

    var supportsModifyPushTransportCommand: Bool { get }
  • Modify the transport status.

    Declaration

    Swift

    func modifyPushTransport(connectionID: UInt16, transportOptions: Matter.PushAvStreamTransportTrait.TransportOptionsStruct) async throws

    Parameters

    transportOptions

    The transport option to set for a connection. Valid values are defined in TransportOptionsStruct.

  • The batchable version of modifyPushTransport command above.

    See also

    modifyPushTransport

    Declaration

    Swift

    func modifyPushTransportBatchable(connectionID: UInt16, transportOptions: Matter.PushAvStreamTransportTrait.TransportOptionsStruct) throws -> BatchableCommand<Void>
  • Whether the device supports the setTransportStatus command for this trait.

    Declaration

    Swift

    var supportsSetTransportStatusCommand: Bool { get }
  • Set the transport status.

    Declaration

    Swift

    func setTransportStatus(connectionID: UInt16?, transportStatus: Matter.PushAvStreamTransportTrait.TransportStatusEnum) async throws

    Parameters

    transportStatus

    The transport status to set. Valid values are defined in TransportStatusEnum.

  • The batchable version of setTransportStatus command above.

    See also

    setTransportStatus

    Declaration

    Swift

    func setTransportStatusBatchable(connectionID: UInt16?, transportStatus: Matter.PushAvStreamTransportTrait.TransportStatusEnum) throws -> BatchableCommand<Void>
  • Whether the device supports the manuallyTriggerTransport command for this trait.

    Declaration

    Swift

    var supportsManuallyTriggerTransportCommand: Bool { get }
  • Manually trigger a transport.

    Declaration

    Swift

    func manuallyTriggerTransport(connectionID: UInt16, activationReason: Matter.PushAvStreamTransportTrait.TriggerActivationReasonEnum, optionalArgsProvider: ((Matter.PushAvStreamTransportTrait.ManuallyTriggerTransportCommand.OptionalArgs) -> Void)? = nil) async throws

    Parameters

    activationReason

    The reason for transport trigger activation. Valid values are defined in TriggerActivationReasonEnum.

    Return Value

    Contains the transport configuration.

  • The batchable version of manuallyTriggerTransport command above.

    See also

    manuallyTriggerTransport

    Declaration

    Swift

    func manuallyTriggerTransportBatchable(connectionID: UInt16, activationReason: Matter.PushAvStreamTransportTrait.TriggerActivationReasonEnum, optionalArgsProvider: ((Matter.PushAvStreamTransportTrait.ManuallyTriggerTransportCommand.OptionalArgs) -> Void)? = nil) throws -> BatchableCommand<Void>
  • Whether the device supports the findTransport command for this trait.

    Declaration

    Swift

    var supportsFindTransportCommand: Bool { get }
  • Get the transport configuration for the specified push transport or all allocated transports if no connectionId is specified.

    Declaration

    Swift

    func findTransport(connectionID: UInt16?) async throws -> Matter.PushAvStreamTransportTrait.FindTransportCommandResponse

    Return Value

    Contains the transport configuration.

  • The batchable version of findTransport command above.

    See also

    findTransport

    Declaration

    Swift

    func findTransportBatchable(connectionID: UInt16?) throws -> BatchableCommand<Matter.PushAvStreamTransportTrait.FindTransportCommandResponse>
  • The type of the camera stream.

    Declaration

    Swift

    enum StreamUsageEnum
  • The CMAF interface.

    Declaration

    Swift

    enum CMAFInterfaceEnum
  • The container format.

    Declaration

    Swift

    enum ContainerFormatEnum
  • The ingest method.

    Declaration

    Swift

    enum IngestMethodsEnum
  • The status code.

    Declaration

    Swift

    enum StatusCodeEnum
  • The transport status.

    Declaration

    Swift

    enum TransportStatusEnum
  • The trigger type of the transport.

    Declaration

    Swift

    enum TransportTriggerTypeEnum
  • The reason for transport trigger activation.

    Declaration

    Swift

    enum TriggerActivationReasonEnum
  • PushAvStreamTransport cluster FeatureMap.

    Declaration

    Swift

    struct Feature