diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
index 2c54d75c7e6b06..f84ad0a08800f6 100644
--- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
+++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
@@ -5438,6 +5438,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -5490,16 +5505,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -5531,7 +5550,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter
index 0c9569504c7846..115103929ae0df 100644
--- a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter
+++ b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter
@@ -2972,7 +2972,7 @@ cluster DoorLock = 257 {
readonly attribute optional int8u numberOfCredentialsSupportedPerUser = 28;
attribute access(write: manage) optional char_string<3> language = 33;
attribute access(write: manage) optional int8u LEDSettings = 34;
- attribute access(write: manage) int32u autoRelockTime = 35;
+ attribute access(write: manage) optional int32u autoRelockTime = 35;
attribute access(write: manage) optional int8u soundVolume = 36;
attribute access(write: manage) OperatingModeEnum operatingMode = 37;
readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38;
@@ -3997,6 +3997,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -4049,16 +4064,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -4090,7 +4109,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
index 8bdb0183370199..e27fe37601ee14 100644
--- a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
+++ b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
@@ -1423,6 +1423,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -1475,16 +1490,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -1516,7 +1535,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
index bceebc611c7ca3..c308bafbb34472 100644
--- a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
+++ b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
@@ -1878,7 +1878,7 @@ cluster DoorLock = 257 {
readonly attribute optional int8u numberOfCredentialsSupportedPerUser = 28;
attribute access(write: manage) optional char_string<3> language = 33;
attribute access(write: manage) optional int8u LEDSettings = 34;
- attribute access(write: manage) int32u autoRelockTime = 35;
+ attribute access(write: manage) optional int32u autoRelockTime = 35;
attribute access(write: manage) optional int8u soundVolume = 36;
attribute access(write: manage) OperatingModeEnum operatingMode = 37;
readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38;
diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
index 9f4fdb2ae9bb15..e51a4c3af85b8c 100644
--- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
+++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
@@ -1524,6 +1524,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -1576,16 +1591,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -1617,7 +1636,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.matter b/examples/light-switch-app/light-switch-common/light-switch-app.matter
index e51a772add14e2..47066a13d0d95c 100644
--- a/examples/light-switch-app/light-switch-common/light-switch-app.matter
+++ b/examples/light-switch-app/light-switch-common/light-switch-app.matter
@@ -2193,6 +2193,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -2245,16 +2260,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -2286,7 +2305,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/examples/light-switch-app/qpg/zap/switch.matter b/examples/light-switch-app/qpg/zap/switch.matter
index e3da4bf1d979f6..f82b9a4e3a5b3f 100644
--- a/examples/light-switch-app/qpg/zap/switch.matter
+++ b/examples/light-switch-app/qpg/zap/switch.matter
@@ -1990,6 +1990,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -2042,16 +2057,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -2083,7 +2102,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter
index 626d1bce2be886..96d6a2b9d9d0b4 100644
--- a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter
+++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter
@@ -1563,6 +1563,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -1615,16 +1630,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -1656,7 +1675,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter
index 20beaa69361266..d387f835bc7e27 100644
--- a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter
+++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter
@@ -1687,6 +1687,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -1739,16 +1754,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -1780,7 +1799,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter
index 4bc07365ff7564..a866cae7d028d1 100644
--- a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter
+++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter
@@ -1598,6 +1598,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -1650,16 +1665,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -1691,7 +1710,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter
index 97c2eb59037f73..8ada1f890294c1 100644
--- a/examples/lighting-app/lighting-common/lighting-app.matter
+++ b/examples/lighting-app/lighting-common/lighting-app.matter
@@ -2010,6 +2010,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -2062,16 +2077,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -2103,7 +2122,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/examples/lighting-app/qpg/zap/light.matter b/examples/lighting-app/qpg/zap/light.matter
index 0fb3d8b9dcf7bc..e2a8374fefd43b 100644
--- a/examples/lighting-app/qpg/zap/light.matter
+++ b/examples/lighting-app/qpg/zap/light.matter
@@ -1626,6 +1626,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -1678,16 +1693,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -1719,7 +1738,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter
index 415281989cae5d..bf463ed0ef915a 100644
--- a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter
+++ b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter
@@ -2095,6 +2095,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -2147,16 +2162,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -2188,7 +2207,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter
index 90083596d9cf24..a90da85fa223da 100644
--- a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter
+++ b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter
@@ -2006,6 +2006,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -2058,16 +2073,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -2099,7 +2118,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/examples/lock-app/lock-common/lock-app.matter b/examples/lock-app/lock-common/lock-app.matter
index 8fee37c9493c67..72a69b77aaf541 100644
--- a/examples/lock-app/lock-common/lock-app.matter
+++ b/examples/lock-app/lock-common/lock-app.matter
@@ -2252,7 +2252,7 @@ cluster DoorLock = 257 {
readonly attribute optional int8u numberOfCredentialsSupportedPerUser = 28;
attribute access(write: manage) optional char_string<3> language = 33;
attribute access(write: manage) optional int8u LEDSettings = 34;
- attribute access(write: manage) int32u autoRelockTime = 35;
+ attribute access(write: manage) optional int32u autoRelockTime = 35;
attribute access(write: manage) optional int8u soundVolume = 36;
attribute access(write: manage) OperatingModeEnum operatingMode = 37;
readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38;
diff --git a/examples/lock-app/nxp/zap/lock-app.matter b/examples/lock-app/nxp/zap/lock-app.matter
index 7d739c5d92f4f2..587cc09cd26b2d 100644
--- a/examples/lock-app/nxp/zap/lock-app.matter
+++ b/examples/lock-app/nxp/zap/lock-app.matter
@@ -1504,7 +1504,7 @@ cluster DoorLock = 257 {
readonly attribute optional int8u numberOfCredentialsSupportedPerUser = 28;
attribute access(write: manage) optional char_string<3> language = 33;
attribute access(write: manage) optional int8u LEDSettings = 34;
- attribute access(write: manage) int32u autoRelockTime = 35;
+ attribute access(write: manage) optional int32u autoRelockTime = 35;
attribute access(write: manage) optional int8u soundVolume = 36;
attribute access(write: manage) OperatingModeEnum operatingMode = 37;
readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38;
diff --git a/examples/lock-app/qpg/zap/lock.matter b/examples/lock-app/qpg/zap/lock.matter
index cf9816993e89b4..1f7e6cacf40f38 100644
--- a/examples/lock-app/qpg/zap/lock.matter
+++ b/examples/lock-app/qpg/zap/lock.matter
@@ -1908,7 +1908,7 @@ cluster DoorLock = 257 {
readonly attribute optional int8u numberOfCredentialsSupportedPerUser = 28;
attribute access(write: manage) optional char_string<3> language = 33;
attribute access(write: manage) optional int8u LEDSettings = 34;
- attribute access(write: manage) int32u autoRelockTime = 35;
+ attribute access(write: manage) optional int32u autoRelockTime = 35;
attribute access(write: manage) optional int8u soundVolume = 36;
attribute access(write: manage) OperatingModeEnum operatingMode = 37;
readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38;
diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter
index 978b5c4fdfcfcc..ebcb484ad3bb1a 100644
--- a/examples/placeholder/linux/apps/app1/config.matter
+++ b/examples/placeholder/linux/apps/app1/config.matter
@@ -3566,7 +3566,7 @@ cluster DoorLock = 257 {
readonly attribute optional int8u numberOfCredentialsSupportedPerUser = 28;
attribute access(write: manage) optional char_string<3> language = 33;
attribute access(write: manage) optional int8u LEDSettings = 34;
- attribute access(write: manage) int32u autoRelockTime = 35;
+ attribute access(write: manage) optional int32u autoRelockTime = 35;
attribute access(write: manage) optional int8u soundVolume = 36;
attribute access(write: manage) OperatingModeEnum operatingMode = 37;
readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38;
@@ -4217,7 +4217,7 @@ cluster DoorLock = 257 {
readonly attribute optional int8u numberOfCredentialsSupportedPerUser = 28;
attribute access(write: manage) optional char_string<3> language = 33;
attribute access(write: manage) optional int8u LEDSettings = 34;
- attribute access(write: manage) int32u autoRelockTime = 35;
+ attribute access(write: manage) optional int32u autoRelockTime = 35;
attribute access(write: manage) optional int8u soundVolume = 36;
attribute access(write: manage) OperatingModeEnum operatingMode = 37;
readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38;
@@ -5565,6 +5565,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -5617,16 +5632,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -5658,7 +5677,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
@@ -5885,6 +5904,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -5937,16 +5971,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -5978,7 +6016,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter
index 1734e9d738f9b7..4a2fd7848a32bf 100644
--- a/examples/placeholder/linux/apps/app2/config.matter
+++ b/examples/placeholder/linux/apps/app2/config.matter
@@ -3523,7 +3523,7 @@ cluster DoorLock = 257 {
readonly attribute optional int8u numberOfCredentialsSupportedPerUser = 28;
attribute access(write: manage) optional char_string<3> language = 33;
attribute access(write: manage) optional int8u LEDSettings = 34;
- attribute access(write: manage) int32u autoRelockTime = 35;
+ attribute access(write: manage) optional int32u autoRelockTime = 35;
attribute access(write: manage) optional int8u soundVolume = 36;
attribute access(write: manage) OperatingModeEnum operatingMode = 37;
readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38;
@@ -4174,7 +4174,7 @@ cluster DoorLock = 257 {
readonly attribute optional int8u numberOfCredentialsSupportedPerUser = 28;
attribute access(write: manage) optional char_string<3> language = 33;
attribute access(write: manage) optional int8u LEDSettings = 34;
- attribute access(write: manage) int32u autoRelockTime = 35;
+ attribute access(write: manage) optional int32u autoRelockTime = 35;
attribute access(write: manage) optional int8u soundVolume = 36;
attribute access(write: manage) OperatingModeEnum operatingMode = 37;
readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38;
@@ -5522,6 +5522,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -5574,16 +5589,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -5615,7 +5634,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
@@ -5842,6 +5861,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -5894,16 +5928,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -5935,7 +5973,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter b/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter
index a190ff6d15e4ab..1a9b6314a93e59 100644
--- a/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter
+++ b/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter
@@ -2448,7 +2448,7 @@ cluster DoorLock = 257 {
readonly attribute optional int8u numberOfCredentialsSupportedPerUser = 28;
attribute access(write: manage) optional char_string<3> language = 33;
attribute access(write: manage) optional int8u LEDSettings = 34;
- attribute access(write: manage) int32u autoRelockTime = 35;
+ attribute access(write: manage) optional int32u autoRelockTime = 35;
attribute access(write: manage) optional int8u soundVolume = 36;
attribute access(write: manage) OperatingModeEnum operatingMode = 37;
readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38;
@@ -2709,6 +2709,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -2761,16 +2776,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -2802,7 +2821,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/src/app/zap-templates/zcl/data-model/chip/color-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/color-control-cluster.xml
index 0dcb76abac44ea..a2f75f6921151c 100644
--- a/src/app/zap-templates/zcl/data-model/chip/color-control-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/color-control-cluster.xml
@@ -65,6 +65,28 @@ limitations under the License.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -117,7 +139,7 @@ limitations under the License.
CurrentY
- DriftCompensation
+ DriftCompensation
CompensationText
@@ -125,7 +147,7 @@ limitations under the License.
ColorMode
- Options
+ Options
NumberOfPrimaries
@@ -357,7 +379,7 @@ limitations under the License.
EnhancedCurrentHue
- EnhancedColorMode
+ EnhancedColorMode
ColorLoopActive
ColorLoopDirection
ColorLoopTime
diff --git a/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml
index 1c179f9324422a..dc002d3efbfb4a 100644
--- a/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/door-lock-cluster.xml
@@ -129,7 +129,7 @@ limitations under the License.
-
+
AutoRelockTime
diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter
index 4e99c7ebe5d260..30297f6faf936d 100644
--- a/src/controller/data_model/controller-clusters.matter
+++ b/src/controller/data_model/controller-clusters.matter
@@ -5547,7 +5547,7 @@ cluster DoorLock = 257 {
readonly attribute optional int8u numberOfCredentialsSupportedPerUser = 28;
attribute access(write: manage) optional char_string<3> language = 33;
attribute access(write: manage) optional int8u LEDSettings = 34;
- attribute access(write: manage) int32u autoRelockTime = 35;
+ attribute access(write: manage) optional int32u autoRelockTime = 35;
attribute access(write: manage) optional int8u soundVolume = 36;
attribute access(write: manage) OperatingModeEnum operatingMode = 37;
readonly attribute DlSupportedOperatingModes supportedOperatingModes = 38;
@@ -6614,6 +6614,21 @@ cluster ColorControl = 768 {
kColorTemperature = 2;
}
+ enum DriftCompensationEnum : enum8 {
+ kNone = 0;
+ kOtherUnknown = 1;
+ kTemperaturemonitoring = 2;
+ kOpticalLuminanceMonitoringAndFeedback = 3;
+ kOpticalColorMonitoringAndFeedback = 4;
+ }
+
+ enum EnhancedColorModeEnum : enum8 {
+ kCurrentHueAndCurrentSaturation = 0;
+ kCurrentXAndCurrentY = 1;
+ kColorTemperature = 2;
+ kEnhancedCurrentHueAndCurrentSaturation = 3;
+ }
+
enum HueDirection : enum8 {
kShortestDistance = 0;
kLongestDistance = 1;
@@ -6666,16 +6681,20 @@ cluster ColorControl = 768 {
kColorTemperature = 0x10;
}
+ bitmap OptionsBitmap : bitmap8 {
+ kExecuteIfOff = 0x1;
+ }
+
readonly attribute optional int8u currentHue = 0;
readonly attribute optional int8u currentSaturation = 1;
readonly attribute optional int16u remainingTime = 2;
readonly attribute optional int16u currentX = 3;
readonly attribute optional int16u currentY = 4;
- readonly attribute optional enum8 driftCompensation = 5;
+ readonly attribute optional DriftCompensationEnum driftCompensation = 5;
readonly attribute optional char_string<254> compensationText = 6;
readonly attribute optional int16u colorTemperatureMireds = 7;
readonly attribute enum8 colorMode = 8;
- attribute bitmap8 options = 15;
+ attribute OptionsBitmap options = 15;
readonly attribute nullable int8u numberOfPrimaries = 16;
readonly attribute optional int16u primary1X = 17;
readonly attribute optional int16u primary1Y = 18;
@@ -6707,7 +6726,7 @@ cluster ColorControl = 768 {
attribute access(write: manage) optional int16u colorPointBY = 59;
attribute access(write: manage) optional nullable int8u colorPointBIntensity = 60;
readonly attribute optional int16u enhancedCurrentHue = 16384;
- readonly attribute enum8 enhancedColorMode = 16385;
+ readonly attribute EnhancedColorModeEnum enhancedColorMode = 16385;
readonly attribute optional int8u colorLoopActive = 16386;
readonly attribute optional int8u colorLoopDirection = 16387;
readonly attribute optional int16u colorLoopTime = 16388;
diff --git a/src/controller/java/generated/java/matter/controller/cluster/clusters/DoorLockCluster.kt b/src/controller/java/generated/java/matter/controller/cluster/clusters/DoorLockCluster.kt
index f0a27f30273c39..5e23a7bb20c727 100644
--- a/src/controller/java/generated/java/matter/controller/cluster/clusters/DoorLockCluster.kt
+++ b/src/controller/java/generated/java/matter/controller/cluster/clusters/DoorLockCluster.kt
@@ -3647,7 +3647,7 @@ class DoorLockCluster(private val controller: MatterController, private val endp
}
}
- suspend fun readAutoRelockTimeAttribute(): UInt {
+ suspend fun readAutoRelockTimeAttribute(): UInt? {
val ATTRIBUTE_ID: UInt = 35u
val attributePath =
@@ -3673,7 +3673,12 @@ class DoorLockCluster(private val controller: MatterController, private val endp
// Decode the TLV data into the appropriate type
val tlvReader = TlvReader(attributeData.data)
- val decodedValue: UInt = tlvReader.getUInt(AnonymousTag)
+ val decodedValue: UInt? =
+ if (tlvReader.isNextTag(AnonymousTag)) {
+ tlvReader.getUInt(AnonymousTag)
+ } else {
+ null
+ }
return decodedValue
}
@@ -3759,9 +3764,14 @@ class DoorLockCluster(private val controller: MatterController, private val endp
// Decode the TLV data into the appropriate type
val tlvReader = TlvReader(attributeData.data)
- val decodedValue: UInt = tlvReader.getUInt(AnonymousTag)
+ val decodedValue: UInt? =
+ if (tlvReader.isNextTag(AnonymousTag)) {
+ tlvReader.getUInt(AnonymousTag)
+ } else {
+ null
+ }
- emit(UIntSubscriptionState.Success(decodedValue))
+ decodedValue?.let { emit(UIntSubscriptionState.Success(it)) }
}
SubscriptionState.SubscriptionEstablished -> {
emit(UIntSubscriptionState.SubscriptionEstablished)
diff --git a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
index 2400ba818c7cb9..8240a874055856 100644
--- a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
+++ b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
@@ -30748,7 +30748,7 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
jobject value;
std::string valueClassName = "java/lang/Integer";
std::string valueCtorSignature = "(I)V";
- jint jnivalue = static_cast(cppValue);
+ jint jnivalue = static_cast(cppValue.Raw());
chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue,
value);
return value;
diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py
index cd411b93d43301..0749f5b1eec221 100644
--- a/src/controller/python/chip/clusters/Objects.py
+++ b/src/controller/python/chip/clusters/Objects.py
@@ -26750,7 +26750,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
ClusterObjectFieldDescriptor(Label="numberOfCredentialsSupportedPerUser", Tag=0x0000001C, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="language", Tag=0x00000021, Type=typing.Optional[str]),
ClusterObjectFieldDescriptor(Label="LEDSettings", Tag=0x00000022, Type=typing.Optional[uint]),
- ClusterObjectFieldDescriptor(Label="autoRelockTime", Tag=0x00000023, Type=uint),
+ ClusterObjectFieldDescriptor(Label="autoRelockTime", Tag=0x00000023, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="soundVolume", Tag=0x00000024, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="operatingMode", Tag=0x00000025, Type=DoorLock.Enums.OperatingModeEnum),
ClusterObjectFieldDescriptor(Label="supportedOperatingModes", Tag=0x00000026, Type=uint),
@@ -26803,7 +26803,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
numberOfCredentialsSupportedPerUser: 'typing.Optional[uint]' = None
language: 'typing.Optional[str]' = None
LEDSettings: 'typing.Optional[uint]' = None
- autoRelockTime: 'uint' = None
+ autoRelockTime: 'typing.Optional[uint]' = None
soundVolume: 'typing.Optional[uint]' = None
operatingMode: 'DoorLock.Enums.OperatingModeEnum' = None
supportedOperatingModes: 'uint' = None
@@ -28200,9 +28200,9 @@ def attribute_id(cls) -> int:
@ChipUtility.classproperty
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
- return ClusterObjectFieldDescriptor(Type=uint)
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[uint])
- value: 'uint' = 0
+ value: 'typing.Optional[uint]' = None
@dataclass
class SoundVolume(ClusterAttributeDescriptor):
@@ -33151,7 +33151,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
ClusterObjectFieldDescriptor(Label="remainingTime", Tag=0x00000002, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="currentX", Tag=0x00000003, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="currentY", Tag=0x00000004, Type=typing.Optional[uint]),
- ClusterObjectFieldDescriptor(Label="driftCompensation", Tag=0x00000005, Type=typing.Optional[uint]),
+ ClusterObjectFieldDescriptor(Label="driftCompensation", Tag=0x00000005, Type=typing.Optional[ColorControl.Enums.DriftCompensationEnum]),
ClusterObjectFieldDescriptor(Label="compensationText", Tag=0x00000006, Type=typing.Optional[str]),
ClusterObjectFieldDescriptor(Label="colorTemperatureMireds", Tag=0x00000007, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="colorMode", Tag=0x00000008, Type=uint),
@@ -33187,7 +33187,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
ClusterObjectFieldDescriptor(Label="colorPointBY", Tag=0x0000003B, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="colorPointBIntensity", Tag=0x0000003C, Type=typing.Union[None, Nullable, uint]),
ClusterObjectFieldDescriptor(Label="enhancedCurrentHue", Tag=0x00004000, Type=typing.Optional[uint]),
- ClusterObjectFieldDescriptor(Label="enhancedColorMode", Tag=0x00004001, Type=uint),
+ ClusterObjectFieldDescriptor(Label="enhancedColorMode", Tag=0x00004001, Type=ColorControl.Enums.EnhancedColorModeEnum),
ClusterObjectFieldDescriptor(Label="colorLoopActive", Tag=0x00004002, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="colorLoopDirection", Tag=0x00004003, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="colorLoopTime", Tag=0x00004004, Type=typing.Optional[uint]),
@@ -33211,7 +33211,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
remainingTime: 'typing.Optional[uint]' = None
currentX: 'typing.Optional[uint]' = None
currentY: 'typing.Optional[uint]' = None
- driftCompensation: 'typing.Optional[uint]' = None
+ driftCompensation: 'typing.Optional[ColorControl.Enums.DriftCompensationEnum]' = None
compensationText: 'typing.Optional[str]' = None
colorTemperatureMireds: 'typing.Optional[uint]' = None
colorMode: 'uint' = None
@@ -33247,7 +33247,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
colorPointBY: 'typing.Optional[uint]' = None
colorPointBIntensity: 'typing.Union[None, Nullable, uint]' = None
enhancedCurrentHue: 'typing.Optional[uint]' = None
- enhancedColorMode: 'uint' = None
+ enhancedColorMode: 'ColorControl.Enums.EnhancedColorModeEnum' = None
colorLoopActive: 'typing.Optional[uint]' = None
colorLoopDirection: 'typing.Optional[uint]' = None
colorLoopTime: 'typing.Optional[uint]' = None
@@ -33295,6 +33295,29 @@ class ColorMode(MatterIntEnum):
# enum value. This specific should never be transmitted.
kUnknownEnumValue = 3,
+ class DriftCompensationEnum(MatterIntEnum):
+ kNone = 0x00
+ kOtherUnknown = 0x01
+ kTemperaturemonitoring = 0x02
+ kOpticalLuminanceMonitoringAndFeedback = 0x03
+ kOpticalColorMonitoringAndFeedback = 0x04
+ # All received enum values that are not listed above will be mapped
+ # to kUnknownEnumValue. This is a helper enum value that should only
+ # be used by code to process how it handles receiving and unknown
+ # enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+
+ class EnhancedColorModeEnum(MatterIntEnum):
+ kCurrentHueAndCurrentSaturation = 0x00
+ kCurrentXAndCurrentY = 0x01
+ kColorTemperature = 0x02
+ kEnhancedCurrentHueAndCurrentSaturation = 0x03
+ # All received enum values that are not listed above will be mapped
+ # to kUnknownEnumValue. This is a helper enum value that should only
+ # be used by code to process how it handles receiving and unknown
+ # enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 4,
+
class HueDirection(MatterIntEnum):
kShortestDistance = 0x00
kLongestDistance = 0x01
@@ -33365,6 +33388,9 @@ class Feature(IntFlag):
kXy = 0x8
kColorTemperature = 0x10
+ class OptionsBitmap(IntFlag):
+ kExecuteIfOff = 0x1
+
class Commands:
@dataclass
class MoveToHue(ClusterCommand):
@@ -33907,9 +33933,9 @@ def attribute_id(cls) -> int:
@ChipUtility.classproperty
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
- return ClusterObjectFieldDescriptor(Type=typing.Optional[uint])
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[ColorControl.Enums.DriftCompensationEnum])
- value: 'typing.Optional[uint]' = None
+ value: 'typing.Optional[ColorControl.Enums.DriftCompensationEnum]' = None
@dataclass
class CompensationText(ClusterAttributeDescriptor):
@@ -34483,9 +34509,9 @@ def attribute_id(cls) -> int:
@ChipUtility.classproperty
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
- return ClusterObjectFieldDescriptor(Type=uint)
+ return ClusterObjectFieldDescriptor(Type=ColorControl.Enums.EnhancedColorModeEnum)
- value: 'uint' = 0
+ value: 'ColorControl.Enums.EnhancedColorModeEnum' = 0
@dataclass
class ColorLoopActive(ClusterAttributeDescriptor):
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm
index bae1643f3beb39..d5bd465650233d 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm
@@ -12361,7 +12361,7 @@ static id _Nullable DecodeAttributeValueForColorControlCluster(AttributeId aAttr
return nil;
}
NSNumber * _Nonnull value;
- value = [NSNumber numberWithUnsignedChar:cppValue];
+ value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::CompensationText::Id: {
@@ -12410,7 +12410,7 @@ static id _Nullable DecodeAttributeValueForColorControlCluster(AttributeId aAttr
return nil;
}
NSNumber * _Nonnull value;
- value = [NSNumber numberWithUnsignedChar:cppValue];
+ value = [NSNumber numberWithUnsignedChar:cppValue.Raw()];
return value;
}
case Attributes::NumberOfPrimaries::Id: {
@@ -12802,7 +12802,7 @@ static id _Nullable DecodeAttributeValueForColorControlCluster(AttributeId aAttr
return nil;
}
NSNumber * _Nonnull value;
- value = [NSNumber numberWithUnsignedChar:cppValue];
+ value = [NSNumber numberWithUnsignedChar:chip::to_underlying(cppValue)];
return value;
}
case Attributes::ColorLoopActive::Id: {
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
index d28558722a280f..a3f79d6bb1bee7 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
@@ -19051,6 +19051,21 @@ typedef NS_ENUM(uint8_t, MTRColorControlColorMode) {
MTRColorControlColorModeColorTemperature MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x02,
} MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
+typedef NS_ENUM(uint8_t, MTRColorControlDriftCompensation) {
+ MTRColorControlDriftCompensationNone MTR_PROVISIONALLY_AVAILABLE = 0x00,
+ MTRColorControlDriftCompensationOtherUnknown MTR_PROVISIONALLY_AVAILABLE = 0x01,
+ MTRColorControlDriftCompensationTemperaturemonitoring MTR_PROVISIONALLY_AVAILABLE = 0x02,
+ MTRColorControlDriftCompensationOpticalLuminanceMonitoringAndFeedback MTR_PROVISIONALLY_AVAILABLE = 0x03,
+ MTRColorControlDriftCompensationOpticalColorMonitoringAndFeedback MTR_PROVISIONALLY_AVAILABLE = 0x04,
+} MTR_PROVISIONALLY_AVAILABLE;
+
+typedef NS_ENUM(uint8_t, MTRColorControlEnhancedColorMode) {
+ MTRColorControlEnhancedColorModeCurrentHueAndCurrentSaturation MTR_PROVISIONALLY_AVAILABLE = 0x00,
+ MTRColorControlEnhancedColorModeCurrentXAndCurrentY MTR_PROVISIONALLY_AVAILABLE = 0x01,
+ MTRColorControlEnhancedColorModeColorTemperature MTR_PROVISIONALLY_AVAILABLE = 0x02,
+ MTRColorControlEnhancedColorModeEnhancedCurrentHueAndCurrentSaturation MTR_PROVISIONALLY_AVAILABLE = 0x03,
+} MTR_PROVISIONALLY_AVAILABLE;
+
typedef NS_ENUM(uint8_t, MTRColorControlHueDirection) {
MTRColorControlHueDirectionShortestDistance MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x00,
MTRColorControlHueDirectionLongestDistance MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x01,
@@ -19103,6 +19118,10 @@ typedef NS_OPTIONS(uint32_t, MTRColorControlFeature) {
MTRColorControlFeatureColorTemperature MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x10,
} MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
+typedef NS_OPTIONS(uint8_t, MTRColorControlOptionsBitmap) {
+ MTRColorControlOptionsBitmapExecuteIfOff MTR_PROVISIONALLY_AVAILABLE = 0x1,
+} MTR_PROVISIONALLY_AVAILABLE;
+
typedef NS_OPTIONS(uint8_t, MTRBallastConfigurationBallastStatusBitmap) {
MTRBallastConfigurationBallastStatusBitmapBallastNonOperational MTR_PROVISIONALLY_AVAILABLE = 0x1,
MTRBallastConfigurationBallastStatusBitmapLampFailure MTR_PROVISIONALLY_AVAILABLE = 0x2,
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
index b375488f292fc8..f1d86babc6d974 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
@@ -75167,7 +75167,7 @@ - (void)writeAttributeOptionsWithValue:(NSNumber * _Nonnull)value params:(MTRWri
ListFreer listFreer;
using TypeInfo = ColorControl::Attributes::Options::TypeInfo;
TypeInfo::Type cppValue;
- cppValue = value.unsignedCharValue;
+ cppValue = static_cast>(value.unsignedCharValue);
chip::Controller::ClusterBase cppCluster(exchangeManager, session, self.endpointID.unsignedShortValue);
return cppCluster.WriteAttribute(cppValue, bridge, successCb, failureCb, timedWriteTimeout); });
diff --git a/src/platform/Linux/DiagnosticDataProviderImpl.cpp b/src/platform/Linux/DiagnosticDataProviderImpl.cpp
index 74f7003676c051..cc57da65e2d036 100644
--- a/src/platform/Linux/DiagnosticDataProviderImpl.cpp
+++ b/src/platform/Linux/DiagnosticDataProviderImpl.cpp
@@ -74,6 +74,9 @@ enum class WiFiStatsCountType
kWiFiOverrunCount
};
+// Static variable to store the maximum heap size
+static size_t maxHeapHighWatermark = 0;
+
CHIP_ERROR GetEthernetStatsCount(EthernetStatsCountType type, uint64_t & count)
{
CHIP_ERROR err = CHIP_ERROR_READ_FAILED;
@@ -244,6 +247,11 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetCurrentHeapUsed(uint64_t & currentHeap
// the current running program.
currentHeapUsed = mallocInfo.uordblks;
+ // Update the maximum heap high watermark if the current heap usage exceeds it.
+ if (currentHeapUsed > maxHeapHighWatermark)
+ {
+ maxHeapHighWatermark = currentHeapUsed;
+ }
return CHIP_NO_ERROR;
#endif
}
@@ -260,9 +268,15 @@ CHIP_ERROR DiagnosticDataProviderImpl::GetCurrentHeapHighWatermark(uint64_t & cu
// has been used by the Node.
// On Linux, since it uses virtual memory, whereby a page of memory could be copied to
// the hard disk, called swap space, and free up that page of memory. So it is impossible
- // to know accurately peak physical memory it use. We just return the current heap memory
- // being used by the current running program.
- currentHeapHighWatermark = mallocInfo.uordblks;
+ // to know accurately peak physical memory it use.
+ // Update the maximum heap high watermark if the current heap usage exceeds it.
+ if (mallocInfo.uordblks > static_cast(maxHeapHighWatermark))
+ {
+ maxHeapHighWatermark = mallocInfo.uordblks;
+ }
+
+ // Set the current heap high watermark.
+ currentHeapHighWatermark = maxHeapHighWatermark;
return CHIP_NO_ERROR;
#endif
@@ -275,6 +289,8 @@ CHIP_ERROR DiagnosticDataProviderImpl::ResetWatermarks()
// On Linux, the write operation is non-op since we always rely on the mallinfo system
// function to get the current heap memory.
+ struct mallinfo mallocInfo = mallinfo();
+ maxHeapHighWatermark = mallocInfo.uordblks;
return CHIP_NO_ERROR;
}
diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp
index a3e74424d0768b..a8d64999fb818a 100644
--- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp
+++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp
@@ -18241,9 +18241,9 @@ Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t valu
namespace DriftCompensation {
-Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint8_t * value)
+Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, chip::app::Clusters::ColorControl::DriftCompensationEnum * value)
{
- using Traits = NumericAttributeTraits;
+ using Traits = NumericAttributeTraits;
Traits::StorageType temp;
uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp);
Protocols::InteractionModel::Status status =
@@ -18256,9 +18256,9 @@ Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint8_t * val
*value = Traits::StorageToWorking(temp);
return status;
}
-Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint8_t value)
+Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, chip::app::Clusters::ColorControl::DriftCompensationEnum value)
{
- using Traits = NumericAttributeTraits;
+ using Traits = NumericAttributeTraits;
if (!Traits::CanRepresentValue(/* isNullable = */ false, value))
{
return Protocols::InteractionModel::Status::ConstraintError;
@@ -18369,9 +18369,10 @@ Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint8_t value
namespace Options {
-Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint8_t * value)
+Protocols::InteractionModel::Status Get(chip::EndpointId endpoint,
+ chip::BitMask * value)
{
- using Traits = NumericAttributeTraits;
+ using Traits = NumericAttributeTraits>;
Traits::StorageType temp;
uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp);
Protocols::InteractionModel::Status status =
@@ -18384,9 +18385,10 @@ Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint8_t * val
*value = Traits::StorageToWorking(temp);
return status;
}
-Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint8_t value)
+Protocols::InteractionModel::Status Set(chip::EndpointId endpoint,
+ chip::BitMask value)
{
- using Traits = NumericAttributeTraits;
+ using Traits = NumericAttributeTraits>;
if (!Traits::CanRepresentValue(/* isNullable = */ false, value))
{
return Protocols::InteractionModel::Status::ConstraintError;
@@ -19613,9 +19615,9 @@ Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t valu
namespace EnhancedColorMode {
-Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint8_t * value)
+Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, chip::app::Clusters::ColorControl::EnhancedColorModeEnum * value)
{
- using Traits = NumericAttributeTraits;
+ using Traits = NumericAttributeTraits;
Traits::StorageType temp;
uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp);
Protocols::InteractionModel::Status status =
@@ -19628,9 +19630,9 @@ Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint8_t * val
*value = Traits::StorageToWorking(temp);
return status;
}
-Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint8_t value)
+Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, chip::app::Clusters::ColorControl::EnhancedColorModeEnum value)
{
- using Traits = NumericAttributeTraits;
+ using Traits = NumericAttributeTraits;
if (!Traits::CanRepresentValue(/* isNullable = */ false, value))
{
return Protocols::InteractionModel::Status::ConstraintError;
diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h
index 3a35e3511a6747..4ef693b83b9c02 100644
--- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h
+++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h
@@ -3360,8 +3360,9 @@ Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t valu
} // namespace CurrentY
namespace DriftCompensation {
-Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint8_t * value); // enum8
-Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint8_t value);
+Protocols::InteractionModel::Status Get(chip::EndpointId endpoint,
+ chip::app::Clusters::ColorControl::DriftCompensationEnum * value); // DriftCompensationEnum
+Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, chip::app::Clusters::ColorControl::DriftCompensationEnum value);
} // namespace DriftCompensation
namespace CompensationText {
@@ -3380,8 +3381,10 @@ Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint8_t value
} // namespace ColorMode
namespace Options {
-Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint8_t * value); // bitmap8
-Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint8_t value);
+Protocols::InteractionModel::Status Get(chip::EndpointId endpoint,
+ chip::BitMask * value); // OptionsBitmap
+Protocols::InteractionModel::Status Set(chip::EndpointId endpoint,
+ chip::BitMask value);
} // namespace Options
namespace NumberOfPrimaries {
@@ -3560,8 +3563,9 @@ Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint16_t valu
} // namespace EnhancedCurrentHue
namespace EnhancedColorMode {
-Protocols::InteractionModel::Status Get(chip::EndpointId endpoint, uint8_t * value); // enum8
-Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, uint8_t value);
+Protocols::InteractionModel::Status Get(chip::EndpointId endpoint,
+ chip::app::Clusters::ColorControl::EnhancedColorModeEnum * value); // EnhancedColorModeEnum
+Protocols::InteractionModel::Status Set(chip::EndpointId endpoint, chip::app::Clusters::ColorControl::EnhancedColorModeEnum value);
} // namespace EnhancedColorMode
namespace ColorLoopActive {
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h
index ca25c08c748e0c..1fcebe082647e2 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h
@@ -2614,6 +2614,35 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::ColorMode
return EnumType::kUnknownEnumValue;
}
}
+static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::DriftCompensationEnum val)
+{
+ using EnumType = ColorControl::DriftCompensationEnum;
+ switch (val)
+ {
+ case EnumType::kNone:
+ case EnumType::kOtherUnknown:
+ case EnumType::kTemperaturemonitoring:
+ case EnumType::kOpticalLuminanceMonitoringAndFeedback:
+ case EnumType::kOpticalColorMonitoringAndFeedback:
+ return val;
+ default:
+ return EnumType::kUnknownEnumValue;
+ }
+}
+static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::EnhancedColorModeEnum val)
+{
+ using EnumType = ColorControl::EnhancedColorModeEnum;
+ switch (val)
+ {
+ case EnumType::kCurrentHueAndCurrentSaturation:
+ case EnumType::kCurrentXAndCurrentY:
+ case EnumType::kColorTemperature:
+ case EnumType::kEnhancedCurrentHueAndCurrentSaturation:
+ return val;
+ default:
+ return EnumType::kUnknownEnumValue;
+ }
+}
static auto __attribute__((unused)) EnsureKnownEnumValue(ColorControl::HueDirection val)
{
using EnumType = ColorControl::HueDirection;
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h
index 42a54b95ee944f..ddb094bee5a3a9 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h
@@ -3938,6 +3938,35 @@ enum class ColorMode : uint8_t
kUnknownEnumValue = 3,
};
+// Enum for DriftCompensationEnum
+enum class DriftCompensationEnum : uint8_t
+{
+ kNone = 0x00,
+ kOtherUnknown = 0x01,
+ kTemperaturemonitoring = 0x02,
+ kOpticalLuminanceMonitoringAndFeedback = 0x03,
+ kOpticalColorMonitoringAndFeedback = 0x04,
+ // All received enum values that are not listed above will be mapped
+ // to kUnknownEnumValue. This is a helper enum value that should only
+ // be used by code to process how it handles receiving and unknown
+ // enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 5,
+};
+
+// Enum for EnhancedColorModeEnum
+enum class EnhancedColorModeEnum : uint8_t
+{
+ kCurrentHueAndCurrentSaturation = 0x00,
+ kCurrentXAndCurrentY = 0x01,
+ kColorTemperature = 0x02,
+ kEnhancedCurrentHueAndCurrentSaturation = 0x03,
+ // All received enum values that are not listed above will be mapped
+ // to kUnknownEnumValue. This is a helper enum value that should only
+ // be used by code to process how it handles receiving and unknown
+ // enum value. This specific should never be transmitted.
+ kUnknownEnumValue = 4,
+};
+
// Enum for HueDirection
enum class HueDirection : uint8_t
{
@@ -4030,6 +4059,12 @@ enum class Feature : uint32_t
kXy = 0x8,
kColorTemperature = 0x10,
};
+
+// Bitmap for OptionsBitmap
+enum class OptionsBitmap : uint8_t
+{
+ kExecuteIfOff = 0x1,
+};
} // namespace ColorControl
namespace BallastConfiguration {
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
index 89c36f3c6f147d..4572307f86b925 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
@@ -31022,9 +31022,9 @@ struct TypeInfo
namespace DriftCompensation {
struct TypeInfo
{
- using Type = uint8_t;
- using DecodableType = uint8_t;
- using DecodableArgType = uint8_t;
+ using Type = chip::app::Clusters::ColorControl::DriftCompensationEnum;
+ using DecodableType = chip::app::Clusters::ColorControl::DriftCompensationEnum;
+ using DecodableArgType = chip::app::Clusters::ColorControl::DriftCompensationEnum;
static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; }
static constexpr AttributeId GetAttributeId() { return Attributes::DriftCompensation::Id; }
@@ -31071,9 +31071,9 @@ struct TypeInfo
namespace Options {
struct TypeInfo
{
- using Type = uint8_t;
- using DecodableType = uint8_t;
- using DecodableArgType = uint8_t;
+ using Type = chip::BitMask;
+ using DecodableType = chip::BitMask;
+ using DecodableArgType = chip::BitMask;
static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; }
static constexpr AttributeId GetAttributeId() { return Attributes::Options::Id; }
@@ -31455,9 +31455,9 @@ struct TypeInfo
namespace EnhancedColorMode {
struct TypeInfo
{
- using Type = uint8_t;
- using DecodableType = uint8_t;
- using DecodableArgType = uint8_t;
+ using Type = chip::app::Clusters::ColorControl::EnhancedColorModeEnum;
+ using DecodableType = chip::app::Clusters::ColorControl::EnhancedColorModeEnum;
+ using DecodableArgType = chip::app::Clusters::ColorControl::EnhancedColorModeEnum;
static constexpr ClusterId GetClusterId() { return Clusters::ColorControl::Id; }
static constexpr AttributeId GetAttributeId() { return Attributes::EnhancedColorMode::Id; }
@@ -31634,11 +31634,13 @@ struct TypeInfo
Attributes::RemainingTime::TypeInfo::DecodableType remainingTime = static_cast(0);
Attributes::CurrentX::TypeInfo::DecodableType currentX = static_cast(0);
Attributes::CurrentY::TypeInfo::DecodableType currentY = static_cast(0);
- Attributes::DriftCompensation::TypeInfo::DecodableType driftCompensation = static_cast(0);
+ Attributes::DriftCompensation::TypeInfo::DecodableType driftCompensation =
+ static_cast(0);
Attributes::CompensationText::TypeInfo::DecodableType compensationText;
Attributes::ColorTemperatureMireds::TypeInfo::DecodableType colorTemperatureMireds = static_cast(0);
Attributes::ColorMode::TypeInfo::DecodableType colorMode = static_cast(0);
- Attributes::Options::TypeInfo::DecodableType options = static_cast(0);
+ Attributes::Options::TypeInfo::DecodableType options =
+ static_cast>(0);
Attributes::NumberOfPrimaries::TypeInfo::DecodableType numberOfPrimaries;
Attributes::Primary1X::TypeInfo::DecodableType primary1X = static_cast(0);
Attributes::Primary1Y::TypeInfo::DecodableType primary1Y = static_cast(0);
@@ -31669,8 +31671,9 @@ struct TypeInfo
Attributes::ColorPointBX::TypeInfo::DecodableType colorPointBX = static_cast(0);
Attributes::ColorPointBY::TypeInfo::DecodableType colorPointBY = static_cast(0);
Attributes::ColorPointBIntensity::TypeInfo::DecodableType colorPointBIntensity;
- Attributes::EnhancedCurrentHue::TypeInfo::DecodableType enhancedCurrentHue = static_cast(0);
- Attributes::EnhancedColorMode::TypeInfo::DecodableType enhancedColorMode = static_cast(0);
+ Attributes::EnhancedCurrentHue::TypeInfo::DecodableType enhancedCurrentHue = static_cast(0);
+ Attributes::EnhancedColorMode::TypeInfo::DecodableType enhancedColorMode =
+ static_cast(0);
Attributes::ColorLoopActive::TypeInfo::DecodableType colorLoopActive = static_cast(0);
Attributes::ColorLoopDirection::TypeInfo::DecodableType colorLoopDirection = static_cast(0);
Attributes::ColorLoopTime::TypeInfo::DecodableType colorLoopTime = static_cast(0);
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
index 8a3081edc0dc1b..517c19ded4b4c4 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
+++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
@@ -22604,16 +22604,17 @@ void registerClusterColorControl(Commands & commands, CredentialIssuerCommands *
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique>(Id, "current-y", 0, UINT16_MAX, Attributes::CurrentY::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
- make_unique>(Id, "drift-compensation", 0, UINT8_MAX, Attributes::DriftCompensation::Id,
- WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique>(
+ Id, "drift-compensation", 0, UINT8_MAX, Attributes::DriftCompensation::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
make_unique>(Id, "compensation-text", Attributes::CompensationText::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique>(Id, "color-temperature-mireds", 0, UINT16_MAX, Attributes::ColorTemperatureMireds::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique>(Id, "color-mode", 0, UINT8_MAX, Attributes::ColorMode::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
- make_unique>(Id, "options", 0, UINT8_MAX, Attributes::Options::Id, WriteCommandType::kWrite,
- credsIssuerConfig), //
+ make_unique>>(
+ Id, "options", 0, UINT8_MAX, Attributes::Options::Id, WriteCommandType::kWrite, credsIssuerConfig), //
make_unique>>(Id, "number-of-primaries", 0, UINT8_MAX,
Attributes::NumberOfPrimaries::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
@@ -22686,8 +22687,9 @@ void registerClusterColorControl(Commands & commands, CredentialIssuerCommands *
WriteCommandType::kWrite, credsIssuerConfig), //
make_unique>(Id, "enhanced-current-hue", 0, UINT16_MAX, Attributes::EnhancedCurrentHue::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
- make_unique>(Id, "enhanced-color-mode", 0, UINT8_MAX, Attributes::EnhancedColorMode::Id,
- WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique>(
+ Id, "enhanced-color-mode", 0, UINT8_MAX, Attributes::EnhancedColorMode::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
make_unique>(Id, "color-loop-active", 0, UINT8_MAX, Attributes::ColorLoopActive::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique>(Id, "color-loop-direction", 0, UINT8_MAX, Attributes::ColorLoopDirection::Id,
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
index fde5089bab8a7c..f23efb3b4df590 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
+++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
@@ -14400,7 +14400,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP
return DataModelLogger::LogValue("CurrentY", 1, value);
}
case ColorControl::Attributes::DriftCompensation::Id: {
- uint8_t value;
+ chip::app::Clusters::ColorControl::DriftCompensationEnum value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("DriftCompensation", 1, value);
}
@@ -14420,7 +14420,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP
return DataModelLogger::LogValue("ColorMode", 1, value);
}
case ColorControl::Attributes::Options::Id: {
- uint8_t value;
+ chip::BitMask value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("Options", 1, value);
}
@@ -14580,7 +14580,7 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP
return DataModelLogger::LogValue("EnhancedCurrentHue", 1, value);
}
case ColorControl::Attributes::EnhancedColorMode::Id: {
- uint8_t value;
+ chip::app::Clusters::ColorControl::EnhancedColorModeEnum value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("EnhancedColorMode", 1, value);
}