Hierarchy

  • ClusterBehavior<this> & Omit<WindowCoveringServerLogic,
        | "events"
        | "cluster"
        | "state"
        | "initialize"
        | typeof asyncDispose
        | "goToLiftPercentage"
        | "goToTiltPercentage"
        | "goToLiftValue"
        | "goToTiltValue"
        | (keyof Base)
        | "handleMovement"
        | "handleStopMovement"
        | "executeCalibration"> & WindowCoveringInterface.Base & Omit<{
        downOrClose: ClusterInterface.MethodForCommand<Command<void, void, any>>;
        stopMotion: ClusterInterface.MethodForCommand<Command<void, void, any>>;
        upOrOpen: ClusterInterface.MethodForCommand<Command<void, void, any>>;
    } & {}, keyof WindowCoveringInterface.Base> & {
        executeCalibration(): MaybePromise;
        handleMovement(type: MovementType, reversed: boolean, direction: MovementDirection, targetPercent100ths?: number): Promise<void>;
        handleStopMovement(): MaybePromise;
    } & {
        cluster: Of<{
            attributes: {
                configStatus: Attribute<TypeFromPartialBitSchema<{
                    liftEncoderControlled: BitFlag;
                    liftMovementReversed: BitFlag;
                    liftPositionAware: BitFlag;
                    onlineReserved: BitFlag;
                    operational: BitFlag;
                    tiltEncoderControlled: BitFlag;
                    tiltPositionAware: BitFlag;
                }>, any>;
                endProductType: FixedAttribute<WindowCovering.EndProductType, any>;
                mode: WritableAttribute<TypeFromPartialBitSchema<{
                    calibrationMode: BitFlag;
                    ledFeedback: BitFlag;
                    maintenanceMode: BitFlag;
                    motorDirectionReversed: BitFlag;
                }>, any>;
                operationalStatus: Attribute<TypeFromPartialBitSchema<{
                    global: BitFieldEnum<WindowCovering.MovementStatus>;
                    lift: BitFieldEnum<WindowCovering.MovementStatus>;
                    tilt: BitFieldEnum<WindowCovering.MovementStatus>;
                }>, any>;
                safetyStatus: OptionalAttribute<TypeFromPartialBitSchema<{
                    failedCommunication: BitFlag;
                    hardwareFailure: BitFlag;
                    manualOperation: BitFlag;
                    motorJammed: BitFlag;
                    obstacleDetected: BitFlag;
                    positionFailure: BitFlag;
                    power: BitFlag;
                    protection: BitFlag;
                    remoteLockout: BitFlag;
                    stopInput: BitFlag;
                    tamperDetection: BitFlag;
                    thermalProtection: BitFlag;
                }>, any>;
                type: FixedAttribute<WindowCovering.WindowCoveringType, any>;
            };
            commands: {
                downOrClose: Command<void, void, any>;
                stopMotion: Command<void, void, any>;
                upOrOpen: Command<void, void, any>;
            };
            extensions: readonly [{
                component: {
                    attributes: {
                        currentPositionLift: OptionalAttribute<(...) | (...), any>;
                        installedClosedLimitLift: Attribute<number, any>;
                        installedOpenLimitLift: Attribute<number, any>;
                        physicalClosedLimitLift: OptionalFixedAttribute<number, any>;
                    };
                };
                flags: {
                    absolutePosition: true;
                    lift: true;
                    positionAwareLift: true;
                };
            }, {
                component: {
                    attributes: {
                        currentPositionTilt: OptionalAttribute<(...) | (...), any>;
                        installedClosedLimitTilt: Attribute<number, any>;
                        installedOpenLimitTilt: Attribute<number, any>;
                        physicalClosedLimitTilt: OptionalFixedAttribute<number, any>;
                    };
                };
                flags: {
                    absolutePosition: true;
                    positionAwareTilt: true;
                    tilt: true;
                };
            }, {
                component: {
                    attributes: {
                        numberOfActuationsLift: OptionalAttribute<number, any>;
                    };
                    commands: {
                        goToLiftPercentage: OptionalCommand<TypeFromFields<(...)>, void, any>;
                    };
                };
                flags: {
                    lift: true;
                };
            }, {
                component: {
                    attributes: {
                        numberOfActuationsTilt: OptionalAttribute<number, any>;
                    };
                    commands: {
                        goToTiltPercentage: OptionalCommand<TypeFromFields<(...)>, void, any>;
                    };
                };
                flags: {
                    tilt: true;
                };
            }, {
                component: {
                    attributes: {
                        currentPositionLiftPercent100ths: Attribute<(...) | (...), any>;
                        currentPositionLiftPercentage: OptionalAttribute<(...) | (...), any>;
                        targetPositionLiftPercent100ths: Attribute<(...) | (...), any>;
                    };
                    commands: {
                        goToLiftPercentage: Command<TypeFromFields<(...)>, void, any>;
                    };
                };
                flags: {
                    lift: true;
                    positionAwareLift: true;
                };
            }, {
                component: {
                    attributes: {
                        currentPositionTiltPercent100ths: Attribute<(...) | (...), any>;
                        currentPositionTiltPercentage: OptionalAttribute<(...) | (...), any>;
                        targetPositionTiltPercent100ths: Attribute<(...) | (...), any>;
                    };
                    commands: {
                        goToTiltPercentage: Command<TypeFromFields<(...)>, void, any>;
                    };
                };
                flags: {
                    positionAwareTilt: true;
                    tilt: true;
                };
            }, {
                component: {
                    commands: {
                        goToLiftValue: OptionalCommand<TypeFromFields<(...)>, void, any>;
                    };
                };
                flags: {
                    absolutePosition: true;
                    lift: true;
                };
            }, {
                component: {
                    commands: {
                        goToTiltValue: OptionalCommand<TypeFromFields<(...)>, void, any>;
                    };
                };
                flags: {
                    absolutePosition: true;
                    tilt: true;
                };
            }, {
                component: false;
                flags: {
                    lift: false;
                    positionAwareLift: true;
                };
            }, {
                component: false;
                flags: {
                    positionAwareTilt: true;
                    tilt: false;
                };
            }, {
                component: false;
                flags: {
                    lift: false;
                    tilt: false;
                };
            }];
            features: {
                absolutePosition: BitFlag;
                lift: BitFlag;
                positionAwareLift: BitFlag;
                positionAwareTilt: BitFlag;
                tilt: BitFlag;
            };
            id: 258;
            name: "WindowCovering";
            revision: 5;
        }>;
        events: ClusterEvents<Of<{
            attributes: {
                configStatus: Attribute<TypeFromPartialBitSchema<{
                    liftEncoderControlled: BitFlag;
                    liftMovementReversed: BitFlag;
                    liftPositionAware: BitFlag;
                    onlineReserved: BitFlag;
                    operational: BitFlag;
                    tiltEncoderControlled: BitFlag;
                    tiltPositionAware: BitFlag;
                }>, any>;
                endProductType: FixedAttribute<WindowCovering.EndProductType, any>;
                mode: WritableAttribute<TypeFromPartialBitSchema<{
                    calibrationMode: BitFlag;
                    ledFeedback: BitFlag;
                    maintenanceMode: BitFlag;
                    motorDirectionReversed: BitFlag;
                }>, any>;
                operationalStatus: Attribute<TypeFromPartialBitSchema<{
                    global: BitFieldEnum<(...)>;
                    lift: BitFieldEnum<(...)>;
                    tilt: BitFieldEnum<(...)>;
                }>, any>;
                safetyStatus: OptionalAttribute<TypeFromPartialBitSchema<{
                    failedCommunication: BitFlag;
                    hardwareFailure: BitFlag;
                    manualOperation: BitFlag;
                    motorJammed: BitFlag;
                    obstacleDetected: BitFlag;
                    positionFailure: BitFlag;
                    power: BitFlag;
                    protection: BitFlag;
                    remoteLockout: BitFlag;
                    stopInput: BitFlag;
                    tamperDetection: BitFlag;
                    thermalProtection: BitFlag;
                }>, any>;
                type: FixedAttribute<WindowCovering.WindowCoveringType, any>;
            };
            commands: {
                downOrClose: Command<void, void, any>;
                stopMotion: Command<void, void, any>;
                upOrOpen: Command<void, void, any>;
            };
            extensions: readonly [{
                component: {
                    attributes: {
                        currentPositionLift: OptionalAttribute<(...), (...)>;
                        installedClosedLimitLift: Attribute<(...), (...)>;
                        installedOpenLimitLift: Attribute<(...), (...)>;
                        physicalClosedLimitLift: OptionalFixedAttribute<(...), (...)>;
                    };
                };
                flags: {
                    absolutePosition: true;
                    lift: true;
                    positionAwareLift: true;
                };
            }, {
                component: {
                    attributes: {
                        currentPositionTilt: OptionalAttribute<(...), (...)>;
                        installedClosedLimitTilt: Attribute<(...), (...)>;
                        installedOpenLimitTilt: Attribute<(...), (...)>;
                        physicalClosedLimitTilt: OptionalFixedAttribute<(...), (...)>;
                    };
                };
                flags: {
                    absolutePosition: true;
                    positionAwareTilt: true;
                    tilt: true;
                };
            }, {
                component: {
                    attributes: {
                        numberOfActuationsLift: OptionalAttribute<(...), (...)>;
                    };
                    commands: {
                        goToLiftPercentage: OptionalCommand<(...), (...), (...)>;
                    };
                };
                flags: {
                    lift: true;
                };
            }, {
                component: {
                    attributes: {
                        numberOfActuationsTilt: OptionalAttribute<(...), (...)>;
                    };
                    commands: {
                        goToTiltPercentage: OptionalCommand<(...), (...), (...)>;
                    };
                };
                flags: {
                    tilt: true;
                };
            }, {
                component: {
                    attributes: {
                        currentPositionLiftPercent100ths: Attribute<(...), (...)>;
                        currentPositionLiftPercentage: OptionalAttribute<(...), (...)>;
                        targetPositionLiftPercent100ths: Attribute<(...), (...)>;
                    };
                    commands: {
                        goToLiftPercentage: Command<(...), (...), (...)>;
                    };
                };
                flags: {
                    lift: true;
                    positionAwareLift: true;
                };
            }, {
                component: {
                    attributes: {
                        currentPositionTiltPercent100ths: Attribute<(...), (...)>;
                        currentPositionTiltPercentage: OptionalAttribute<(...), (...)>;
                        targetPositionTiltPercent100ths: Attribute<(...), (...)>;
                    };
                    commands: {
                        goToTiltPercentage: Command<(...), (...), (...)>;
                    };
                };
                flags: {
                    positionAwareTilt: true;
                    tilt: true;
                };
            }, {
                component: {
                    commands: {
                        goToLiftValue: OptionalCommand<(...), (...), (...)>;
                    };
                };
                flags: {
                    absolutePosition: true;
                    lift: true;
                };
            }, {
                component: {
                    commands: {
                        goToTiltValue: OptionalCommand<(...), (...), (...)>;
                    };
                };
                flags: {
                    absolutePosition: true;
                    tilt: true;
                };
            }, {
                component: false;
                flags: {
                    lift: false;
                    positionAwareLift: true;
                };
            }, {
                component: false;
                flags: {
                    positionAwareTilt: true;
                    tilt: false;
                };
            }, {
                component: false;
                flags: {
                    lift: false;
                    tilt: false;
                };
            }];
            features: {
                absolutePosition: BitFlag;
                lift: BitFlag;
                positionAwareLift: BitFlag;
                positionAwareTilt: BitFlag;
                tilt: BitFlag;
            };
            id: 258;
            name: "WindowCovering";
            revision: 5;
        }>, typeof WindowCoveringServerLogic>;
        features: TypeFromBitSchema<{
            absolutePosition: BitFlag;
            lift: BitFlag;
            positionAwareLift: BitFlag;
            positionAwareTilt: BitFlag;
            tilt: BitFlag;
        }>;
        state: ClusterState<Of<{
            attributes: {
                configStatus: Attribute<TypeFromPartialBitSchema<{
                    liftEncoderControlled: BitFlag;
                    liftMovementReversed: BitFlag;
                    liftPositionAware: BitFlag;
                    onlineReserved: BitFlag;
                    operational: BitFlag;
                    tiltEncoderControlled: BitFlag;
                    tiltPositionAware: BitFlag;
                }>, any>;
                endProductType: FixedAttribute<WindowCovering.EndProductType, any>;
                mode: WritableAttribute<TypeFromPartialBitSchema<{
                    calibrationMode: BitFlag;
                    ledFeedback: BitFlag;
                    maintenanceMode: BitFlag;
                    motorDirectionReversed: BitFlag;
                }>, any>;
                operationalStatus: Attribute<TypeFromPartialBitSchema<{
                    global: BitFieldEnum<(...)>;
                    lift: BitFieldEnum<(...)>;
                    tilt: BitFieldEnum<(...)>;
                }>, any>;
                safetyStatus: OptionalAttribute<TypeFromPartialBitSchema<{
                    failedCommunication: BitFlag;
                    hardwareFailure: BitFlag;
                    manualOperation: BitFlag;
                    motorJammed: BitFlag;
                    obstacleDetected: BitFlag;
                    positionFailure: BitFlag;
                    power: BitFlag;
                    protection: BitFlag;
                    remoteLockout: BitFlag;
                    stopInput: BitFlag;
                    tamperDetection: BitFlag;
                    thermalProtection: BitFlag;
                }>, any>;
                type: FixedAttribute<WindowCovering.WindowCoveringType, any>;
            };
            commands: {
                downOrClose: Command<void, void, any>;
                stopMotion: Command<void, void, any>;
                upOrOpen: Command<void, void, any>;
            };
            extensions: readonly [{
                component: {
                    attributes: {
                        currentPositionLift: OptionalAttribute<(...), (...)>;
                        installedClosedLimitLift: Attribute<(...), (...)>;
                        installedOpenLimitLift: Attribute<(...), (...)>;
                        physicalClosedLimitLift: OptionalFixedAttribute<(...), (...)>;
                    };
                };
                flags: {
                    absolutePosition: true;
                    lift: true;
                    positionAwareLift: true;
                };
            }, {
                component: {
                    attributes: {
                        currentPositionTilt: OptionalAttribute<(...), (...)>;
                        installedClosedLimitTilt: Attribute<(...), (...)>;
                        installedOpenLimitTilt: Attribute<(...), (...)>;
                        physicalClosedLimitTilt: OptionalFixedAttribute<(...), (...)>;
                    };
                };
                flags: {
                    absolutePosition: true;
                    positionAwareTilt: true;
                    tilt: true;
                };
            }, {
                component: {
                    attributes: {
                        numberOfActuationsLift: OptionalAttribute<(...), (...)>;
                    };
                    commands: {
                        goToLiftPercentage: OptionalCommand<(...), (...), (...)>;
                    };
                };
                flags: {
                    lift: true;
                };
            }, {
                component: {
                    attributes: {
                        numberOfActuationsTilt: OptionalAttribute<(...), (...)>;
                    };
                    commands: {
                        goToTiltPercentage: OptionalCommand<(...), (...), (...)>;
                    };
                };
                flags: {
                    tilt: true;
                };
            }, {
                component: {
                    attributes: {
                        currentPositionLiftPercent100ths: Attribute<(...), (...)>;
                        currentPositionLiftPercentage: OptionalAttribute<(...), (...)>;
                        targetPositionLiftPercent100ths: Attribute<(...), (...)>;
                    };
                    commands: {
                        goToLiftPercentage: Command<(...), (...), (...)>;
                    };
                };
                flags: {
                    lift: true;
                    positionAwareLift: true;
                };
            }, {
                component: {
                    attributes: {
                        currentPositionTiltPercent100ths: Attribute<(...), (...)>;
                        currentPositionTiltPercentage: OptionalAttribute<(...), (...)>;
                        targetPositionTiltPercent100ths: Attribute<(...), (...)>;
                    };
                    commands: {
                        goToTiltPercentage: Command<(...), (...), (...)>;
                    };
                };
                flags: {
                    positionAwareTilt: true;
                    tilt: true;
                };
            }, {
                component: {
                    commands: {
                        goToLiftValue: OptionalCommand<(...), (...), (...)>;
                    };
                };
                flags: {
                    absolutePosition: true;
                    lift: true;
                };
            }, {
                component: {
                    commands: {
                        goToTiltValue: OptionalCommand<(...), (...), (...)>;
                    };
                };
                flags: {
                    absolutePosition: true;
                    tilt: true;
                };
            }, {
                component: false;
                flags: {
                    lift: false;
                    positionAwareLift: true;
                };
            }, {
                component: false;
                flags: {
                    positionAwareTilt: true;
                    tilt: false;
                };
            }, {
                component: false;
                flags: {
                    lift: false;
                    tilt: false;
                };
            }];
            features: {
                absolutePosition: BitFlag;
                lift: BitFlag;
                positionAwareLift: BitFlag;
                positionAwareTilt: BitFlag;
                tilt: BitFlag;
            };
            id: 258;
            name: "WindowCovering";
            revision: 5;
        }>, typeof WindowCoveringServerLogic>;
        [asyncDispose](): MaybePromise<void>;
    }
    • WindowCoveringServer

