interface Cluster { attributes: Pick<Merge<{ currentLevel: Attribute<null | number, any>; defaultMoveRate: OptionalWritableAttribute<null | number, any>; maxLevel: OptionalAttribute<number, any>; offTransitionTime: OptionalWritableAttribute<null | number, any>; onLevel: WritableAttribute<null | number, any>; onOffTransitionTime: OptionalWritableAttribute<number, any>; onTransitionTime: OptionalWritableAttribute<null | number, any>; options: WritableAttribute<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>, any>; }, GlobalAttributes<{ frequency: BitFlag; lighting: BitFlag; onOff: BitFlag; }>>, | "clusterRevision" | "featureMap" | "attributeList" | "acceptedCommandList" | "generatedCommandList" | "maxLevel" | "options" | "currentLevel" | "onOffTransitionTime" | "onLevel" | "onTransitionTime" | "offTransitionTime" | "defaultMoveRate"> & Omit<{ minLevel: OptionalAttribute<number, any>; }, | "maxLevel" | "options" | "currentLevel" | "onOffTransitionTime" | "onLevel" | "onTransitionTime" | "offTransitionTime" | "defaultMoveRate" | (keyof GlobalAttributes<{ readonly onOff: BitFlag; readonly lighting: BitFlag; readonly frequency: BitFlag; }>
)> & Omit<Merge<{ currentLevel: Attribute<null | number, any>; defaultMoveRate: OptionalWritableAttribute<null | number, any>; maxLevel: OptionalAttribute<number, any>; offTransitionTime: OptionalWritableAttribute<null | number, any>; onLevel: WritableAttribute<null | number, any>; onOffTransitionTime: OptionalWritableAttribute<number, any>; onTransitionTime: OptionalWritableAttribute<null | number, any>; options: WritableAttribute<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>, any>; }, GlobalAttributes<{ frequency: BitFlag; lighting: BitFlag; onOff: BitFlag; }>>, | "minLevel" | "maxLevel" | "options" | "currentLevel" | "onOffTransitionTime" | "onLevel" | "onTransitionTime" | "offTransitionTime" | "defaultMoveRate" | (keyof GlobalAttributes<{ readonly onOff: BitFlag; readonly lighting: BitFlag; readonly frequency: BitFlag; }>
)>; base: Of<{ attributes: { currentLevel: Attribute<null | number, any>; defaultMoveRate: OptionalWritableAttribute<null | number, any>; maxLevel: OptionalAttribute<number, any>; offTransitionTime: OptionalWritableAttribute<null | number, any>; onLevel: WritableAttribute<null | number, any>; onOffTransitionTime: OptionalWritableAttribute<number, any>; onTransitionTime: OptionalWritableAttribute<null | number, any>; options: WritableAttribute<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>, any>; }; commands: { move: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; moveToLevel: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveToLevelWithOnOff: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveWithOnOff: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; step: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stepWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stop: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; stopWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; }; extensions: readonly [{ component: { attributes: { minLevel: OptionalAttribute<number, any>; remainingTime: Attribute<number, any>; startUpCurrentLevel: WritableAttribute<null | number, any>; }; }; flags: { lighting: true; }; }, { component: { attributes: { minLevel: OptionalAttribute<number, any>; }; }; flags: { lighting: false; }; }, { component: { attributes: { currentFrequency: Attribute<number, any>; maxFrequency: Attribute<number, any>; minFrequency: Attribute<number, any>; }; commands: { moveToClosestFrequency: Command<TypeFromFields<{ frequency: FieldType<number>; }>, void, any>; }; }; flags: { frequency: true; }; }]; features: { frequency: BitFlag; lighting: BitFlag; onOff: BitFlag; }; id: 28; name: "PulseWidthModulation"; revision: 5; }>; commands: Pick<{ move: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; moveToLevel: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveToLevelWithOnOff: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveWithOnOff: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; step: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stepWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stop: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; stopWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; }, | "step" | "moveToLevel" | "move" | "stop" | "moveToLevelWithOnOff" | "moveWithOnOff" | "stepWithOnOff" | "stopWithOnOff"> & Omit<unknown, | "step" | "moveToLevel" | "move" | "stop" | "moveToLevelWithOnOff" | "moveWithOnOff" | "stepWithOnOff" | "stopWithOnOff"> & Omit<{ move: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; moveToLevel: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveToLevelWithOnOff: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveWithOnOff: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; step: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stepWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stop: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; stopWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; }, | "step" | "moveToLevel" | "move" | "stop" | "moveToLevelWithOnOff" | "moveWithOnOff" | "stepWithOnOff" | "stopWithOnOff">; events: Pick<{}, never> & Omit<unknown, never> & Omit<{}, never>; extensions: readonly [{ component: { attributes: { minLevel: OptionalAttribute<number, any>; remainingTime: Attribute<number, any>; startUpCurrentLevel: WritableAttribute<null | number, any>; }; }; flags: { lighting: true; }; }, { component: { attributes: { minLevel: OptionalAttribute<number, any>; }; }; flags: { lighting: false; }; }, { component: { attributes: { currentFrequency: Attribute<number, any>; maxFrequency: Attribute<number, any>; minFrequency: Attribute<number, any>; }; commands: { moveToClosestFrequency: Command<TypeFromFields<{ frequency: FieldType<number>; }>, void, any>; }; }; flags: { frequency: true; }; }]; features: { frequency: BitFlag; lighting: BitFlag; onOff: BitFlag; }; id: Branded<28, "ClusterId">; name: "PulseWidthModulation"; revision: 5; supportedFeatures: { onOff: true; }; unknown: false; alter<const AlterationsT>(alterations: AlterationsT): WithAlterations<Of<{ attributes: { currentLevel: Attribute<null | number, any>; defaultMoveRate: OptionalWritableAttribute<null | number, any>; maxLevel: OptionalAttribute<number, any>; offTransitionTime: OptionalWritableAttribute<null | number, any>; onLevel: WritableAttribute<null | number, any>; onOffTransitionTime: OptionalWritableAttribute<number, any>; onTransitionTime: OptionalWritableAttribute<null | number, any>; options: WritableAttribute<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>, any>; }; base: Of<{ attributes: { currentLevel: Attribute<null | number, any>; defaultMoveRate: OptionalWritableAttribute<null | number, any>; maxLevel: OptionalAttribute<number, any>; offTransitionTime: OptionalWritableAttribute<null | number, any>; onLevel: WritableAttribute<null | number, any>; onOffTransitionTime: OptionalWritableAttribute<number, any>; onTransitionTime: OptionalWritableAttribute<null | number, any>; options: WritableAttribute<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>, any>; }; commands: { move: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; rate: FieldType<(...
) | (...
)>; }>, void, any>; moveToLevel: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; moveToLevelWithOnOff: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; moveWithOnOff: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; rate: FieldType<(...
) | (...
)>; }>, void, any>; step: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; stepWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; stop: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; }>, void, any>; stopWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; }>, void, any>; }; extensions: readonly [{ component: { attributes: { minLevel: OptionalAttribute<number, any>; remainingTime: Attribute<number, any>; startUpCurrentLevel: WritableAttribute<(...
) | (...
), any>; }; }; flags: { lighting: true; }; }, { component: { attributes: { minLevel: OptionalAttribute<number, any>; }; }; flags: { lighting: false; }; }, { component: { attributes: { currentFrequency: Attribute<number, any>; maxFrequency: Attribute<number, any>; minFrequency: Attribute<number, any>; }; commands: { moveToClosestFrequency: Command<TypeFromFields<(...
)>, void, any>; }; }; flags: { frequency: true; }; }]; features: { frequency: BitFlag; lighting: BitFlag; onOff: BitFlag; }; id: 28; name: "PulseWidthModulation"; revision: 5; }>; commands: { move: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; moveToLevel: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveToLevelWithOnOff: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveWithOnOff: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; step: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stepWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stop: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; stopWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; }; extensions: readonly [{ component: { attributes: { minLevel: OptionalAttribute<number, any>; remainingTime: Attribute<number, any>; startUpCurrentLevel: WritableAttribute<null | number, any>; }; }; flags: { lighting: true; }; }, { component: { attributes: { minLevel: OptionalAttribute<number, any>; }; }; flags: { lighting: false; }; }, { component: { attributes: { currentFrequency: Attribute<number, any>; maxFrequency: Attribute<number, any>; minFrequency: Attribute<number, any>; }; commands: { moveToClosestFrequency: Command<TypeFromFields<{ frequency: FieldType<(...
)>; }>, void, any>; }; }; flags: { frequency: true; }; }]; features: { frequency: BitFlag; lighting: BitFlag; onOff: BitFlag; }; id: 28; name: "PulseWidthModulation"; revision: 5; supportedFeatures: { onOff: true; }; }>, AlterationsT>; enable<const FlagsT>(flags: FlagsT): WithFlags<Of<{ attributes: { currentLevel: Attribute<null | number, any>; defaultMoveRate: OptionalWritableAttribute<null | number, any>; maxLevel: OptionalAttribute<number, any>; offTransitionTime: OptionalWritableAttribute<null | number, any>; onLevel: WritableAttribute<null | number, any>; onOffTransitionTime: OptionalWritableAttribute<number, any>; onTransitionTime: OptionalWritableAttribute<null | number, any>; options: WritableAttribute<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>, any>; }; base: Of<{ attributes: { currentLevel: Attribute<null | number, any>; defaultMoveRate: OptionalWritableAttribute<null | number, any>; maxLevel: OptionalAttribute<number, any>; offTransitionTime: OptionalWritableAttribute<null | number, any>; onLevel: WritableAttribute<null | number, any>; onOffTransitionTime: OptionalWritableAttribute<number, any>; onTransitionTime: OptionalWritableAttribute<null | number, any>; options: WritableAttribute<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>, any>; }; commands: { move: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; rate: FieldType<(...
) | (...
)>; }>, void, any>; moveToLevel: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; moveToLevelWithOnOff: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; moveWithOnOff: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; rate: FieldType<(...
) | (...
)>; }>, void, any>; step: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; stepWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; stop: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; }>, void, any>; stopWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; }>, void, any>; }; extensions: readonly [{ component: { attributes: { minLevel: OptionalAttribute<number, any>; remainingTime: Attribute<number, any>; startUpCurrentLevel: WritableAttribute<(...
) | (...
), any>; }; }; flags: { lighting: true; }; }, { component: { attributes: { minLevel: OptionalAttribute<number, any>; }; }; flags: { lighting: false; }; }, { component: { attributes: { currentFrequency: Attribute<number, any>; maxFrequency: Attribute<number, any>; minFrequency: Attribute<number, any>; }; commands: { moveToClosestFrequency: Command<TypeFromFields<(...
)>, void, any>; }; }; flags: { frequency: true; }; }]; features: { frequency: BitFlag; lighting: BitFlag; onOff: BitFlag; }; id: 28; name: "PulseWidthModulation"; revision: 5; }>; commands: { move: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; moveToLevel: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveToLevelWithOnOff: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveWithOnOff: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; step: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stepWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stop: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; stopWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; }; extensions: readonly [{ component: { attributes: { minLevel: OptionalAttribute<number, any>; remainingTime: Attribute<number, any>; startUpCurrentLevel: WritableAttribute<null | number, any>; }; }; flags: { lighting: true; }; }, { component: { attributes: { minLevel: OptionalAttribute<number, any>; }; }; flags: { lighting: false; }; }, { component: { attributes: { currentFrequency: Attribute<number, any>; maxFrequency: Attribute<number, any>; minFrequency: Attribute<number, any>; }; commands: { moveToClosestFrequency: Command<TypeFromFields<{ frequency: FieldType<(...
)>; }>, void, any>; }; }; flags: { frequency: true; }; }]; features: { frequency: BitFlag; lighting: BitFlag; onOff: BitFlag; }; id: 28; name: "PulseWidthModulation"; revision: 5; supportedFeatures: { onOff: true; }; }>, FlagsT>; set<const ValuesT>(values: ValuesT): WithValues<Of<{ attributes: { currentLevel: Attribute<null | number, any>; defaultMoveRate: OptionalWritableAttribute<null | number, any>; maxLevel: OptionalAttribute<number, any>; offTransitionTime: OptionalWritableAttribute<null | number, any>; onLevel: WritableAttribute<null | number, any>; onOffTransitionTime: OptionalWritableAttribute<number, any>; onTransitionTime: OptionalWritableAttribute<null | number, any>; options: WritableAttribute<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>, any>; }; base: Of<{ attributes: { currentLevel: Attribute<null | number, any>; defaultMoveRate: OptionalWritableAttribute<null | number, any>; maxLevel: OptionalAttribute<number, any>; offTransitionTime: OptionalWritableAttribute<null | number, any>; onLevel: WritableAttribute<null | number, any>; onOffTransitionTime: OptionalWritableAttribute<number, any>; onTransitionTime: OptionalWritableAttribute<null | number, any>; options: WritableAttribute<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>, any>; }; commands: { move: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; rate: FieldType<(...
) | (...
)>; }>, void, any>; moveToLevel: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; moveToLevelWithOnOff: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; moveWithOnOff: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; rate: FieldType<(...
) | (...
)>; }>, void, any>; step: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; stepWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; stop: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; }>, void, any>; stopWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; }>, void, any>; }; extensions: readonly [{ component: { attributes: { minLevel: OptionalAttribute<number, any>; remainingTime: Attribute<number, any>; startUpCurrentLevel: WritableAttribute<(...
) | (...
), any>; }; }; flags: { lighting: true; }; }, { component: { attributes: { minLevel: OptionalAttribute<number, any>; }; }; flags: { lighting: false; }; }, { component: { attributes: { currentFrequency: Attribute<number, any>; maxFrequency: Attribute<number, any>; minFrequency: Attribute<number, any>; }; commands: { moveToClosestFrequency: Command<TypeFromFields<(...
)>, void, any>; }; }; flags: { frequency: true; }; }]; features: { frequency: BitFlag; lighting: BitFlag; onOff: BitFlag; }; id: 28; name: "PulseWidthModulation"; revision: 5; }>; commands: { move: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; moveToLevel: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveToLevelWithOnOff: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveWithOnOff: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; step: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stepWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stop: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; stopWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; }; extensions: readonly [{ component: { attributes: { minLevel: OptionalAttribute<number, any>; remainingTime: Attribute<number, any>; startUpCurrentLevel: WritableAttribute<null | number, any>; }; }; flags: { lighting: true; }; }, { component: { attributes: { minLevel: OptionalAttribute<number, any>; }; }; flags: { lighting: false; }; }, { component: { attributes: { currentFrequency: Attribute<number, any>; maxFrequency: Attribute<number, any>; minFrequency: Attribute<number, any>; }; commands: { moveToClosestFrequency: Command<TypeFromFields<{ frequency: FieldType<(...
)>; }>, void, any>; }; }; flags: { frequency: true; }; }]; features: { frequency: BitFlag; lighting: BitFlag; onOff: BitFlag; }; id: 28; name: "PulseWidthModulation"; revision: 5; supportedFeatures: { onOff: true; }; }>, ValuesT>; with<const SelectionT>(...selection: SelectionT): Of<Of<{ attributes: { currentLevel: Attribute<null | number, any>; defaultMoveRate: OptionalWritableAttribute<null | number, any>; maxLevel: OptionalAttribute<number, any>; offTransitionTime: OptionalWritableAttribute<null | number, any>; onLevel: WritableAttribute<null | number, any>; onOffTransitionTime: OptionalWritableAttribute<number, any>; onTransitionTime: OptionalWritableAttribute<null | number, any>; options: WritableAttribute<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>, any>; }; base: Of<{ attributes: { currentLevel: Attribute<null | number, any>; defaultMoveRate: OptionalWritableAttribute<null | number, any>; maxLevel: OptionalAttribute<number, any>; offTransitionTime: OptionalWritableAttribute<null | number, any>; onLevel: WritableAttribute<null | number, any>; onOffTransitionTime: OptionalWritableAttribute<number, any>; onTransitionTime: OptionalWritableAttribute<null | number, any>; options: WritableAttribute<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>, any>; }; commands: { move: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; rate: FieldType<(...
) | (...
)>; }>, void, any>; moveToLevel: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; moveToLevelWithOnOff: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; moveWithOnOff: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; rate: FieldType<(...
) | (...
)>; }>, void, any>; step: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; stepWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<(...
) | (...
)>; }>, void, any>; stop: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; }>, void, any>; stopWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<(...
)>>; optionsOverride: FieldType<TypeFromPartialBitSchema<(...
)>>; }>, void, any>; }; extensions: readonly [{ component: { attributes: { minLevel: OptionalAttribute<number, any>; remainingTime: Attribute<number, any>; startUpCurrentLevel: WritableAttribute<(...
) | (...
), any>; }; }; flags: { lighting: true; }; }, { component: { attributes: { minLevel: OptionalAttribute<number, any>; }; }; flags: { lighting: false; }; }, { component: { attributes: { currentFrequency: Attribute<number, any>; maxFrequency: Attribute<number, any>; minFrequency: Attribute<number, any>; }; commands: { moveToClosestFrequency: Command<TypeFromFields<(...
)>, void, any>; }; }; flags: { frequency: true; }; }]; features: { frequency: BitFlag; lighting: BitFlag; onOff: BitFlag; }; id: 28; name: "PulseWidthModulation"; revision: 5; }>; commands: { move: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; moveToLevel: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveToLevelWithOnOff: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveWithOnOff: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; step: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stepWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stop: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; stopWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; }; extensions: readonly [{ component: { attributes: { minLevel: OptionalAttribute<number, any>; remainingTime: Attribute<number, any>; startUpCurrentLevel: WritableAttribute<null | number, any>; }; }; flags: { lighting: true; }; }, { component: { attributes: { minLevel: OptionalAttribute<number, any>; }; }; flags: { lighting: false; }; }, { component: { attributes: { currentFrequency: Attribute<number, any>; maxFrequency: Attribute<number, any>; minFrequency: Attribute<number, any>; }; commands: { moveToClosestFrequency: Command<TypeFromFields<{ frequency: FieldType<(...
)>; }>, void, any>; }; }; flags: { frequency: true; }; }]; features: { frequency: BitFlag; lighting: BitFlag; onOff: BitFlag; }; id: 28; name: "PulseWidthModulation"; revision: 5; supportedFeatures: { onOff: true; }; }>, SelectionT>; } Properties
attributes
attributes: Pick<Merge<{ currentLevel: Attribute<null | number, any>; defaultMoveRate: OptionalWritableAttribute<null | number, any>; maxLevel: OptionalAttribute<number, any>; offTransitionTime: OptionalWritableAttribute<null | number, any>; onLevel: WritableAttribute<null | number, any>; onOffTransitionTime: OptionalWritableAttribute<number, any>; onTransitionTime: OptionalWritableAttribute<null | number, any>; options: WritableAttribute<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>, any>; }, GlobalAttributes<{ frequency: BitFlag; lighting: BitFlag; onOff: BitFlag; }>>, | "clusterRevision" | "featureMap" | "attributeList" | "acceptedCommandList" | "generatedCommandList" | "maxLevel" | "options" | "currentLevel" | "onOffTransitionTime" | "onLevel" | "onTransitionTime" | "offTransitionTime" | "defaultMoveRate"> & Omit<{ minLevel: OptionalAttribute<number, any>; }, | "maxLevel" | "options" | "currentLevel" | "onOffTransitionTime" | "onLevel" | "onTransitionTime" | "offTransitionTime" | "defaultMoveRate" | (keyof GlobalAttributes<{ readonly onOff: BitFlag; readonly lighting: BitFlag; readonly frequency: BitFlag; }>
)> & Omit<Merge<{ currentLevel: Attribute<null | number, any>; defaultMoveRate: OptionalWritableAttribute<null | number, any>; maxLevel: OptionalAttribute<number, any>; offTransitionTime: OptionalWritableAttribute<null | number, any>; onLevel: WritableAttribute<null | number, any>; onOffTransitionTime: OptionalWritableAttribute<number, any>; onTransitionTime: OptionalWritableAttribute<null | number, any>; options: WritableAttribute<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>, any>; }, GlobalAttributes<{ frequency: BitFlag; lighting: BitFlag; onOff: BitFlag; }>>, | "minLevel" | "maxLevel" | "options" | "currentLevel" | "onOffTransitionTime" | "onLevel" | "onTransitionTime" | "offTransitionTime" | "defaultMoveRate" | (keyof GlobalAttributes<{ readonly onOff: BitFlag; readonly lighting: BitFlag; readonly frequency: BitFlag; }>
)> base
base: Of<{ attributes: { currentLevel: Attribute<null | number, any>; defaultMoveRate: OptionalWritableAttribute<null | number, any>; maxLevel: OptionalAttribute<number, any>; offTransitionTime: OptionalWritableAttribute<null | number, any>; onLevel: WritableAttribute<null | number, any>; onOffTransitionTime: OptionalWritableAttribute<number, any>; onTransitionTime: OptionalWritableAttribute<null | number, any>; options: WritableAttribute<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>, any>; }; commands: { move: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; moveToLevel: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveToLevelWithOnOff: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveWithOnOff: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; step: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stepWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stop: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; stopWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; }; extensions: readonly [{ component: { attributes: { minLevel: OptionalAttribute<number, any>; remainingTime: Attribute<number, any>; startUpCurrentLevel: WritableAttribute<null | number, any>; }; }; flags: { lighting: true; }; }, { component: { attributes: { minLevel: OptionalAttribute<number, any>; }; }; flags: { lighting: false; }; }, { component: { attributes: { currentFrequency: Attribute<number, any>; maxFrequency: Attribute<number, any>; minFrequency: Attribute<number, any>; }; commands: { moveToClosestFrequency: Command<TypeFromFields<{ frequency: FieldType<number>; }>, void, any>; }; }; flags: { frequency: true; }; }]; features: { frequency: BitFlag; lighting: BitFlag; onOff: BitFlag; }; id: 28; name: "PulseWidthModulation"; revision: 5; }> commands
commands: Pick<{ move: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; moveToLevel: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveToLevelWithOnOff: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveWithOnOff: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; step: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stepWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stop: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; stopWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; }, | "step" | "moveToLevel" | "move" | "stop" | "moveToLevelWithOnOff" | "moveWithOnOff" | "stepWithOnOff" | "stopWithOnOff"> & Omit<unknown, | "step" | "moveToLevel" | "move" | "stop" | "moveToLevelWithOnOff" | "moveWithOnOff" | "stepWithOnOff" | "stopWithOnOff"> & Omit<{ move: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; moveToLevel: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveToLevelWithOnOff: Command<TypeFromFields<{ level: FieldType<number>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; transitionTime: FieldType<null | number>; }>, void, any>; moveWithOnOff: Command<TypeFromFields<{ moveMode: FieldType<LevelControl.MoveMode>; optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; rate: FieldType<null | number>; }>, void, any>; step: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stepWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; stepMode: FieldType<LevelControl.StepMode>; stepSize: FieldType<number>; transitionTime: FieldType<null | number>; }>, void, any>; stop: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; stopWithOnOff: Command<TypeFromFields<{ optionsMask: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; optionsOverride: FieldType<TypeFromPartialBitSchema<{ coupleColorTempToLevel: BitFlag; executeIfOff: BitFlag; }>>; }>, void, any>; }, | "step" | "moveToLevel" | "move" | "stop" | "moveToLevelWithOnOff" | "moveWithOnOff" | "stepWithOnOff" | "stopWithOnOff"> events
events: Pick<{}, never> & Omit<unknown, never> & Omit<{}, never>
extensions
extensions: readonly [{ component: { attributes: { minLevel: OptionalAttribute<number, any>; remainingTime: Attribute<number, any>; startUpCurrentLevel: WritableAttribute<null | number, any>; }; }; flags: { lighting: true; }; }, { component: { attributes: { minLevel: OptionalAttribute<number, any>; }; }; flags: { lighting: false; }; }, { component: { attributes: { currentFrequency: Attribute<number, any>; maxFrequency: Attribute<number, any>; minFrequency: Attribute<number, any>; }; commands: { moveToClosestFrequency: Command<TypeFromFields<{ frequency: FieldType<number>; }>, void, any>; }; }; flags: { frequency: true; }; }] supportedFeatures
supportedFeatures: {
onOff: true;
}
Methods
alter
- alter<const AlterationsT>(alterations): WithAlterations<Of<{
attributes: {
currentLevel: Attribute<null | number, any>;
defaultMoveRate: OptionalWritableAttribute<null | number, any>;
maxLevel: OptionalAttribute<number, any>;
offTransitionTime: OptionalWritableAttribute<null | number, any>;
onLevel: WritableAttribute<null | number, any>;
onOffTransitionTime: OptionalWritableAttribute<number, any>;
onTransitionTime: OptionalWritableAttribute<null | number, any>;
options: WritableAttribute<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>, any>;
};
base: Of<{
attributes: {
currentLevel: Attribute<null | number, any>;
defaultMoveRate: OptionalWritableAttribute<null | number, any>;
maxLevel: OptionalAttribute<number, any>;
offTransitionTime: OptionalWritableAttribute<null | number, any>;
onLevel: WritableAttribute<null | number, any>;
onOffTransitionTime: OptionalWritableAttribute<number, any>;
onTransitionTime: OptionalWritableAttribute<null | number, any>;
options: WritableAttribute<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>, any>;
};
commands: {
move: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
rate: FieldType<(...) | (...)>;
}>, void, any>;
moveToLevel: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
moveToLevelWithOnOff: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
moveWithOnOff: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
rate: FieldType<(...) | (...)>;
}>, void, any>;
step: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
stepWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
stop: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
}>, void, any>;
stopWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
}>, void, any>;
};
extensions: readonly [{
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
remainingTime: Attribute<number, any>;
startUpCurrentLevel: WritableAttribute<(...) | (...), any>;
};
};
flags: {
lighting: true;
};
}, {
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
};
};
flags: {
lighting: false;
};
}, {
component: {
attributes: {
currentFrequency: Attribute<number, any>;
maxFrequency: Attribute<number, any>;
minFrequency: Attribute<number, any>;
};
commands: {
moveToClosestFrequency: Command<TypeFromFields<(...)>, void, any>;
};
};
flags: {
frequency: true;
};
}];
features: {
frequency: BitFlag;
lighting: BitFlag;
onOff: BitFlag;
};
id: 28;
name: "PulseWidthModulation";
revision: 5;
}>;
commands: {
move: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
rate: FieldType<null | number>;
}>, void, any>;
moveToLevel: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
transitionTime: FieldType<null | number>;
}>, void, any>;
moveToLevelWithOnOff: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
transitionTime: FieldType<null | number>;
}>, void, any>;
moveWithOnOff: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
rate: FieldType<null | number>;
}>, void, any>;
step: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<null | number>;
}>, void, any>;
stepWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<null | number>;
}>, void, any>;
stop: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
}>, void, any>;
stopWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
}>, void, any>;
};
extensions: readonly [{
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
remainingTime: Attribute<number, any>;
startUpCurrentLevel: WritableAttribute<null | number, any>;
};
};
flags: {
lighting: true;
};
}, {
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
};
};
flags: {
lighting: false;
};
}, {
component: {
attributes: {
currentFrequency: Attribute<number, any>;
maxFrequency: Attribute<number, any>;
minFrequency: Attribute<number, any>;
};
commands: {
moveToClosestFrequency: Command<TypeFromFields<{
frequency: FieldType<(...)>;
}>, void, any>;
};
};
flags: {
frequency: true;
};
}];
features: {
frequency: BitFlag;
lighting: BitFlag;
onOff: BitFlag;
};
id: 28;
name: "PulseWidthModulation";
revision: 5;
supportedFeatures: {
onOff: true;
};
}>, AlterationsT> Type Parameters
- const AlterationsT extends Alterations<Of<{
attributes: {
currentLevel: Attribute<null | number, any>;
defaultMoveRate: OptionalWritableAttribute<null | number, any>;
maxLevel: OptionalAttribute<number, any>;
offTransitionTime: OptionalWritableAttribute<null | number, any>;
onLevel: WritableAttribute<null | number, any>;
onOffTransitionTime: OptionalWritableAttribute<number, any>;
onTransitionTime: OptionalWritableAttribute<null | number, any>;
options: WritableAttribute<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>, any>;
};
base: Of<{
attributes: {
currentLevel: Attribute<null | number, any>;
defaultMoveRate: OptionalWritableAttribute<null | number, any>;
maxLevel: OptionalAttribute<number, any>;
offTransitionTime: OptionalWritableAttribute<null | number, any>;
onLevel: WritableAttribute<null | number, any>;
onOffTransitionTime: OptionalWritableAttribute<number, any>;
onTransitionTime: OptionalWritableAttribute<null | number, any>;
options: WritableAttribute<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>, any>;
};
commands: {
move: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
rate: FieldType<(...) | (...)>;
}>, void, any>;
moveToLevel: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
moveToLevelWithOnOff: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
moveWithOnOff: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
rate: FieldType<(...) | (...)>;
}>, void, any>;
step: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
stepWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
stop: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
}>, void, any>;
stopWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
}>, void, any>;
};
extensions: readonly [{
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
remainingTime: Attribute<number, any>;
startUpCurrentLevel: WritableAttribute<(...) | (...), any>;
};
};
flags: {
lighting: true;
};
}, {
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
};
};
flags: {
lighting: false;
};
}, {
component: {
attributes: {
currentFrequency: Attribute<number, any>;
maxFrequency: Attribute<number, any>;
minFrequency: Attribute<number, any>;
};
commands: {
moveToClosestFrequency: Command<TypeFromFields<(...)>, void, any>;
};
};
flags: {
frequency: true;
};
}];
features: {
frequency: BitFlag;
lighting: BitFlag;
onOff: BitFlag;
};
id: 28;
name: "PulseWidthModulation";
revision: 5;
}>;
commands: {
move: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
rate: FieldType<null | number>;
}>, void, any>;
moveToLevel: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
transitionTime: FieldType<null | number>;
}>, void, any>;
moveToLevelWithOnOff: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
transitionTime: FieldType<null | number>;
}>, void, any>;
moveWithOnOff: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
rate: FieldType<null | number>;
}>, void, any>;
step: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<null | number>;
}>, void, any>;
stepWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<null | number>;
}>, void, any>;
stop: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
}>, void, any>;
stopWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
}>, void, any>;
};
extensions: readonly [{
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
remainingTime: Attribute<number, any>;
startUpCurrentLevel: WritableAttribute<null | number, any>;
};
};
flags: {
lighting: true;
};
}, {
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
};
};
flags: {
lighting: false;
};
}, {
component: {
attributes: {
currentFrequency: Attribute<number, any>;
maxFrequency: Attribute<number, any>;
minFrequency: Attribute<number, any>;
};
commands: {
moveToClosestFrequency: Command<TypeFromFields<{
frequency: FieldType<(...)>;
}>, void, any>;
};
};
flags: {
frequency: true;
};
}];
features: {
frequency: BitFlag;
lighting: BitFlag;
onOff: BitFlag;
};
id: 28;
name: "PulseWidthModulation";
revision: 5;
supportedFeatures: {
onOff: true;
};
}>>
enable
- enable<const FlagsT>(flags): WithFlags<Of<{
attributes: {
currentLevel: Attribute<null | number, any>;
defaultMoveRate: OptionalWritableAttribute<null | number, any>;
maxLevel: OptionalAttribute<number, any>;
offTransitionTime: OptionalWritableAttribute<null | number, any>;
onLevel: WritableAttribute<null | number, any>;
onOffTransitionTime: OptionalWritableAttribute<number, any>;
onTransitionTime: OptionalWritableAttribute<null | number, any>;
options: WritableAttribute<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>, any>;
};
base: Of<{
attributes: {
currentLevel: Attribute<null | number, any>;
defaultMoveRate: OptionalWritableAttribute<null | number, any>;
maxLevel: OptionalAttribute<number, any>;
offTransitionTime: OptionalWritableAttribute<null | number, any>;
onLevel: WritableAttribute<null | number, any>;
onOffTransitionTime: OptionalWritableAttribute<number, any>;
onTransitionTime: OptionalWritableAttribute<null | number, any>;
options: WritableAttribute<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>, any>;
};
commands: {
move: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
rate: FieldType<(...) | (...)>;
}>, void, any>;
moveToLevel: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
moveToLevelWithOnOff: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
moveWithOnOff: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
rate: FieldType<(...) | (...)>;
}>, void, any>;
step: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
stepWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
stop: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
}>, void, any>;
stopWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
}>, void, any>;
};
extensions: readonly [{
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
remainingTime: Attribute<number, any>;
startUpCurrentLevel: WritableAttribute<(...) | (...), any>;
};
};
flags: {
lighting: true;
};
}, {
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
};
};
flags: {
lighting: false;
};
}, {
component: {
attributes: {
currentFrequency: Attribute<number, any>;
maxFrequency: Attribute<number, any>;
minFrequency: Attribute<number, any>;
};
commands: {
moveToClosestFrequency: Command<TypeFromFields<(...)>, void, any>;
};
};
flags: {
frequency: true;
};
}];
features: {
frequency: BitFlag;
lighting: BitFlag;
onOff: BitFlag;
};
id: 28;
name: "PulseWidthModulation";
revision: 5;
}>;
commands: {
move: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
rate: FieldType<null | number>;
}>, void, any>;
moveToLevel: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
transitionTime: FieldType<null | number>;
}>, void, any>;
moveToLevelWithOnOff: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
transitionTime: FieldType<null | number>;
}>, void, any>;
moveWithOnOff: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
rate: FieldType<null | number>;
}>, void, any>;
step: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<null | number>;
}>, void, any>;
stepWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<null | number>;
}>, void, any>;
stop: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
}>, void, any>;
stopWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
}>, void, any>;
};
extensions: readonly [{
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
remainingTime: Attribute<number, any>;
startUpCurrentLevel: WritableAttribute<null | number, any>;
};
};
flags: {
lighting: true;
};
}, {
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
};
};
flags: {
lighting: false;
};
}, {
component: {
attributes: {
currentFrequency: Attribute<number, any>;
maxFrequency: Attribute<number, any>;
minFrequency: Attribute<number, any>;
};
commands: {
moveToClosestFrequency: Command<TypeFromFields<{
frequency: FieldType<(...)>;
}>, void, any>;
};
};
flags: {
frequency: true;
};
}];
features: {
frequency: BitFlag;
lighting: BitFlag;
onOff: BitFlag;
};
id: 28;
name: "PulseWidthModulation";
revision: 5;
supportedFeatures: {
onOff: true;
};
}>, FlagsT> Type Parameters
- const FlagsT extends ElementFlags<Of<{
attributes: {
currentLevel: Attribute<null | number, any>;
defaultMoveRate: OptionalWritableAttribute<null | number, any>;
maxLevel: OptionalAttribute<number, any>;
offTransitionTime: OptionalWritableAttribute<null | number, any>;
onLevel: WritableAttribute<null | number, any>;
onOffTransitionTime: OptionalWritableAttribute<number, any>;
onTransitionTime: OptionalWritableAttribute<null | number, any>;
options: WritableAttribute<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>, any>;
};
base: Of<{
attributes: {
currentLevel: Attribute<null | number, any>;
defaultMoveRate: OptionalWritableAttribute<null | number, any>;
maxLevel: OptionalAttribute<number, any>;
offTransitionTime: OptionalWritableAttribute<null | number, any>;
onLevel: WritableAttribute<null | number, any>;
onOffTransitionTime: OptionalWritableAttribute<number, any>;
onTransitionTime: OptionalWritableAttribute<null | number, any>;
options: WritableAttribute<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>, any>;
};
commands: {
move: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
rate: FieldType<(...) | (...)>;
}>, void, any>;
moveToLevel: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
moveToLevelWithOnOff: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
moveWithOnOff: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
rate: FieldType<(...) | (...)>;
}>, void, any>;
step: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
stepWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
stop: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
}>, void, any>;
stopWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
}>, void, any>;
};
extensions: readonly [{
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
remainingTime: Attribute<number, any>;
startUpCurrentLevel: WritableAttribute<(...) | (...), any>;
};
};
flags: {
lighting: true;
};
}, {
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
};
};
flags: {
lighting: false;
};
}, {
component: {
attributes: {
currentFrequency: Attribute<number, any>;
maxFrequency: Attribute<number, any>;
minFrequency: Attribute<number, any>;
};
commands: {
moveToClosestFrequency: Command<TypeFromFields<(...)>, void, any>;
};
};
flags: {
frequency: true;
};
}];
features: {
frequency: BitFlag;
lighting: BitFlag;
onOff: BitFlag;
};
id: 28;
name: "PulseWidthModulation";
revision: 5;
}>;
commands: {
move: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
rate: FieldType<null | number>;
}>, void, any>;
moveToLevel: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
transitionTime: FieldType<null | number>;
}>, void, any>;
moveToLevelWithOnOff: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
transitionTime: FieldType<null | number>;
}>, void, any>;
moveWithOnOff: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
rate: FieldType<null | number>;
}>, void, any>;
step: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<null | number>;
}>, void, any>;
stepWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<null | number>;
}>, void, any>;
stop: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
}>, void, any>;
stopWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
}>, void, any>;
};
extensions: readonly [{
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
remainingTime: Attribute<number, any>;
startUpCurrentLevel: WritableAttribute<null | number, any>;
};
};
flags: {
lighting: true;
};
}, {
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
};
};
flags: {
lighting: false;
};
}, {
component: {
attributes: {
currentFrequency: Attribute<number, any>;
maxFrequency: Attribute<number, any>;
minFrequency: Attribute<number, any>;
};
commands: {
moveToClosestFrequency: Command<TypeFromFields<{
frequency: FieldType<(...)>;
}>, void, any>;
};
};
flags: {
frequency: true;
};
}];
features: {
frequency: BitFlag;
lighting: BitFlag;
onOff: BitFlag;
};
id: 28;
name: "PulseWidthModulation";
revision: 5;
supportedFeatures: {
onOff: true;
};
}>>
set
- set<const ValuesT>(values): WithValues<Of<{
attributes: {
currentLevel: Attribute<null | number, any>;
defaultMoveRate: OptionalWritableAttribute<null | number, any>;
maxLevel: OptionalAttribute<number, any>;
offTransitionTime: OptionalWritableAttribute<null | number, any>;
onLevel: WritableAttribute<null | number, any>;
onOffTransitionTime: OptionalWritableAttribute<number, any>;
onTransitionTime: OptionalWritableAttribute<null | number, any>;
options: WritableAttribute<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>, any>;
};
base: Of<{
attributes: {
currentLevel: Attribute<null | number, any>;
defaultMoveRate: OptionalWritableAttribute<null | number, any>;
maxLevel: OptionalAttribute<number, any>;
offTransitionTime: OptionalWritableAttribute<null | number, any>;
onLevel: WritableAttribute<null | number, any>;
onOffTransitionTime: OptionalWritableAttribute<number, any>;
onTransitionTime: OptionalWritableAttribute<null | number, any>;
options: WritableAttribute<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>, any>;
};
commands: {
move: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
rate: FieldType<(...) | (...)>;
}>, void, any>;
moveToLevel: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
moveToLevelWithOnOff: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
moveWithOnOff: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
rate: FieldType<(...) | (...)>;
}>, void, any>;
step: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
stepWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
stop: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
}>, void, any>;
stopWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
}>, void, any>;
};
extensions: readonly [{
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
remainingTime: Attribute<number, any>;
startUpCurrentLevel: WritableAttribute<(...) | (...), any>;
};
};
flags: {
lighting: true;
};
}, {
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
};
};
flags: {
lighting: false;
};
}, {
component: {
attributes: {
currentFrequency: Attribute<number, any>;
maxFrequency: Attribute<number, any>;
minFrequency: Attribute<number, any>;
};
commands: {
moveToClosestFrequency: Command<TypeFromFields<(...)>, void, any>;
};
};
flags: {
frequency: true;
};
}];
features: {
frequency: BitFlag;
lighting: BitFlag;
onOff: BitFlag;
};
id: 28;
name: "PulseWidthModulation";
revision: 5;
}>;
commands: {
move: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
rate: FieldType<null | number>;
}>, void, any>;
moveToLevel: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
transitionTime: FieldType<null | number>;
}>, void, any>;
moveToLevelWithOnOff: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
transitionTime: FieldType<null | number>;
}>, void, any>;
moveWithOnOff: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
rate: FieldType<null | number>;
}>, void, any>;
step: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<null | number>;
}>, void, any>;
stepWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<null | number>;
}>, void, any>;
stop: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
}>, void, any>;
stopWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
}>, void, any>;
};
extensions: readonly [{
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
remainingTime: Attribute<number, any>;
startUpCurrentLevel: WritableAttribute<null | number, any>;
};
};
flags: {
lighting: true;
};
}, {
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
};
};
flags: {
lighting: false;
};
}, {
component: {
attributes: {
currentFrequency: Attribute<number, any>;
maxFrequency: Attribute<number, any>;
minFrequency: Attribute<number, any>;
};
commands: {
moveToClosestFrequency: Command<TypeFromFields<{
frequency: FieldType<(...)>;
}>, void, any>;
};
};
flags: {
frequency: true;
};
}];
features: {
frequency: BitFlag;
lighting: BitFlag;
onOff: BitFlag;
};
id: 28;
name: "PulseWidthModulation";
revision: 5;
supportedFeatures: {
onOff: true;
};
}>, ValuesT> Type Parameters
- const ValuesT extends {
currentLevel: null | number;
defaultMoveRate?: null | number;
maxLevel?: number;
offTransitionTime?: null | number;
onLevel: null | number;
onOffTransitionTime?: number;
onTransitionTime?: null | number;
options: {
coupleColorTempToLevel?: boolean;
executeIfOff?: boolean;
};
}
with
- with<const SelectionT>(...selection): Of<Of<{
attributes: {
currentLevel: Attribute<null | number, any>;
defaultMoveRate: OptionalWritableAttribute<null | number, any>;
maxLevel: OptionalAttribute<number, any>;
offTransitionTime: OptionalWritableAttribute<null | number, any>;
onLevel: WritableAttribute<null | number, any>;
onOffTransitionTime: OptionalWritableAttribute<number, any>;
onTransitionTime: OptionalWritableAttribute<null | number, any>;
options: WritableAttribute<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>, any>;
};
base: Of<{
attributes: {
currentLevel: Attribute<null | number, any>;
defaultMoveRate: OptionalWritableAttribute<null | number, any>;
maxLevel: OptionalAttribute<number, any>;
offTransitionTime: OptionalWritableAttribute<null | number, any>;
onLevel: WritableAttribute<null | number, any>;
onOffTransitionTime: OptionalWritableAttribute<number, any>;
onTransitionTime: OptionalWritableAttribute<null | number, any>;
options: WritableAttribute<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>, any>;
};
commands: {
move: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
rate: FieldType<(...) | (...)>;
}>, void, any>;
moveToLevel: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
moveToLevelWithOnOff: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
moveWithOnOff: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
rate: FieldType<(...) | (...)>;
}>, void, any>;
step: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
stepWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
stop: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
}>, void, any>;
stopWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
}>, void, any>;
};
extensions: readonly [{
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
remainingTime: Attribute<number, any>;
startUpCurrentLevel: WritableAttribute<(...) | (...), any>;
};
};
flags: {
lighting: true;
};
}, {
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
};
};
flags: {
lighting: false;
};
}, {
component: {
attributes: {
currentFrequency: Attribute<number, any>;
maxFrequency: Attribute<number, any>;
minFrequency: Attribute<number, any>;
};
commands: {
moveToClosestFrequency: Command<TypeFromFields<(...)>, void, any>;
};
};
flags: {
frequency: true;
};
}];
features: {
frequency: BitFlag;
lighting: BitFlag;
onOff: BitFlag;
};
id: 28;
name: "PulseWidthModulation";
revision: 5;
}>;
commands: {
move: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
rate: FieldType<null | number>;
}>, void, any>;
moveToLevel: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
transitionTime: FieldType<null | number>;
}>, void, any>;
moveToLevelWithOnOff: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
transitionTime: FieldType<null | number>;
}>, void, any>;
moveWithOnOff: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
rate: FieldType<null | number>;
}>, void, any>;
step: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<null | number>;
}>, void, any>;
stepWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<null | number>;
}>, void, any>;
stop: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
}>, void, any>;
stopWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
}>, void, any>;
};
extensions: readonly [{
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
remainingTime: Attribute<number, any>;
startUpCurrentLevel: WritableAttribute<null | number, any>;
};
};
flags: {
lighting: true;
};
}, {
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
};
};
flags: {
lighting: false;
};
}, {
component: {
attributes: {
currentFrequency: Attribute<number, any>;
maxFrequency: Attribute<number, any>;
minFrequency: Attribute<number, any>;
};
commands: {
moveToClosestFrequency: Command<TypeFromFields<{
frequency: FieldType<(...)>;
}>, void, any>;
};
};
flags: {
frequency: true;
};
}];
features: {
frequency: BitFlag;
lighting: BitFlag;
onOff: BitFlag;
};
id: 28;
name: "PulseWidthModulation";
revision: 5;
supportedFeatures: {
onOff: true;
};
}>, SelectionT> Type Parameters
- const SelectionT extends FeatureSelection<Of<{
attributes: {
currentLevel: Attribute<null | number, any>;
defaultMoveRate: OptionalWritableAttribute<null | number, any>;
maxLevel: OptionalAttribute<number, any>;
offTransitionTime: OptionalWritableAttribute<null | number, any>;
onLevel: WritableAttribute<null | number, any>;
onOffTransitionTime: OptionalWritableAttribute<number, any>;
onTransitionTime: OptionalWritableAttribute<null | number, any>;
options: WritableAttribute<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>, any>;
};
base: Of<{
attributes: {
currentLevel: Attribute<null | number, any>;
defaultMoveRate: OptionalWritableAttribute<null | number, any>;
maxLevel: OptionalAttribute<number, any>;
offTransitionTime: OptionalWritableAttribute<null | number, any>;
onLevel: WritableAttribute<null | number, any>;
onOffTransitionTime: OptionalWritableAttribute<number, any>;
onTransitionTime: OptionalWritableAttribute<null | number, any>;
options: WritableAttribute<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>, any>;
};
commands: {
move: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
rate: FieldType<(...) | (...)>;
}>, void, any>;
moveToLevel: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
moveToLevelWithOnOff: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
moveWithOnOff: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
rate: FieldType<(...) | (...)>;
}>, void, any>;
step: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
stepWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<(...) | (...)>;
}>, void, any>;
stop: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
}>, void, any>;
stopWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<(...)>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<(...)>>;
}>, void, any>;
};
extensions: readonly [{
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
remainingTime: Attribute<number, any>;
startUpCurrentLevel: WritableAttribute<(...) | (...), any>;
};
};
flags: {
lighting: true;
};
}, {
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
};
};
flags: {
lighting: false;
};
}, {
component: {
attributes: {
currentFrequency: Attribute<number, any>;
maxFrequency: Attribute<number, any>;
minFrequency: Attribute<number, any>;
};
commands: {
moveToClosestFrequency: Command<TypeFromFields<(...)>, void, any>;
};
};
flags: {
frequency: true;
};
}];
features: {
frequency: BitFlag;
lighting: BitFlag;
onOff: BitFlag;
};
id: 28;
name: "PulseWidthModulation";
revision: 5;
}>;
commands: {
move: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
rate: FieldType<null | number>;
}>, void, any>;
moveToLevel: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
transitionTime: FieldType<null | number>;
}>, void, any>;
moveToLevelWithOnOff: Command<TypeFromFields<{
level: FieldType<number>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
transitionTime: FieldType<null | number>;
}>, void, any>;
moveWithOnOff: Command<TypeFromFields<{
moveMode: FieldType<LevelControl.MoveMode>;
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
rate: FieldType<null | number>;
}>, void, any>;
step: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<null | number>;
}>, void, any>;
stepWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
stepMode: FieldType<LevelControl.StepMode>;
stepSize: FieldType<number>;
transitionTime: FieldType<null | number>;
}>, void, any>;
stop: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
}>, void, any>;
stopWithOnOff: Command<TypeFromFields<{
optionsMask: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
optionsOverride: FieldType<TypeFromPartialBitSchema<{
coupleColorTempToLevel: BitFlag;
executeIfOff: BitFlag;
}>>;
}>, void, any>;
};
extensions: readonly [{
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
remainingTime: Attribute<number, any>;
startUpCurrentLevel: WritableAttribute<null | number, any>;
};
};
flags: {
lighting: true;
};
}, {
component: {
attributes: {
minLevel: OptionalAttribute<number, any>;
};
};
flags: {
lighting: false;
};
}, {
component: {
attributes: {
currentFrequency: Attribute<number, any>;
maxFrequency: Attribute<number, any>;
minFrequency: Attribute<number, any>;
};
commands: {
moveToClosestFrequency: Command<TypeFromFields<{
frequency: FieldType<(...)>;
}>, void, any>;
};
};
flags: {
frequency: true;
};
}];
features: {
frequency: BitFlag;
lighting: BitFlag;
onOff: BitFlag;
};
id: 28;
name: "PulseWidthModulation";
revision: 5;
supportedFeatures: {
onOff: true;
};
}>>
This alias specializes the semantics of LevelControl.Base.
PulseWidthModulationCluster supports optional features that you can enable with the PulseWidthModulationCluster.with() factory method.