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 a43824252c78c1..7dd6e1762ce1c7 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
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter
index d3ecbc8e36075b..1191c5f55c0c67 100644
--- a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter
+++ b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
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 c4636b60e07b9b..fb634514fc9802 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
@@ -820,7 +820,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
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 707e74cf1fa87c..19eb0d0b954746 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
@@ -713,7 +713,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -5983,6 +5983,7 @@ endpoint 0 {
callback attribute hardwareVersionString;
callback attribute softwareVersion;
callback attribute softwareVersionString;
+ callback attribute uniqueID;
callback attribute capabilityMinima;
callback attribute specificationVersion;
callback attribute maxPathsPerInvoke;
diff --git a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.zap b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.zap
index 0f9b7495212b56..090dda6a70e2e5 100644
--- a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.zap
+++ b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.zap
@@ -19,18 +19,18 @@
"package": [
{
"pathRelativity": "relativeToZap",
- "path": "../../../src/app/zap-templates/zcl/zcl.json",
- "type": "zcl-properties",
+ "path": "../../../src/app/zap-templates/app-templates.json",
+ "type": "gen-templates-json",
"category": "matter",
- "version": 1,
- "description": "Matter SDK ZCL data"
+ "version": "chip-v1"
},
{
"pathRelativity": "relativeToZap",
- "path": "../../../src/app/zap-templates/app-templates.json",
- "type": "gen-templates-json",
+ "path": "../../../src/app/zap-templates/zcl/zcl.json",
+ "type": "zcl-properties",
"category": "matter",
- "version": "chip-v1"
+ "version": 1,
+ "description": "Matter SDK ZCL data"
}
],
"endpointTypes": [
@@ -900,6 +900,22 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueID",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "type": "char_string",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "CapabilityMinima",
"code": 19,
@@ -9049,6 +9065,14 @@
"isIncoming": 1,
"isEnabled": 1
},
+ {
+ "name": "StringEchoResponse",
+ "code": 13,
+ "mfgCode": null,
+ "source": "server",
+ "isIncoming": 0,
+ "isEnabled": 1
+ },
{
"name": "TestEnumsRequest",
"code": 14,
@@ -9122,32 +9146,24 @@
"isEnabled": 1
},
{
- "name": "TestDifferentVendorMeiRequest",
- "code": 4294049962,
+ "name": "StringEchoRequest",
+ "code": 24,
"mfgCode": null,
"source": "client",
"isIncoming": 1,
"isEnabled": 1
},
{
- "name": "TestDifferentVendorMeiResponse",
- "code": 4294049979,
- "mfgCode": null,
- "source": "server",
- "isIncoming": 0,
- "isEnabled": 1
- },
- {
- "name": "StringEchoRequest",
- "code": 24,
+ "name": "TestDifferentVendorMeiRequest",
+ "code": 4294049962,
"mfgCode": null,
"source": "client",
"isIncoming": 1,
"isEnabled": 1
},
{
- "name": "StringEchoResponse",
- "code": 13,
+ "name": "TestDifferentVendorMeiResponse",
+ "code": 4294049979,
"mfgCode": null,
"source": "server",
"isIncoming": 0,
diff --git a/examples/bridge-app/bridge-common/bridge-app.matter b/examples/bridge-app/bridge-common/bridge-app.matter
index ec5d045647a4bd..3600cfdcc740cb 100644
--- a/examples/bridge-app/bridge-common/bridge-app.matter
+++ b/examples/bridge-app/bridge-common/bridge-app.matter
@@ -711,7 +711,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter
index 372503cef8bad1..b5922f3082632b 100644
--- a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter
+++ b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter
@@ -536,7 +536,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter b/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter
index 95a5ebba08d8e5..7d9b2a51326aa1 100644
--- a/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter
+++ b/examples/chef/devices/rootnode_airpurifier_73a6fe2651.matter
@@ -313,7 +313,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
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 ace9e7a92793d2..d85bd9fa866873 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
@@ -318,7 +318,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter
index 2dab6c7a1a71df..bac48320116f79 100644
--- a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter
+++ b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter b/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter
index b1fa4a5e38adb3..319b6b25104be0 100644
--- a/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter
+++ b/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter
@@ -438,7 +438,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
index 3a4ed13ea40f55..66aa1eabaab2c8 100644
--- a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
+++ b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
@@ -515,7 +515,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter b/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter
index 46f2f9de05ba19..49df10bf2cd3aa 100644
--- a/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter
+++ b/examples/chef/devices/rootnode_contactsensor_27f76aeaf5.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
index 8855108dbd76ec..37d2d4554e7156 100644
--- a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
+++ b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
@@ -339,7 +339,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
index a44ffef19ce24b..dcc7f2724d5b03 100644
--- a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
+++ b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
@@ -536,7 +536,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter
index 95ccd3897c1e6f..9d51e5c047e8cf 100644
--- a/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter
+++ b/examples/chef/devices/rootnode_dimmablepluginunit_f8a9a0b9d4.matter
@@ -536,7 +536,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter b/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter
index 4bbbf1e7545e71..e0587dbd481463 100644
--- a/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter
+++ b/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
index e2ca298b2d9e77..3b4feb2216aa0e 100644
--- a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
+++ b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
index fdd3a420d0da1c..4f81dc1f1a4580 100644
--- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
+++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
@@ -536,7 +536,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
index bb1d31727454b2..c98aa70af8f82e 100644
--- a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
+++ b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
@@ -318,7 +318,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter
index a0eb473709e253..e46fa09b3111fb 100644
--- a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter
+++ b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter
@@ -339,7 +339,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter b/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter
index bd71d94f7c871b..1c58822f13aa71 100644
--- a/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter
+++ b/examples/chef/devices/rootnode_genericswitch_2dfff6e516.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter b/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter
index 4088d0b741a03e..58eb58d22deb9f 100644
--- a/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter
+++ b/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
index 20f10bcaaa3a86..8bf334f5d7c66d 100644
--- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
+++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
@@ -536,7 +536,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter
index 2a7cb52cd353a8..23a9bc8a578a95 100644
--- a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter
+++ b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter
@@ -339,7 +339,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter b/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter
index 4c8b7a266357b3..4b4762ce78bb46 100644
--- a/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter
+++ b/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter
index 4e4a814a012e49..7e744cafc5409c 100644
--- a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter
+++ b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter
@@ -339,7 +339,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter
index 778bb2daa5e0b6..4406f572f99dfb 100644
--- a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter
+++ b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter
@@ -339,7 +339,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
index edfcf8f75c58f8..68956182340faf 100644
--- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
+++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
@@ -536,7 +536,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_onofflight_samplemei.matter b/examples/chef/devices/rootnode_onofflight_samplemei.matter
index d0f453f5b7b15b..242a210ecf0f4c 100644
--- a/examples/chef/devices/rootnode_onofflight_samplemei.matter
+++ b/examples/chef/devices/rootnode_onofflight_samplemei.matter
@@ -536,7 +536,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter
index 3be01f97735caf..bf818da2a37cb9 100644
--- a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter
+++ b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter
@@ -483,7 +483,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
index 810bd5ae92d7a1..37ab328bad6886 100644
--- a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
+++ b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
@@ -411,7 +411,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter
index e2acfce11f40ba..83b7eba578d8b0 100644
--- a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter
+++ b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter
@@ -339,7 +339,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_pump_5f904818cc.matter b/examples/chef/devices/rootnode_pump_5f904818cc.matter
index 39092cebbc1673..89a69529465401 100644
--- a/examples/chef/devices/rootnode_pump_5f904818cc.matter
+++ b/examples/chef/devices/rootnode_pump_5f904818cc.matter
@@ -313,7 +313,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -1271,6 +1271,7 @@ endpoint 0 {
callback attribute hardwareVersionString;
callback attribute softwareVersion;
callback attribute softwareVersionString;
+ callback attribute uniqueID;
callback attribute capabilityMinima;
callback attribute specificationVersion;
callback attribute maxPathsPerInvoke;
diff --git a/examples/chef/devices/rootnode_pump_5f904818cc.zap b/examples/chef/devices/rootnode_pump_5f904818cc.zap
index c93cf13214ca17..ca8e1ad91d30fc 100644
--- a/examples/chef/devices/rootnode_pump_5f904818cc.zap
+++ b/examples/chef/devices/rootnode_pump_5f904818cc.zap
@@ -569,6 +569,22 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueID",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "type": "char_string",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "CapabilityMinima",
"code": 19,
diff --git a/examples/chef/devices/rootnode_pump_a811bb33a0.matter b/examples/chef/devices/rootnode_pump_a811bb33a0.matter
index 9c465891d3343d..c748c1ed56cd84 100644
--- a/examples/chef/devices/rootnode_pump_a811bb33a0.matter
+++ b/examples/chef/devices/rootnode_pump_a811bb33a0.matter
@@ -313,7 +313,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -1214,6 +1214,7 @@ endpoint 0 {
callback attribute hardwareVersionString;
callback attribute softwareVersion;
callback attribute softwareVersionString;
+ callback attribute uniqueID;
callback attribute capabilityMinima;
callback attribute specificationVersion;
callback attribute maxPathsPerInvoke;
diff --git a/examples/chef/devices/rootnode_pump_a811bb33a0.zap b/examples/chef/devices/rootnode_pump_a811bb33a0.zap
index 6a68b8566319b4..ad107294293b67 100644
--- a/examples/chef/devices/rootnode_pump_a811bb33a0.zap
+++ b/examples/chef/devices/rootnode_pump_a811bb33a0.zap
@@ -569,6 +569,22 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueID",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "type": "char_string",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "CapabilityMinima",
"code": 19,
diff --git a/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter b/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter
index 27f4165cbb8140..b8664ec2e38a0b 100644
--- a/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter
+++ b/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter
index 97cd5c65913b70..eaf2ff0d0dd339 100644
--- a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter
+++ b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter
@@ -318,7 +318,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
index 6c37c883be1909..3d730b7474395e 100644
--- a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
+++ b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
@@ -390,7 +390,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter b/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter
index 288b76c6d48dc0..60b79acd4c07b9 100644
--- a/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter
+++ b/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter
@@ -318,7 +318,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
index 6245e0efca2cfe..b1e4870d7ccffb 100644
--- a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
+++ b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
@@ -459,7 +459,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter
index b3fe19b27c738a..51eb8ddd45a282 100644
--- a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter
+++ b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter
@@ -339,7 +339,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
index f76b5208c97ceb..2ee66aec3362e1 100644
--- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
+++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
@@ -339,7 +339,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
index a274c36636594a..f69d11d92bd19a 100644
--- a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
+++ b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
@@ -339,7 +339,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter
index 9b1e4ba906ea19..03b8cdf10bc55c 100644
--- a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter
+++ b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter
@@ -318,7 +318,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter
index 9bffee1c83dce2..47f4845661fd74 100644
--- a/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter
+++ b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -1452,6 +1452,7 @@ endpoint 0 {
callback attribute hardwareVersionString;
callback attribute softwareVersion;
callback attribute softwareVersionString;
+ callback attribute uniqueID;
callback attribute capabilityMinima;
callback attribute specificationVersion;
callback attribute maxPathsPerInvoke;
diff --git a/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.zap b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.zap
index 90183a0e214f94..7cba96b7f511d6 100644
--- a/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.zap
+++ b/examples/contact-sensor-app/nxp/zap-lit/contact-sensor-app.zap
@@ -553,6 +553,22 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueID",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "type": "char_string",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "CapabilityMinima",
"code": 19,
diff --git a/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter b/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter
index 70cae9e994c4fd..d44ca7ddd07d4b 100644
--- a/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter
+++ b/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -1452,6 +1452,7 @@ endpoint 0 {
callback attribute hardwareVersionString;
callback attribute softwareVersion;
callback attribute softwareVersionString;
+ callback attribute uniqueID;
callback attribute capabilityMinima;
callback attribute specificationVersion;
callback attribute maxPathsPerInvoke;
diff --git a/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.zap b/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.zap
index c8607e299d782c..3caa58a4d7f042 100644
--- a/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.zap
+++ b/examples/contact-sensor-app/nxp/zap-sit/contact-sensor-app.zap
@@ -553,6 +553,22 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueID",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "type": "char_string",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "CapabilityMinima",
"code": 19,
diff --git a/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter b/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter
index eb98a004051f5c..db68c2ddea702d 100644
--- a/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter
+++ b/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter
@@ -339,7 +339,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/energy-management-app/energy-management-common/energy-management-app.matter b/examples/energy-management-app/energy-management-common/energy-management-app.matter
index a5c23df3301be4..3035f377a13475 100644
--- a/examples/energy-management-app/energy-management-common/energy-management-app.matter
+++ b/examples/energy-management-app/energy-management-common/energy-management-app.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -1993,6 +1993,7 @@ endpoint 0 {
callback attribute softwareVersion;
callback attribute softwareVersionString;
callback attribute serialNumber;
+ callback attribute uniqueID;
callback attribute capabilityMinima;
callback attribute specificationVersion;
callback attribute maxPathsPerInvoke;
diff --git a/examples/energy-management-app/energy-management-common/energy-management-app.zap b/examples/energy-management-app/energy-management-common/energy-management-app.zap
index 57ae22f51c9aab..597247dbc6998c 100644
--- a/examples/energy-management-app/energy-management-common/energy-management-app.zap
+++ b/examples/energy-management-app/energy-management-common/energy-management-app.zap
@@ -617,6 +617,22 @@
"maxInterval": 65534,
"reportableChange": 0
},
+ {
+ "name": "UniqueID",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "type": "char_string",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "CapabilityMinima",
"code": 19,
diff --git a/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter b/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter
index 394a724877a8ea..7f3de425528f64 100644
--- a/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter
+++ b/examples/fabric-bridge-app/fabric-bridge-common/fabric-bridge-app.matter
@@ -316,7 +316,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter b/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter
index c59228b7e12612..727e4c3b097302 100644
--- a/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter
+++ b/examples/laundry-washer-app/nxp/zap/laundry-washer-app.matter
@@ -411,7 +411,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
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 1380e672e747b2..dbc415a9f76771 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
@@ -461,7 +461,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/light-switch-app/qpg/zap/switch.matter b/examples/light-switch-app/qpg/zap/switch.matter
index f42b1f07744809..1965ae66663150 100644
--- a/examples/light-switch-app/qpg/zap/switch.matter
+++ b/examples/light-switch-app/qpg/zap/switch.matter
@@ -586,7 +586,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
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 047dda758dc373..e9fbd295547920 100644
--- a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter
+++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter
@@ -515,7 +515,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
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 1f0428c061de3e..312e1d244992eb 100644
--- a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter
+++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter
@@ -515,7 +515,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
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 676295ad2892f9..bd6285c06f472e 100644
--- a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter
+++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter
@@ -515,7 +515,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter
index 4be0b2c2529409..bf90ec6343f364 100644
--- a/examples/lighting-app/lighting-common/lighting-app.matter
+++ b/examples/lighting-app/lighting-common/lighting-app.matter
@@ -515,7 +515,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/lighting-app/nxp/zap/lighting-on-off.matter b/examples/lighting-app/nxp/zap/lighting-on-off.matter
index 4e79aafcef7495..504b4618b4c124 100644
--- a/examples/lighting-app/nxp/zap/lighting-on-off.matter
+++ b/examples/lighting-app/nxp/zap/lighting-on-off.matter
@@ -515,7 +515,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -1562,6 +1562,7 @@ endpoint 0 {
callback attribute hardwareVersionString;
callback attribute softwareVersion;
callback attribute softwareVersionString;
+ callback attribute uniqueID;
callback attribute capabilityMinima;
callback attribute specificationVersion;
callback attribute maxPathsPerInvoke;
diff --git a/examples/lighting-app/nxp/zap/lighting-on-off.zap b/examples/lighting-app/nxp/zap/lighting-on-off.zap
index 2e01bf3d298255..beccb5480ca340 100644
--- a/examples/lighting-app/nxp/zap/lighting-on-off.zap
+++ b/examples/lighting-app/nxp/zap/lighting-on-off.zap
@@ -489,6 +489,22 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueID",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "type": "char_string",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "CapabilityMinima",
"code": 19,
diff --git a/examples/lighting-app/qpg/zap/light.matter b/examples/lighting-app/qpg/zap/light.matter
index f2d62f56d5f6c0..f0624ae0a83f48 100644
--- a/examples/lighting-app/qpg/zap/light.matter
+++ b/examples/lighting-app/qpg/zap/light.matter
@@ -515,7 +515,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
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 a3d394e217e8ab..064f69b601374c 100644
--- a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter
+++ b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter
@@ -515,7 +515,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
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 3d2e7083c3d541..3f04c35e57d154 100644
--- a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter
+++ b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter
@@ -515,7 +515,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter b/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter
index 79f26232c3a727..ec9f0764564372 100644
--- a/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter
+++ b/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -1561,6 +1561,7 @@ endpoint 0 {
callback attribute hardwareVersionString;
callback attribute softwareVersion;
callback attribute softwareVersionString;
+ callback attribute uniqueID;
callback attribute capabilityMinima;
callback attribute specificationVersion;
callback attribute maxPathsPerInvoke;
diff --git a/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.zap b/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.zap
index cd8e9083ef2f4b..ba855b3908feae 100644
--- a/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.zap
+++ b/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.zap
@@ -702,6 +702,22 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueID",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "type": "char_string",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "CapabilityMinima",
"code": 19,
diff --git a/examples/lock-app/lock-common/lock-app.matter b/examples/lock-app/lock-common/lock-app.matter
index a484b095516dc6..d53a80f7402b1c 100644
--- a/examples/lock-app/lock-common/lock-app.matter
+++ b/examples/lock-app/lock-common/lock-app.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/lock-app/nxp/zap/lock-app.matter b/examples/lock-app/nxp/zap/lock-app.matter
index a8c73faab0fc20..cef586575e2bb3 100644
--- a/examples/lock-app/nxp/zap/lock-app.matter
+++ b/examples/lock-app/nxp/zap/lock-app.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -1784,6 +1784,7 @@ endpoint 0 {
callback attribute hardwareVersionString;
callback attribute softwareVersion;
callback attribute softwareVersionString;
+ callback attribute uniqueID;
callback attribute capabilityMinima;
callback attribute specificationVersion;
callback attribute maxPathsPerInvoke;
diff --git a/examples/lock-app/nxp/zap/lock-app.zap b/examples/lock-app/nxp/zap/lock-app.zap
index abf9d2e6bf2a6c..ff1ead7297c757 100644
--- a/examples/lock-app/nxp/zap/lock-app.zap
+++ b/examples/lock-app/nxp/zap/lock-app.zap
@@ -489,6 +489,22 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueID",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "type": "char_string",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "CapabilityMinima",
"code": 19,
diff --git a/examples/lock-app/qpg/zap/lock.matter b/examples/lock-app/qpg/zap/lock.matter
index a8628316139252..a935c4e7ce3c17 100644
--- a/examples/lock-app/qpg/zap/lock.matter
+++ b/examples/lock-app/qpg/zap/lock.matter
@@ -318,7 +318,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter b/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter
index 997f99aa2136b6..c50956a64841c2 100644
--- a/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter
+++ b/examples/microwave-oven-app/microwave-oven-common/microwave-oven-app.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/network-manager-app/network-manager-common/network-manager-app.matter b/examples/network-manager-app/network-manager-common/network-manager-app.matter
index 641d45571e1216..bee7b9d2df4c61 100644
--- a/examples/network-manager-app/network-manager-common/network-manager-app.matter
+++ b/examples/network-manager-app/network-manager-common/network-manager-app.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter
index ebb9f79e7b2009..17c6e8fb8dbea3 100644
--- a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter
+++ b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter
@@ -266,7 +266,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter
index 9e0b0c61ea0704..f3eadf7c9db5d2 100644
--- a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter
+++ b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter
@@ -390,7 +390,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter
index c4141255ad55f3..f8663f2cf3da08 100644
--- a/examples/placeholder/linux/apps/app1/config.matter
+++ b/examples/placeholder/linux/apps/app1/config.matter
@@ -939,7 +939,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -2353,7 +2353,7 @@ cluster BridgedDeviceBasicInformation = 57 {
readonly attribute optional char_string<64> productLabel = 14;
readonly attribute optional char_string<32> serialNumber = 15;
readonly attribute boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter
index e5a389e2e4813d..22ba33760fc585 100644
--- a/examples/placeholder/linux/apps/app2/config.matter
+++ b/examples/placeholder/linux/apps/app2/config.matter
@@ -939,7 +939,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -2310,7 +2310,7 @@ cluster BridgedDeviceBasicInformation = 57 {
readonly attribute optional char_string<64> productLabel = 14;
readonly attribute optional char_string<32> serialNumber = 15;
readonly attribute boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
diff --git a/examples/pump-app/pump-common/pump-app.matter b/examples/pump-app/pump-common/pump-app.matter
index fa81bdc7452213..dc18d83cc89bc3 100644
--- a/examples/pump-app/pump-common/pump-app.matter
+++ b/examples/pump-app/pump-common/pump-app.matter
@@ -459,7 +459,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -1721,6 +1721,7 @@ endpoint 0 {
callback attribute productURL;
callback attribute productLabel;
callback attribute serialNumber;
+ callback attribute uniqueID;
callback attribute capabilityMinima;
callback attribute specificationVersion;
callback attribute maxPathsPerInvoke;
diff --git a/examples/pump-app/pump-common/pump-app.zap b/examples/pump-app/pump-common/pump-app.zap
index cf2045a9d88ca9..c456f068835755 100644
--- a/examples/pump-app/pump-common/pump-app.zap
+++ b/examples/pump-app/pump-common/pump-app.zap
@@ -665,6 +665,22 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueID",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "type": "char_string",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "CapabilityMinima",
"code": 19,
diff --git a/examples/pump-app/silabs/data_model/pump-thread-app.matter b/examples/pump-app/silabs/data_model/pump-thread-app.matter
index 42f463b17e256e..864ba8cef14e27 100644
--- a/examples/pump-app/silabs/data_model/pump-thread-app.matter
+++ b/examples/pump-app/silabs/data_model/pump-thread-app.matter
@@ -459,7 +459,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -1721,6 +1721,7 @@ endpoint 0 {
callback attribute productURL;
callback attribute productLabel;
callback attribute serialNumber;
+ callback attribute uniqueID;
callback attribute capabilityMinima;
callback attribute specificationVersion;
callback attribute maxPathsPerInvoke;
diff --git a/examples/pump-app/silabs/data_model/pump-thread-app.zap b/examples/pump-app/silabs/data_model/pump-thread-app.zap
index 411699e5e59f33..c338b8de8155af 100644
--- a/examples/pump-app/silabs/data_model/pump-thread-app.zap
+++ b/examples/pump-app/silabs/data_model/pump-thread-app.zap
@@ -665,6 +665,22 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueID",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "type": "char_string",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "CapabilityMinima",
"code": 19,
diff --git a/examples/pump-app/silabs/data_model/pump-wifi-app.matter b/examples/pump-app/silabs/data_model/pump-wifi-app.matter
index 42f463b17e256e..864ba8cef14e27 100644
--- a/examples/pump-app/silabs/data_model/pump-wifi-app.matter
+++ b/examples/pump-app/silabs/data_model/pump-wifi-app.matter
@@ -459,7 +459,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -1721,6 +1721,7 @@ endpoint 0 {
callback attribute productURL;
callback attribute productLabel;
callback attribute serialNumber;
+ callback attribute uniqueID;
callback attribute capabilityMinima;
callback attribute specificationVersion;
callback attribute maxPathsPerInvoke;
diff --git a/examples/pump-app/silabs/data_model/pump-wifi-app.zap b/examples/pump-app/silabs/data_model/pump-wifi-app.zap
index 411699e5e59f33..c338b8de8155af 100644
--- a/examples/pump-app/silabs/data_model/pump-wifi-app.zap
+++ b/examples/pump-app/silabs/data_model/pump-wifi-app.zap
@@ -665,6 +665,22 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueID",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "type": "char_string",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "CapabilityMinima",
"code": 19,
diff --git a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter
index 57e2e9846e2c6d..b23e832c0d7d88 100644
--- a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter
+++ b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter
@@ -334,7 +334,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -1536,6 +1536,7 @@ endpoint 0 {
callback attribute productURL;
callback attribute productLabel;
callback attribute serialNumber;
+ callback attribute uniqueID;
callback attribute capabilityMinima;
callback attribute specificationVersion;
callback attribute maxPathsPerInvoke;
diff --git a/examples/pump-controller-app/pump-controller-common/pump-controller-app.zap b/examples/pump-controller-app/pump-controller-common/pump-controller-app.zap
index 7b71c3e3116090..168ddcd01592a5 100644
--- a/examples/pump-controller-app/pump-controller-common/pump-controller-app.zap
+++ b/examples/pump-controller-app/pump-controller-common/pump-controller-app.zap
@@ -665,6 +665,22 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueID",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "type": "char_string",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
{
"name": "CapabilityMinima",
"code": 19,
diff --git a/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter b/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter
index 46545497d2a146..685893ec111f89 100644
--- a/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter
+++ b/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter
@@ -191,7 +191,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/rvc-app/rvc-common/rvc-app.matter b/examples/rvc-app/rvc-common/rvc-app.matter
index 20faad7d18d333..3c9ef5e4d817c1 100644
--- a/examples/rvc-app/rvc-common/rvc-app.matter
+++ b/examples/rvc-app/rvc-common/rvc-app.matter
@@ -241,7 +241,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter b/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter
index 9ed425b817255d..ceb5b931a22b69 100644
--- a/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter
+++ b/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter
@@ -318,7 +318,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter
index 6c95f5022ef2c8..ea8faa4892d428 100644
--- a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter
+++ b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter
@@ -191,7 +191,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter
index 0d702b5e3e291d..1ea6115cc9e85f 100644
--- a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter
+++ b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter
@@ -389,7 +389,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter
index 3db5e3fc306e4c..e0c7ca67a73518 100644
--- a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter
+++ b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter
@@ -389,7 +389,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter b/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter
index ff8ca04ecd4a89..775b1d38bbb160 100644
--- a/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter
+++ b/examples/thermostat/qpg/zap/thermostaticRadiatorValve.matter
@@ -389,7 +389,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter
index 039eda02a21854..3268c9aa5263cb 100644
--- a/examples/thermostat/thermostat-common/thermostat.matter
+++ b/examples/thermostat/thermostat-common/thermostat.matter
@@ -389,7 +389,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/tv-app/tv-common/tv-app.matter b/examples/tv-app/tv-common/tv-app.matter
index e7ed8d2996728e..998cac0791b12c 100644
--- a/examples/tv-app/tv-common/tv-app.matter
+++ b/examples/tv-app/tv-common/tv-app.matter
@@ -430,7 +430,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter
index d4064ec1dccc64..e58845e4f8823b 100644
--- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter
+++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter
@@ -590,7 +590,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
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 0de556963e6953..b6b1aac3565ed0 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
@@ -411,7 +411,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/examples/window-app/common/window-app.matter b/examples/window-app/common/window-app.matter
index f39cb7187446bc..a313e96e0a94c6 100644
--- a/examples/window-app/common/window-app.matter
+++ b/examples/window-app/common/window-app.matter
@@ -318,7 +318,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
diff --git a/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml
index a9c0f7f620e42a..7f6320a5880dc9 100644
--- a/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml
@@ -104,7 +104,7 @@ limitations under the License.
Reachable
- UniqueID
+ UniqueID
CapabilityMinima
ProductAppearance
SpecificationVersion
diff --git a/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic-information.xml b/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic-information.xml
index 3c4499d6d7a28e..702ea8754795b1 100644
--- a/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic-information.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic-information.xml
@@ -85,7 +85,7 @@ limitations under the License.
ProductLabel
SerialNumber
Reachable
- UniqueID
+ UniqueID
ProductAppearance
diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter
index 42771c75bf41f2..961ac180ef36a3 100644
--- a/src/controller/data_model/controller-clusters.matter
+++ b/src/controller/data_model/controller-clusters.matter
@@ -760,7 +760,7 @@ cluster BasicInformation = 40 {
readonly attribute optional char_string<32> serialNumber = 15;
attribute access(write: manage) optional boolean localConfigDisabled = 16;
readonly attribute optional boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute CapabilityMinimaStruct capabilityMinima = 19;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute int32u specificationVersion = 21;
@@ -2258,7 +2258,7 @@ cluster BridgedDeviceBasicInformation = 57 {
readonly attribute optional char_string<64> productLabel = 14;
readonly attribute optional char_string<32> serialNumber = 15;
readonly attribute boolean reachable = 17;
- readonly attribute optional char_string<32> uniqueID = 18;
+ readonly attribute char_string<32> uniqueID = 18;
readonly attribute optional ProductAppearanceStruct productAppearance = 20;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
diff --git a/src/controller/java/generated/java/matter/controller/cluster/clusters/BasicInformationCluster.kt b/src/controller/java/generated/java/matter/controller/cluster/clusters/BasicInformationCluster.kt
index b3ca847f528a3c..e60bab759236b3 100644
--- a/src/controller/java/generated/java/matter/controller/cluster/clusters/BasicInformationCluster.kt
+++ b/src/controller/java/generated/java/matter/controller/cluster/clusters/BasicInformationCluster.kt
@@ -1792,7 +1792,7 @@ class BasicInformationCluster(
}
}
- suspend fun readUniqueIDAttribute(): String? {
+ suspend fun readUniqueIDAttribute(): String {
val ATTRIBUTE_ID: UInt = 18u
val attributePath =
@@ -1818,12 +1818,7 @@ class BasicInformationCluster(
// Decode the TLV data into the appropriate type
val tlvReader = TlvReader(attributeData.data)
- val decodedValue: String? =
- if (tlvReader.isNextTag(AnonymousTag)) {
- tlvReader.getString(AnonymousTag)
- } else {
- null
- }
+ val decodedValue: String = tlvReader.getString(AnonymousTag)
return decodedValue
}
@@ -1867,14 +1862,9 @@ class BasicInformationCluster(
// Decode the TLV data into the appropriate type
val tlvReader = TlvReader(attributeData.data)
- val decodedValue: String? =
- if (tlvReader.isNextTag(AnonymousTag)) {
- tlvReader.getString(AnonymousTag)
- } else {
- null
- }
+ val decodedValue: String = tlvReader.getString(AnonymousTag)
- decodedValue?.let { emit(StringSubscriptionState.Success(it)) }
+ emit(StringSubscriptionState.Success(decodedValue))
}
SubscriptionState.SubscriptionEstablished -> {
emit(StringSubscriptionState.SubscriptionEstablished)
diff --git a/src/controller/java/generated/java/matter/controller/cluster/clusters/BridgedDeviceBasicInformationCluster.kt b/src/controller/java/generated/java/matter/controller/cluster/clusters/BridgedDeviceBasicInformationCluster.kt
index 905c46fb0adb17..73f0502017eee1 100644
--- a/src/controller/java/generated/java/matter/controller/cluster/clusters/BridgedDeviceBasicInformationCluster.kt
+++ b/src/controller/java/generated/java/matter/controller/cluster/clusters/BridgedDeviceBasicInformationCluster.kt
@@ -1411,7 +1411,7 @@ class BridgedDeviceBasicInformationCluster(
}
}
- suspend fun readUniqueIDAttribute(): String? {
+ suspend fun readUniqueIDAttribute(): String {
val ATTRIBUTE_ID: UInt = 18u
val attributePath =
@@ -1437,12 +1437,7 @@ class BridgedDeviceBasicInformationCluster(
// Decode the TLV data into the appropriate type
val tlvReader = TlvReader(attributeData.data)
- val decodedValue: String? =
- if (tlvReader.isNextTag(AnonymousTag)) {
- tlvReader.getString(AnonymousTag)
- } else {
- null
- }
+ val decodedValue: String = tlvReader.getString(AnonymousTag)
return decodedValue
}
@@ -1486,14 +1481,9 @@ class BridgedDeviceBasicInformationCluster(
// Decode the TLV data into the appropriate type
val tlvReader = TlvReader(attributeData.data)
- val decodedValue: String? =
- if (tlvReader.isNextTag(AnonymousTag)) {
- tlvReader.getString(AnonymousTag)
- } else {
- null
- }
+ val decodedValue: String = tlvReader.getString(AnonymousTag)
- decodedValue?.let { emit(StringSubscriptionState.Success(it)) }
+ emit(StringSubscriptionState.Success(decodedValue))
}
SubscriptionState.SubscriptionEstablished -> {
emit(StringSubscriptionState.SubscriptionEstablished)
diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py
index 9a6c6a55a7f420..de7708f8bcb318 100644
--- a/src/controller/python/chip/clusters/Objects.py
+++ b/src/controller/python/chip/clusters/Objects.py
@@ -3411,7 +3411,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
ClusterObjectFieldDescriptor(Label="serialNumber", Tag=0x0000000F, Type=typing.Optional[str]),
ClusterObjectFieldDescriptor(Label="localConfigDisabled", Tag=0x00000010, Type=typing.Optional[bool]),
ClusterObjectFieldDescriptor(Label="reachable", Tag=0x00000011, Type=typing.Optional[bool]),
- ClusterObjectFieldDescriptor(Label="uniqueID", Tag=0x00000012, Type=typing.Optional[str]),
+ ClusterObjectFieldDescriptor(Label="uniqueID", Tag=0x00000012, Type=str),
ClusterObjectFieldDescriptor(Label="capabilityMinima", Tag=0x00000013, Type=BasicInformation.Structs.CapabilityMinimaStruct),
ClusterObjectFieldDescriptor(Label="productAppearance", Tag=0x00000014, Type=typing.Optional[BasicInformation.Structs.ProductAppearanceStruct]),
ClusterObjectFieldDescriptor(Label="specificationVersion", Tag=0x00000015, Type=uint),
@@ -3442,7 +3442,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
serialNumber: 'typing.Optional[str]' = None
localConfigDisabled: 'typing.Optional[bool]' = None
reachable: 'typing.Optional[bool]' = None
- uniqueID: 'typing.Optional[str]' = None
+ uniqueID: 'str' = None
capabilityMinima: 'BasicInformation.Structs.CapabilityMinimaStruct' = None
productAppearance: 'typing.Optional[BasicInformation.Structs.ProductAppearanceStruct]' = None
specificationVersion: 'uint' = None
@@ -3838,9 +3838,9 @@ def attribute_id(cls) -> int:
@ChipUtility.classproperty
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
- return ClusterObjectFieldDescriptor(Type=typing.Optional[str])
+ return ClusterObjectFieldDescriptor(Type=str)
- value: 'typing.Optional[str]' = None
+ value: 'str' = ""
@dataclass
class CapabilityMinima(ClusterAttributeDescriptor):
@@ -11350,7 +11350,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
ClusterObjectFieldDescriptor(Label="productLabel", Tag=0x0000000E, Type=typing.Optional[str]),
ClusterObjectFieldDescriptor(Label="serialNumber", Tag=0x0000000F, Type=typing.Optional[str]),
ClusterObjectFieldDescriptor(Label="reachable", Tag=0x00000011, Type=bool),
- ClusterObjectFieldDescriptor(Label="uniqueID", Tag=0x00000012, Type=typing.Optional[str]),
+ ClusterObjectFieldDescriptor(Label="uniqueID", Tag=0x00000012, Type=str),
ClusterObjectFieldDescriptor(Label="productAppearance", Tag=0x00000014, Type=typing.Optional[BridgedDeviceBasicInformation.Structs.ProductAppearanceStruct]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
@@ -11374,7 +11374,7 @@ def descriptor(cls) -> ClusterObjectDescriptor:
productLabel: 'typing.Optional[str]' = None
serialNumber: 'typing.Optional[str]' = None
reachable: 'bool' = None
- uniqueID: 'typing.Optional[str]' = None
+ uniqueID: 'str' = None
productAppearance: 'typing.Optional[BridgedDeviceBasicInformation.Structs.ProductAppearanceStruct]' = None
generatedCommandList: 'typing.List[uint]' = None
acceptedCommandList: 'typing.List[uint]' = None
@@ -11676,9 +11676,9 @@ def attribute_id(cls) -> int:
@ChipUtility.classproperty
def attribute_type(cls) -> ClusterObjectFieldDescriptor:
- return ClusterObjectFieldDescriptor(Type=typing.Optional[str])
+ return ClusterObjectFieldDescriptor(Type=str)
- value: 'typing.Optional[str]' = None
+ value: 'str' = ""
@dataclass
class ProductAppearance(ClusterAttributeDescriptor):