Constructors

Properties

[reference]: Datasource<StateType>
agent: Agent
cluster: never

The implemented cluster.

context: ActionContext
endpoint: Endpoint<Empty>
events: EventEmitter & Omit<ClusterEvents<WithFeatures<Of<{
    attributes: {
        configStatus: Attribute<TypeFromPartialBitSchema<{
            liftEncoderControlled: BitFlag;
            liftMovementReversed: BitFlag;
            liftPositionAware: BitFlag;
            onlineReserved: BitFlag;
            operational: BitFlag;
            tiltEncoderControlled: BitFlag;
            tiltPositionAware: BitFlag;
        }>, any>;
        endProductType: FixedAttribute<WindowCovering.EndProductType, any>;
        mode: WritableAttribute<TypeFromPartialBitSchema<{
            calibrationMode: BitFlag;
            ledFeedback: BitFlag;
            maintenanceMode: BitFlag;
            motorDirectionReversed: BitFlag;
        }>, any>;
        operationalStatus: Attribute<TypeFromPartialBitSchema<{
            global: BitFieldEnum<(...)>;
            lift: BitFieldEnum<(...)>;
            tilt: BitFieldEnum<(...)>;
        }>, any>;
        safetyStatus: OptionalAttribute<TypeFromPartialBitSchema<{
            failedCommunication: BitFlag;
            hardwareFailure: BitFlag;
            manualOperation: BitFlag;
            motorJammed: BitFlag;
            obstacleDetected: BitFlag;
            positionFailure: BitFlag;
            power: BitFlag;
            protection: BitFlag;
            remoteLockout: BitFlag;
            stopInput: BitFlag;
            tamperDetection: BitFlag;
            thermalProtection: BitFlag;
        }>, any>;
        type: FixedAttribute<WindowCovering.WindowCoveringType, any>;
    };
    commands: {
        downOrClose: Command<void, void, any>;
        stopMotion: Command<void, void, any>;
        upOrOpen: Command<void, void, any>;
    };
    extensions: readonly [{
        component: {
            attributes: {
                currentPositionLift: OptionalAttribute<(...), (...)>;
                installedClosedLimitLift: Attribute<(...), (...)>;
                installedOpenLimitLift: Attribute<(...), (...)>;
                physicalClosedLimitLift: OptionalFixedAttribute<(...), (...)>;
            };
        };
        flags: {
            absolutePosition: true;
            lift: true;
            positionAwareLift: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionTilt: OptionalAttribute<(...), (...)>;
                installedClosedLimitTilt: Attribute<(...), (...)>;
                installedOpenLimitTilt: Attribute<(...), (...)>;
                physicalClosedLimitTilt: OptionalFixedAttribute<(...), (...)>;
            };
        };
        flags: {
            absolutePosition: true;
            positionAwareTilt: true;
            tilt: true;
        };
    }, {
        component: {
            attributes: {
                numberOfActuationsLift: OptionalAttribute<(...), (...)>;
            };
            commands: {
                goToLiftPercentage: OptionalCommand<(...), (...), (...)>;
            };
        };
        flags: {
            lift: true;
        };
    }, {
        component: {
            attributes: {
                numberOfActuationsTilt: OptionalAttribute<(...), (...)>;
            };
            commands: {
                goToTiltPercentage: OptionalCommand<(...), (...), (...)>;
            };
        };
        flags: {
            tilt: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionLiftPercent100ths: Attribute<(...), (...)>;
                currentPositionLiftPercentage: OptionalAttribute<(...), (...)>;
                targetPositionLiftPercent100ths: Attribute<(...), (...)>;
            };
            commands: {
                goToLiftPercentage: Command<(...), (...), (...)>;
            };
        };
        flags: {
            lift: true;
            positionAwareLift: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionTiltPercent100ths: Attribute<(...), (...)>;
                currentPositionTiltPercentage: OptionalAttribute<(...), (...)>;
                targetPositionTiltPercent100ths: Attribute<(...), (...)>;
            };
            commands: {
                goToTiltPercentage: Command<(...), (...), (...)>;
            };
        };
        flags: {
            positionAwareTilt: true;
            tilt: true;
        };
    }, {
        component: {
            commands: {
                goToLiftValue: OptionalCommand<(...), (...), (...)>;
            };
        };
        flags: {
            absolutePosition: true;
            lift: true;
        };
    }, {
        component: {
            commands: {
                goToTiltValue: OptionalCommand<(...), (...), (...)>;
            };
        };
        flags: {
            absolutePosition: true;
            tilt: true;
        };
    }, {
        component: false;
        flags: {
            lift: false;
            positionAwareLift: true;
        };
    }, {
        component: false;
        flags: {
            positionAwareTilt: true;
            tilt: false;
        };
    }, {
        component: false;
        flags: {
            lift: false;
            tilt: false;
        };
    }];
    features: {
        absolutePosition: BitFlag;
        lift: BitFlag;
        positionAwareLift: BitFlag;
        positionAwareTilt: BitFlag;
        tilt: BitFlag;
    };
    id: 258;
    name: "WindowCovering";
    revision: 5;
}>, readonly [Lift, Tilt, PositionAwareLift, PositionAwareTilt, AbsolutePosition]>, Type<Of<{
    attributes: {
        configStatus: Attribute<TypeFromPartialBitSchema<{
            liftEncoderControlled: BitFlag;
            liftMovementReversed: BitFlag;
            liftPositionAware: BitFlag;
            onlineReserved: BitFlag;
            operational: BitFlag;
            tiltEncoderControlled: BitFlag;
            tiltPositionAware: BitFlag;
        }>, any>;
        endProductType: FixedAttribute<WindowCovering.EndProductType, any>;
        mode: WritableAttribute<TypeFromPartialBitSchema<{
            calibrationMode: BitFlag;
            ledFeedback: BitFlag;
            maintenanceMode: BitFlag;
            motorDirectionReversed: BitFlag;
        }>, any>;
        operationalStatus: Attribute<TypeFromPartialBitSchema<{
            global: BitFieldEnum<(...)>;
            lift: BitFieldEnum<(...)>;
            tilt: BitFieldEnum<(...)>;
        }>, any>;
        safetyStatus: OptionalAttribute<TypeFromPartialBitSchema<{
            failedCommunication: BitFlag;
            hardwareFailure: BitFlag;
            manualOperation: BitFlag;
            motorJammed: BitFlag;
            obstacleDetected: BitFlag;
            positionFailure: BitFlag;
            power: BitFlag;
            protection: BitFlag;
            remoteLockout: BitFlag;
            stopInput: BitFlag;
            tamperDetection: BitFlag;
            thermalProtection: BitFlag;
        }>, any>;
        type: FixedAttribute<WindowCovering.WindowCoveringType, any>;
    };
    commands: {
        downOrClose: Command<void, void, any>;
        stopMotion: Command<void, void, any>;
        upOrOpen: Command<void, void, any>;
    };
    extensions: readonly [{
        component: {
            attributes: {
                currentPositionLift: OptionalAttribute<(...), (...)>;
                installedClosedLimitLift: Attribute<(...), (...)>;
                installedOpenLimitLift: Attribute<(...), (...)>;
                physicalClosedLimitLift: OptionalFixedAttribute<(...), (...)>;
            };
        };
        flags: {
            absolutePosition: true;
            lift: true;
            positionAwareLift: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionTilt: OptionalAttribute<(...), (...)>;
                installedClosedLimitTilt: Attribute<(...), (...)>;
                installedOpenLimitTilt: Attribute<(...), (...)>;
                physicalClosedLimitTilt: OptionalFixedAttribute<(...), (...)>;
            };
        };
        flags: {
            absolutePosition: true;
            positionAwareTilt: true;
            tilt: true;
        };
    }, {
        component: {
            attributes: {
                numberOfActuationsLift: OptionalAttribute<(...), (...)>;
            };
            commands: {
                goToLiftPercentage: OptionalCommand<(...), (...), (...)>;
            };
        };
        flags: {
            lift: true;
        };
    }, {
        component: {
            attributes: {
                numberOfActuationsTilt: OptionalAttribute<(...), (...)>;
            };
            commands: {
                goToTiltPercentage: OptionalCommand<(...), (...), (...)>;
            };
        };
        flags: {
            tilt: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionLiftPercent100ths: Attribute<(...), (...)>;
                currentPositionLiftPercentage: OptionalAttribute<(...), (...)>;
                targetPositionLiftPercent100ths: Attribute<(...), (...)>;
            };
            commands: {
                goToLiftPercentage: Command<(...), (...), (...)>;
            };
        };
        flags: {
            lift: true;
            positionAwareLift: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionTiltPercent100ths: Attribute<(...), (...)>;
                currentPositionTiltPercentage: OptionalAttribute<(...), (...)>;
                targetPositionTiltPercent100ths: Attribute<(...), (...)>;
            };
            commands: {
                goToTiltPercentage: Command<(...), (...), (...)>;
            };
        };
        flags: {
            positionAwareTilt: true;
            tilt: true;
        };
    }, {
        component: {
            commands: {
                goToLiftValue: OptionalCommand<(...), (...), (...)>;
            };
        };
        flags: {
            absolutePosition: true;
            lift: true;
        };
    }, {
        component: {
            commands: {
                goToTiltValue: OptionalCommand<(...), (...), (...)>;
            };
        };
        flags: {
            absolutePosition: true;
            tilt: true;
        };
    }, {
        component: false;
        flags: {
            lift: false;
            positionAwareLift: true;
        };
    }, {
        component: false;
        flags: {
            positionAwareTilt: true;
            tilt: false;
        };
    }, {
        component: false;
        flags: {
            lift: false;
            tilt: false;
        };
    }];
    features: {
        absolutePosition: BitFlag;
        lift: BitFlag;
        positionAwareLift: BitFlag;
        positionAwareTilt: BitFlag;
        tilt: BitFlag;
    };
    id: 258;
    name: "WindowCovering";
    revision: 5;
}>, Type<Of<{
    attributes: {};
    commands: {};
    events: {};
    id: 0;
    name: "Unknown";
    revision: 0;
}>, typeof ClusterBehavior, WindowCoveringInterface>, WindowCoveringInterface>>,
    | "type$Changing"
    | "configStatus$Changing"
    | "operationalStatus$Changing"
    | "endProductType$Changing"
    | "mode$Changing"
    | "safetyStatus$Changing"
    | "type$Changed"
    | "configStatus$Changed"
    | "operationalStatus$Changed"
    | "endProductType$Changed"
    | "mode$Changed"
    | "safetyStatus$Changed"
    | "installedOpenLimitLift$Changing"
    | "installedClosedLimitLift$Changing"
    | "installedOpenLimitTilt$Changing"
    | "installedClosedLimitTilt$Changing"
    | "targetPositionLiftPercent100ths$Changing"
    | "currentPositionLiftPercent100ths$Changing"
    | "targetPositionTiltPercent100ths$Changing"
    | "currentPositionTiltPercent100ths$Changing"
    | "physicalClosedLimitLift$Changing"
    | "currentPositionLift$Changing"
    | "physicalClosedLimitTilt$Changing"
    | "currentPositionTilt$Changing"
    | "numberOfActuationsLift$Changing"
    | "numberOfActuationsTilt$Changing"
    | "currentPositionLiftPercentage$Changing"
    | "currentPositionTiltPercentage$Changing"
    | "installedOpenLimitLift$Changed"
    | "installedClosedLimitLift$Changed"
    | "installedOpenLimitTilt$Changed"
    | "installedClosedLimitTilt$Changed"
    | "targetPositionLiftPercent100ths$Changed"
    | "currentPositionLiftPercent100ths$Changed"
    | "targetPositionTiltPercent100ths$Changed"
    | "currentPositionTiltPercent100ths$Changed"
    | "physicalClosedLimitLift$Changed"
    | "currentPositionLift$Changed"
    | "physicalClosedLimitTilt$Changed"
    | "currentPositionTilt$Changed"
    | "numberOfActuationsLift$Changed"
    | "numberOfActuationsTilt$Changed"
    | "currentPositionLiftPercentage$Changed"
    | "currentPositionTiltPercentage$Changed"> & {
    configStatus$Changing: ClusterEvents.AttributeObservable<Attribute<TypeFromPartialBitSchema<{
        liftEncoderControlled: BitFlag;
        liftMovementReversed: BitFlag;
        liftPositionAware: BitFlag;
        onlineReserved: BitFlag;
        operational: BitFlag;
        tiltEncoderControlled: BitFlag;
        tiltPositionAware: BitFlag;
    }>, any>>;
    endProductType$Changing: ClusterEvents.AttributeObservable<FixedAttribute<WindowCovering.EndProductType, any>>;
    mode$Changing: ClusterEvents.AttributeObservable<WritableAttribute<TypeFromPartialBitSchema<{
        calibrationMode: BitFlag;
        ledFeedback: BitFlag;
        maintenanceMode: BitFlag;
        motorDirectionReversed: BitFlag;
    }>, any>>;
    operationalStatus$Changing: ClusterEvents.AttributeObservable<Attribute<TypeFromPartialBitSchema<{
        global: BitFieldEnum<WindowCovering.MovementStatus>;
        lift: BitFieldEnum<WindowCovering.MovementStatus>;
        tilt: BitFieldEnum<WindowCovering.MovementStatus>;
    }>, any>>;
    type$Changing: ClusterEvents.AttributeObservable<FixedAttribute<WindowCovering.WindowCoveringType, any>>;
} & {
    safetyStatus$Changing: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<TypeFromPartialBitSchema<{
        failedCommunication: BitFlag;
        hardwareFailure: BitFlag;
        manualOperation: BitFlag;
        motorJammed: BitFlag;
        obstacleDetected: BitFlag;
        positionFailure: BitFlag;
        power: BitFlag;
        protection: BitFlag;
        remoteLockout: BitFlag;
        stopInput: BitFlag;
        tamperDetection: BitFlag;
        thermalProtection: BitFlag;
    }>, any>>;
} & {
    configStatus$Changed: ClusterEvents.AttributeObservable<Attribute<TypeFromPartialBitSchema<{
        liftEncoderControlled: BitFlag;
        liftMovementReversed: BitFlag;
        liftPositionAware: BitFlag;
        onlineReserved: BitFlag;
        operational: BitFlag;
        tiltEncoderControlled: BitFlag;
        tiltPositionAware: BitFlag;
    }>, any>>;
    endProductType$Changed: ClusterEvents.AttributeObservable<FixedAttribute<WindowCovering.EndProductType, any>>;
    mode$Changed: ClusterEvents.AttributeObservable<WritableAttribute<TypeFromPartialBitSchema<{
        calibrationMode: BitFlag;
        ledFeedback: BitFlag;
        maintenanceMode: BitFlag;
        motorDirectionReversed: BitFlag;
    }>, any>>;
    operationalStatus$Changed: ClusterEvents.AttributeObservable<Attribute<TypeFromPartialBitSchema<{
        global: BitFieldEnum<WindowCovering.MovementStatus>;
        lift: BitFieldEnum<WindowCovering.MovementStatus>;
        tilt: BitFieldEnum<WindowCovering.MovementStatus>;
    }>, any>>;
    type$Changed: ClusterEvents.AttributeObservable<FixedAttribute<WindowCovering.WindowCoveringType, any>>;
} & {
    safetyStatus$Changed: undefined | ClusterEvents.AttributeObservable<OptionalAttribute<TypeFromPartialBitSchema<{
        failedCommunication: BitFlag;
        hardwareFailure: BitFlag;
        manualOperation: BitFlag;
        motorJammed: BitFlag;
        obstacleDetected: BitFlag;
        positionFailure: BitFlag;
        power: BitFlag;
        protection: BitFlag;
        remoteLockout: BitFlag;
        stopInput: BitFlag;
        tamperDetection: BitFlag;
        thermalProtection: BitFlag;
    }>, any>>;
} & {} & {}

