diff --git a/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter b/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter
index 4607a5f5f21274..138e828cab9564 100644
--- a/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter
+++ b/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter
@@ -1127,8 +1127,8 @@ provisional server cluster FanControl = 514 {
kOffLowHigh = 1;
kOffLowMedHighAuto = 2;
kOffLowHighAuto = 3;
- kOffOnAuto = 4;
- kOffOn = 5;
+ kOffHighAuto = 4;
+ kOffHigh = 5;
}
enum StepDirectionEnum : enum8 {
@@ -1157,7 +1157,7 @@ provisional server cluster FanControl = 514 {
}
attribute FanModeEnum fanMode = 0;
- attribute FanModeSequenceEnum fanModeSequence = 1;
+ readonly attribute FanModeSequenceEnum fanModeSequence = 1;
attribute nullable percent percentSetting = 2;
readonly attribute percent percentCurrent = 3;
readonly attribute int8u speedMax = 4;
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 7437c22e34ea5a..191a87a0088dc2 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
@@ -3705,8 +3705,8 @@ provisional server cluster FanControl = 514 {
kOffLowHigh = 1;
kOffLowMedHighAuto = 2;
kOffLowHighAuto = 3;
- kOffOnAuto = 4;
- kOffOn = 5;
+ kOffHighAuto = 4;
+ kOffHigh = 5;
}
enum StepDirectionEnum : enum8 {
@@ -3735,7 +3735,7 @@ provisional server cluster FanControl = 514 {
}
attribute FanModeEnum fanMode = 0;
- attribute FanModeSequenceEnum fanModeSequence = 1;
+ readonly attribute FanModeSequenceEnum fanModeSequence = 1;
attribute nullable percent percentSetting = 2;
readonly attribute percent percentCurrent = 3;
readonly attribute int8u speedMax = 4;
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 910b0f8ad577af..d4c6725bd0f594 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
@@ -2864,8 +2864,8 @@ provisional server cluster FanControl = 514 {
kOffLowHigh = 1;
kOffLowMedHighAuto = 2;
kOffLowHighAuto = 3;
- kOffOnAuto = 4;
- kOffOn = 5;
+ kOffHighAuto = 4;
+ kOffHigh = 5;
}
enum StepDirectionEnum : enum8 {
@@ -2894,7 +2894,7 @@ provisional server cluster FanControl = 514 {
}
attribute FanModeEnum fanMode = 0;
- attribute FanModeSequenceEnum fanModeSequence = 1;
+ readonly attribute FanModeSequenceEnum fanModeSequence = 1;
attribute nullable percent percentSetting = 2;
readonly attribute percent percentCurrent = 3;
readonly attribute command_id generatedCommandList[] = 65528;
diff --git a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter
index a44002cc3ca5e6..64dfad6fc4efa2 100644
--- a/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter
+++ b/examples/chef/devices/rootnode_airpurifier_airqualitysensor_temperaturesensor_humiditysensor_thermostat_56de3d5f45.matter
@@ -1127,8 +1127,8 @@ provisional server cluster FanControl = 514 {
kOffLowHigh = 1;
kOffLowMedHighAuto = 2;
kOffLowHighAuto = 3;
- kOffOnAuto = 4;
- kOffOn = 5;
+ kOffHighAuto = 4;
+ kOffHigh = 5;
}
enum StepDirectionEnum : enum8 {
@@ -1157,7 +1157,7 @@ provisional server cluster FanControl = 514 {
}
attribute FanModeEnum fanMode = 0;
- attribute FanModeSequenceEnum fanModeSequence = 1;
+ readonly attribute FanModeSequenceEnum fanModeSequence = 1;
attribute nullable percent percentSetting = 2;
readonly attribute percent percentCurrent = 3;
readonly attribute int8u speedMax = 4;
diff --git a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
index d28225d0a51408..131960ba6c3e09 100644
--- a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
+++ b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
@@ -1178,8 +1178,8 @@ provisional server cluster FanControl = 514 {
kOffLowHigh = 1;
kOffLowMedHighAuto = 2;
kOffLowHighAuto = 3;
- kOffOnAuto = 4;
- kOffOn = 5;
+ kOffHighAuto = 4;
+ kOffHigh = 5;
}
enum StepDirectionEnum : enum8 {
@@ -1208,7 +1208,7 @@ provisional server cluster FanControl = 514 {
}
attribute FanModeEnum fanMode = 0;
- attribute FanModeSequenceEnum fanModeSequence = 1;
+ readonly attribute FanModeSequenceEnum fanModeSequence = 1;
attribute nullable percent percentSetting = 2;
readonly attribute percent percentCurrent = 3;
readonly attribute int8u speedMax = 4;
diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
index 054b0988bac2bc..ed6f00e760d666 100644
--- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
+++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
@@ -1493,8 +1493,8 @@ provisional server cluster FanControl = 514 {
kOffLowHigh = 1;
kOffLowMedHighAuto = 2;
kOffLowHighAuto = 3;
- kOffOnAuto = 4;
- kOffOn = 5;
+ kOffHighAuto = 4;
+ kOffHigh = 5;
}
enum StepDirectionEnum : enum8 {
@@ -1523,7 +1523,7 @@ provisional server cluster FanControl = 514 {
}
attribute FanModeEnum fanMode = 0;
- attribute FanModeSequenceEnum fanModeSequence = 1;
+ readonly attribute FanModeSequenceEnum fanModeSequence = 1;
attribute nullable percent percentSetting = 2;
readonly attribute percent percentCurrent = 3;
readonly attribute int8u speedMax = 4;
diff --git a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
index c46fb0d0f25c15..f4e280c1938122 100644
--- a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
+++ b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
@@ -1059,8 +1059,8 @@ provisional server cluster FanControl = 514 {
kOffLowHigh = 1;
kOffLowMedHighAuto = 2;
kOffLowHighAuto = 3;
- kOffOnAuto = 4;
- kOffOn = 5;
+ kOffHighAuto = 4;
+ kOffHigh = 5;
}
enum StepDirectionEnum : enum8 {
@@ -1089,7 +1089,7 @@ provisional server cluster FanControl = 514 {
}
attribute FanModeEnum fanMode = 0;
- attribute FanModeSequenceEnum fanModeSequence = 1;
+ readonly attribute FanModeSequenceEnum fanModeSequence = 1;
attribute nullable percent percentSetting = 2;
readonly attribute percent percentCurrent = 3;
readonly attribute command_id generatedCommandList[] = 65528;
diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
index 0b17bf5ad17a8d..8888d71c315223 100644
--- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
+++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
@@ -1300,8 +1300,8 @@ provisional client cluster FanControl = 514 {
kOffLowHigh = 1;
kOffLowMedHighAuto = 2;
kOffLowHighAuto = 3;
- kOffOnAuto = 4;
- kOffOn = 5;
+ kOffHighAuto = 4;
+ kOffHigh = 5;
}
enum StepDirectionEnum : enum8 {
@@ -1330,7 +1330,7 @@ provisional client cluster FanControl = 514 {
}
attribute FanModeEnum fanMode = 0;
- attribute FanModeSequenceEnum fanModeSequence = 1;
+ readonly attribute FanModeSequenceEnum fanModeSequence = 1;
attribute nullable percent percentSetting = 2;
readonly attribute percent percentCurrent = 3;
readonly attribute optional int8u speedMax = 4;
diff --git a/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter b/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter
index aae55a1f554bbf..c60a06bc035d09 100644
--- a/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter
+++ b/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter
@@ -1618,8 +1618,8 @@ provisional server cluster FanControl = 514 {
kOffLowHigh = 1;
kOffLowMedHighAuto = 2;
kOffLowHighAuto = 3;
- kOffOnAuto = 4;
- kOffOn = 5;
+ kOffHighAuto = 4;
+ kOffHigh = 5;
}
enum StepDirectionEnum : enum8 {
@@ -1648,7 +1648,7 @@ provisional server cluster FanControl = 514 {
}
attribute FanModeEnum fanMode = 0;
- attribute FanModeSequenceEnum fanModeSequence = 1;
+ readonly attribute FanModeSequenceEnum fanModeSequence = 1;
attribute nullable percent percentSetting = 2;
readonly attribute percent percentCurrent = 3;
readonly attribute command_id generatedCommandList[] = 65528;
diff --git a/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/endpoint_config.h b/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/endpoint_config.h
index 9e9cc203615f23..cc5ff6c06f8d17 100644
--- a/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/endpoint_config.h
+++ b/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/endpoint_config.h
@@ -269,7 +269,7 @@
#define GENERATED_DEFAULTS_COUNT (32)
// This is an array of EmberAfAttributeMinMaxValue structures.
-#define GENERATED_MIN_MAX_DEFAULT_COUNT 47
+#define GENERATED_MIN_MAX_DEFAULT_COUNT 46
#define GENERATED_MIN_MAX_DEFAULTS \
{ \
\
@@ -317,7 +317,6 @@
\
/* Endpoint: 1, Cluster: Fan Control (server) */ \
{ (uint16_t) 0x0, (uint16_t) 0x0, (uint16_t) 0x6 }, /* FanMode */ \
- { (uint16_t) 0x2, (uint16_t) 0x0, (uint16_t) 0x5 }, /* FanModeSequence */ \
{ (uint16_t) 0x0, (uint16_t) 0x0, (uint16_t) 0x64 }, /* PercentSetting */ \
{ (uint16_t) 0x0, (uint16_t) 0x0, (uint16_t) 0x64 }, /* SpeedSetting */ \
\
@@ -1037,14 +1036,13 @@
\
/* Endpoint: 1, Cluster: Fan Control (server) */ \
{ ZAP_MIN_MAX_DEFAULTS_INDEX(22), 0x00000000, 1, ZAP_TYPE(ENUM8), \
- ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* FanMode */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(23), 0x00000001, 1, ZAP_TYPE(ENUM8), \
- ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* FanModeSequence */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(24), 0x00000002, 1, ZAP_TYPE(PERCENT), \
+ ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* FanMode */ \
+ { ZAP_SIMPLE_DEFAULT(0x02), 0x00000001, 1, ZAP_TYPE(ENUM8), 0 }, /* FanModeSequence */ \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(23), 0x00000002, 1, ZAP_TYPE(PERCENT), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* PercentSetting */ \
{ ZAP_SIMPLE_DEFAULT(0x00), 0x00000003, 1, ZAP_TYPE(PERCENT), 0 }, /* PercentCurrent */ \
{ ZAP_SIMPLE_DEFAULT(100), 0x00000004, 1, ZAP_TYPE(INT8U), 0 }, /* SpeedMax */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(25), 0x00000005, 1, ZAP_TYPE(INT8U), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(24), 0x00000005, 1, ZAP_TYPE(INT8U), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* SpeedSetting */ \
{ ZAP_SIMPLE_DEFAULT(0x00), 0x00000006, 1, ZAP_TYPE(INT8U), 0 }, /* SpeedCurrent */ \
{ ZAP_SIMPLE_DEFAULT(0x00), 0x00000007, 1, ZAP_TYPE(BITMAP8), 0 }, /* RockSupport */ \
@@ -1055,11 +1053,11 @@
{ ZAP_SIMPLE_DEFAULT(2), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: Thermostat User Interface Configuration (server) */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(26), 0x00000000, 1, ZAP_TYPE(ENUM8), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(25), 0x00000000, 1, ZAP_TYPE(ENUM8), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* TemperatureDisplayMode */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(27), 0x00000001, 1, ZAP_TYPE(ENUM8), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(26), 0x00000001, 1, ZAP_TYPE(ENUM8), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* KeypadLockout */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(28), 0x00000002, 1, ZAP_TYPE(ENUM8), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(27), 0x00000002, 1, ZAP_TYPE(ENUM8), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ScheduleProgrammingVisibility */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(2), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
@@ -1094,25 +1092,25 @@
{ ZAP_EMPTY_DEFAULT(), 0x00000028, 2, ZAP_TYPE(INT16U), 0 }, /* Primary6X */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000029, 2, ZAP_TYPE(INT16U), 0 }, /* Primary6Y */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000002A, 1, ZAP_TYPE(INT8U), ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* Primary6Intensity */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(29), 0x00000030, 2, ZAP_TYPE(INT16U), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(28), 0x00000030, 2, ZAP_TYPE(INT16U), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* WhitePointX */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(30), 0x00000031, 2, ZAP_TYPE(INT16U), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(29), 0x00000031, 2, ZAP_TYPE(INT16U), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* WhitePointY */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(31), 0x00000032, 2, ZAP_TYPE(INT16U), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(30), 0x00000032, 2, ZAP_TYPE(INT16U), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ColorPointRX */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(32), 0x00000033, 2, ZAP_TYPE(INT16U), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(31), 0x00000033, 2, ZAP_TYPE(INT16U), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ColorPointRY */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000034, 1, ZAP_TYPE(INT8U), \
ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* ColorPointRIntensity */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(33), 0x00000036, 2, ZAP_TYPE(INT16U), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(32), 0x00000036, 2, ZAP_TYPE(INT16U), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ColorPointGX */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(34), 0x00000037, 2, ZAP_TYPE(INT16U), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(33), 0x00000037, 2, ZAP_TYPE(INT16U), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ColorPointGY */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000038, 1, ZAP_TYPE(INT8U), \
ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* ColorPointGIntensity */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(35), 0x0000003A, 2, ZAP_TYPE(INT16U), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(34), 0x0000003A, 2, ZAP_TYPE(INT16U), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ColorPointBX */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(36), 0x0000003B, 2, ZAP_TYPE(INT16U), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(35), 0x0000003B, 2, ZAP_TYPE(INT16U), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* ColorPointBY */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000003C, 1, ZAP_TYPE(INT8U), \
ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* ColorPointBIntensity */ \
@@ -1127,7 +1125,7 @@
{ ZAP_SIMPLE_DEFAULT(0x0000), 0x0000400B, 2, ZAP_TYPE(INT16U), 0 }, /* ColorTempPhysicalMinMireds */ \
{ ZAP_SIMPLE_DEFAULT(0xFEFF), 0x0000400C, 2, ZAP_TYPE(INT16U), 0 }, /* ColorTempPhysicalMaxMireds */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000400D, 2, ZAP_TYPE(INT16U), 0 }, /* CoupleColorTempToLevelMinMireds */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(37), 0x00004010, 2, ZAP_TYPE(INT16U), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(36), 0x00004010, 2, ZAP_TYPE(INT16U), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | \
ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* StartUpColorTemperatureMireds */ \
{ ZAP_SIMPLE_DEFAULT(0x1F), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
@@ -1317,13 +1315,13 @@
{ ZAP_EMPTY_DEFAULT(), 0x00000024, 1, ZAP_TYPE(ENUM8), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* enum_attr */ \
{ ZAP_EMPTY_DEFAULT(), 0x00000025, 0, ZAP_TYPE(STRUCT), \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* struct_attr */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(38), 0x00000026, 1, ZAP_TYPE(INT8U), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(37), 0x00000026, 1, ZAP_TYPE(INT8U), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* range_restricted_int8u */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(39), 0x00000027, 1, ZAP_TYPE(INT8S), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(38), 0x00000027, 1, ZAP_TYPE(INT8S), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* range_restricted_int8s */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(40), 0x00000028, 2, ZAP_TYPE(INT16U), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(39), 0x00000028, 2, ZAP_TYPE(INT16U), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* range_restricted_int16u */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(41), 0x00000029, 2, ZAP_TYPE(INT16S), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(40), 0x00000029, 2, ZAP_TYPE(INT16S), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* range_restricted_int16s */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000002A, 0, ZAP_TYPE(ARRAY), \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* list_long_octet_string */ \
@@ -1394,16 +1392,16 @@
{ ZAP_EMPTY_DEFAULT(), 0x00004025, 0, ZAP_TYPE(STRUCT), \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE) | \
ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* nullable_struct */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(42), 0x00004026, 1, ZAP_TYPE(INT8U), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(41), 0x00004026, 1, ZAP_TYPE(INT8U), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | \
ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* nullable_range_restricted_int8u */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(43), 0x00004027, 1, ZAP_TYPE(INT8S), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(42), 0x00004027, 1, ZAP_TYPE(INT8S), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | \
ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* nullable_range_restricted_int8s */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(44), 0x00004028, 2, ZAP_TYPE(INT16U), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(43), 0x00004028, 2, ZAP_TYPE(INT16U), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | \
ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* nullable_range_restricted_int16u */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(45), 0x00004029, 2, ZAP_TYPE(INT16S), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(44), 0x00004029, 2, ZAP_TYPE(INT16S), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | \
ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* nullable_range_restricted_int16s */ \
{ ZAP_EMPTY_DEFAULT(), 0x0000402A, 1, ZAP_TYPE(INT8U), \
@@ -1438,7 +1436,7 @@
{ ZAP_SIMPLE_DEFAULT(1), 0x00004000, 1, ZAP_TYPE(BOOLEAN), 0 }, /* GlobalSceneControl */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x00004001, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* OnTime */ \
{ ZAP_SIMPLE_DEFAULT(0), 0x00004002, 2, ZAP_TYPE(INT16U), ZAP_ATTRIBUTE_MASK(WRITABLE) }, /* OffWaitTime */ \
- { ZAP_MIN_MAX_DEFAULTS_INDEX(46), 0x00004003, 1, ZAP_TYPE(ENUM8), \
+ { ZAP_MIN_MAX_DEFAULTS_INDEX(45), 0x00004003, 1, ZAP_TYPE(ENUM8), \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(WRITABLE) | ZAP_ATTRIBUTE_MASK(NULLABLE) }, /* StartUpOnOff */ \
{ ZAP_SIMPLE_DEFAULT(0x0000), 0x0000FFFC, 4, ZAP_TYPE(BITMAP32), 0 }, /* FeatureMap */ \
{ ZAP_SIMPLE_DEFAULT(5), 0x0000FFFD, 2, ZAP_TYPE(INT16U), 0 }, /* ClusterRevision */ \
diff --git a/src/app/common/templates/config-data.yaml b/src/app/common/templates/config-data.yaml
index 60fc765d26f403..1665fdbbfbee06 100644
--- a/src/app/common/templates/config-data.yaml
+++ b/src/app/common/templates/config-data.yaml
@@ -2,6 +2,7 @@ DarwinForceWritable:
# Work-around for not allowing changes from writable to read-only
# happened in https://github.com/project-chip/connectedhomeip/pull/30134
- ApplicationLauncher::CurrentApp
+ - FanControl::FanModeSequence
WeakEnums:
# Allow-list of enums that we generate as enums, not enum classes.
diff --git a/src/app/tests/suites/TestFanControl.yaml b/src/app/tests/suites/TestFanControl.yaml
index b27fa4d143e546..92fca4f2a6e253 100644
--- a/src/app/tests/suites/TestFanControl.yaml
+++ b/src/app/tests/suites/TestFanControl.yaml
@@ -40,18 +40,6 @@ tests:
response:
value: 3
- - label: "Write fan mode sequence"
- command: "writeAttribute"
- attribute: "FanModeSequence"
- arguments:
- value: 5
-
- - label: "Read back fan mode sequence"
- command: "readAttribute"
- attribute: "FanModeSequence"
- response:
- value: 5
-
- label: "Write percent setting"
command: "writeAttribute"
attribute: "PercentSetting"
diff --git a/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml
index 3c30d960f18fe7..ad6279b2ef65e2 100644
--- a/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/fan-control-cluster.xml
@@ -44,8 +44,8 @@ limitations under the License.
-
-
+
+
@@ -86,7 +86,7 @@ limitations under the License.
FanMode
- FanModeSequence
+ FanModeSequence
PercentSetting
PercentCurrent
SpeedMax
@@ -104,6 +104,5 @@ limitations under the License.
-
diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter
index 68fd1dfab60d30..c1e182aec384aa 100644
--- a/src/controller/data_model/controller-clusters.matter
+++ b/src/controller/data_model/controller-clusters.matter
@@ -4761,8 +4761,8 @@ provisional client cluster FanControl = 514 {
kOffLowHigh = 1;
kOffLowMedHighAuto = 2;
kOffLowHighAuto = 3;
- kOffOnAuto = 4;
- kOffOn = 5;
+ kOffHighAuto = 4;
+ kOffHigh = 5;
}
enum StepDirectionEnum : enum8 {
@@ -4791,7 +4791,7 @@ provisional client cluster FanControl = 514 {
}
attribute FanModeEnum fanMode = 0;
- attribute FanModeSequenceEnum fanModeSequence = 1;
+ readonly attribute FanModeSequenceEnum fanModeSequence = 1;
attribute nullable percent percentSetting = 2;
readonly attribute percent percentCurrent = 3;
readonly attribute optional int8u speedMax = 4;
diff --git a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java
index f328b90d5462ff..04f8ae801534e4 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java
@@ -18802,14 +18802,6 @@ public void readFanModeSequenceAttribute(
readFanModeSequenceAttribute(chipClusterPtr, callback);
}
- public void writeFanModeSequenceAttribute(DefaultClusterCallback callback, Integer value) {
- writeFanModeSequenceAttribute(chipClusterPtr, callback, value, null);
- }
-
- public void writeFanModeSequenceAttribute(DefaultClusterCallback callback, Integer value, int timedWriteTimeoutMs) {
- writeFanModeSequenceAttribute(chipClusterPtr, callback, value, timedWriteTimeoutMs);
- }
-
public void subscribeFanModeSequenceAttribute(
IntegerAttributeCallback callback, int minInterval, int maxInterval) {
subscribeFanModeSequenceAttribute(chipClusterPtr, callback, minInterval, maxInterval);
@@ -19023,8 +19015,6 @@ public void subscribeClusterRevisionAttribute(
private native void readFanModeSequenceAttribute(long chipClusterPtr, IntegerAttributeCallback callback);
- private native void writeFanModeSequenceAttribute(long chipClusterPtr, DefaultClusterCallback callback, Integer value, @Nullable Integer timedWriteTimeoutMs);
-
private native void subscribeFanModeSequenceAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval);
private native void readPercentSettingAttribute(long chipClusterPtr, PercentSettingAttributeCallback callback);
diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterWriteMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterWriteMapping.java
index d5c91e3844ec35..1e52b8f08c49a0 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ClusterWriteMapping.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterWriteMapping.java
@@ -2355,28 +2355,6 @@ public Map> getWriteAttributeMap() {
writeFanControlFanModeCommandParams
);
writeFanControlInteractionInfo.put("writeFanModeAttribute", writeFanControlFanModeAttributeInteractionInfo);
- Map writeFanControlFanModeSequenceCommandParams = new LinkedHashMap();
- CommandParameterInfo fanControlfanModeSequenceCommandParameterInfo =
- new CommandParameterInfo(
- "value",
- Integer.class,
- Integer.class
- );
- writeFanControlFanModeSequenceCommandParams.put(
- "value",
- fanControlfanModeSequenceCommandParameterInfo
- );
- InteractionInfo writeFanControlFanModeSequenceAttributeInteractionInfo = new InteractionInfo(
- (cluster, callback, commandArguments) -> {
- ((ChipClusters.FanControlCluster) cluster).writeFanModeSequenceAttribute(
- (DefaultClusterCallback) callback,
- (Integer) commandArguments.get("value")
- );
- },
- () -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(),
- writeFanControlFanModeSequenceCommandParams
- );
- writeFanControlInteractionInfo.put("writeFanModeSequenceAttribute", writeFanControlFanModeSequenceAttributeInteractionInfo);
Map writeFanControlPercentSettingCommandParams = new LinkedHashMap();
CommandParameterInfo fanControlpercentSettingCommandParameterInfo =
new CommandParameterInfo(
diff --git a/src/controller/java/generated/java/matter/devicecontroller/cluster/clusters/FanControlCluster.kt b/src/controller/java/generated/java/matter/devicecontroller/cluster/clusters/FanControlCluster.kt
index 4c33486d894df4..178dde9600faad 100644
--- a/src/controller/java/generated/java/matter/devicecontroller/cluster/clusters/FanControlCluster.kt
+++ b/src/controller/java/generated/java/matter/devicecontroller/cluster/clusters/FanControlCluster.kt
@@ -68,14 +68,6 @@ class FanControlCluster(private val controller: MatterController, private val en
// Implementation needs to be added here
}
- suspend fun writeFanModeSequenceAttribute(value: UInt, timedWriteTimeoutMs: Int? = null) {
- if (timedWriteTimeoutMs != null) {
- // Do the action with timedWriteTimeoutMs
- } else {
- // Do the action without timedWriteTimeoutMs
- }
- }
-
suspend fun subscribeFanModeSequenceAttribute(minInterval: Int, maxInterval: Int): UByte {
// Implementation needs to be added here
}
diff --git a/src/controller/java/zap-generated/CHIPClustersWrite-JNI.cpp b/src/controller/java/zap-generated/CHIPClustersWrite-JNI.cpp
index 00009ac07695a1..77703a5afb7059 100644
--- a/src/controller/java/zap-generated/CHIPClustersWrite-JNI.cpp
+++ b/src/controller/java/zap-generated/CHIPClustersWrite-JNI.cpp
@@ -6108,58 +6108,6 @@ JNI_METHOD(void, FanControlCluster, writeFanModeAttribute)
onFailure.release();
}
-JNI_METHOD(void, FanControlCluster, writeFanModeSequenceAttribute)
-(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jobject value, jobject timedWriteTimeoutMs)
-{
- chip::DeviceLayer::StackLock lock;
- ListFreer listFreer;
- using TypeInfo = chip::app::Clusters::FanControl::Attributes::FanModeSequence::TypeInfo;
- TypeInfo::Type cppValue;
-
- std::vector> cleanupByteArrays;
- std::vector> cleanupStrings;
-
- cppValue =
- static_cast>(chip::JniReferences::GetInstance().IntegerToPrimitive(value));
-
- std::unique_ptr onSuccess(
- Platform::New(callback), Platform::Delete);
- VerifyOrReturn(onSuccess.get() != nullptr,
- chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
- env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
-
- std::unique_ptr onFailure(
- Platform::New(callback), Platform::Delete);
- VerifyOrReturn(onFailure.get() != nullptr,
- chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
- env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
-
- CHIP_ERROR err = CHIP_NO_ERROR;
- FanControlCluster * cppCluster = reinterpret_cast(clusterPtr);
- VerifyOrReturn(cppCluster != nullptr,
- chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
- env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
-
- auto successFn = chip::Callback::Callback::FromCancelable(onSuccess->Cancel());
- auto failureFn = chip::Callback::Callback::FromCancelable(onFailure->Cancel());
-
- if (timedWriteTimeoutMs == nullptr)
- {
- err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall);
- }
- else
- {
- err = cppCluster->WriteAttribute(cppValue, onSuccess->mContext, successFn->mCall, failureFn->mCall,
- chip::JniReferences::GetInstance().IntegerToPrimitive(timedWriteTimeoutMs));
- }
- VerifyOrReturn(
- err == CHIP_NO_ERROR,
- chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error writing attribute", err));
-
- onSuccess.release();
- onFailure.release();
-}
-
JNI_METHOD(void, FanControlCluster, writePercentSettingAttribute)
(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jobject value, jobject timedWriteTimeoutMs)
{
diff --git a/src/controller/python/chip/clusters/CHIPClusters.py b/src/controller/python/chip/clusters/CHIPClusters.py
index 81fc792cf066f5..ae930bb6cad987 100644
--- a/src/controller/python/chip/clusters/CHIPClusters.py
+++ b/src/controller/python/chip/clusters/CHIPClusters.py
@@ -7180,7 +7180,6 @@ class ChipClusters:
"attributeId": 0x00000001,
"type": "int",
"reportable": True,
- "writable": True,
},
0x00000002: {
"attributeName": "PercentSetting",
diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py
index eb73af290d3ac2..0eaff0e245e66e 100644
--- a/src/controller/python/chip/clusters/Objects.py
+++ b/src/controller/python/chip/clusters/Objects.py
@@ -25298,8 +25298,8 @@ class FanModeSequenceEnum(MatterIntEnum):
kOffLowHigh = 0x01
kOffLowMedHighAuto = 0x02
kOffLowHighAuto = 0x03
- kOffOnAuto = 0x04
- kOffOn = 0x05
+ kOffHighAuto = 0x04
+ kOffHigh = 0x05
# 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
diff --git a/src/darwin/Framework/CHIP/templates/availability.yaml b/src/darwin/Framework/CHIP/templates/availability.yaml
index 60cd3ac3dae78f..1603541e5de222 100644
--- a/src/darwin/Framework/CHIP/templates/availability.yaml
+++ b/src/darwin/Framework/CHIP/templates/availability.yaml
@@ -7751,6 +7751,11 @@
WiFiNetworkDiagnostics:
AssociationFailure:
- associationFailureCause
+ enum values:
+ FanControl:
+ FanModeSequenceEnum:
+ - OffHighAuto
+ - OffHigh
bitmaps:
Scenes:
- CopyModeBitmap
@@ -7777,6 +7782,11 @@
WiFiNetworkDiagnostics:
AssociationFailure:
- associationFailure
+ enum values:
+ FanControl:
+ FanModeSequenceEnum:
+ - OffOnAuto
+ - OffOn
bitmaps:
Scenes:
- ScenesCopyMode
@@ -7817,6 +7827,18 @@
WiFiNetworkDiagnostics:
AssociationFailure:
associationFailureCause: associationFailure
+ enum values:
+ FanControl:
+ FanModeSequenceEnum:
+ OffHighAuto: OffOnAuto
+ OffHigh: OffOn
+ # FanModeSequenceType is the old name of
+ # FanModeSequenceEnum; we need this rename annotation
+ # here so we don't lose the old values under that old
+ # name.
+ FanModeSequenceType:
+ OffHighAuto: OffOnAuto
+ OffHigh: OffOn
bitmaps:
Scenes:
CopyModeBitmap: ScenesCopyMode
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
index 22dcdd51f5c80c..8a7f4e880dec13 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
@@ -15839,8 +15839,14 @@ typedef NS_ENUM(uint8_t, MTRFanControlFanModeSequence) {
MTRFanControlFanModeSequenceOffLowHigh MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)) = 0x01,
MTRFanControlFanModeSequenceOffLowMedHighAuto MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)) = 0x02,
MTRFanControlFanModeSequenceOffLowHighAuto MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)) = 0x03,
- MTRFanControlFanModeSequenceOffOnAuto MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)) = 0x04,
- MTRFanControlFanModeSequenceOffOn MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)) = 0x05,
+ MTRFanControlFanModeSequenceOffHighAuto MTR_NEWLY_AVAILABLE = 0x04,
+ MTRFanControlFanModeSequenceOffOnAuto MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0))
+ MTR_NEWLY_DEPRECATED("Please use MTRFanControlFanModeSequenceOffHighAuto")
+ = 0x04,
+ MTRFanControlFanModeSequenceOffHigh MTR_NEWLY_AVAILABLE = 0x05,
+ MTRFanControlFanModeSequenceOffOn MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0))
+ MTR_NEWLY_DEPRECATED("Please use MTRFanControlFanModeSequenceOffHigh")
+ = 0x05,
} MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0));
typedef NS_ENUM(uint8_t, MTRFanControlFanModeSequenceType) {
@@ -15848,8 +15854,8 @@ typedef NS_ENUM(uint8_t, MTRFanControlFanModeSequenceType) {
MTRFanControlFanModeSequenceTypeOffLowHigh MTR_DEPRECATED("Please use MTRFanControlFanModeSequenceOffLowHigh", ios(16.1, 17.0), macos(13.0, 14.0), watchos(9.1, 10.0), tvos(16.1, 17.0)) = 0x01,
MTRFanControlFanModeSequenceTypeOffLowMedHighAuto MTR_DEPRECATED("Please use MTRFanControlFanModeSequenceOffLowMedHighAuto", ios(16.1, 17.0), macos(13.0, 14.0), watchos(9.1, 10.0), tvos(16.1, 17.0)) = 0x02,
MTRFanControlFanModeSequenceTypeOffLowHighAuto MTR_DEPRECATED("Please use MTRFanControlFanModeSequenceOffLowHighAuto", ios(16.1, 17.0), macos(13.0, 14.0), watchos(9.1, 10.0), tvos(16.1, 17.0)) = 0x03,
- MTRFanControlFanModeSequenceTypeOffOnAuto MTR_DEPRECATED("Please use MTRFanControlFanModeSequenceOffOnAuto", ios(16.1, 17.0), macos(13.0, 14.0), watchos(9.1, 10.0), tvos(16.1, 17.0)) = 0x04,
- MTRFanControlFanModeSequenceTypeOffOn MTR_DEPRECATED("Please use MTRFanControlFanModeSequenceOffOn", ios(16.1, 17.0), macos(13.0, 14.0), watchos(9.1, 10.0), tvos(16.1, 17.0)) = 0x05,
+ MTRFanControlFanModeSequenceTypeOffOnAuto MTR_DEPRECATED("Please use MTRFanControlFanModeSequenceOffHighAuto", ios(16.1, 17.0), macos(13.0, 14.0), watchos(9.1, 10.0), tvos(16.1, 17.0)) = 0x04,
+ MTRFanControlFanModeSequenceTypeOffOn MTR_DEPRECATED("Please use MTRFanControlFanModeSequenceOffHigh", ios(16.1, 17.0), macos(13.0, 14.0), watchos(9.1, 10.0), tvos(16.1, 17.0)) = 0x05,
} MTR_DEPRECATED("Please use MTRFanControlFanModeSequence", ios(16.1, 17.0), macos(13.0, 14.0), watchos(9.1, 10.0), tvos(16.1, 17.0));
typedef NS_ENUM(uint8_t, MTRFanControlStepDirection) {
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 efe20ce7a401a7..4e3c6d09cef847 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
@@ -1979,8 +1979,8 @@ static auto __attribute__((unused)) EnsureKnownEnumValue(FanControl::FanModeSequ
case EnumType::kOffLowHigh:
case EnumType::kOffLowMedHighAuto:
case EnumType::kOffLowHighAuto:
- case EnumType::kOffOnAuto:
- case EnumType::kOffOn:
+ case EnumType::kOffHighAuto:
+ case EnumType::kOffHigh:
return val;
default:
return static_cast(6);
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 559a735f499971..28cff087bcc9f1 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
@@ -2879,8 +2879,8 @@ enum class FanModeSequenceEnum : uint8_t
kOffLowHigh = 0x01,
kOffLowMedHighAuto = 0x02,
kOffLowHighAuto = 0x03,
- kOffOnAuto = 0x04,
- kOffOn = 0x05,
+ kOffHighAuto = 0x04,
+ kOffHigh = 0x05,
// 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
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
index 530b36936233da..50731135213eb3 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
+++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
@@ -17663,7 +17663,8 @@ void registerClusterFanControl(Commands & commands, CredentialIssuerCommands * c
make_unique>(
Id, "fan-mode", 0, UINT8_MAX, Attributes::FanMode::Id, WriteCommandType::kWrite, credsIssuerConfig), //
make_unique>(
- Id, "fan-mode-sequence", 0, UINT8_MAX, Attributes::FanModeSequence::Id, WriteCommandType::kWrite, credsIssuerConfig), //
+ Id, "fan-mode-sequence", 0, UINT8_MAX, Attributes::FanModeSequence::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
make_unique>>(
Id, "percent-setting", 0, UINT8_MAX, Attributes::PercentSetting::Id, WriteCommandType::kWrite, credsIssuerConfig), //
make_unique>(Id, "percent-current", 0, UINT8_MAX, Attributes::PercentCurrent::Id,
diff --git a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
index 960635d511d42a..ffabd5c6ba9a12 100644
--- a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
+++ b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
@@ -87490,47 +87490,6 @@ class ReadFanControlFanModeSequence : public ReadAttribute {
}
};
-class WriteFanControlFanModeSequence : public WriteAttribute {
-public:
- WriteFanControlFanModeSequence()
- : WriteAttribute("fan-mode-sequence")
- {
- AddArgument("attr-name", "fan-mode-sequence");
- AddArgument("attr-value", 0, UINT8_MAX, &mValue);
- WriteAttribute::AddArguments();
- }
-
- ~WriteFanControlFanModeSequence()
- {
- }
-
- CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override
- {
- constexpr chip::ClusterId clusterId = chip::app::Clusters::FanControl::Id;
- constexpr chip::AttributeId attributeId = chip::app::Clusters::FanControl::Attributes::FanModeSequence::Id;
-
- ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") WriteAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId);
- dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL);
- __auto_type * cluster = [[MTRBaseClusterFanControl alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue];
- __auto_type * params = [[MTRWriteParams alloc] init];
- params.timedWriteTimeout = mTimedInteractionTimeoutMs.HasValue() ? [NSNumber numberWithUnsignedShort:mTimedInteractionTimeoutMs.Value()] : nil;
- params.dataVersion = mDataVersion.HasValue() ? [NSNumber numberWithUnsignedInt:mDataVersion.Value()] : nil;
- NSNumber * _Nonnull value = [NSNumber numberWithUnsignedChar:mValue];
-
- [cluster writeAttributeFanModeSequenceWithValue:value params:params completion:^(NSError * _Nullable error) {
- if (error != nil) {
- LogNSError("FanControl FanModeSequence write Error", error);
- RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error);
- }
- SetCommandExitStatus(error);
- }];
- return CHIP_NO_ERROR;
- }
-
-private:
- uint8_t mValue;
-};
-
class SubscribeAttributeFanControlFanModeSequence : public SubscribeAttribute {
public:
SubscribeAttributeFanControlFanModeSequence()
@@ -158831,7 +158790,6 @@ void registerClusterFanControl(Commands & commands)
make_unique(), //
make_unique(), //
make_unique(), //
- make_unique(), //
make_unique(), //
make_unique(), //
make_unique(), //
diff --git a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
index 71266e224a1a6a..8613471b1d7068 100644
--- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
+++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
@@ -142225,92 +142225,84 @@ class TestFanControl : public TestCommandBridge {
err = TestReadBackFanMode_2();
break;
case 3:
- ChipLogProgress(chipTool, " ***** Test Step 3 : Write fan mode sequence\n");
- err = TestWriteFanModeSequence_3();
+ ChipLogProgress(chipTool, " ***** Test Step 3 : Write percent setting\n");
+ err = TestWritePercentSetting_3();
break;
case 4:
- ChipLogProgress(chipTool, " ***** Test Step 4 : Read back fan mode sequence\n");
- err = TestReadBackFanModeSequence_4();
+ ChipLogProgress(chipTool, " ***** Test Step 4 : Read back percent setting\n");
+ err = TestReadBackPercentSetting_4();
break;
case 5:
- ChipLogProgress(chipTool, " ***** Test Step 5 : Write percent setting\n");
- err = TestWritePercentSetting_5();
+ ChipLogProgress(chipTool, " ***** Test Step 5 : Read back speed setting\n");
+ err = TestReadBackSpeedSetting_5();
break;
case 6:
- ChipLogProgress(chipTool, " ***** Test Step 6 : Read back percent setting\n");
- err = TestReadBackPercentSetting_6();
+ ChipLogProgress(chipTool, " ***** Test Step 6 : Read back speed current\n");
+ err = TestReadBackSpeedCurrent_6();
break;
case 7:
- ChipLogProgress(chipTool, " ***** Test Step 7 : Read back speed setting\n");
- err = TestReadBackSpeedSetting_7();
+ ChipLogProgress(chipTool, " ***** Test Step 7 : Write percent setting\n");
+ err = TestWritePercentSetting_7();
break;
case 8:
- ChipLogProgress(chipTool, " ***** Test Step 8 : Read back speed current\n");
- err = TestReadBackSpeedCurrent_8();
+ ChipLogProgress(chipTool, " ***** Test Step 8 : Read back percent setting\n");
+ err = TestReadBackPercentSetting_8();
break;
case 9:
- ChipLogProgress(chipTool, " ***** Test Step 9 : Write percent setting\n");
- err = TestWritePercentSetting_9();
+ ChipLogProgress(chipTool, " ***** Test Step 9 : Write speed setting\n");
+ err = TestWriteSpeedSetting_9();
break;
case 10:
- ChipLogProgress(chipTool, " ***** Test Step 10 : Read back percent setting\n");
- err = TestReadBackPercentSetting_10();
+ ChipLogProgress(chipTool, " ***** Test Step 10 : Read back speed setting\n");
+ err = TestReadBackSpeedSetting_10();
break;
case 11:
- ChipLogProgress(chipTool, " ***** Test Step 11 : Write speed setting\n");
- err = TestWriteSpeedSetting_11();
+ ChipLogProgress(chipTool, " ***** Test Step 11 : Read back percent setting\n");
+ err = TestReadBackPercentSetting_11();
break;
case 12:
- ChipLogProgress(chipTool, " ***** Test Step 12 : Read back speed setting\n");
- err = TestReadBackSpeedSetting_12();
+ ChipLogProgress(chipTool, " ***** Test Step 12 : Read back percent current\n");
+ err = TestReadBackPercentCurrent_12();
break;
case 13:
- ChipLogProgress(chipTool, " ***** Test Step 13 : Read back percent setting\n");
- err = TestReadBackPercentSetting_13();
+ ChipLogProgress(chipTool, " ***** Test Step 13 : Write speed setting\n");
+ err = TestWriteSpeedSetting_13();
break;
case 14:
- ChipLogProgress(chipTool, " ***** Test Step 14 : Read back percent current\n");
- err = TestReadBackPercentCurrent_14();
+ ChipLogProgress(chipTool, " ***** Test Step 14 : Read back speed setting\n");
+ err = TestReadBackSpeedSetting_14();
break;
case 15:
- ChipLogProgress(chipTool, " ***** Test Step 15 : Write speed setting\n");
- err = TestWriteSpeedSetting_15();
+ ChipLogProgress(chipTool, " ***** Test Step 15 : Write fan mode\n");
+ err = TestWriteFanMode_15();
break;
case 16:
- ChipLogProgress(chipTool, " ***** Test Step 16 : Read back speed setting\n");
- err = TestReadBackSpeedSetting_16();
+ ChipLogProgress(chipTool, " ***** Test Step 16 : Read back percent setting\n");
+ err = TestReadBackPercentSetting_16();
break;
case 17:
- ChipLogProgress(chipTool, " ***** Test Step 17 : Write fan mode\n");
- err = TestWriteFanMode_17();
+ ChipLogProgress(chipTool, " ***** Test Step 17 : Read back percent current\n");
+ err = TestReadBackPercentCurrent_17();
break;
case 18:
- ChipLogProgress(chipTool, " ***** Test Step 18 : Read back percent setting\n");
- err = TestReadBackPercentSetting_18();
+ ChipLogProgress(chipTool, " ***** Test Step 18 : Read back speed setting\n");
+ err = TestReadBackSpeedSetting_18();
break;
case 19:
- ChipLogProgress(chipTool, " ***** Test Step 19 : Read back percent current\n");
- err = TestReadBackPercentCurrent_19();
+ ChipLogProgress(chipTool, " ***** Test Step 19 : Read back speed current\n");
+ err = TestReadBackSpeedCurrent_19();
break;
case 20:
- ChipLogProgress(chipTool, " ***** Test Step 20 : Read back speed setting\n");
- err = TestReadBackSpeedSetting_20();
+ ChipLogProgress(chipTool, " ***** Test Step 20 : Write fan mode\n");
+ err = TestWriteFanMode_20();
break;
case 21:
- ChipLogProgress(chipTool, " ***** Test Step 21 : Read back speed current\n");
- err = TestReadBackSpeedCurrent_21();
+ ChipLogProgress(chipTool, " ***** Test Step 21 : Read back percent setting\n");
+ err = TestReadBackPercentSetting_21();
break;
case 22:
- ChipLogProgress(chipTool, " ***** Test Step 22 : Write fan mode\n");
- err = TestWriteFanMode_22();
- break;
- case 23:
- ChipLogProgress(chipTool, " ***** Test Step 23 : Read back percent setting\n");
- err = TestReadBackPercentSetting_23();
- break;
- case 24:
- ChipLogProgress(chipTool, " ***** Test Step 24 : Read back speed setting\n");
- err = TestReadBackSpeedSetting_24();
+ ChipLogProgress(chipTool, " ***** Test Step 22 : Read back speed setting\n");
+ err = TestReadBackSpeedSetting_22();
break;
}
@@ -142392,12 +142384,6 @@ class TestFanControl : public TestCommandBridge {
case 22:
VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
break;
- case 23:
- VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
- break;
- case 24:
- VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
- break;
}
// Go on to the next test.
@@ -142408,7 +142394,7 @@ class TestFanControl : public TestCommandBridge {
private:
std::atomic_uint16_t mTestIndex;
- const uint16_t mTestCount = 25;
+ const uint16_t mTestCount = 23;
chip::Optional mNodeId;
chip::Optional mCluster;
@@ -142467,51 +142453,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestWriteFanModeSequence_3()
- {
-
- MTRBaseDevice * device = GetDevice("alpha");
- __auto_type * cluster = [[MTRBaseClusterFanControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
- VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
- id fanModeSequenceArgument;
- fanModeSequenceArgument =
- [NSNumber numberWithUnsignedChar:5U];
- [cluster writeAttributeFanModeSequenceWithValue:fanModeSequenceArgument completion:^(NSError * _Nullable err) {
- NSLog(@"Write fan mode sequence Error: %@", err);
-
- VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
- NextTest();
- }];
-
- return CHIP_NO_ERROR;
- }
-
- CHIP_ERROR TestReadBackFanModeSequence_4()
- {
-
- MTRBaseDevice * device = GetDevice("alpha");
- __auto_type * cluster = [[MTRBaseClusterFanControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
- VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
- [cluster readAttributeFanModeSequenceWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
- NSLog(@"Read back fan mode sequence Error: %@", err);
-
- VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
- {
- id actualValue = value;
- VerifyOrReturn(CheckValue("FanModeSequence", actualValue, 5U));
- }
-
- NextTest();
- }];
-
- return CHIP_NO_ERROR;
- }
-
- CHIP_ERROR TestWritePercentSetting_5()
+ CHIP_ERROR TestWritePercentSetting_3()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142532,7 +142474,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestReadBackPercentSetting_6()
+ CHIP_ERROR TestReadBackPercentSetting_4()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142556,7 +142498,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestReadBackSpeedSetting_7()
+ CHIP_ERROR TestReadBackSpeedSetting_5()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142580,7 +142522,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestReadBackSpeedCurrent_8()
+ CHIP_ERROR TestReadBackSpeedCurrent_6()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142603,7 +142545,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestWritePercentSetting_9()
+ CHIP_ERROR TestWritePercentSetting_7()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142623,7 +142565,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestReadBackPercentSetting_10()
+ CHIP_ERROR TestReadBackPercentSetting_8()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142647,7 +142589,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestWriteSpeedSetting_11()
+ CHIP_ERROR TestWriteSpeedSetting_9()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142668,7 +142610,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestReadBackSpeedSetting_12()
+ CHIP_ERROR TestReadBackSpeedSetting_10()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142692,7 +142634,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestReadBackPercentSetting_13()
+ CHIP_ERROR TestReadBackPercentSetting_11()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142716,7 +142658,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestReadBackPercentCurrent_14()
+ CHIP_ERROR TestReadBackPercentCurrent_12()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142739,7 +142681,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestWriteSpeedSetting_15()
+ CHIP_ERROR TestWriteSpeedSetting_13()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142759,7 +142701,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestReadBackSpeedSetting_16()
+ CHIP_ERROR TestReadBackSpeedSetting_14()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142783,7 +142725,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestWriteFanMode_17()
+ CHIP_ERROR TestWriteFanMode_15()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142804,7 +142746,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestReadBackPercentSetting_18()
+ CHIP_ERROR TestReadBackPercentSetting_16()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142828,7 +142770,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestReadBackPercentCurrent_19()
+ CHIP_ERROR TestReadBackPercentCurrent_17()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142851,7 +142793,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestReadBackSpeedSetting_20()
+ CHIP_ERROR TestReadBackSpeedSetting_18()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142875,7 +142817,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestReadBackSpeedCurrent_21()
+ CHIP_ERROR TestReadBackSpeedCurrent_19()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142898,7 +142840,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestWriteFanMode_22()
+ CHIP_ERROR TestWriteFanMode_20()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142919,7 +142861,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestReadBackPercentSetting_23()
+ CHIP_ERROR TestReadBackPercentSetting_21()
{
MTRBaseDevice * device = GetDevice("alpha");
@@ -142942,7 +142884,7 @@ class TestFanControl : public TestCommandBridge {
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestReadBackSpeedSetting_24()
+ CHIP_ERROR TestReadBackSpeedSetting_22()
{
MTRBaseDevice * device = GetDevice("alpha");