Base: {
    attributes: {
        colorCapabilities: Attribute<TypeFromPartialBitSchema, any>;
        colorMode: Attribute<ColorControl.ColorMode, any>;
        colorPointBIntensity: OptionalWritableAttribute<number | null, any>;
        colorPointBx: OptionalWritableAttribute<number, any>;
        colorPointBy: OptionalWritableAttribute<number, any>;
        colorPointGIntensity: OptionalWritableAttribute<number | null, any>;
        colorPointGx: OptionalWritableAttribute<number, any>;
        colorPointGy: OptionalWritableAttribute<number, any>;
        colorPointRIntensity: OptionalWritableAttribute<number | null, any>;
        colorPointRx: OptionalWritableAttribute<number, any>;
        colorPointRy: OptionalWritableAttribute<number, any>;
        compensationText: OptionalAttribute<string, any>;
        driftCompensation: OptionalAttribute<ColorControl.DriftCompensation, any>;
        enhancedColorMode: Attribute<ColorControl.EnhancedColorMode, any>;
        numberOfPrimaries: FixedAttribute<number | null, any>;
        options: WritableAttribute<TypeFromPartialBitSchema, any>;
        primary1Intensity: OptionalFixedAttribute<number | null, any>;
        primary1X: OptionalFixedAttribute<number, any>;
        primary1Y: OptionalFixedAttribute<number, any>;
        primary2Intensity: OptionalFixedAttribute<number | null, any>;
        primary2X: OptionalFixedAttribute<number, any>;
        primary2Y: OptionalFixedAttribute<number, any>;
        primary3Intensity: OptionalFixedAttribute<number | null, any>;
        primary3X: OptionalFixedAttribute<number, any>;
        primary3Y: OptionalFixedAttribute<number, any>;
        primary4Intensity: OptionalFixedAttribute<number | null, any>;
        primary4X: OptionalFixedAttribute<number, any>;
        primary4Y: OptionalFixedAttribute<number, any>;
        primary5Intensity: OptionalFixedAttribute<number | null, any>;
        primary5X: OptionalFixedAttribute<number, any>;
        primary5Y: OptionalFixedAttribute<number, any>;
        primary6Intensity: OptionalFixedAttribute<number | null, any>;
        primary6X: OptionalFixedAttribute<number, any>;
        primary6Y: OptionalFixedAttribute<number, any>;
        remainingTime: OptionalAttribute<number, any>;
        whitePointX: OptionalWritableAttribute<number, any>;
        whitePointY: OptionalWritableAttribute<number, any>;
    };
    extensions: readonly [{
        component: {
            attributes: {
                currentHue: Attribute<number, any>;
                currentSaturation: Attribute<number, any>;
            };
            commands: {
                moveHue: Command<TypeFromFields, void, any>;
                moveSaturation: Command<TypeFromFields, void, any>;
                moveToHue: Command<TypeFromFields, void, any>;
                moveToHueAndSaturation: Command<TypeFromFields, void, any>;
                moveToSaturation: Command<TypeFromFields, void, any>;
                stepHue: Command<TypeFromFields, void, any>;
                stepSaturation: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            hueSaturation: true;
        };
    }, {
        component: {
            attributes: {
                currentX: Attribute<number, any>;
                currentY: Attribute<number, any>;
            };
            commands: {
                moveColor: Command<TypeFromFields, void, any>;
                moveToColor: Command<TypeFromFields, void, any>;
                stepColor: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            xy: true;
        };
    }, {
        component: {
            attributes: {
                colorTemperatureMireds: Attribute<number, any>;
                colorTempPhysicalMaxMireds: Attribute<number, any>;
                colorTempPhysicalMinMireds: Attribute<number, any>;
                coupleColorTempToLevelMinMireds: OptionalAttribute<number, any>;
                startUpColorTemperatureMireds: OptionalWritableAttribute<number | null, any>;
            };
            commands: {
                moveColorTemperature: Command<TypeFromFields, void, any>;
                moveToColorTemperature: Command<TypeFromFields, void, any>;
                stepColorTemperature: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            colorTemperature: true;
        };
    }, {
        component: {
            attributes: {
                enhancedCurrentHue: Attribute<number, any>;
            };
            commands: {
                enhancedMoveHue: Command<TypeFromFields, void, any>;
                enhancedMoveToHue: Command<TypeFromFields, void, any>;
                enhancedMoveToHueAndSaturation: Command<TypeFromFields, void, any>;
                enhancedStepHue: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            enhancedHue: true;
        };
    }, {
        component: {
            attributes: {
                colorLoopActive: Attribute<ColorControl.ColorLoopActive, any>;
                colorLoopDirection: Attribute<ColorControl.ColorLoopDirection, any>;
                colorLoopStartEnhancedHue: Attribute<number, any>;
                colorLoopStoredEnhancedHue: Attribute<number, any>;
                colorLoopTime: Attribute<number, any>;
            };
            commands: {
                colorLoopSet: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            colorLoop: true;
        };
    }, {
        component: {
            commands: {
                stopMoveStep: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            hueSaturation: true;
        };
    }, {
        component: {
            commands: {
                stopMoveStep: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            xy: true;
        };
    }, {
        component: {
            commands: {
                stopMoveStep: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            colorTemperature: true;
        };
    }];
    features: {
        colorLoop: BitFlag;
        colorTemperature: BitFlag;
        enhancedHue: BitFlag;
        hueSaturation: BitFlag;
        xy: BitFlag;
    };
    id: 768;
    name: "ColorControl";
    revision: 6;
}

These elements and properties are present in all ColorControl clusters.

Type declaration

  • Readonlyattributes: {
        colorCapabilities: Attribute<TypeFromPartialBitSchema, any>;
        colorMode: Attribute<ColorControl.ColorMode, any>;
        colorPointBIntensity: OptionalWritableAttribute<number | null, any>;
        colorPointBx: OptionalWritableAttribute<number, any>;
        colorPointBy: OptionalWritableAttribute<number, any>;
        colorPointGIntensity: OptionalWritableAttribute<number | null, any>;
        colorPointGx: OptionalWritableAttribute<number, any>;
        colorPointGy: OptionalWritableAttribute<number, any>;
        colorPointRIntensity: OptionalWritableAttribute<number | null, any>;
        colorPointRx: OptionalWritableAttribute<number, any>;
        colorPointRy: OptionalWritableAttribute<number, any>;
        compensationText: OptionalAttribute<string, any>;
        driftCompensation: OptionalAttribute<ColorControl.DriftCompensation, any>;
        enhancedColorMode: Attribute<ColorControl.EnhancedColorMode, any>;
        numberOfPrimaries: FixedAttribute<number | null, any>;
        options: WritableAttribute<TypeFromPartialBitSchema, any>;
        primary1Intensity: OptionalFixedAttribute<number | null, any>;
        primary1X: OptionalFixedAttribute<number, any>;
        primary1Y: OptionalFixedAttribute<number, any>;
        primary2Intensity: OptionalFixedAttribute<number | null, any>;
        primary2X: OptionalFixedAttribute<number, any>;
        primary2Y: OptionalFixedAttribute<number, any>;
        primary3Intensity: OptionalFixedAttribute<number | null, any>;
        primary3X: OptionalFixedAttribute<number, any>;
        primary3Y: OptionalFixedAttribute<number, any>;
        primary4Intensity: OptionalFixedAttribute<number | null, any>;
        primary4X: OptionalFixedAttribute<number, any>;
        primary4Y: OptionalFixedAttribute<number, any>;
        primary5Intensity: OptionalFixedAttribute<number | null, any>;
        primary5X: OptionalFixedAttribute<number, any>;
        primary5Y: OptionalFixedAttribute<number, any>;
        primary6Intensity: OptionalFixedAttribute<number | null, any>;
        primary6X: OptionalFixedAttribute<number, any>;
        primary6Y: OptionalFixedAttribute<number, any>;
        remainingTime: OptionalAttribute<number, any>;
        whitePointX: OptionalWritableAttribute<number, any>;
        whitePointY: OptionalWritableAttribute<number, any>;
    }
    • ReadonlycolorCapabilities: Attribute<TypeFromPartialBitSchema, any>

      Bits 0-4 of the ColorCapabilities attribute shall have the same values as the corresponding bits of the FeatureMap attribute. All other bits in ColorCapabilities shall be 0.

      MatterSpecification.v13.Cluster § 3.2.7.19

    • ReadonlycolorMode: Attribute<ColorControl.ColorMode, any>

      The ColorMode attribute indicates which attributes are currently determining the color of the device.

      The value of the ColorMode attribute cannot be written directly - it is set upon reception of any command in section Commands to the appropriate mode for that command.

      Table 9. Values of the ColorMode Attribute

      MatterSpecification.v13.Cluster § 3.2.7.10

    • ReadonlycolorPointBIntensity: OptionalWritableAttribute<number | null, any>

      MatterSpecification.v13.Cluster § 3.2.10

    • ReadonlycolorPointBx: OptionalWritableAttribute<number, any>

      MatterSpecification.v13.Cluster § 3.2.10

    • ReadonlycolorPointBy: OptionalWritableAttribute<number, any>

      MatterSpecification.v13.Cluster § 3.2.10

    • ReadonlycolorPointGIntensity: OptionalWritableAttribute<number | null, any>

      MatterSpecification.v13.Cluster § 3.2.10

    • ReadonlycolorPointGx: OptionalWritableAttribute<number, any>

      MatterSpecification.v13.Cluster § 3.2.10

    • ReadonlycolorPointGy: OptionalWritableAttribute<number, any>

      MatterSpecification.v13.Cluster § 3.2.10

    • ReadonlycolorPointRIntensity: OptionalWritableAttribute<number | null, any>

      The ColorPointRIntensity attribute contains a representation of the relative intensity of the red color point as defined in the Dimming Light Curve in the Ballast Configuration cluster (see Ballast Configuration Cluster), normalized such that the color point with the highest relative intensity contains the value 0xFE.

      A value of null shall indicate an invalid value.

      MatterSpecification.v13.Cluster § 3.2.10.5

    • ReadonlycolorPointRx: OptionalWritableAttribute<number, any>

      The ColorPointRX attribute contains the normalized chromaticity value x, as defined in the CIE xyY Color Space, of the red color point of the device.

      The value of x shall be related to the ColorPointRX attribute by the relationship x = ColorPointRX / 65536 (ColorPointRX in the range 0 to 65279 inclusive)

      MatterSpecification.v13.Cluster § 3.2.10.3

    • ReadonlycolorPointRy: OptionalWritableAttribute<number, any>

      The ColorPointRY attribute contains the normalized chromaticity value y, as defined in the CIE xyY Color Space, of the red color point of the device.

      The value of y shall be related to the ColorPointRY attribute by the relationship y = ColorPointRY / 65536 (ColorPointRY in the range 0 to 65279 inclusive)

      MatterSpecification.v13.Cluster § 3.2.10.4

    • ReadonlycompensationText: OptionalAttribute<string, any>

      The CompensationText attribute holds a textual indication of what mechanism, if any, is in use to compensate for color/intensity drift over time.

      MatterSpecification.v13.Cluster § 3.2.7.8

    • ReadonlydriftCompensation: OptionalAttribute<ColorControl.DriftCompensation, any>

      The DriftCompensation attribute indicates what mechanism, if any, is in use for compensation for color/intensity drift over time. It shall be one of the non-reserved values in Values of the DriftCompensation Attribute.

      MatterSpecification.v13.Cluster § 3.2.7.7

    • ReadonlyenhancedColorMode: Attribute<ColorControl.EnhancedColorMode, any>

      The EnhancedColorMode attribute specifies which attributes are currently determining the color of the device, as detailed in Values of the EnhancedColorMode Attribute.

      To provide compatibility with standard ZCL, the original ColorMode attribute shall indicate ‘CurrentHue and CurrentSaturation’ when the light uses the EnhancedCurrentHue attribute. If the ColorMode attribute is changed, e.g., due to one of the standard Color Control cluster commands defined in the ZCL, its new value shall be copied to the EnhancedColorMode attribute.

      MatterSpecification.v13.Cluster § 3.2.7.13

    • ReadonlynumberOfPrimaries: FixedAttribute<number | null, any>

      The NumberOfPrimaries attribute contains the number of color primaries implemented on this device. A value of null shall indicate that the number of primaries is unknown.

      Where this attribute is implemented, the attributes below for indicating the “x” and “y” color values of the primaries shall also be implemented for each of the primaries from 1 to NumberOfPrimaries, without leaving gaps. Implementation of the Primary1Intensity attribute and subsequent intensity attributes is optional.

      MatterSpecification.v13.Cluster § 3.2.8.1

    • Readonlyoptions: WritableAttribute<TypeFromPartialBitSchema, any>

      The Options attribute is meant to be changed only during commissioning. The Options attribute is a bitmap that determines the default behavior of some cluster commands. Each command that is dependent on the Options attribute shall first construct a temporary Options bitmap that is in effect during the command processing. The temporary Options bitmap has the same format and meaning as the Options attribute, but includes any bits that may be overridden by command fields.

      Below is the format and description of the Options attribute and temporary Options bitmap and the effect on dependent commands.

      Table 10. Options Attribute

      ExecuteIfOff Options bit: Command execution shall NOT continue beyond the Options processing if all of these criteria are true:

      • The On/Off cluster exists on the same endpoint as this cluster.

      • The OnOff attribute of the On/Off cluster, on this endpoint, is FALSE.

      • The value of the ExecuteIfOff bit is 0.

      MatterSpecification.v13.Cluster § 3.2.7.11

    • Readonlyprimary1Intensity: OptionalFixedAttribute<number | null, any>

      The Primary1intensity attribute contains a representation of the maximum intensity of this primary as defined in the Dimming Light Curve in the Ballast Configuration cluster (see Ballast Configuration Cluster), normalized such that the primary with the highest maximum intensity contains the value 0xFE.

      A value of null shall indicate that this primary is not available.

      MatterSpecification.v13.Cluster § 3.2.8.4

    • Readonlyprimary1X: OptionalFixedAttribute<number, any>

      The Primary1X attribute contains the normalized chromaticity value x for this primary, as defined in the CIE xyY Color Space.

      The value of x shall be related to the Primary1X attribute by the relationship x = Primary1X / 65536 (Primary1X in the range 0 to 65279 inclusive)

      MatterSpecification.v13.Cluster § 3.2.8.2

    • Readonlyprimary1Y: OptionalFixedAttribute<number, any>

      The Primary1Y attribute contains the normalized chromaticity value y for this primary, as defined in the CIE xyY Color Space.

      The value of y shall be related to the Primary1Y attribute by the relationship y = Primary1Y / 65536 (Primary1Y in the range 0 to 65279 inclusive)

      MatterSpecification.v13.Cluster § 3.2.8.3

    • Readonlyprimary2Intensity: OptionalFixedAttribute<number | null, any>

      MatterSpecification.v13.Cluster § 3.2.8

    • Readonlyprimary2X: OptionalFixedAttribute<number, any>

      MatterSpecification.v13.Cluster § 3.2.8

    • Readonlyprimary2Y: OptionalFixedAttribute<number, any>

      MatterSpecification.v13.Cluster § 3.2.8

    • Readonlyprimary3Intensity: OptionalFixedAttribute<number | null, any>

      MatterSpecification.v13.Cluster § 3.2.8

    • Readonlyprimary3X: OptionalFixedAttribute<number, any>

      MatterSpecification.v13.Cluster § 3.2.8

    • Readonlyprimary3Y: OptionalFixedAttribute<number, any>

      MatterSpecification.v13.Cluster § 3.2.8

    • Readonlyprimary4Intensity: OptionalFixedAttribute<number | null, any>

      MatterSpecification.v13.Cluster § 3.2.9

    • Readonlyprimary4X: OptionalFixedAttribute<number, any>

      MatterSpecification.v13.Cluster § 3.2.9

    • Readonlyprimary4Y: OptionalFixedAttribute<number, any>

      MatterSpecification.v13.Cluster § 3.2.9

    • Readonlyprimary5Intensity: OptionalFixedAttribute<number | null, any>

      MatterSpecification.v13.Cluster § 3.2.9

    • Readonlyprimary5X: OptionalFixedAttribute<number, any>

      MatterSpecification.v13.Cluster § 3.2.9

    • Readonlyprimary5Y: OptionalFixedAttribute<number, any>

      MatterSpecification.v13.Cluster § 3.2.9

    • Readonlyprimary6Intensity: OptionalFixedAttribute<number | null, any>

      MatterSpecification.v13.Cluster § 3.2.9

    • Readonlyprimary6X: OptionalFixedAttribute<number, any>

      MatterSpecification.v13.Cluster § 3.2.9

    • Readonlyprimary6Y: OptionalFixedAttribute<number, any>

      MatterSpecification.v13.Cluster § 3.2.9

    • ReadonlyremainingTime: OptionalAttribute<number, any>

      The RemainingTime attribute holds the time remaining, in 1/10ths of a second, until the currently active command will be complete.

      MatterSpecification.v13.Cluster § 3.2.7.4

    • ReadonlywhitePointX: OptionalWritableAttribute<number, any>

      The WhitePointX attribute contains the normalized chromaticity value x, as defined in the CIE xyY Color Space, of the current white point of the device.

      The value of x shall be related to the WhitePointX attribute by the relationship x = WhitePointX / 65536 (WhitePointX in the range 0 to 65279 inclusive)

      MatterSpecification.v13.Cluster § 3.2.10.1

    • ReadonlywhitePointY: OptionalWritableAttribute<number, any>

      The WhitePointY attribute contains the normalized chromaticity value y, as defined in the CIE xyY

      Color Space, of the current white point of the device.

      The value of y shall be related to the WhitePointY attribute by the relationship y = WhitePointY / 65536 (WhitePointY in the range 0 to 65279 inclusive)

      MatterSpecification.v13.Cluster § 3.2.10.2

  • Readonlyextensions: readonly [{
        component: {
            attributes: {
                currentHue: Attribute<number, any>;
                currentSaturation: Attribute<number, any>;
            };
            commands: {
                moveHue: Command<TypeFromFields, void, any>;
                moveSaturation: Command<TypeFromFields, void, any>;
                moveToHue: Command<TypeFromFields, void, any>;
                moveToHueAndSaturation: Command<TypeFromFields, void, any>;
                moveToSaturation: Command<TypeFromFields, void, any>;
                stepHue: Command<TypeFromFields, void, any>;
                stepSaturation: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            hueSaturation: true;
        };
    }, {
        component: {
            attributes: {
                currentX: Attribute<number, any>;
                currentY: Attribute<number, any>;
            };
            commands: {
                moveColor: Command<TypeFromFields, void, any>;
                moveToColor: Command<TypeFromFields, void, any>;
                stepColor: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            xy: true;
        };
    }, {
        component: {
            attributes: {
                colorTemperatureMireds: Attribute<number, any>;
                colorTempPhysicalMaxMireds: Attribute<number, any>;
                colorTempPhysicalMinMireds: Attribute<number, any>;
                coupleColorTempToLevelMinMireds: OptionalAttribute<number, any>;
                startUpColorTemperatureMireds: OptionalWritableAttribute<number | null, any>;
            };
            commands: {
                moveColorTemperature: Command<TypeFromFields, void, any>;
                moveToColorTemperature: Command<TypeFromFields, void, any>;
                stepColorTemperature: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            colorTemperature: true;
        };
    }, {
        component: {
            attributes: {
                enhancedCurrentHue: Attribute<number, any>;
            };
            commands: {
                enhancedMoveHue: Command<TypeFromFields, void, any>;
                enhancedMoveToHue: Command<TypeFromFields, void, any>;
                enhancedMoveToHueAndSaturation: Command<TypeFromFields, void, any>;
                enhancedStepHue: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            enhancedHue: true;
        };
    }, {
        component: {
            attributes: {
                colorLoopActive: Attribute<ColorControl.ColorLoopActive, any>;
                colorLoopDirection: Attribute<ColorControl.ColorLoopDirection, any>;
                colorLoopStartEnhancedHue: Attribute<number, any>;
                colorLoopStoredEnhancedHue: Attribute<number, any>;
                colorLoopTime: Attribute<number, any>;
            };
            commands: {
                colorLoopSet: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            colorLoop: true;
        };
    }, {
        component: {
            commands: {
                stopMoveStep: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            hueSaturation: true;
        };
    }, {
        component: {
            commands: {
                stopMoveStep: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            xy: true;
        };
    }, {
        component: {
            commands: {
                stopMoveStep: Command<TypeFromFields, void, any>;
            };
        };
        flags: {
            colorTemperature: true;
        };
    }]

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

  • Readonlyfeatures: {
        colorLoop: BitFlag;
        colorTemperature: BitFlag;
        enhancedHue: BitFlag;
        hueSaturation: BitFlag;
        xy: BitFlag;
    }
    • ReadonlycolorLoop: BitFlag

      ColorLoop

      Color loop is supported.

    • ReadonlycolorTemperature: BitFlag

      ColorTemperature

      Supports specification of color temperature.

    • ReadonlyenhancedHue: BitFlag

      EnhancedHue

      Enhanced hue is supported.

    • ReadonlyhueSaturation: BitFlag

      HueSaturation

      Supports color specification via hue/saturation.

    • Readonlyxy: BitFlag

      Xy

      Supports color specification via XY.

  • Readonlyid: 768
  • Readonlyname: "ColorControl"
  • Readonlyrevision: 6