Access the behavior's events.

features: TypeFromBitSchema<{}> & TypeFromBitSchema<{
    absolutePosition: BitFlag;
    lift: BitFlag;
    positionAwareLift: BitFlag;
    positionAwareTilt: BitFlag;
    tilt: BitFlag;
}>

Supported features as a flag object.

session: SecureSession
state: Omit<State,
    | "type"
    | "mode"
    | "physicalClosedLimitLift"
    | "currentPositionLift"
    | "installedOpenLimitLift"
    | "installedClosedLimitLift"
    | "physicalClosedLimitTilt"
    | "currentPositionTilt"
    | "installedOpenLimitTilt"
    | "installedClosedLimitTilt"
    | "numberOfActuationsLift"
    | "numberOfActuationsTilt"
    | "currentPositionLiftPercentage"
    | "targetPositionLiftPercent100ths"
    | "currentPositionLiftPercent100ths"
    | "currentPositionTiltPercentage"
    | "targetPositionTiltPercent100ths"
    | "currentPositionTiltPercent100ths"
    | "configStatus"
    | "operationalStatus"
    | "endProductType"
    | "safetyStatus"> & {
    configStatus: TypeFromPartialBitSchema<{
        liftEncoderControlled: BitFlag;
        liftMovementReversed: BitFlag;
        liftPositionAware: BitFlag;
        onlineReserved: BitFlag;
        operational: BitFlag;
        tiltEncoderControlled: BitFlag;
        tiltPositionAware: BitFlag;
    }>;
    mode: TypeFromPartialBitSchema<{
        calibrationMode: BitFlag;
        ledFeedback: BitFlag;
        maintenanceMode: BitFlag;
        motorDirectionReversed: BitFlag;
    }>;
    operationalStatus: TypeFromPartialBitSchema<{
        global: BitFieldEnum<WindowCovering.MovementStatus>;
        lift: BitFieldEnum<WindowCovering.MovementStatus>;
        tilt: BitFieldEnum<WindowCovering.MovementStatus>;
    }>;
} & {
    safetyStatus?: TypeFromPartialBitSchema<{
        failedCommunication: BitFlag;
        hardwareFailure: BitFlag;
        manualOperation: BitFlag;
        motorJammed: BitFlag;
        obstacleDetected: BitFlag;
        positionFailure: BitFlag;
        power: BitFlag;
        protection: BitFlag;
        remoteLockout: BitFlag;
        stopInput: BitFlag;
        tamperDetection: BitFlag;
        thermalProtection: BitFlag;
    }>;
} & {
    endProductType: WindowCovering.EndProductType;
    type: WindowCovering.WindowCoveringType;
} & {}

