WindowCoveringTrait

struct WindowCoveringTrait

This trait provides an interface to an automatic window covering that can be raised or tilted.

  • No supported events for WindowCoveringTrait.

    Declaration

    Swift

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

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

    Declaration

    Swift

    let attributes: Matter.WindowCoveringTrait.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 WindowCoveringTrait.

    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.WindowCoveringTrait, rhs: Matter.WindowCoveringTrait) -> 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)
  • Whether the device supports the upOrOpen command for this trait.

    Declaration

    Swift

    var supportsUpOrOpenCommand: Bool { get }
  • Adjust the window covering position so the physical lift or slide and tilt is at the maximum open or up position.

    Declaration

    Swift

    func upOrOpen() async throws
  • The batchable version of upOrOpen command above.

    See also

    upOrOpen

    Declaration

    Swift

    func upOrOpenBatchable() throws -> BatchableCommand<Void>
  • Whether the device supports the downOrClose command for this trait.

    Declaration

    Swift

    var supportsDownOrCloseCommand: Bool { get }
  • Adjust the window covering position so the physical lift or slide and tilt is at the maximum closed or down position.

    Declaration

    Swift

    func downOrClose() async throws
  • The batchable version of downOrClose command above.

    See also

    downOrClose

    Declaration

    Swift

    func downOrCloseBatchable() throws -> BatchableCommand<Void>
  • Whether the device supports the stopMotion command for this trait.

    Declaration

    Swift

    var supportsStopMotionCommand: Bool { get }
  • Stop any adjustments to physical tilt and lift or slide that is currently underway.

    Declaration

    Swift

    func stopMotion() async throws
  • The batchable version of stopMotion command above.

    See also

    stopMotion

    Declaration

    Swift

    func stopMotionBatchable() throws -> BatchableCommand<Void>
  • Whether the device supports the goToLiftValue command for this trait.

    Declaration

    Swift

    var supportsGoToLiftValueCommand: Bool { get }
  • Adjust the window covering to the specified lift position. The specified lift position must be between installedClosedLimitLift and installedOpenLimitLift.

    Declaration

    Swift

    func goToLiftValue(liftValue: UInt16) async throws

    Parameters

    liftValue

    The lift position, in centimeters.

  • The batchable version of goToLiftValue command above.

    See also

    goToLiftValue

    Declaration

    Swift

    func goToLiftValueBatchable(liftValue: UInt16) throws -> BatchableCommand<Void>
  • Whether the device supports the goToLiftPercentage command for this trait.

    Declaration

    Swift

    var supportsGoToLiftPercentageCommand: Bool { get }
  • Adjust the window covering to the specified lift position.

    Declaration

    Swift

    func goToLiftPercentage(liftPercent100thsValue: UInt16) async throws

    Parameters

    liftPercent100thsValue

    The lift position, as a percentage.

  • The batchable version of goToLiftPercentage command above.

    See also

    goToLiftPercentage

    Declaration

    Swift

    func goToLiftPercentageBatchable(liftPercent100thsValue: UInt16) throws -> BatchableCommand<Void>
  • Whether the device supports the goToTiltValue command for this trait.

    Declaration

    Swift

    var supportsGoToTiltValueCommand: Bool { get }
  • Adjust the window covering to the specified tilt position. The specified tilt position must be between installedClosedLimitTilt and installedOpenLimitTilt.

    Declaration

    Swift

    func goToTiltValue(tiltValue: UInt16) async throws

    Parameters

    tiltValue

    The tilt position, in degrees.

  • The batchable version of goToTiltValue command above.

    See also

    goToTiltValue

    Declaration

    Swift

    func goToTiltValueBatchable(tiltValue: UInt16) throws -> BatchableCommand<Void>
  • Whether the device supports the goToTiltPercentage command for this trait.

    Declaration

    Swift

    var supportsGoToTiltPercentageCommand: Bool { get }
  • Adjust the window covering to the specified tilt position.

    Declaration

    Swift

    func goToTiltPercentage(tiltPercent100thsValue: UInt16) async throws

    Parameters

    tiltPercent100thsValue

    The tilt position, in hundredths of a percent.

  • The batchable version of goToTiltPercentage command above.

    See also

    goToTiltPercentage

    Declaration

    Swift

    func goToTiltPercentageBatchable(tiltPercent100thsValue: UInt16) throws -> BatchableCommand<Void>
  • With the Type, this specifies the subtype of window covering.

    Declaration

    Swift

    enum EndProductType
  • The type of window covering.

    Declaration

    Swift

    enum WindowCoveringType
  • Configuration and status information for the WindowCovering.

    Declaration

    Swift

    struct ConfigStatus
  • WindowCovering cluster FeatureMap.

    Declaration

    Swift

    struct Feature
  • Can be used to configure the window covering by enabling or disabling various modes and capabilities.

    Declaration

    Swift

    struct Mode
  • Indicates in which direction the covering is currently moving or if it has stopped.

    Declaration

    Swift

    struct OperationalStatus
  • Reflects the state of the safety sensors and the common issues preventing movements.

    Declaration

    Swift

    struct SafetyStatus