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 0e24f102d7c8ed..85a633c450070c 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
@@ -4877,7 +4877,7 @@ cluster PumpConfigurationAndControl = 512 {
/** An interface for configuring and controlling the functionality of a thermostat. */
cluster Thermostat = 513 {
- revision 6;
+ revision 7;
enum ACCapacityFormatEnum : enum8 {
kBTUh = 0;
@@ -4995,8 +4995,7 @@ cluster Thermostat = 513 {
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
- kSetpoints = 0x200;
- kQueuedPresetsSupported = 0x400;
+ kQueuedPresetsSupported = 0x200;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -5076,7 +5075,7 @@ cluster Thermostat = 513 {
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
- optional nullable boolean builtIn = 5;
+ nullable boolean builtIn = 5;
}
struct PresetStruct {
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 fe32702e2c847d..6a7370250c527a 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
@@ -3491,7 +3491,7 @@ cluster PumpConfigurationAndControl = 512 {
/** An interface for configuring and controlling the functionality of a thermostat. */
cluster Thermostat = 513 {
- revision 6;
+ revision 7;
enum ACCapacityFormatEnum : enum8 {
kBTUh = 0;
@@ -3609,8 +3609,7 @@ cluster Thermostat = 513 {
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
- kSetpoints = 0x200;
- kQueuedPresetsSupported = 0x400;
+ kQueuedPresetsSupported = 0x200;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -3690,7 +3689,7 @@ cluster Thermostat = 513 {
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
- optional nullable boolean builtIn = 5;
+ nullable boolean builtIn = 5;
}
struct PresetStruct {
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 734ed039932a9f..c3076b3a87345c 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
@@ -1148,7 +1148,7 @@ cluster ActivatedCarbonFilterMonitoring = 114 {
/** An interface for configuring and controlling the functionality of a thermostat. */
cluster Thermostat = 513 {
- revision 6;
+ revision 7;
enum ACCapacityFormatEnum : enum8 {
kBTUh = 0;
@@ -1266,8 +1266,7 @@ cluster Thermostat = 513 {
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
- kSetpoints = 0x200;
- kQueuedPresetsSupported = 0x400;
+ kQueuedPresetsSupported = 0x200;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -1347,7 +1346,7 @@ cluster Thermostat = 513 {
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
- optional nullable boolean builtIn = 5;
+ nullable boolean builtIn = 5;
}
struct PresetStruct {
diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
index d1aee2ea4e8135..939397be1fab34 100644
--- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
+++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
@@ -1505,7 +1505,7 @@ cluster FixedLabel = 64 {
/** An interface for configuring and controlling the functionality of a thermostat. */
cluster Thermostat = 513 {
- revision 6;
+ revision 7;
enum ACCapacityFormatEnum : enum8 {
kBTUh = 0;
@@ -1623,8 +1623,7 @@ cluster Thermostat = 513 {
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
- kSetpoints = 0x200;
- kQueuedPresetsSupported = 0x400;
+ kQueuedPresetsSupported = 0x200;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -1704,7 +1703,7 @@ cluster Thermostat = 513 {
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
- optional nullable boolean builtIn = 5;
+ nullable boolean builtIn = 5;
}
struct PresetStruct {
diff --git a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
index de4a1c961cd506..1580edc92630d2 100644
--- a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
+++ b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
@@ -1088,7 +1088,7 @@ cluster GroupKeyManagement = 63 {
/** An interface for configuring and controlling the functionality of a thermostat. */
cluster Thermostat = 513 {
- revision 6;
+ revision 7;
enum ACCapacityFormatEnum : enum8 {
kBTUh = 0;
@@ -1206,8 +1206,7 @@ cluster Thermostat = 513 {
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
- kSetpoints = 0x200;
- kQueuedPresetsSupported = 0x400;
+ kQueuedPresetsSupported = 0x200;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -1287,7 +1286,7 @@ cluster Thermostat = 513 {
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
- optional nullable boolean builtIn = 5;
+ nullable boolean builtIn = 5;
}
struct PresetStruct {
diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
index fdefbfc5c9dbee..ca7e47c441299d 100644
--- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
+++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
@@ -1308,7 +1308,7 @@ cluster FixedLabel = 64 {
/** An interface for configuring and controlling the functionality of a thermostat. */
cluster Thermostat = 513 {
- revision 6;
+ revision 7;
enum ACCapacityFormatEnum : enum8 {
kBTUh = 0;
@@ -1426,8 +1426,7 @@ cluster Thermostat = 513 {
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
- kSetpoints = 0x200;
- kQueuedPresetsSupported = 0x400;
+ kQueuedPresetsSupported = 0x200;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -1507,7 +1506,7 @@ cluster Thermostat = 513 {
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
- optional nullable boolean builtIn = 5;
+ nullable boolean builtIn = 5;
}
struct PresetStruct {
diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter
index 88a675b3f09333..7d0e94717de966 100644
--- a/examples/placeholder/linux/apps/app1/config.matter
+++ b/examples/placeholder/linux/apps/app1/config.matter
@@ -4736,7 +4736,7 @@ cluster PumpConfigurationAndControl = 512 {
/** An interface for configuring and controlling the functionality of a thermostat. */
cluster Thermostat = 513 {
- revision 6;
+ revision 7;
enum ACCapacityFormatEnum : enum8 {
kBTUh = 0;
@@ -4854,8 +4854,7 @@ cluster Thermostat = 513 {
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
- kSetpoints = 0x200;
- kQueuedPresetsSupported = 0x400;
+ kQueuedPresetsSupported = 0x200;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -4935,7 +4934,7 @@ cluster Thermostat = 513 {
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
- optional nullable boolean builtIn = 5;
+ nullable boolean builtIn = 5;
}
struct PresetStruct {
@@ -5107,7 +5106,7 @@ cluster Thermostat = 513 {
/** An interface for configuring and controlling the functionality of a thermostat. */
cluster Thermostat = 513 {
- revision 6;
+ revision 7;
enum ACCapacityFormatEnum : enum8 {
kBTUh = 0;
@@ -5225,8 +5224,7 @@ cluster Thermostat = 513 {
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
- kSetpoints = 0x200;
- kQueuedPresetsSupported = 0x400;
+ kQueuedPresetsSupported = 0x200;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -5306,7 +5304,7 @@ cluster Thermostat = 513 {
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
- optional nullable boolean builtIn = 5;
+ nullable boolean builtIn = 5;
}
struct PresetStruct {
diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter
index aff5e22a446b45..cb83115d320772 100644
--- a/examples/placeholder/linux/apps/app2/config.matter
+++ b/examples/placeholder/linux/apps/app2/config.matter
@@ -4693,7 +4693,7 @@ cluster PumpConfigurationAndControl = 512 {
/** An interface for configuring and controlling the functionality of a thermostat. */
cluster Thermostat = 513 {
- revision 6;
+ revision 7;
enum ACCapacityFormatEnum : enum8 {
kBTUh = 0;
@@ -4811,8 +4811,7 @@ cluster Thermostat = 513 {
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
- kSetpoints = 0x200;
- kQueuedPresetsSupported = 0x400;
+ kQueuedPresetsSupported = 0x200;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -4892,7 +4891,7 @@ cluster Thermostat = 513 {
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
- optional nullable boolean builtIn = 5;
+ nullable boolean builtIn = 5;
}
struct PresetStruct {
@@ -5064,7 +5063,7 @@ cluster Thermostat = 513 {
/** An interface for configuring and controlling the functionality of a thermostat. */
cluster Thermostat = 513 {
- revision 6;
+ revision 7;
enum ACCapacityFormatEnum : enum8 {
kBTUh = 0;
@@ -5182,8 +5181,7 @@ cluster Thermostat = 513 {
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
- kSetpoints = 0x200;
- kQueuedPresetsSupported = 0x400;
+ kQueuedPresetsSupported = 0x200;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -5263,7 +5261,7 @@ cluster Thermostat = 513 {
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
- optional nullable boolean builtIn = 5;
+ nullable boolean builtIn = 5;
}
struct PresetStruct {
diff --git a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter
index 12441ffae6f858..89179a31028383 100644
--- a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter
+++ b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter
@@ -1892,7 +1892,7 @@ provisional cluster ScenesManagement = 98 {
/** An interface for configuring and controlling the functionality of a thermostat. */
cluster Thermostat = 513 {
- revision 6;
+ revision 7;
enum ACCapacityFormatEnum : enum8 {
kBTUh = 0;
@@ -2010,8 +2010,7 @@ cluster Thermostat = 513 {
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
- kSetpoints = 0x200;
- kQueuedPresetsSupported = 0x400;
+ kQueuedPresetsSupported = 0x200;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -2091,7 +2090,7 @@ cluster Thermostat = 513 {
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
- optional nullable boolean builtIn = 5;
+ nullable boolean builtIn = 5;
}
struct PresetStruct {
diff --git a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter
index ff712e71043379..e58423b7202db3 100644
--- a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter
+++ b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter
@@ -1803,7 +1803,7 @@ provisional cluster ScenesManagement = 98 {
/** An interface for configuring and controlling the functionality of a thermostat. */
cluster Thermostat = 513 {
- revision 6;
+ revision 7;
enum ACCapacityFormatEnum : enum8 {
kBTUh = 0;
@@ -1921,8 +1921,7 @@ cluster Thermostat = 513 {
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
- kSetpoints = 0x200;
- kQueuedPresetsSupported = 0x400;
+ kQueuedPresetsSupported = 0x200;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -2002,7 +2001,7 @@ cluster Thermostat = 513 {
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
- optional nullable boolean builtIn = 5;
+ nullable boolean builtIn = 5;
}
struct PresetStruct {
diff --git a/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter b/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter
index 776cef1ce4d8c8..4ce08e0d7d7fa2 100644
--- a/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter
+++ b/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter
@@ -1507,7 +1507,7 @@ cluster UserLabel = 65 {
/** An interface for configuring and controlling the functionality of a thermostat. */
cluster Thermostat = 513 {
- revision 6;
+ revision 7;
enum ACCapacityFormatEnum : enum8 {
kBTUh = 0;
@@ -1625,8 +1625,7 @@ cluster Thermostat = 513 {
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
- kSetpoints = 0x200;
- kQueuedPresetsSupported = 0x400;
+ kQueuedPresetsSupported = 0x200;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -1706,7 +1705,7 @@ cluster Thermostat = 513 {
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
- optional nullable boolean builtIn = 5;
+ nullable boolean builtIn = 5;
}
struct PresetStruct {
diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter
index 301dbf6b94e1b3..36d23568332216 100644
--- a/examples/thermostat/thermostat-common/thermostat.matter
+++ b/examples/thermostat/thermostat-common/thermostat.matter
@@ -1687,7 +1687,7 @@ cluster UserLabel = 65 {
/** An interface for configuring and controlling the functionality of a thermostat. */
cluster Thermostat = 513 {
- revision 6;
+ revision 7;
enum ACCapacityFormatEnum : enum8 {
kBTUh = 0;
@@ -1805,8 +1805,7 @@ cluster Thermostat = 513 {
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
- kSetpoints = 0x200;
- kQueuedPresetsSupported = 0x400;
+ kQueuedPresetsSupported = 0x200;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -1886,7 +1885,7 @@ cluster Thermostat = 513 {
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
- optional nullable boolean builtIn = 5;
+ nullable boolean builtIn = 5;
}
struct PresetStruct {
diff --git a/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml
index 948c0937a3fd10..6e036671f4fa45 100644
--- a/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/thermostat-cluster.xml
@@ -27,8 +27,7 @@ limitations under the License.
-
-
+
@@ -267,7 +266,7 @@ limitations under the License.
-
+
@@ -288,7 +287,7 @@ limitations under the License.
THERMOSTAT_CLUSTER
true
true
-
+
diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter
index 5b5890b4ccbb78..4e80c64a4105df 100644
--- a/src/controller/data_model/controller-clusters.matter
+++ b/src/controller/data_model/controller-clusters.matter
@@ -6104,7 +6104,7 @@ cluster PumpConfigurationAndControl = 512 {
/** An interface for configuring and controlling the functionality of a thermostat. */
cluster Thermostat = 513 {
- revision 6;
+ revision 7;
enum ACCapacityFormatEnum : enum8 {
kBTUh = 0;
@@ -6222,8 +6222,7 @@ cluster Thermostat = 513 {
kLocalTemperatureNotExposed = 0x40;
kMatterScheduleConfiguration = 0x80;
kPresets = 0x100;
- kSetpoints = 0x200;
- kQueuedPresetsSupported = 0x400;
+ kQueuedPresetsSupported = 0x200;
}
bitmap HVACSystemTypeBitmap : bitmap8 {
@@ -6303,7 +6302,7 @@ cluster Thermostat = 513 {
optional char_string<64> name = 2;
optional octet_string<16> presetHandle = 3;
ScheduleTransitionStruct transitions[] = 4;
- optional nullable boolean builtIn = 5;
+ nullable boolean builtIn = 5;
}
struct PresetStruct {
diff --git a/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java b/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java
index 6fb0469aded45c..30bbf5ff7ccc65 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ChipStructs.java
@@ -8752,7 +8752,7 @@ public static class ThermostatClusterScheduleStruct {
public Optional name;
public Optional presetHandle;
public ArrayList transitions;
- public @Nullable Optional builtIn;
+ public @Nullable Boolean builtIn;
private static final long SCHEDULE_HANDLE_ID = 0L;
private static final long SYSTEM_MODE_ID = 1L;
private static final long NAME_ID = 2L;
@@ -8766,7 +8766,7 @@ public ThermostatClusterScheduleStruct(
Optional name,
Optional presetHandle,
ArrayList transitions,
- @Nullable Optional builtIn
+ @Nullable Boolean builtIn
) {
this.scheduleHandle = scheduleHandle;
this.systemMode = systemMode;
@@ -8783,7 +8783,7 @@ public StructType encodeTlv() {
values.add(new StructElement(NAME_ID, name.map((nonOptionalname) -> new StringType(nonOptionalname)).orElse(new EmptyType())));
values.add(new StructElement(PRESET_HANDLE_ID, presetHandle.map((nonOptionalpresetHandle) -> new ByteArrayType(nonOptionalpresetHandle)).orElse(new EmptyType())));
values.add(new StructElement(TRANSITIONS_ID, ArrayType.generateArrayType(transitions, (elementtransitions) -> elementtransitions.encodeTlv())));
- values.add(new StructElement(BUILT_IN_ID, builtIn != null ? builtIn.map((nonOptionalbuiltIn) -> new BooleanType(nonOptionalbuiltIn)).orElse(new EmptyType()) : new NullType()));
+ values.add(new StructElement(BUILT_IN_ID, builtIn != null ? new BooleanType(builtIn) : new NullType()));
return new StructType(values);
}
@@ -8797,7 +8797,7 @@ public static ThermostatClusterScheduleStruct decodeTlv(BaseTLVType tlvValue) {
Optional name = Optional.empty();
Optional presetHandle = Optional.empty();
ArrayList transitions = null;
- @Nullable Optional builtIn = null;
+ @Nullable Boolean builtIn = null;
for (StructElement element: ((StructType)tlvValue).value()) {
if (element.contextTagNum() == SCHEDULE_HANDLE_ID) {
if (element.value(BaseTLVType.class).type() == TLVType.ByteArray) {
@@ -8827,7 +8827,7 @@ public static ThermostatClusterScheduleStruct decodeTlv(BaseTLVType tlvValue) {
} else if (element.contextTagNum() == BUILT_IN_ID) {
if (element.value(BaseTLVType.class).type() == TLVType.Boolean) {
BooleanType castingValue = element.value(BooleanType.class);
- builtIn = Optional.of(castingValue.value(Boolean.class));
+ builtIn = castingValue.value(Boolean.class);
}
}
}
diff --git a/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/ThermostatClusterScheduleStruct.kt b/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/ThermostatClusterScheduleStruct.kt
index ac1ffbde1caca9..e1cf0432c60c51 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/ThermostatClusterScheduleStruct.kt
+++ b/src/controller/java/generated/java/chip/devicecontroller/cluster/structs/ThermostatClusterScheduleStruct.kt
@@ -30,7 +30,7 @@ class ThermostatClusterScheduleStruct(
val name: Optional,
val presetHandle: Optional,
val transitions: List,
- val builtIn: Optional?
+ val builtIn: Boolean?
) {
override fun toString(): String = buildString {
append("ThermostatClusterScheduleStruct {\n")
@@ -66,10 +66,7 @@ class ThermostatClusterScheduleStruct(
}
endArray()
if (builtIn != null) {
- if (builtIn.isPresent) {
- val optbuiltIn = builtIn.get()
- put(ContextSpecificTag(TAG_BUILT_IN), optbuiltIn)
- }
+ put(ContextSpecificTag(TAG_BUILT_IN), builtIn)
} else {
putNull(ContextSpecificTag(TAG_BUILT_IN))
}
@@ -117,11 +114,7 @@ class ThermostatClusterScheduleStruct(
}
val builtIn =
if (!tlvReader.isNull()) {
- if (tlvReader.isNextTag(ContextSpecificTag(TAG_BUILT_IN))) {
- Optional.of(tlvReader.getBoolean(ContextSpecificTag(TAG_BUILT_IN)))
- } else {
- Optional.empty()
- }
+ tlvReader.getBoolean(ContextSpecificTag(TAG_BUILT_IN))
} else {
tlvReader.getNull(ContextSpecificTag(TAG_BUILT_IN))
null
diff --git a/src/controller/java/generated/java/matter/controller/cluster/structs/ThermostatClusterScheduleStruct.kt b/src/controller/java/generated/java/matter/controller/cluster/structs/ThermostatClusterScheduleStruct.kt
index 25b8ff012cf7bc..7306ad147277da 100644
--- a/src/controller/java/generated/java/matter/controller/cluster/structs/ThermostatClusterScheduleStruct.kt
+++ b/src/controller/java/generated/java/matter/controller/cluster/structs/ThermostatClusterScheduleStruct.kt
@@ -30,7 +30,7 @@ class ThermostatClusterScheduleStruct(
val name: Optional,
val presetHandle: Optional,
val transitions: List,
- val builtIn: Optional?
+ val builtIn: Boolean?
) {
override fun toString(): String = buildString {
append("ThermostatClusterScheduleStruct {\n")
@@ -66,10 +66,7 @@ class ThermostatClusterScheduleStruct(
}
endArray()
if (builtIn != null) {
- if (builtIn.isPresent) {
- val optbuiltIn = builtIn.get()
- put(ContextSpecificTag(TAG_BUILT_IN), optbuiltIn)
- }
+ put(ContextSpecificTag(TAG_BUILT_IN), builtIn)
} else {
putNull(ContextSpecificTag(TAG_BUILT_IN))
}
@@ -117,11 +114,7 @@ class ThermostatClusterScheduleStruct(
}
val builtIn =
if (!tlvReader.isNull()) {
- if (tlvReader.isNextTag(ContextSpecificTag(TAG_BUILT_IN))) {
- Optional.of(tlvReader.getBoolean(ContextSpecificTag(TAG_BUILT_IN)))
- } else {
- Optional.empty()
- }
+ tlvReader.getBoolean(ContextSpecificTag(TAG_BUILT_IN))
} else {
tlvReader.getNull(ContextSpecificTag(TAG_BUILT_IN))
null
diff --git a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
index 7a8aebe5b5c493..dcae896c1f2a50 100644
--- a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
+++ b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
@@ -29745,28 +29745,18 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
chip::JniReferences::GetInstance().AddToList(newElement_0_transitions, newElement_2);
}
jobject newElement_0_builtIn;
- if (!entry_0.builtIn.HasValue())
+ if (entry_0.builtIn.IsNull())
{
- chip::JniReferences::GetInstance().CreateOptional(nullptr, newElement_0_builtIn);
+ newElement_0_builtIn = nullptr;
}
else
{
- jobject newElement_0_builtInInsideOptional;
- if (entry_0.builtIn.Value().IsNull())
- {
- newElement_0_builtInInsideOptional = nullptr;
- }
- else
- {
- std::string newElement_0_builtInInsideOptionalClassName = "java/lang/Boolean";
- std::string newElement_0_builtInInsideOptionalCtorSignature = "(Z)V";
- jboolean jninewElement_0_builtInInsideOptional = static_cast(entry_0.builtIn.Value().Value());
- chip::JniReferences::GetInstance().CreateBoxedObject(
- newElement_0_builtInInsideOptionalClassName.c_str(),
- newElement_0_builtInInsideOptionalCtorSignature.c_str(), jninewElement_0_builtInInsideOptional,
- newElement_0_builtInInsideOptional);
- }
- chip::JniReferences::GetInstance().CreateOptional(newElement_0_builtInInsideOptional, newElement_0_builtIn);
+ std::string newElement_0_builtInClassName = "java/lang/Boolean";
+ std::string newElement_0_builtInCtorSignature = "(Z)V";
+ jboolean jninewElement_0_builtIn = static_cast(entry_0.builtIn.Value());
+ chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0_builtInClassName.c_str(),
+ newElement_0_builtInCtorSignature.c_str(),
+ jninewElement_0_builtIn, newElement_0_builtIn);
}
jclass scheduleStructStructClass_1;
@@ -29781,7 +29771,7 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
jmethodID scheduleStructStructCtor_1;
err = chip::JniReferences::GetInstance().FindMethod(
env, scheduleStructStructClass_1, "",
- "([BLjava/lang/Integer;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/ArrayList;Ljava/util/Optional;)V",
+ "([BLjava/lang/Integer;Ljava/util/Optional;Ljava/util/Optional;Ljava/util/ArrayList;Ljava/lang/Boolean;)V",
&scheduleStructStructCtor_1);
if (err != CHIP_NO_ERROR || scheduleStructStructCtor_1 == nullptr)
{
diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py
index 3f5c116cc5515b..b7923096e8297e 100644
--- a/src/controller/python/chip/clusters/Objects.py
+++ b/src/controller/python/chip/clusters/Objects.py
@@ -31023,8 +31023,7 @@ class Feature(IntFlag):
kLocalTemperatureNotExposed = 0x40
kMatterScheduleConfiguration = 0x80
kPresets = 0x100
- kSetpoints = 0x200
- kQueuedPresetsSupported = 0x400
+ kQueuedPresetsSupported = 0x200
class HVACSystemTypeBitmap(IntFlag):
kCoolingStage = 0x3
@@ -31112,7 +31111,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
ClusterObjectFieldDescriptor(Label="name", Tag=2, Type=typing.Optional[str]),
ClusterObjectFieldDescriptor(Label="presetHandle", Tag=3, Type=typing.Optional[bytes]),
ClusterObjectFieldDescriptor(Label="transitions", Tag=4, Type=typing.List[Thermostat.Structs.ScheduleTransitionStruct]),
- ClusterObjectFieldDescriptor(Label="builtIn", Tag=5, Type=typing.Union[None, Nullable, bool]),
+ ClusterObjectFieldDescriptor(Label="builtIn", Tag=5, Type=typing.Union[Nullable, bool]),
])
scheduleHandle: 'typing.Union[Nullable, bytes]' = NullValue
@@ -31120,7 +31119,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
name: 'typing.Optional[str]' = None
presetHandle: 'typing.Optional[bytes]' = None
transitions: 'typing.List[Thermostat.Structs.ScheduleTransitionStruct]' = field(default_factory=lambda: [])
- builtIn: 'typing.Union[None, Nullable, bool]' = None
+ builtIn: 'typing.Union[Nullable, bool]' = NullValue
@dataclass
class PresetStruct(ClusterObject):
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm
index 298c127feeb02d..83c4eb5e529229 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm
@@ -12007,14 +12007,10 @@ static id _Nullable DecodeAttributeValueForThermostatCluster(AttributeId aAttrib
}
newElement_0.transitions = array_2;
}
- if (entry_0.builtIn.HasValue()) {
- if (entry_0.builtIn.Value().IsNull()) {
- newElement_0.builtIn = nil;
- } else {
- newElement_0.builtIn = [NSNumber numberWithBool:entry_0.builtIn.Value().Value()];
- }
- } else {
+ if (entry_0.builtIn.IsNull()) {
newElement_0.builtIn = nil;
+ } else {
+ newElement_0.builtIn = [NSNumber numberWithBool:entry_0.builtIn.Value()];
}
[array_0 addObject:newElement_0];
}
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
index 9f7d6f8ffd5c64..bd37fcbcd26743 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
@@ -18851,8 +18851,7 @@ typedef NS_OPTIONS(uint32_t, MTRThermostatFeature) {
MTRThermostatFeatureLocalTemperatureNotExposed MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)) = 0x40,
MTRThermostatFeatureMatterScheduleConfiguration MTR_PROVISIONALLY_AVAILABLE = 0x80,
MTRThermostatFeaturePresets MTR_PROVISIONALLY_AVAILABLE = 0x100,
- MTRThermostatFeatureSetpoints MTR_PROVISIONALLY_AVAILABLE = 0x200,
- MTRThermostatFeatureQueuedPresetsSupported MTR_PROVISIONALLY_AVAILABLE = 0x400,
+ MTRThermostatFeatureQueuedPresetsSupported MTR_PROVISIONALLY_AVAILABLE = 0x200,
} MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
typedef NS_OPTIONS(uint8_t, MTRThermostatHVACSystemTypeBitmap) {
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
index 8cca4c8ed5a7d5..a01033a033f38a 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
@@ -69574,15 +69574,12 @@ - (void)writeAttributeSchedulesWithValue:(NSArray * _Nonnull)value params:(MTRWr
listHolder_0->mList[i_0].transitions = ListType_2();
}
}
- if (element_0.builtIn != nil) {
- auto & definedValue_2 = listHolder_0->mList[i_0].builtIn.Emplace();
- if (element_0.builtIn == nil) {
- definedValue_2.SetNull();
- } else {
- auto & nonNullValue_3 = definedValue_2.SetNonNull();
- nonNullValue_3 = element_0.builtIn.boolValue;
+ if (element_0.builtIn == nil) {
+ listHolder_0->mList[i_0].builtIn.SetNull();
+ } else {
+ auto & nonNullValue_2 = listHolder_0->mList[i_0].builtIn.SetNonNull();
+ nonNullValue_2 = element_0.builtIn.boolValue;
}
- }
}
cppValue = ListType_0(listHolder_0->mList, value.count);
} else {
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 1a1afc11a522d1..3c346be5da9014 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
@@ -3684,8 +3684,7 @@ enum class Feature : uint32_t
kLocalTemperatureNotExposed = 0x40,
kMatterScheduleConfiguration = 0x80,
kPresets = 0x100,
- kSetpoints = 0x200,
- kQueuedPresetsSupported = 0x400,
+ kQueuedPresetsSupported = 0x200,
};
// Bitmap for HVACSystemTypeBitmap
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 99e6e3bb1d63f7..e5598067f661e4 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
@@ -28129,7 +28129,7 @@ struct Type
Optional name;
Optional presetHandle;
DataModel::List transitions;
- Optional> builtIn;
+ DataModel::Nullable builtIn;
static constexpr bool kIsFabricScoped = false;
@@ -28144,7 +28144,7 @@ struct DecodableType
Optional name;
Optional presetHandle;
DataModel::DecodableList transitions;
- Optional> builtIn;
+ DataModel::Nullable builtIn;
CHIP_ERROR Decode(TLV::TLVReader & reader);
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp
index 89f34d0cee3714..284fae568fa30f 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp
+++ b/zzz_generated/chip-tool/zap-generated/cluster/ComplexArgumentParser.cpp
@@ -3727,6 +3727,7 @@ CHIP_ERROR ComplexArgumentParser::Setup(const char * label,
ComplexArgumentParser::EnsureMemberExist("ScheduleStruct.systemMode", "systemMode", value.isMember("systemMode")));
ReturnErrorOnFailure(
ComplexArgumentParser::EnsureMemberExist("ScheduleStruct.transitions", "transitions", value.isMember("transitions")));
+ ReturnErrorOnFailure(ComplexArgumentParser::EnsureMemberExist("ScheduleStruct.builtIn", "builtIn", value.isMember("builtIn")));
char labelWithMember[kMaxLabelLength];
snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "scheduleHandle");
@@ -3755,11 +3756,8 @@ CHIP_ERROR ComplexArgumentParser::Setup(const char * label,
ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.transitions, value["transitions"]));
valueCopy.removeMember("transitions");
- if (value.isMember("builtIn"))
- {
- snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "builtIn");
- ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.builtIn, value["builtIn"]));
- }
+ snprintf(labelWithMember, sizeof(labelWithMember), "%s.%s", label, "builtIn");
+ ReturnErrorOnFailure(ComplexArgumentParser::Setup(labelWithMember, request.builtIn, value["builtIn"]));
valueCopy.removeMember("builtIn");
return ComplexArgumentParser::EnsureNoMembersRemaining(label, valueCopy);
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 9a1389e416deb4..8db3e4993af190 100644
--- a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
+++ b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
@@ -110417,14 +110417,10 @@ class WriteThermostatSchedules : public WriteAttribute {
}
newElement_0.transitions = array_2;
}
- if (entry_0.builtIn.HasValue()) {
- if (entry_0.builtIn.Value().IsNull()) {
- newElement_0.builtIn = nil;
- } else {
- newElement_0.builtIn = [NSNumber numberWithBool:entry_0.builtIn.Value().Value()];
- }
- } else {
+ if (entry_0.builtIn.IsNull()) {
newElement_0.builtIn = nil;
+ } else {
+ newElement_0.builtIn = [NSNumber numberWithBool:entry_0.builtIn.Value()];
}
[array_0 addObject:newElement_0];
}