Access the behavior's state.

Type declaration

  • ReadonlyconfigStatus: TypeFromPartialBitSchema<{
        liftEncoderControlled: BitFlag;
        liftMovementReversed: BitFlag;
        liftPositionAware: BitFlag;
        onlineReserved: BitFlag;
        operational: BitFlag;
        tiltEncoderControlled: BitFlag;
        tiltPositionAware: BitFlag;
    }>

    This attribute specifies the configuration and status information of the window covering.

    To change settings, devices shall write to the Mode attribute. The behavior causing the setting or clearing of each bit is vendor specific.

    MatterSpecification.v13.Cluster § 5.3.6.9

  • Readonlymode: TypeFromPartialBitSchema<{
        calibrationMode: BitFlag;
        ledFeedback: BitFlag;
        maintenanceMode: BitFlag;
        motorDirectionReversed: BitFlag;
    }>

    The Mode attribute allows configuration of the window covering, such as: reversing the motor direction, placing the window covering into calibration mode, placing the motor into maintenance mode, disabling the network, and disabling status LEDs.

    In the case a device does not support or implement a specific mode, e.g. the device has a specific installation method and reversal is not relevant or the device does not include a maintenance mode, any write interaction to the Mode attribute, with an unsupported mode bit or any out of bounds bits set, must be ignored and a response containing the status of CONSTRAINT_ERROR will be returned.

    MatterSpecification.v13.Cluster § 5.3.6.22

  • ReadonlyoperationalStatus: TypeFromPartialBitSchema<{
        global: BitFieldEnum<WindowCovering.MovementStatus>;
        lift: BitFieldEnum<WindowCovering.MovementStatus>;
        tilt: BitFieldEnum<WindowCovering.MovementStatus>;
    }>

    Indicates the currently ongoing operations and applies to all type of devices.

    MatterSpecification.v13.Cluster § 5.3.6.16

Type declaration

  • Optional ReadonlysafetyStatus?: TypeFromPartialBitSchema<{
        failedCommunication: BitFlag;
        hardwareFailure: BitFlag;
        manualOperation: BitFlag;
        motorJammed: BitFlag;
        obstacleDetected: BitFlag;
        positionFailure: BitFlag;
        power: BitFlag;
        protection: BitFlag;
        remoteLockout: BitFlag;
        stopInput: BitFlag;
        tamperDetection: BitFlag;
        thermalProtection: BitFlag;
    }>

    The SafetyStatus attribute reflects the state of the safety sensors and the common issues preventing movements. By default for nominal operation all flags are cleared (0). A device might support none, one or several bit flags from this attribute (all optional).

    MatterSpecification.v13.Cluster § 5.3.6.23

Type declaration

  • ReadonlyendProductType: WindowCovering.EndProductType

    This attribute SHOULD provide more detail about the product type than can be determined from the main category indicated by the Type attribute.

    The table below helps to match the EndProductType attribute with the Type attribute.

    MatterSpecification.v13.Cluster § 5.3.6.17

  • Readonlytype: WindowCovering.WindowCoveringType

    This attribute shall identify the type of window covering.

    MatterSpecification.v13.Cluster § 5.3.6.2

cluster: Of<{
    attributes: {
        configStatus: Attribute<TypeFromPartialBitSchema<{
            liftEncoderControlled: BitFlag;
            liftMovementReversed: BitFlag;
            liftPositionAware: BitFlag;
            onlineReserved: BitFlag;
            operational: BitFlag;
            tiltEncoderControlled: BitFlag;
            tiltPositionAware: BitFlag;
        }>, any>;
        endProductType: FixedAttribute<WindowCovering.EndProductType, any>;
        mode: WritableAttribute<TypeFromPartialBitSchema<{
            calibrationMode: BitFlag;
            ledFeedback: BitFlag;
            maintenanceMode: BitFlag;
            motorDirectionReversed: BitFlag;
        }>, any>;
        operationalStatus: Attribute<TypeFromPartialBitSchema<{
            global: BitFieldEnum<WindowCovering.MovementStatus>;
            lift: BitFieldEnum<WindowCovering.MovementStatus>;
            tilt: BitFieldEnum<WindowCovering.MovementStatus>;
        }>, any>;
        safetyStatus: OptionalAttribute<TypeFromPartialBitSchema<{
            failedCommunication: BitFlag;
            hardwareFailure: BitFlag;
            manualOperation: BitFlag;
            motorJammed: BitFlag;
            obstacleDetected: BitFlag;
            positionFailure: BitFlag;
            power: BitFlag;
            protection: BitFlag;
            remoteLockout: BitFlag;
            stopInput: BitFlag;
            tamperDetection: BitFlag;
            thermalProtection: BitFlag;
        }>, any>;
        type: FixedAttribute<WindowCovering.WindowCoveringType, any>;
    };
    commands: {
        downOrClose: Command<void, void, any>;
        stopMotion: Command<void, void, any>;
        upOrOpen: Command<void, void, any>;
    };
    extensions: readonly [{
        component: {
            attributes: {
                currentPositionLift: OptionalAttribute<null | number, any>;
                installedClosedLimitLift: Attribute<number, any>;
                installedOpenLimitLift: Attribute<number, any>;
                physicalClosedLimitLift: OptionalFixedAttribute<number, any>;
            };
        };
        flags: {
            absolutePosition: true;
            lift: true;
            positionAwareLift: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionTilt: OptionalAttribute<null | number, any>;
                installedClosedLimitTilt: Attribute<number, any>;
                installedOpenLimitTilt: Attribute<number, any>;
                physicalClosedLimitTilt: OptionalFixedAttribute<number, any>;
            };
        };
        flags: {
            absolutePosition: true;
            positionAwareTilt: true;
            tilt: true;
        };
    }, {
        component: {
            attributes: {
                numberOfActuationsLift: OptionalAttribute<number, any>;
            };
            commands: {
                goToLiftPercentage: OptionalCommand<TypeFromFields<{
                    liftPercent100thsValue: FieldType<number>;
                }>, void, any>;
            };
        };
        flags: {
            lift: true;
        };
    }, {
        component: {
            attributes: {
                numberOfActuationsTilt: OptionalAttribute<number, any>;
            };
            commands: {
                goToTiltPercentage: OptionalCommand<TypeFromFields<{
                    tiltPercent100thsValue: FieldType<number>;
                }>, void, any>;
            };
        };
        flags: {
            tilt: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionLiftPercent100ths: Attribute<null | number, any>;
                currentPositionLiftPercentage: OptionalAttribute<null | number, any>;
                targetPositionLiftPercent100ths: Attribute<null | number, any>;
            };
            commands: {
                goToLiftPercentage: Command<TypeFromFields<{
                    liftPercent100thsValue: FieldType<number>;
                }>, void, any>;
            };
        };
        flags: {
            lift: true;
            positionAwareLift: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionTiltPercent100ths: Attribute<null | number, any>;
                currentPositionTiltPercentage: OptionalAttribute<null | number, any>;
                targetPositionTiltPercent100ths: Attribute<null | number, any>;
            };
            commands: {
                goToTiltPercentage: Command<TypeFromFields<{
                    tiltPercent100thsValue: FieldType<number>;
                }>, void, any>;
            };
        };
        flags: {
            positionAwareTilt: true;
            tilt: true;
        };
    }, {
        component: {
            commands: {
                goToLiftValue: OptionalCommand<TypeFromFields<{
                    liftValue: FieldType<number>;
                }>, void, any>;
            };
        };
        flags: {
            absolutePosition: true;
            lift: true;
        };
    }, {
        component: {
            commands: {
                goToTiltValue: OptionalCommand<TypeFromFields<{
                    tiltValue: FieldType<number>;
                }>, void, any>;
            };
        };
        flags: {
            absolutePosition: true;
            tilt: true;
        };
    }, {
        component: false;
        flags: {
            lift: false;
            positionAwareLift: true;
        };
    }, {
        component: false;
        flags: {
            positionAwareTilt: true;
            tilt: false;
        };
    }, {
        component: false;
        flags: {
            lift: false;
            tilt: false;
        };
    }];
    features: {
        absolutePosition: BitFlag;
        lift: BitFlag;
        positionAwareLift: BitFlag;
        positionAwareTilt: BitFlag;
        tilt: BitFlag;
    };
    id: 258;
    name: "WindowCovering";
    revision: 5;
}>

Base cluster state include all attribute values but may be extended by subclasses.

Type declaration

  • Readonlyattributes: {
        configStatus: Attribute<TypeFromPartialBitSchema<{
            liftEncoderControlled: BitFlag;
            liftMovementReversed: BitFlag;
            liftPositionAware: BitFlag;
            onlineReserved: BitFlag;
            operational: BitFlag;
            tiltEncoderControlled: BitFlag;
            tiltPositionAware: BitFlag;
        }>, any>;
        endProductType: FixedAttribute<WindowCovering.EndProductType, any>;
        mode: WritableAttribute<TypeFromPartialBitSchema<{
            calibrationMode: BitFlag;
            ledFeedback: BitFlag;
            maintenanceMode: BitFlag;
            motorDirectionReversed: BitFlag;
        }>, any>;
        operationalStatus: Attribute<TypeFromPartialBitSchema<{
            global: BitFieldEnum<WindowCovering.MovementStatus>;
            lift: BitFieldEnum<WindowCovering.MovementStatus>;
            tilt: BitFieldEnum<WindowCovering.MovementStatus>;
        }>, any>;
        safetyStatus: OptionalAttribute<TypeFromPartialBitSchema<{
            failedCommunication: BitFlag;
            hardwareFailure: BitFlag;
            manualOperation: BitFlag;
            motorJammed: BitFlag;
            obstacleDetected: BitFlag;
            positionFailure: BitFlag;
            power: BitFlag;
            protection: BitFlag;
            remoteLockout: BitFlag;
            stopInput: BitFlag;
            tamperDetection: BitFlag;
            thermalProtection: BitFlag;
        }>, any>;
        type: FixedAttribute<WindowCovering.WindowCoveringType, any>;
    }
    • ReadonlyconfigStatus: Attribute<TypeFromPartialBitSchema<{
          liftEncoderControlled: BitFlag;
          liftMovementReversed: BitFlag;
          liftPositionAware: BitFlag;
          onlineReserved: BitFlag;
          operational: BitFlag;
          tiltEncoderControlled: BitFlag;
          tiltPositionAware: BitFlag;
      }>, any>

      This attribute specifies the configuration and status information of the window covering.

      To change settings, devices shall write to the Mode attribute. The behavior causing the setting or clearing of each bit is vendor specific.

      MatterSpecification.v13.Cluster § 5.3.6.9

    • ReadonlyendProductType: FixedAttribute<WindowCovering.EndProductType, any>

      This attribute SHOULD provide more detail about the product type than can be determined from the main category indicated by the Type attribute.

      The table below helps to match the EndProductType attribute with the Type attribute.

      MatterSpecification.v13.Cluster § 5.3.6.17

    • Readonlymode: WritableAttribute<TypeFromPartialBitSchema<{
          calibrationMode: BitFlag;
          ledFeedback: BitFlag;
          maintenanceMode: BitFlag;
          motorDirectionReversed: BitFlag;
      }>, any>

      The Mode attribute allows configuration of the window covering, such as: reversing the motor direction, placing the window covering into calibration mode, placing the motor into maintenance mode, disabling the network, and disabling status LEDs.

      In the case a device does not support or implement a specific mode, e.g. the device has a specific installation method and reversal is not relevant or the device does not include a maintenance mode, any write interaction to the Mode attribute, with an unsupported mode bit or any out of bounds bits set, must be ignored and a response containing the status of CONSTRAINT_ERROR will be returned.

      MatterSpecification.v13.Cluster § 5.3.6.22

    • ReadonlyoperationalStatus: Attribute<TypeFromPartialBitSchema<{
          global: BitFieldEnum<WindowCovering.MovementStatus>;
          lift: BitFieldEnum<WindowCovering.MovementStatus>;
          tilt: BitFieldEnum<WindowCovering.MovementStatus>;
      }>, any>

      Indicates the currently ongoing operations and applies to all type of devices.

      MatterSpecification.v13.Cluster § 5.3.6.16

    • ReadonlysafetyStatus: OptionalAttribute<TypeFromPartialBitSchema<{
          failedCommunication: BitFlag;
          hardwareFailure: BitFlag;
          manualOperation: BitFlag;
          motorJammed: BitFlag;
          obstacleDetected: BitFlag;
          positionFailure: BitFlag;
          power: BitFlag;
          protection: BitFlag;
          remoteLockout: BitFlag;
          stopInput: BitFlag;
          tamperDetection: BitFlag;
          thermalProtection: BitFlag;
      }>, any>

      The SafetyStatus attribute reflects the state of the safety sensors and the common issues preventing movements. By default for nominal operation all flags are cleared (0). A device might support none, one or several bit flags from this attribute (all optional).

      MatterSpecification.v13.Cluster § 5.3.6.23

    • Readonlytype: FixedAttribute<WindowCovering.WindowCoveringType, any>

      This attribute shall identify the type of window covering.

      MatterSpecification.v13.Cluster § 5.3.6.2

  • Readonlycommands: {
        downOrClose: Command<void, void, any>;
        stopMotion: Command<void, void, any>;
        upOrOpen: Command<void, void, any>;
    }
    • ReadonlydownOrClose: Command<void, void, any>

      Upon receipt of this command, the window covering will adjust its position so the physical lift/slide and tilt is at the maximum closed/down position. This will happen as fast as possible. The server attributes supported shall be updated as follows:

      if the PositionAware feature is supported:

      • TargetPositionLiftPercent100ths attribute shall be set to 100.00%.

      • TargetPositionTiltPercent100ths attribute shall be set to 100.00%.

      The server positioning attributes will follow the movements, once the movement has successfully finished, the server attributes shall be updated as follows:

      if the PositionAware feature is supported:

      • CurrentPositionLiftPercent100ths attribute shall be 100.00%.

      • CurrentPositionLiftPercentage attribute shall be 100%.

      • CurrentPositionTiltPercent100ths attribute shall be 100.00%.

      • CurrentPositionTiltPercentage attribute shall be 100%. if the AbsolutePosition feature is supported:

      • CurrentPositionLift attribute shall be equal to the InstalledClosedLimitLift attribute.

      • CurrentPositionTilt attribute shall be equal to the InstalledClosedLimitTilt attribute.

      MatterSpecification.v13.Cluster § 5.3.7.2

    • ReadonlystopMotion: Command<void, void, any>

      Upon receipt of this command, the window covering will stop any adjusting to the physical tilt and lift/slide that is currently occurring. The server attributes supported shall be updated as follows:

      • TargetPositionLiftPercent100ths attribute will be set to CurrentPositionLiftPercent100ths attribute value.

      • TargetPositionTiltPercent100ths attribute will be set to CurrentPositionTiltPercent100ths attribute value.

      MatterSpecification.v13.Cluster § 5.3.7.3

    • ReadonlyupOrOpen: Command<void, void, any>

      Upon receipt of this command, the window covering will adjust its position so the physical lift/slide and tilt is at the maximum open/up position. This will happen as fast as possible. The server attributes shall be updated as follows:

      if the PositionAware feature is supported:

      • TargetPositionLiftPercent100ths attribute shall be set to 0.00%.

      • TargetPositionTiltPercent100ths attribute shall be set to 0.00%.

      The server positioning attributes will follow the movements, once the movement has successfully finished, the server attributes shall be updated as follows:

      if the PositionAware feature is supported:

      • CurrentPositionLiftPercent100ths attribute shall be 0.00%.

      • CurrentPositionLiftPercentage attribute shall be 0%.

      • CurrentPositionTiltPercent100ths attribute shall be 0.00%.

      • CurrentPositionTiltPercentage attribute shall be 0%. if the AbsolutePosition feature is supported:

      • CurrentPositionLift attribute shall be equal to the InstalledOpenLimitLift attribute.

      • CurrentPositionTilt attribute shall be equal to the InstalledOpenLimitTilt attribute.

      MatterSpecification.v13.Cluster § 5.3.7.1

  • Readonlyextensions: readonly [{
        component: {
            attributes: {
                currentPositionLift: OptionalAttribute<null | number, any>;
                installedClosedLimitLift: Attribute<number, any>;
                installedOpenLimitLift: Attribute<number, any>;
                physicalClosedLimitLift: OptionalFixedAttribute<number, any>;
            };
        };
        flags: {
            absolutePosition: true;
            lift: true;
            positionAwareLift: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionTilt: OptionalAttribute<null | number, any>;
                installedClosedLimitTilt: Attribute<number, any>;
                installedOpenLimitTilt: Attribute<number, any>;
                physicalClosedLimitTilt: OptionalFixedAttribute<number, any>;
            };
        };
        flags: {
            absolutePosition: true;
            positionAwareTilt: true;
            tilt: true;
        };
    }, {
        component: {
            attributes: {
                numberOfActuationsLift: OptionalAttribute<number, any>;
            };
            commands: {
                goToLiftPercentage: OptionalCommand<TypeFromFields<{
                    liftPercent100thsValue: FieldType<number>;
                }>, void, any>;
            };
        };
        flags: {
            lift: true;
        };
    }, {
        component: {
            attributes: {
                numberOfActuationsTilt: OptionalAttribute<number, any>;
            };
            commands: {
                goToTiltPercentage: OptionalCommand<TypeFromFields<{
                    tiltPercent100thsValue: FieldType<number>;
                }>, void, any>;
            };
        };
        flags: {
            tilt: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionLiftPercent100ths: Attribute<null | number, any>;
                currentPositionLiftPercentage: OptionalAttribute<null | number, any>;
                targetPositionLiftPercent100ths: Attribute<null | number, any>;
            };
            commands: {
                goToLiftPercentage: Command<TypeFromFields<{
                    liftPercent100thsValue: FieldType<number>;
                }>, void, any>;
            };
        };
        flags: {
            lift: true;
            positionAwareLift: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionTiltPercent100ths: Attribute<null | number, any>;
                currentPositionTiltPercentage: OptionalAttribute<null | number, any>;
                targetPositionTiltPercent100ths: Attribute<null | number, any>;
            };
            commands: {
                goToTiltPercentage: Command<TypeFromFields<{
                    tiltPercent100thsValue: FieldType<number>;
                }>, void, any>;
            };
        };
        flags: {
            positionAwareTilt: true;
            tilt: true;
        };
    }, {
        component: {
            commands: {
                goToLiftValue: OptionalCommand<TypeFromFields<{
                    liftValue: FieldType<number>;
                }>, void, any>;
            };
        };
        flags: {
            absolutePosition: true;
            lift: true;
        };
    }, {
        component: {
            commands: {
                goToTiltValue: OptionalCommand<TypeFromFields<{
                    tiltValue: FieldType<number>;
                }>, void, any>;
            };
        };
        flags: {
            absolutePosition: true;
            tilt: true;
        };
    }, {
        component: false;
        flags: {
            lift: false;
            positionAwareLift: true;
        };
    }, {
        component: false;
        flags: {
            positionAwareTilt: true;
            tilt: false;
        };
    }, {
        component: false;
        flags: {
            lift: false;
            tilt: false;
        };
    }]

    This metadata controls which WindowCoveringCluster elements matter.js activates for specific feature combinations.

  • Readonlyfeatures: {
        absolutePosition: BitFlag;
        lift: BitFlag;
        positionAwareLift: BitFlag;
        positionAwareTilt: BitFlag;
        tilt: BitFlag;
    }
    • ReadonlyabsolutePosition: BitFlag

      AbsolutePosition

      The percentage attributes shall indicate the position as a percentage between the InstalledOpenLimits and InstalledClosedLimits attributes of the window covering starting at the open (0.00%).

      As a general rule, absolute positioning (in centimeters or tenth of a degrees) SHOULD NOT be supported for new implementations.

      MatterSpecification.v13.Cluster § 5.3.4.4

    • Readonlylift: BitFlag

      Lift

      The Lift feature applies to window coverings that lift up and down (e.g. for a roller shade, Up and Down is lift Open and Close) or slide left to right (e.g. for a sliding curtain, Left and Right is lift Open and Close).

      MatterSpecification.v13.Cluster § 5.3.4.1

    • ReadonlypositionAwareLift: BitFlag

      PositionAwareLift

      Position aware lift control is supported.

    • ReadonlypositionAwareTilt: BitFlag

      PositionAwareTilt

      Position aware tilt control is supported.

    • Readonlytilt: BitFlag

      Tilt

      The Tilt feature applies to window coverings with vertical or horizontal strips.

      MatterSpecification.v13.Cluster § 5.3.4.2

  • Readonlyid: 258
  • Readonlyname: "WindowCovering"
  • Readonlyrevision: 5
defaults: ClusterState.Type<Of<{
    attributes: {
        configStatus: Attribute<TypeFromPartialBitSchema<{
            liftEncoderControlled: BitFlag;
            liftMovementReversed: BitFlag;
            liftPositionAware: BitFlag;
            onlineReserved: BitFlag;
            operational: BitFlag;
            tiltEncoderControlled: BitFlag;
            tiltPositionAware: BitFlag;
        }>, any>;
        endProductType: FixedAttribute<WindowCovering.EndProductType, any>;
        mode: WritableAttribute<TypeFromPartialBitSchema<{
            calibrationMode: BitFlag;
            ledFeedback: BitFlag;
            maintenanceMode: BitFlag;
            motorDirectionReversed: BitFlag;
        }>, any>;
        operationalStatus: Attribute<TypeFromPartialBitSchema<{
            global: BitFieldEnum<WindowCovering.MovementStatus>;
            lift: BitFieldEnum<WindowCovering.MovementStatus>;
            tilt: BitFieldEnum<WindowCovering.MovementStatus>;
        }>, any>;
        safetyStatus: OptionalAttribute<TypeFromPartialBitSchema<{
            failedCommunication: BitFlag;
            hardwareFailure: BitFlag;
            manualOperation: BitFlag;
            motorJammed: BitFlag;
            obstacleDetected: BitFlag;
            positionFailure: BitFlag;
            power: BitFlag;
            protection: BitFlag;
            remoteLockout: BitFlag;
            stopInput: BitFlag;
            tamperDetection: BitFlag;
            thermalProtection: BitFlag;
        }>, any>;
        type: FixedAttribute<WindowCovering.WindowCoveringType, any>;
    };
    commands: {
        downOrClose: Command<void, void, any>;
        stopMotion: Command<void, void, any>;
        upOrOpen: Command<void, void, any>;
    };
    extensions: readonly [{
        component: {
            attributes: {
                currentPositionLift: OptionalAttribute<null | number, any>;
                installedClosedLimitLift: Attribute<number, any>;
                installedOpenLimitLift: Attribute<number, any>;
                physicalClosedLimitLift: OptionalFixedAttribute<number, any>;
            };
        };
        flags: {
            absolutePosition: true;
            lift: true;
            positionAwareLift: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionTilt: OptionalAttribute<null | number, any>;
                installedClosedLimitTilt: Attribute<number, any>;
                installedOpenLimitTilt: Attribute<number, any>;
                physicalClosedLimitTilt: OptionalFixedAttribute<number, any>;
            };
        };
        flags: {
            absolutePosition: true;
            positionAwareTilt: true;
            tilt: true;
        };
    }, {
        component: {
            attributes: {
                numberOfActuationsLift: OptionalAttribute<number, any>;
            };
            commands: {
                goToLiftPercentage: OptionalCommand<TypeFromFields<{
                    liftPercent100thsValue: FieldType<(...)>;
                }>, void, any>;
            };
        };
        flags: {
            lift: true;
        };
    }, {
        component: {
            attributes: {
                numberOfActuationsTilt: OptionalAttribute<number, any>;
            };
            commands: {
                goToTiltPercentage: OptionalCommand<TypeFromFields<{
                    tiltPercent100thsValue: FieldType<(...)>;
                }>, void, any>;
            };
        };
        flags: {
            tilt: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionLiftPercent100ths: Attribute<null | number, any>;
                currentPositionLiftPercentage: OptionalAttribute<null | number, any>;
                targetPositionLiftPercent100ths: Attribute<null | number, any>;
            };
            commands: {
                goToLiftPercentage: Command<TypeFromFields<{
                    liftPercent100thsValue: FieldType<(...)>;
                }>, void, any>;
            };
        };
        flags: {
            lift: true;
            positionAwareLift: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionTiltPercent100ths: Attribute<null | number, any>;
                currentPositionTiltPercentage: OptionalAttribute<null | number, any>;
                targetPositionTiltPercent100ths: Attribute<null | number, any>;
            };
            commands: {
                goToTiltPercentage: Command<TypeFromFields<{
                    tiltPercent100thsValue: FieldType<(...)>;
                }>, void, any>;
            };
        };
        flags: {
            positionAwareTilt: true;
            tilt: true;
        };
    }, {
        component: {
            commands: {
                goToLiftValue: OptionalCommand<TypeFromFields<{
                    liftValue: FieldType<(...)>;
                }>, void, any>;
            };
        };
        flags: {
            absolutePosition: true;
            lift: true;
        };
    }, {
        component: {
            commands: {
                goToTiltValue: OptionalCommand<TypeFromFields<{
                    tiltValue: FieldType<(...)>;
                }>, void, any>;
            };
        };
        flags: {
            absolutePosition: true;
            tilt: true;
        };
    }, {
        component: false;
        flags: {
            lift: false;
            positionAwareLift: true;
        };
    }, {
        component: false;
        flags: {
            positionAwareTilt: true;
            tilt: false;
        };
    }, {
        component: false;
        flags: {
            lift: false;
            tilt: false;
        };
    }];
    features: {
        absolutePosition: BitFlag;
        lift: BitFlag;
        positionAwareLift: BitFlag;
        positionAwareTilt: BitFlag;
        tilt: BitFlag;
    };
    id: 258;
    name: "WindowCovering";
    revision: 5;
}>, typeof WindowCoveringServerLogic>
dependencies?: Iterable<Type, any, any>
early: boolean
Events: ClusterEvents.Type<Of<{
    attributes: {
        configStatus: Attribute<TypeFromPartialBitSchema<{
            liftEncoderControlled: BitFlag;
            liftMovementReversed: BitFlag;
            liftPositionAware: BitFlag;
            onlineReserved: BitFlag;
            operational: BitFlag;
            tiltEncoderControlled: BitFlag;
            tiltPositionAware: BitFlag;
        }>, any>;
        endProductType: FixedAttribute<WindowCovering.EndProductType, any>;
        mode: WritableAttribute<TypeFromPartialBitSchema<{
            calibrationMode: BitFlag;
            ledFeedback: BitFlag;
            maintenanceMode: BitFlag;
            motorDirectionReversed: BitFlag;
        }>, any>;
        operationalStatus: Attribute<TypeFromPartialBitSchema<{
            global: BitFieldEnum<WindowCovering.MovementStatus>;
            lift: BitFieldEnum<WindowCovering.MovementStatus>;
            tilt: BitFieldEnum<WindowCovering.MovementStatus>;
        }>, any>;
        safetyStatus: OptionalAttribute<TypeFromPartialBitSchema<{
            failedCommunication: BitFlag;
            hardwareFailure: BitFlag;
            manualOperation: BitFlag;
            motorJammed: BitFlag;
            obstacleDetected: BitFlag;
            positionFailure: BitFlag;
            power: BitFlag;
            protection: BitFlag;
            remoteLockout: BitFlag;
            stopInput: BitFlag;
            tamperDetection: BitFlag;
            thermalProtection: BitFlag;
        }>, any>;
        type: FixedAttribute<WindowCovering.WindowCoveringType, any>;
    };
    commands: {
        downOrClose: Command<void, void, any>;
        stopMotion: Command<void, void, any>;
        upOrOpen: Command<void, void, any>;
    };
    extensions: readonly [{
        component: {
            attributes: {
                currentPositionLift: OptionalAttribute<null | number, any>;
                installedClosedLimitLift: Attribute<number, any>;
                installedOpenLimitLift: Attribute<number, any>;
                physicalClosedLimitLift: OptionalFixedAttribute<number, any>;
            };
        };
        flags: {
            absolutePosition: true;
            lift: true;
            positionAwareLift: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionTilt: OptionalAttribute<null | number, any>;
                installedClosedLimitTilt: Attribute<number, any>;
                installedOpenLimitTilt: Attribute<number, any>;
                physicalClosedLimitTilt: OptionalFixedAttribute<number, any>;
            };
        };
        flags: {
            absolutePosition: true;
            positionAwareTilt: true;
            tilt: true;
        };
    }, {
        component: {
            attributes: {
                numberOfActuationsLift: OptionalAttribute<number, any>;
            };
            commands: {
                goToLiftPercentage: OptionalCommand<TypeFromFields<{
                    liftPercent100thsValue: FieldType<(...)>;
                }>, void, any>;
            };
        };
        flags: {
            lift: true;
        };
    }, {
        component: {
            attributes: {
                numberOfActuationsTilt: OptionalAttribute<number, any>;
            };
            commands: {
                goToTiltPercentage: OptionalCommand<TypeFromFields<{
                    tiltPercent100thsValue: FieldType<(...)>;
                }>, void, any>;
            };
        };
        flags: {
            tilt: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionLiftPercent100ths: Attribute<null | number, any>;
                currentPositionLiftPercentage: OptionalAttribute<null | number, any>;
                targetPositionLiftPercent100ths: Attribute<null | number, any>;
            };
            commands: {
                goToLiftPercentage: Command<TypeFromFields<{
                    liftPercent100thsValue: FieldType<(...)>;
                }>, void, any>;
            };
        };
        flags: {
            lift: true;
            positionAwareLift: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionTiltPercent100ths: Attribute<null | number, any>;
                currentPositionTiltPercentage: OptionalAttribute<null | number, any>;
                targetPositionTiltPercent100ths: Attribute<null | number, any>;
            };
            commands: {
                goToTiltPercentage: Command<TypeFromFields<{
                    tiltPercent100thsValue: FieldType<(...)>;
                }>, void, any>;
            };
        };
        flags: {
            positionAwareTilt: true;
            tilt: true;
        };
    }, {
        component: {
            commands: {
                goToLiftValue: OptionalCommand<TypeFromFields<{
                    liftValue: FieldType<(...)>;
                }>, void, any>;
            };
        };
        flags: {
            absolutePosition: true;
            lift: true;
        };
    }, {
        component: {
            commands: {
                goToTiltValue: OptionalCommand<TypeFromFields<{
                    tiltValue: FieldType<(...)>;
                }>, void, any>;
            };
        };
        flags: {
            absolutePosition: true;
            tilt: true;
        };
    }, {
        component: false;
        flags: {
            lift: false;
            positionAwareLift: true;
        };
    }, {
        component: false;
        flags: {
            positionAwareTilt: true;
            tilt: false;
        };
    }, {
        component: false;
        flags: {
            lift: false;
            tilt: false;
        };
    }];
    features: {
        absolutePosition: BitFlag;
        lift: BitFlag;
        positionAwareLift: BitFlag;
        positionAwareTilt: BitFlag;
        tilt: BitFlag;
    };
    id: 258;
    name: "WindowCovering";
    revision: 5;
}>, typeof WindowCoveringServerLogic>
ExtensionInterface: {
    executeCalibration(): MaybePromise;
    handleMovement(type: MovementType, reversed: boolean, direction: MovementDirection, targetPercent100ths?: number): Promise<void>;
    handleStopMovement(): MaybePromise;
}
id

The behavior ID for ClusterBehaviors is the name of the cluster.

Internal: typeof Internal
name: string
schema?: Schema
State: (new () => ClusterState.Type<Of<{
    attributes: {
        configStatus: Attribute<TypeFromPartialBitSchema<{
            liftEncoderControlled: BitFlag;
            liftMovementReversed: BitFlag;
            liftPositionAware: BitFlag;
            onlineReserved: BitFlag;
            operational: BitFlag;
            tiltEncoderControlled: BitFlag;
            tiltPositionAware: BitFlag;
        }>, any>;
        endProductType: FixedAttribute<WindowCovering.EndProductType, any>;
        mode: WritableAttribute<TypeFromPartialBitSchema<{
            calibrationMode: BitFlag;
            ledFeedback: BitFlag;
            maintenanceMode: BitFlag;
            motorDirectionReversed: BitFlag;
        }>, any>;
        operationalStatus: Attribute<TypeFromPartialBitSchema<{
            global: BitFieldEnum<WindowCovering.MovementStatus>;
            lift: BitFieldEnum<WindowCovering.MovementStatus>;
            tilt: BitFieldEnum<WindowCovering.MovementStatus>;
        }>, any>;
        safetyStatus: OptionalAttribute<TypeFromPartialBitSchema<{
            failedCommunication: BitFlag;
            hardwareFailure: BitFlag;
            manualOperation: BitFlag;
            motorJammed: BitFlag;
            obstacleDetected: BitFlag;
            positionFailure: BitFlag;
            power: BitFlag;
            protection: BitFlag;
            remoteLockout: BitFlag;
            stopInput: BitFlag;
            tamperDetection: BitFlag;
            thermalProtection: BitFlag;
        }>, any>;
        type: FixedAttribute<WindowCovering.WindowCoveringType, any>;
    };
    commands: {
        downOrClose: Command<void, void, any>;
        stopMotion: Command<void, void, any>;
        upOrOpen: Command<void, void, any>;
    };
    extensions: readonly [{
        component: {
            attributes: {
                currentPositionLift: OptionalAttribute<null | number, any>;
                installedClosedLimitLift: Attribute<number, any>;
                installedOpenLimitLift: Attribute<number, any>;
                physicalClosedLimitLift: OptionalFixedAttribute<number, any>;
            };
        };
        flags: {
            absolutePosition: true;
            lift: true;
            positionAwareLift: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionTilt: OptionalAttribute<null | number, any>;
                installedClosedLimitTilt: Attribute<number, any>;
                installedOpenLimitTilt: Attribute<number, any>;
                physicalClosedLimitTilt: OptionalFixedAttribute<number, any>;
            };
        };
        flags: {
            absolutePosition: true;
            positionAwareTilt: true;
            tilt: true;
        };
    }, {
        component: {
            attributes: {
                numberOfActuationsLift: OptionalAttribute<number, any>;
            };
            commands: {
                goToLiftPercentage: OptionalCommand<TypeFromFields<{
                    liftPercent100thsValue: ...;
                }>, void, any>;
            };
        };
        flags: {
            lift: true;
        };
    }, {
        component: {
            attributes: {
                numberOfActuationsTilt: OptionalAttribute<number, any>;
            };
            commands: {
                goToTiltPercentage: OptionalCommand<TypeFromFields<{
                    tiltPercent100thsValue: ...;
                }>, void, any>;
            };
        };
        flags: {
            tilt: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionLiftPercent100ths: Attribute<null | number, any>;
                currentPositionLiftPercentage: OptionalAttribute<null | number, any>;
                targetPositionLiftPercent100ths: Attribute<null | number, any>;
            };
            commands: {
                goToLiftPercentage: Command<TypeFromFields<{
                    liftPercent100thsValue: ...;
                }>, void, any>;
            };
        };
        flags: {
            lift: true;
            positionAwareLift: true;
        };
    }, {
        component: {
            attributes: {
                currentPositionTiltPercent100ths: Attribute<null | number, any>;
                currentPositionTiltPercentage: OptionalAttribute<null | number, any>;
                targetPositionTiltPercent100ths: Attribute<null | number, any>;
            };
            commands: {
                goToTiltPercentage: Command<TypeFromFields<{
                    tiltPercent100thsValue: ...;
                }>, void, any>;
            };
        };
        flags: {
            positionAwareTilt: true;
            tilt: true;
        };
    }, {
        component: {
            commands: {
                goToLiftValue: OptionalCommand<TypeFromFields<{
                    liftValue: ...;
                }>, void, any>;
            };
        };
        flags: {
            absolutePosition: true;
            lift: true;
        };
    }, {
        component: {
            commands: {
                goToTiltValue: OptionalCommand<TypeFromFields<{
                    tiltValue: ...;
                }>, void, any>;
            };
        };
        flags: {
            absolutePosition: true;
            tilt: true;
        };
    }, {
        component: false;
        flags: {
            lift: false;
            positionAwareLift: true;
        };
    }, {
        component: false;
        flags: {
            positionAwareTilt: true;
            tilt: false;
        };
    }, {
        component: false;
        flags: {
            lift: false;
            tilt: false;
        };
    }];
    features: {
        absolutePosition: BitFlag;
        lift: BitFlag;
        positionAwareLift: BitFlag;
        positionAwareTilt: BitFlag;
        tilt: BitFlag;
    };
    id: 258;
    name: "WindowCovering";
    revision: 5;
}>, typeof WindowCoveringServerLogic>)
supervisor: RootSupervisor
supports: ((other: Type) => boolean)

Type declaration

    • (other): boolean
    • Does this behavior support functionality of a specific implementation?

      Parameters

      Returns boolean

Methods

  • Parameters

    • fn: (() => void)

      the elevated logic

        • (): void
        • Returns void

    Returns void

  • Create a generic callback function that has the same properties as a Reactor.

    Like a reactor, the callback's "this" will be bound to an active Behavior instance. Because of this: The reactor MUST be a real JS function - arrow functions will not work!

    Type Parameters

    • A extends any[]
    • R

    Parameters

    Returns ((...args: A) => undefined | R)

      • (...args): undefined | R
      • Parameters

        • Rest...args: A

        Returns undefined | R

  • Upon receipt of this command, the window covering will adjust its position so the physical lift/slide and tilt is at the maximum closed/down position. This will happen as fast as possible. The server attributes supported shall be updated as follows:

    if the PositionAware feature is supported:

    • TargetPositionLiftPercent100ths attribute shall be set to 100.00%.

    • TargetPositionTiltPercent100ths attribute shall be set to 100.00%.

    The server positioning attributes will follow the movements, once the movement has successfully finished, the server attributes shall be updated as follows:

    if the PositionAware feature is supported:

    • CurrentPositionLiftPercent100ths attribute shall be 100.00%.

    • CurrentPositionLiftPercentage attribute shall be 100%.

    • CurrentPositionTiltPercent100ths attribute shall be 100.00%.

    • CurrentPositionTiltPercentage attribute shall be 100%. if the AbsolutePosition feature is supported:

    • CurrentPositionLift attribute shall be equal to the InstalledClosedLimitLift attribute.

    • CurrentPositionTilt attribute shall be equal to the InstalledClosedLimitTilt attribute.

    Returns MaybePromise

    MatterSpecification.v13.Cluster § 5.3.7.2

  • Behaviors are ephemeral and should not perform initialization in their constructor. They can override this method instead.

    This method may be synchronous or asyncronous. If asynchronous, the behavior will not be available for external use until initialization completes.

    Parameters

    • Optional_options: {}

      Returns MaybePromise

    • Install a Reactor.

      Important: The reactor MUST be a real JS function - arrow functions will not work!

      Type Parameters

      Parameters

      Returns void

    • Upon receipt of this command, the window covering will stop any adjusting to the physical tilt and lift/slide that is currently occurring. The server attributes supported shall be updated as follows:

      • TargetPositionLiftPercent100ths attribute will be set to CurrentPositionLiftPercent100ths attribute value.

      • TargetPositionTiltPercent100ths attribute will be set to CurrentPositionTiltPercent100ths attribute value.

      Returns MaybePromise

      MatterSpecification.v13.Cluster § 5.3.7.3

    • Upon receipt of this command, the window covering will adjust its position so the physical lift/slide and tilt is at the maximum open/up position. This will happen as fast as possible. The server attributes shall be updated as follows:

      if the PositionAware feature is supported:

      • TargetPositionLiftPercent100ths attribute shall be set to 0.00%.

      • TargetPositionTiltPercent100ths attribute shall be set to 0.00%.

      The server positioning attributes will follow the movements, once the movement has successfully finished, the server attributes shall be updated as follows:

      if the PositionAware feature is supported:

      • CurrentPositionLiftPercent100ths attribute shall be 0.00%.

      • CurrentPositionLiftPercentage attribute shall be 0%.

      • CurrentPositionTiltPercent100ths attribute shall be 0.00%.

      • CurrentPositionTiltPercentage attribute shall be 0%. if the AbsolutePosition feature is supported:

      • CurrentPositionLift attribute shall be equal to the InstalledOpenLimitLift attribute.

      • CurrentPositionTilt attribute shall be equal to the InstalledOpenLimitTilt attribute.

      Returns MaybePromise

      MatterSpecification.v13.Cluster § 5.3.7.1