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 24ac42c7435063..7ba0c1911e5a7e 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
@@ -485,6 +485,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 b468be273d3509..31ed149626fbb7 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
@@ -479,6 +479,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 ac9416034aa63f..54eb5aab18d9c0 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
@@ -1415,6 +1415,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 d8edc24a8e391d..d3ceb7b7590b05 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
@@ -1240,6 +1240,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/bridge-app/bridge-common/bridge-app.matter b/examples/bridge-app/bridge-common/bridge-app.matter
index ab58f23b7de890..6c5362779b84a8 100644
--- a/examples/bridge-app/bridge-common/bridge-app.matter
+++ b/examples/bridge-app/bridge-common/bridge-app.matter
@@ -752,6 +752,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 2da641921c68d5..f246b1b00db21d 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
@@ -405,6 +405,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter
index c65c69aa5fac3d..eb326588b01a06 100644
--- a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter
+++ b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter
@@ -534,6 +534,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter b/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter
index 11eef7f41cb6c8..f521f7e702bfa3 100644
--- a/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter
+++ b/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter
@@ -539,6 +539,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
index 3def96eec50970..fd2c185dc52610 100644
--- a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
+++ b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
@@ -716,6 +716,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
index 3e625cd72dbc03..894236a3283dcd 100644
--- a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
+++ b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
@@ -622,6 +622,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
index 43531e46fe8b87..3973e1872d1777 100644
--- a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
+++ b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
@@ -772,6 +772,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter b/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter
index aa912683189e60..78d0310788e578 100644
--- a/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter
+++ b/examples/chef/devices/rootnode_dishwasher_cc105034fe.matter
@@ -414,6 +414,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
index 34aae974d8680f..82c0f7310fe158 100644
--- a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
+++ b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
@@ -622,6 +622,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
index 0bbd46559813a6..fbe27d45dbaee4 100644
--- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
+++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
@@ -772,6 +772,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
index 6328a9d11b3dec..67666fd3e8571c 100644
--- a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
+++ b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
@@ -609,6 +609,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter
index 1d76400bec6412..61dc92c5e0d612 100644
--- a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter
+++ b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter
@@ -628,6 +628,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter b/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter
index 05ed94e5c1d4c3..de91db915a0768 100644
--- a/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter
+++ b/examples/chef/devices/rootnode_genericswitch_9866e35d0b.matter
@@ -336,6 +336,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
index a767ffd8f2d60f..66b19755260938 100644
--- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
+++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
@@ -766,6 +766,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter
index bc3a828b383f8a..ade47b1864fd78 100644
--- a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter
+++ b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter
@@ -628,6 +628,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter b/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter
index a1830f00647c8e..2e23a9182dc7a9 100644
--- a/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter
+++ b/examples/chef/devices/rootnode_laundrywasher_fb10d238c8.matter
@@ -414,6 +414,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter
index 3b318f563e146b..5bf07a8dff27e2 100644
--- a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter
+++ b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter
@@ -628,6 +628,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter
index 6b98cce8557b41..48739a3eb9980f 100644
--- a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter
+++ b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter
@@ -628,6 +628,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
index 5a5d04eced1b8a..15378e45b840a2 100644
--- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
+++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
@@ -772,6 +772,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_onofflight_samplemei.matter b/examples/chef/devices/rootnode_onofflight_samplemei.matter
index 6f73c3526e7bb3..6aebb350339e0f 100644
--- a/examples/chef/devices/rootnode_onofflight_samplemei.matter
+++ b/examples/chef/devices/rootnode_onofflight_samplemei.matter
@@ -772,6 +772,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter
index 081ead537c1caa..038ef0dfc8b255 100644
--- a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter
+++ b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter
@@ -736,6 +736,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
index ee76290b4b76d2..9eec96c24a29fd 100644
--- a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
+++ b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
@@ -671,6 +671,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter
index f9da8c0aa4de63..6951fb2b6488c9 100644
--- a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter
+++ b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter
@@ -628,6 +628,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_pump_5f904818cc.matter b/examples/chef/devices/rootnode_pump_5f904818cc.matter
index 7d927a4ef4e2b5..5192a981b7f760 100644
--- a/examples/chef/devices/rootnode_pump_5f904818cc.matter
+++ b/examples/chef/devices/rootnode_pump_5f904818cc.matter
@@ -450,6 +450,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_pump_a811bb33a0.matter b/examples/chef/devices/rootnode_pump_a811bb33a0.matter
index 3bb9ba1c1018fd..16c99afb1776e4 100644
--- a/examples/chef/devices/rootnode_pump_a811bb33a0.matter
+++ b/examples/chef/devices/rootnode_pump_a811bb33a0.matter
@@ -450,6 +450,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter b/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter
index 6d29433fcc2302..924f9996a18bed 100644
--- a/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter
+++ b/examples/chef/devices/rootnode_refrigerator_temperaturecontrolledcabinet_temperaturecontrolledcabinet_ffdb696680.matter
@@ -414,6 +414,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter
index da7fb6baabfb6a..754ef7632f1a2a 100644
--- a/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter
+++ b/examples/chef/devices/rootnode_roboticvacuumcleaner_1807ff0c49.matter
@@ -405,6 +405,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
index 7991c31dde5523..b74aaf0fcef502 100644
--- a/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
+++ b/examples/chef/devices/rootnode_roomairconditioner_9cf3607804.matter
@@ -450,6 +450,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter b/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter
index 4797e1decedccd..6864f9f4128d1d 100644
--- a/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter
+++ b/examples/chef/devices/rootnode_smokecoalarm_686fe0dcb8.matter
@@ -637,6 +637,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
index 7c83b714f2bb3c..999eed145752b1 100644
--- a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
+++ b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
@@ -697,6 +697,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter
index 1ad1f5e17c41da..858934046259af 100644
--- a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter
+++ b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter
@@ -628,6 +628,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
index 4747fcac8d84b3..5522fb798a8b75 100644
--- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
+++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
@@ -622,6 +622,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
index 0e8dde914a4176..6b3d3345dc163c 100644
--- a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
+++ b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
@@ -622,6 +622,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 39f3fa7643d0dc..5f7ad0dea23371 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
@@ -609,6 +609,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter b/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter
index d4d01aa6e93969..2ce1035cb9c937 100644
--- a/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter
+++ b/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter
@@ -502,6 +502,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 bf643921d59797..6cd211a0acffb6 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
@@ -923,6 +923,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 f65317e82546d6..706e6e11be89c2 100644
--- a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter
+++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter
@@ -780,6 +780,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 aa4aeb2888dfdb..d627fc2677d503 100644
--- a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter
+++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter
@@ -780,6 +780,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 9f75d1d422edf4..bbbb0c8bae8edc 100644
--- a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter
+++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter
@@ -780,6 +780,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter
index b0777fc19a97aa..46c4d49957bd0d 100644
--- a/examples/lighting-app/lighting-common/lighting-app.matter
+++ b/examples/lighting-app/lighting-common/lighting-app.matter
@@ -927,6 +927,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/lighting-app/nxp/zap/lighting-on-off.matter b/examples/lighting-app/nxp/zap/lighting-on-off.matter
index 0354f3bc80d980..ad75885c8f3e5f 100644
--- a/examples/lighting-app/nxp/zap/lighting-on-off.matter
+++ b/examples/lighting-app/nxp/zap/lighting-on-off.matter
@@ -710,6 +710,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/lighting-app/qpg/zap/light.matter b/examples/lighting-app/qpg/zap/light.matter
index 5bae7ee2b18663..2fb6343726d279 100644
--- a/examples/lighting-app/qpg/zap/light.matter
+++ b/examples/lighting-app/qpg/zap/light.matter
@@ -721,6 +721,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 f0b2108babcf4a..4b3c39130158ce 100644
--- a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter
+++ b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter
@@ -1184,6 +1184,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 fd92210ea3dd19..6b1345def7d32c 100644
--- a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter
+++ b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter
@@ -1163,6 +1163,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/lock-app/lock-common/lock-app.matter b/examples/lock-app/lock-common/lock-app.matter
index 5fd638d694d1d2..ebc6c4dabb7dcb 100644
--- a/examples/lock-app/lock-common/lock-app.matter
+++ b/examples/lock-app/lock-common/lock-app.matter
@@ -846,6 +846,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/lock-app/nxp/zap/lock-app.matter b/examples/lock-app/nxp/zap/lock-app.matter
index a5291071a054e1..ea7ec26983f090 100644
--- a/examples/lock-app/nxp/zap/lock-app.matter
+++ b/examples/lock-app/nxp/zap/lock-app.matter
@@ -328,6 +328,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/lock-app/qpg/zap/lock.matter b/examples/lock-app/qpg/zap/lock.matter
index da9e39e9a431b3..175ce964e15219 100644
--- a/examples/lock-app/qpg/zap/lock.matter
+++ b/examples/lock-app/qpg/zap/lock.matter
@@ -554,6 +554,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/log-source-app/log-source-common/log-source-app.matter b/examples/log-source-app/log-source-common/log-source-app.matter
index 310d00e2fa7356..38d55fe5884bfb 100644
--- a/examples/log-source-app/log-source-common/log-source-app.matter
+++ b/examples/log-source-app/log-source-common/log-source-app.matter
@@ -169,6 +169,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 d5104906880db2..c589341e0be2c3 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
@@ -489,6 +489,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 9e1977afff1924..147650f8aff5e9 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
@@ -672,6 +672,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/placeholder/linux/apps/app1/config.matter b/examples/placeholder/linux/apps/app1/config.matter
index bc62ad9ebc9c58..16abb307869c60 100644
--- a/examples/placeholder/linux/apps/app1/config.matter
+++ b/examples/placeholder/linux/apps/app1/config.matter
@@ -1466,6 +1466,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/placeholder/linux/apps/app2/config.matter b/examples/placeholder/linux/apps/app2/config.matter
index 689f75dbc008c8..1fa43d89cd56e6 100644
--- a/examples/placeholder/linux/apps/app2/config.matter
+++ b/examples/placeholder/linux/apps/app2/config.matter
@@ -1425,6 +1425,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/pump-app/pump-common/pump-app.matter b/examples/pump-app/pump-common/pump-app.matter
index 23649a4461e95b..93e18900203014 100644
--- a/examples/pump-app/pump-common/pump-app.matter
+++ b/examples/pump-app/pump-common/pump-app.matter
@@ -640,6 +640,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 7a4f9d38022861..4e45364e1b1e4d 100644
--- a/examples/pump-app/silabs/data_model/pump-thread-app.matter
+++ b/examples/pump-app/silabs/data_model/pump-thread-app.matter
@@ -640,6 +640,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 7a4f9d38022861..4e45364e1b1e4d 100644
--- a/examples/pump-app/silabs/data_model/pump-wifi-app.matter
+++ b/examples/pump-app/silabs/data_model/pump-wifi-app.matter
@@ -640,6 +640,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 5f5f3b2cd16d63..e5a5a22b2eb7e7 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
@@ -565,6 +565,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter b/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter
index df9636bfe5daa8..77fb79e7222fb9 100644
--- a/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter
+++ b/examples/refrigerator-app/refrigerator-common/refrigerator-app.matter
@@ -369,6 +369,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter b/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter
index ba2310b1015fc5..6b401a2866cb8c 100644
--- a/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter
+++ b/examples/resource-monitoring-app/resource-monitoring-common/resource-monitoring-app.matter
@@ -609,6 +609,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/rvc-app/rvc-common/rvc-app.matter b/examples/rvc-app/rvc-common/rvc-app.matter
index 1661e5a9027bf0..c5ffc7e7e4ef63 100644
--- a/examples/rvc-app/rvc-common/rvc-app.matter
+++ b/examples/rvc-app/rvc-common/rvc-app.matter
@@ -336,6 +336,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 e316c02f65cf5f..0d81011ea959df 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
@@ -841,6 +841,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 96ff6b0442f9f6..cc8b82ecc50c46 100644
--- a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter
+++ b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter
@@ -369,6 +369,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter
index 09098b40590212..7137dc169fcbe9 100644
--- a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter
+++ b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter
@@ -1047,6 +1047,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter
index 7c5e1cee8a41f5..b8fae5b9d7b8f9 100644
--- a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter
+++ b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter
@@ -1047,6 +1047,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter
index a276978b8d4af9..1996e4c9716785 100644
--- a/examples/thermostat/thermostat-common/thermostat.matter
+++ b/examples/thermostat/thermostat-common/thermostat.matter
@@ -700,6 +700,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/tv-app/tv-common/tv-app.matter b/examples/tv-app/tv-common/tv-app.matter
index 23a0e2e8772ef1..4a4a8a4280c207 100644
--- a/examples/tv-app/tv-common/tv-app.matter
+++ b/examples/tv-app/tv-common/tv-app.matter
@@ -698,6 +698,14 @@ client cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
@@ -739,6 +747,9 @@ client cluster NetworkCommissioning = 49 {
readonly attribute access(read: administer) nullable NetworkCommissioningStatusEnum lastNetworkingStatus = 5;
readonly attribute access(read: administer) nullable octet_string<32> lastNetworkID = 6;
readonly attribute access(read: administer) nullable int32s lastConnectErrorValue = 7;
+ readonly attribute optional WiFiBandEnum supportedWiFiBands[] = 8;
+ readonly attribute optional ThreadCapabilitiesBitmap supportedThreadFeatures = 9;
+ readonly attribute optional int16u threadVersion = 10;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
@@ -844,6 +855,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 78c2a6aca45cb0..0431a51629d783 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
@@ -733,6 +733,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
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 b7666a878f465b..92e2189a0a152f 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
@@ -990,6 +990,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/examples/window-app/common/window-app.matter b/examples/window-app/common/window-app.matter
index 94883296466161..ded80c333e3563 100644
--- a/examples/window-app/common/window-app.matter
+++ b/examples/window-app/common/window-app.matter
@@ -867,6 +867,14 @@ server cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
diff --git a/src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml
index 14365b605d9c92..5063f3241053bc 100644
--- a/src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/network-commissioning-cluster.xml
@@ -49,6 +49,16 @@ limitations under the License.
+
+
+
+
+
+
+
+
+
+
@@ -75,6 +85,13 @@ limitations under the License.
+
+
+
+
+
+
+
Network Commissioning
CHIP
@@ -111,6 +128,15 @@ limitations under the License.
LastConnectErrorValue
+
+ SupportedWiFiBands
+
+
+ SupportedThreadFeatures
+
+
+ ThreadVersion
+
Detemine the set of networks the device sees as available.
@@ -170,10 +196,4 @@ limitations under the License.
-
-
-
-
-
-
diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter
index 3527172e57b436..c773ab64a42412 100644
--- a/src/controller/data_model/controller-clusters.matter
+++ b/src/controller/data_model/controller-clusters.matter
@@ -1523,6 +1523,14 @@ client cluster NetworkCommissioning = 49 {
kEthernetNetworkInterface = 0x4;
}
+ bitmap ThreadCapabilitiesBitmap : bitmap16 {
+ kIsBorderRouterCapable = 0x1;
+ kIsRouterCapable = 0x2;
+ kIsSleepyEndDeviceCapable = 0x4;
+ kIsFullThreadDevice = 0x8;
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10;
+ }
+
bitmap WiFiSecurityBitmap : bitmap8 {
kUnencrypted = 0x1;
kWEP = 0x2;
@@ -1564,6 +1572,9 @@ client cluster NetworkCommissioning = 49 {
readonly attribute access(read: administer) nullable NetworkCommissioningStatusEnum lastNetworkingStatus = 5;
readonly attribute access(read: administer) nullable octet_string<32> lastNetworkID = 6;
readonly attribute access(read: administer) nullable int32s lastConnectErrorValue = 7;
+ readonly attribute optional WiFiBandEnum supportedWiFiBands[] = 8;
+ readonly attribute optional ThreadCapabilitiesBitmap supportedThreadFeatures = 9;
+ readonly attribute optional int16u threadVersion = 10;
readonly attribute command_id generatedCommandList[] = 65528;
readonly attribute command_id acceptedCommandList[] = 65529;
readonly attribute event_id eventList[] = 65530;
diff --git a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java
index 296065e6083551..e930b559e58ec5 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ChipClusters.java
@@ -5631,6 +5631,12 @@ public interface LastConnectErrorValueAttributeCallback {
default void onSubscriptionEstablished(long subscriptionId) {}
}
+ public interface SupportedWiFiBandsAttributeCallback {
+ void onSuccess(List value);
+ void onError(Exception ex);
+ default void onSubscriptionEstablished(long subscriptionId) {}
+ }
+
public interface GeneratedCommandListAttributeCallback {
void onSuccess(List value);
void onError(Exception ex);
@@ -5743,6 +5749,36 @@ public void subscribeLastConnectErrorValueAttribute(
subscribeLastConnectErrorValueAttribute(chipClusterPtr, callback, minInterval, maxInterval);
}
+ public void readSupportedWiFiBandsAttribute(
+ SupportedWiFiBandsAttributeCallback callback) {
+ readSupportedWiFiBandsAttribute(chipClusterPtr, callback);
+ }
+
+ public void subscribeSupportedWiFiBandsAttribute(
+ SupportedWiFiBandsAttributeCallback callback, int minInterval, int maxInterval) {
+ subscribeSupportedWiFiBandsAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ }
+
+ public void readSupportedThreadFeaturesAttribute(
+ IntegerAttributeCallback callback) {
+ readSupportedThreadFeaturesAttribute(chipClusterPtr, callback);
+ }
+
+ public void subscribeSupportedThreadFeaturesAttribute(
+ IntegerAttributeCallback callback, int minInterval, int maxInterval) {
+ subscribeSupportedThreadFeaturesAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ }
+
+ public void readThreadVersionAttribute(
+ IntegerAttributeCallback callback) {
+ readThreadVersionAttribute(chipClusterPtr, callback);
+ }
+
+ public void subscribeThreadVersionAttribute(
+ IntegerAttributeCallback callback, int minInterval, int maxInterval) {
+ subscribeThreadVersionAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ }
+
public void readGeneratedCommandListAttribute(
GeneratedCommandListAttributeCallback callback) {
readGeneratedCommandListAttribute(chipClusterPtr, callback);
@@ -5837,6 +5873,18 @@ public void subscribeClusterRevisionAttribute(
private native void subscribeLastConnectErrorValueAttribute(long chipClusterPtr, LastConnectErrorValueAttributeCallback callback, int minInterval, int maxInterval);
+ private native void readSupportedWiFiBandsAttribute(long chipClusterPtr, SupportedWiFiBandsAttributeCallback callback);
+
+ private native void subscribeSupportedWiFiBandsAttribute(long chipClusterPtr, SupportedWiFiBandsAttributeCallback callback, int minInterval, int maxInterval);
+
+ private native void readSupportedThreadFeaturesAttribute(long chipClusterPtr, IntegerAttributeCallback callback);
+
+ private native void subscribeSupportedThreadFeaturesAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval);
+
+ private native void readThreadVersionAttribute(long chipClusterPtr, IntegerAttributeCallback callback);
+
+ private native void subscribeThreadVersionAttribute(long chipClusterPtr, IntegerAttributeCallback callback, int minInterval, int maxInterval);
+
private native void readGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback);
private native void subscribeGeneratedCommandListAttribute(long chipClusterPtr, GeneratedCommandListAttributeCallback callback, int minInterval, int maxInterval);
diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java
index 002fe71784dfc5..5801d097a21732 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterIDMapping.java
@@ -3411,6 +3411,9 @@ public enum Attribute {
LastNetworkingStatus(5L),
LastNetworkID(6L),
LastConnectErrorValue(7L),
+ SupportedWiFiBands(8L),
+ SupportedThreadFeatures(9L),
+ ThreadVersion(10L),
GeneratedCommandList(65528L),
AcceptedCommandList(65529L),
EventList(65530L),
diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java
index 76d01c7ae688d1..4ec2ba92ed5afa 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterInfoMapping.java
@@ -3421,6 +3421,27 @@ public void onError(Exception ex) {
}
}
+ public static class DelegatedNetworkCommissioningClusterSupportedWiFiBandsAttributeCallback implements ChipClusters.NetworkCommissioningCluster.SupportedWiFiBandsAttributeCallback, DelegatedClusterCallback {
+ private ClusterCommandCallback callback;
+ @Override
+ public void setCallbackDelegate(ClusterCommandCallback callback) {
+ this.callback = callback;
+ }
+
+ @Override
+ public void onSuccess(List valueList) {
+ Map responseValues = new LinkedHashMap<>();
+ CommandResponseInfo commandResponseInfo = new CommandResponseInfo("valueList", "List");
+ responseValues.put(commandResponseInfo, valueList);
+ callback.onSuccess(responseValues);
+ }
+
+ @Override
+ public void onError(Exception ex) {
+ callback.onFailure(ex);
+ }
+ }
+
public static class DelegatedNetworkCommissioningClusterGeneratedCommandListAttributeCallback implements ChipClusters.NetworkCommissioningCluster.GeneratedCommandListAttributeCallback, DelegatedClusterCallback {
private ClusterCommandCallback callback;
@Override
diff --git a/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java b/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java
index 43e73e97980866..31822405728084 100644
--- a/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java
+++ b/src/controller/java/generated/java/chip/devicecontroller/ClusterReadMapping.java
@@ -2915,6 +2915,39 @@ private static Map readNetworkCommissioningInteractionI
readNetworkCommissioningLastConnectErrorValueCommandParams
);
result.put("readLastConnectErrorValueAttribute", readNetworkCommissioningLastConnectErrorValueAttributeInteractionInfo);
+ Map readNetworkCommissioningSupportedWiFiBandsCommandParams = new LinkedHashMap();
+ InteractionInfo readNetworkCommissioningSupportedWiFiBandsAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.NetworkCommissioningCluster) cluster).readSupportedWiFiBandsAttribute(
+ (ChipClusters.NetworkCommissioningCluster.SupportedWiFiBandsAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedNetworkCommissioningClusterSupportedWiFiBandsAttributeCallback(),
+ readNetworkCommissioningSupportedWiFiBandsCommandParams
+ );
+ result.put("readSupportedWiFiBandsAttribute", readNetworkCommissioningSupportedWiFiBandsAttributeInteractionInfo);
+ Map readNetworkCommissioningSupportedThreadFeaturesCommandParams = new LinkedHashMap();
+ InteractionInfo readNetworkCommissioningSupportedThreadFeaturesAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.NetworkCommissioningCluster) cluster).readSupportedThreadFeaturesAttribute(
+ (ChipClusters.IntegerAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(),
+ readNetworkCommissioningSupportedThreadFeaturesCommandParams
+ );
+ result.put("readSupportedThreadFeaturesAttribute", readNetworkCommissioningSupportedThreadFeaturesAttributeInteractionInfo);
+ Map readNetworkCommissioningThreadVersionCommandParams = new LinkedHashMap();
+ InteractionInfo readNetworkCommissioningThreadVersionAttributeInteractionInfo = new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.NetworkCommissioningCluster) cluster).readThreadVersionAttribute(
+ (ChipClusters.IntegerAttributeCallback) callback
+ );
+ },
+ () -> new ClusterInfoMapping.DelegatedIntegerAttributeCallback(),
+ readNetworkCommissioningThreadVersionCommandParams
+ );
+ result.put("readThreadVersionAttribute", readNetworkCommissioningThreadVersionAttributeInteractionInfo);
Map readNetworkCommissioningGeneratedCommandListCommandParams = new LinkedHashMap();
InteractionInfo readNetworkCommissioningGeneratedCommandListAttributeInteractionInfo = new InteractionInfo(
(cluster, callback, commandArguments) -> {
diff --git a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
index 40196587dc825b..23f510b5c7a94c 100644
--- a/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
+++ b/src/controller/java/zap-generated/CHIPAttributeTLVValueDecoder.cpp
@@ -5961,6 +5961,63 @@ jobject DecodeAttributeValue(const app::ConcreteAttributePath & aPath, TLV::TLVR
}
return value;
}
+ case Attributes::SupportedWiFiBands::Id: {
+ using TypeInfo = Attributes::SupportedWiFiBands::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ chip::JniReferences::GetInstance().CreateArrayList(value);
+
+ auto iter_value_0 = cppValue.begin();
+ while (iter_value_0.Next())
+ {
+ auto & entry_0 = iter_value_0.GetValue();
+ jobject newElement_0;
+ std::string newElement_0ClassName = "java/lang/Integer";
+ std::string newElement_0CtorSignature = "(I)V";
+ jint jninewElement_0 = static_cast(entry_0);
+ chip::JniReferences::GetInstance().CreateBoxedObject(
+ newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(), jninewElement_0, newElement_0);
+ chip::JniReferences::GetInstance().AddToList(value, newElement_0);
+ }
+ return value;
+ }
+ case Attributes::SupportedThreadFeatures::Id: {
+ using TypeInfo = Attributes::SupportedThreadFeatures::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ std::string valueClassName = "java/lang/Integer";
+ std::string valueCtorSignature = "(I)V";
+ jint jnivalue = static_cast(cppValue.Raw());
+ chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue,
+ value);
+ return value;
+ }
+ case Attributes::ThreadVersion::Id: {
+ using TypeInfo = Attributes::ThreadVersion::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = app::DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR)
+ {
+ return nullptr;
+ }
+ jobject value;
+ std::string valueClassName = "java/lang/Integer";
+ std::string valueCtorSignature = "(I)V";
+ jint jnivalue = static_cast(cppValue);
+ chip::JniReferences::GetInstance().CreateBoxedObject(valueClassName.c_str(), valueCtorSignature.c_str(), jnivalue,
+ value);
+ return value;
+ }
case Attributes::GeneratedCommandList::Id: {
using TypeInfo = Attributes::GeneratedCommandList::TypeInfo;
TypeInfo::DecodableType cppValue;
diff --git a/src/controller/java/zap-generated/CHIPClientCallbacks.h b/src/controller/java/zap-generated/CHIPClientCallbacks.h
index b1646be03f8911..76f215309f6705 100644
--- a/src/controller/java/zap-generated/CHIPClientCallbacks.h
+++ b/src/controller/java/zap-generated/CHIPClientCallbacks.h
@@ -248,6 +248,8 @@ typedef void (*NetworkCommissioningNetworksListAttributeCallback)(
void * context,
const chip::app::DataModel::DecodableList<
chip::app::Clusters::NetworkCommissioning::Structs::NetworkInfoStruct::DecodableType> & data);
+typedef void (*NetworkCommissioningSupportedWiFiBandsListAttributeCallback)(
+ void * context, const chip::app::DataModel::DecodableList & data);
typedef void (*NetworkCommissioningGeneratedCommandListListAttributeCallback)(
void * context, const chip::app::DataModel::DecodableList & data);
typedef void (*NetworkCommissioningAcceptedCommandListListAttributeCallback)(
diff --git a/src/controller/java/zap-generated/CHIPReadCallbacks.cpp b/src/controller/java/zap-generated/CHIPReadCallbacks.cpp
index 6fddee564cd0df..b4e3b543cc1ddb 100644
--- a/src/controller/java/zap-generated/CHIPReadCallbacks.cpp
+++ b/src/controller/java/zap-generated/CHIPReadCallbacks.cpp
@@ -9253,6 +9253,78 @@ void CHIPNetworkCommissioningLastConnectErrorValueAttributeCallback::CallbackFn(
env->CallVoidMethod(javaCallbackRef, javaMethod, javaValue);
}
+CHIPNetworkCommissioningSupportedWiFiBandsAttributeCallback::CHIPNetworkCommissioningSupportedWiFiBandsAttributeCallback(
+ jobject javaCallback, bool keepAlive) :
+ chip::Callback::Callback(CallbackFn, this),
+ keepAlive(keepAlive)
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ return;
+ }
+
+ javaCallbackRef = env->NewGlobalRef(javaCallback);
+ if (javaCallbackRef == nullptr)
+ {
+ ChipLogError(Zcl, "Could not create global reference for Java callback");
+ }
+}
+
+CHIPNetworkCommissioningSupportedWiFiBandsAttributeCallback::~CHIPNetworkCommissioningSupportedWiFiBandsAttributeCallback()
+{
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ if (env == nullptr)
+ {
+ ChipLogError(Zcl, "Could not delete global reference for Java callback");
+ return;
+ }
+ env->DeleteGlobalRef(javaCallbackRef);
+}
+
+void CHIPNetworkCommissioningSupportedWiFiBandsAttributeCallback::CallbackFn(
+ void * context, const chip::app::DataModel::DecodableList & list)
+{
+ chip::DeviceLayer::StackUnlock unlock;
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ JNIEnv * env = chip::JniReferences::GetInstance().GetEnvForCurrentThread();
+ jobject javaCallbackRef;
+
+ VerifyOrReturn(env != nullptr, ChipLogError(Zcl, "Could not get JNI env"));
+
+ std::unique_ptr cppCallback(
+ reinterpret_cast(context), maybeDestroy);
+
+ // It's valid for javaCallbackRef to be nullptr if the Java code passed in a null callback.
+ javaCallbackRef = cppCallback.get()->javaCallbackRef;
+ VerifyOrReturn(javaCallbackRef != nullptr,
+ ChipLogProgress(Zcl, "Early return from attribute callback since Java callback is null"));
+
+ jmethodID javaMethod;
+ err = chip::JniReferences::GetInstance().FindMethod(env, javaCallbackRef, "onSuccess", "(Ljava/util/List;)V", &javaMethod);
+ VerifyOrReturn(err == CHIP_NO_ERROR, ChipLogError(Zcl, "Could not find onSuccess() method"));
+
+ jobject arrayListObj;
+ chip::JniReferences::GetInstance().CreateArrayList(arrayListObj);
+
+ auto iter_arrayListObj_0 = list.begin();
+ while (iter_arrayListObj_0.Next())
+ {
+ auto & entry_0 = iter_arrayListObj_0.GetValue();
+ jobject newElement_0;
+ std::string newElement_0ClassName = "java/lang/Integer";
+ std::string newElement_0CtorSignature = "(I)V";
+ jint jninewElement_0 = static_cast(entry_0);
+ chip::JniReferences::GetInstance().CreateBoxedObject(newElement_0ClassName.c_str(), newElement_0CtorSignature.c_str(),
+ jninewElement_0, newElement_0);
+ chip::JniReferences::GetInstance().AddToList(arrayListObj, newElement_0);
+ }
+
+ env->ExceptionClear();
+ env->CallVoidMethod(javaCallbackRef, javaMethod, arrayListObj);
+}
+
CHIPNetworkCommissioningGeneratedCommandListAttributeCallback::CHIPNetworkCommissioningGeneratedCommandListAttributeCallback(
jobject javaCallback, bool keepAlive) :
chip::Callback::Callback(CallbackFn, this),
diff --git a/src/controller/python/chip/clusters/CHIPClusters.py b/src/controller/python/chip/clusters/CHIPClusters.py
index 434296a3c1761d..e9124645ea787a 100644
--- a/src/controller/python/chip/clusters/CHIPClusters.py
+++ b/src/controller/python/chip/clusters/CHIPClusters.py
@@ -2276,6 +2276,24 @@ class ChipClusters:
"type": "int",
"reportable": True,
},
+ 0x00000008: {
+ "attributeName": "SupportedWiFiBands",
+ "attributeId": 0x00000008,
+ "type": "int",
+ "reportable": True,
+ },
+ 0x00000009: {
+ "attributeName": "SupportedThreadFeatures",
+ "attributeId": 0x00000009,
+ "type": "int",
+ "reportable": True,
+ },
+ 0x0000000A: {
+ "attributeName": "ThreadVersion",
+ "attributeId": 0x0000000A,
+ "type": "int",
+ "reportable": True,
+ },
0x0000FFF8: {
"attributeName": "GeneratedCommandList",
"attributeId": 0x0000FFF8,
diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py
index 98a1a611ca54a5..04a3f469605dc8 100644
--- a/src/controller/python/chip/clusters/Objects.py
+++ b/src/controller/python/chip/clusters/Objects.py
@@ -7400,6 +7400,9 @@ def descriptor(cls) -> ClusterObjectDescriptor:
ClusterObjectFieldDescriptor(Label="lastNetworkingStatus", Tag=0x00000005, Type=typing.Union[Nullable, NetworkCommissioning.Enums.NetworkCommissioningStatusEnum]),
ClusterObjectFieldDescriptor(Label="lastNetworkID", Tag=0x00000006, Type=typing.Union[Nullable, bytes]),
ClusterObjectFieldDescriptor(Label="lastConnectErrorValue", Tag=0x00000007, Type=typing.Union[Nullable, int]),
+ ClusterObjectFieldDescriptor(Label="supportedWiFiBands", Tag=0x00000008, Type=typing.Optional[typing.List[NetworkCommissioning.Enums.WiFiBandEnum]]),
+ ClusterObjectFieldDescriptor(Label="supportedThreadFeatures", Tag=0x00000009, Type=typing.Optional[uint]),
+ ClusterObjectFieldDescriptor(Label="threadVersion", Tag=0x0000000A, Type=typing.Optional[uint]),
ClusterObjectFieldDescriptor(Label="generatedCommandList", Tag=0x0000FFF8, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="acceptedCommandList", Tag=0x0000FFF9, Type=typing.List[uint]),
ClusterObjectFieldDescriptor(Label="eventList", Tag=0x0000FFFA, Type=typing.List[uint]),
@@ -7416,6 +7419,9 @@ def descriptor(cls) -> ClusterObjectDescriptor:
lastNetworkingStatus: 'typing.Union[Nullable, NetworkCommissioning.Enums.NetworkCommissioningStatusEnum]' = None
lastNetworkID: 'typing.Union[Nullable, bytes]' = None
lastConnectErrorValue: 'typing.Union[Nullable, int]' = None
+ supportedWiFiBands: 'typing.Optional[typing.List[NetworkCommissioning.Enums.WiFiBandEnum]]' = None
+ supportedThreadFeatures: 'typing.Optional[uint]' = None
+ threadVersion: 'typing.Optional[uint]' = None
generatedCommandList: 'typing.List[uint]' = None
acceptedCommandList: 'typing.List[uint]' = None
eventList: 'typing.List[uint]' = None
@@ -7463,6 +7469,13 @@ class Feature(IntFlag):
kThreadNetworkInterface = 0x2
kEthernetNetworkInterface = 0x4
+ class ThreadCapabilitiesBitmap(IntFlag):
+ kIsBorderRouterCapable = 0x1
+ kIsRouterCapable = 0x2
+ kIsSleepyEndDeviceCapable = 0x4
+ kIsFullThreadDevice = 0x8
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10
+
class WiFiSecurityBitmap(IntFlag):
kUnencrypted = 0x1
kWep = 0x2
@@ -7834,6 +7847,54 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
value: 'typing.Union[Nullable, int]' = NullValue
+ @dataclass
+ class SupportedWiFiBands(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x00000031
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000008
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[typing.List[NetworkCommissioning.Enums.WiFiBandEnum]])
+
+ value: 'typing.Optional[typing.List[NetworkCommissioning.Enums.WiFiBandEnum]]' = None
+
+ @dataclass
+ class SupportedThreadFeatures(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x00000031
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x00000009
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[uint])
+
+ value: 'typing.Optional[uint]' = None
+
+ @dataclass
+ class ThreadVersion(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x00000031
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x0000000A
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[uint])
+
+ value: 'typing.Optional[uint]' = None
+
@dataclass
class GeneratedCommandList(ClusterAttributeDescriptor):
@ChipUtility.classproperty
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeSpecifiedCheck.mm b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeSpecifiedCheck.mm
index 3f725fa73972b2..55761afb4d9178 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeSpecifiedCheck.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeSpecifiedCheck.mm
@@ -990,6 +990,15 @@ static BOOL AttributeIsSpecifiedInNetworkCommissioningCluster(AttributeId aAttri
case Attributes::LastConnectErrorValue::Id: {
return YES;
}
+ case Attributes::SupportedWiFiBands::Id: {
+ return YES;
+ }
+ case Attributes::SupportedThreadFeatures::Id: {
+ return YES;
+ }
+ case Attributes::ThreadVersion::Id: {
+ return YES;
+ }
case Attributes::GeneratedCommandList::Id: {
return YES;
}
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm
index f02f0d8f61c62b..a490e3558fcda5 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRAttributeTLVValueDecoder.mm
@@ -2518,6 +2518,54 @@ static id _Nullable DecodeAttributeValueForNetworkCommissioningCluster(Attribute
}
return value;
}
+ case Attributes::SupportedWiFiBands::Id: {
+ using TypeInfo = Attributes::SupportedWiFiBands::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR) {
+ return nil;
+ }
+ NSArray * _Nonnull value;
+ { // Scope for our temporary variables
+ auto * array_0 = [NSMutableArray new];
+ auto iter_0 = cppValue.begin();
+ while (iter_0.Next()) {
+ auto & entry_0 = iter_0.GetValue();
+ NSNumber * newElement_0;
+ newElement_0 = [NSNumber numberWithUnsignedChar:chip::to_underlying(entry_0)];
+ [array_0 addObject:newElement_0];
+ }
+ CHIP_ERROR err = iter_0.GetStatus();
+ if (err != CHIP_NO_ERROR) {
+ *aError = err;
+ return nil;
+ }
+ value = array_0;
+ }
+ return value;
+ }
+ case Attributes::SupportedThreadFeatures::Id: {
+ using TypeInfo = Attributes::SupportedThreadFeatures::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR) {
+ return nil;
+ }
+ NSNumber * _Nonnull value;
+ value = [NSNumber numberWithUnsignedShort:cppValue.Raw()];
+ return value;
+ }
+ case Attributes::ThreadVersion::Id: {
+ using TypeInfo = Attributes::ThreadVersion::TypeInfo;
+ TypeInfo::DecodableType cppValue;
+ *aError = DataModel::Decode(aReader, cppValue);
+ if (*aError != CHIP_NO_ERROR) {
+ return nil;
+ }
+ NSNumber * _Nonnull value;
+ value = [NSNumber numberWithUnsignedShort:cppValue];
+ return value;
+ }
default: {
break;
}
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
index 996229a68b65d7..ffa2c436b45ca3 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
@@ -2474,6 +2474,24 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4));
+ (void)readAttributeLastConnectErrorValueWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4));
+- (void)readAttributeSupportedWiFiBandsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
+- (void)subscribeAttributeSupportedWiFiBandsWithParams:(MTRSubscribeParams *)params
+ subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished
+ reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE;
++ (void)readAttributeSupportedWiFiBandsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
+
+- (void)readAttributeSupportedThreadFeaturesWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
+- (void)subscribeAttributeSupportedThreadFeaturesWithParams:(MTRSubscribeParams *)params
+ subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished
+ reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE;
++ (void)readAttributeSupportedThreadFeaturesWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
+
+- (void)readAttributeThreadVersionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
+- (void)subscribeAttributeThreadVersionWithParams:(MTRSubscribeParams *)params
+ subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished
+ reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler MTR_PROVISIONALLY_AVAILABLE;
++ (void)readAttributeThreadVersionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE;
+
- (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4));
- (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams *)params
subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished
@@ -13813,6 +13831,14 @@ typedef NS_OPTIONS(uint32_t, MTRNetworkCommissioningFeature) {
MTRNetworkCommissioningFeatureEthernetNetworkInterface MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) = 0x4,
} MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
+typedef NS_OPTIONS(uint16_t, MTRNetworkCommissioningThreadCapabilitiesBitmap) {
+ MTRNetworkCommissioningThreadCapabilitiesBitmapIsBorderRouterCapable MTR_PROVISIONALLY_AVAILABLE = 0x1,
+ MTRNetworkCommissioningThreadCapabilitiesBitmapIsRouterCapable MTR_PROVISIONALLY_AVAILABLE = 0x2,
+ MTRNetworkCommissioningThreadCapabilitiesBitmapIsSleepyEndDeviceCapable MTR_PROVISIONALLY_AVAILABLE = 0x4,
+ MTRNetworkCommissioningThreadCapabilitiesBitmapIsFullThreadDevice MTR_PROVISIONALLY_AVAILABLE = 0x8,
+ MTRNetworkCommissioningThreadCapabilitiesBitmapIsSynchronizedSleepyEndDeviceCapable MTR_PROVISIONALLY_AVAILABLE = 0x10,
+} MTR_PROVISIONALLY_AVAILABLE;
+
typedef NS_OPTIONS(uint8_t, MTRNetworkCommissioningWiFiSecurityBitmap) {
MTRNetworkCommissioningWiFiSecurityBitmapUnencrypted MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)) = 0x1,
MTRNetworkCommissioningWiFiSecurityBitmapWEP MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)) = 0x2,
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
index b62652b9d46429..3906d6a5d2f6bf 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
@@ -20904,6 +20904,114 @@ + (void)readAttributeLastConnectErrorValueWithClusterStateCache:(MTRClusterState
completion:completion];
}
+- (void)readAttributeSupportedWiFiBandsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion
+{
+ using TypeInfo = NetworkCommissioning::Attributes::SupportedWiFiBands::TypeInfo;
+ [self.device _readKnownAttributeWithEndpointID:@(self.endpoint)
+ clusterID:@(TypeInfo::GetClusterId())
+ attributeID:@(TypeInfo::GetAttributeId())
+ params:nil
+ queue:self.callbackQueue
+ completion:completion];
+}
+
+- (void)subscribeAttributeSupportedWiFiBandsWithParams:(MTRSubscribeParams * _Nonnull)params
+ subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished
+ reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler
+{
+ using TypeInfo = NetworkCommissioning::Attributes::SupportedWiFiBands::TypeInfo;
+ [self.device _subscribeToKnownAttributeWithEndpointID:@(self.endpoint)
+ clusterID:@(TypeInfo::GetClusterId())
+ attributeID:@(TypeInfo::GetAttributeId())
+ params:params
+ queue:self.callbackQueue
+ reportHandler:reportHandler
+ subscriptionEstablished:subscriptionEstablished];
+}
+
++ (void)readAttributeSupportedWiFiBandsWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion
+{
+ using TypeInfo = NetworkCommissioning::Attributes::SupportedWiFiBands::TypeInfo;
+ [clusterStateCacheContainer
+ _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue])
+ clusterID:TypeInfo::GetClusterId()
+ attributeID:TypeInfo::GetAttributeId()
+ queue:queue
+ completion:completion];
+}
+
+- (void)readAttributeSupportedThreadFeaturesWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion
+{
+ using TypeInfo = NetworkCommissioning::Attributes::SupportedThreadFeatures::TypeInfo;
+ [self.device _readKnownAttributeWithEndpointID:@(self.endpoint)
+ clusterID:@(TypeInfo::GetClusterId())
+ attributeID:@(TypeInfo::GetAttributeId())
+ params:nil
+ queue:self.callbackQueue
+ completion:completion];
+}
+
+- (void)subscribeAttributeSupportedThreadFeaturesWithParams:(MTRSubscribeParams * _Nonnull)params
+ subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished
+ reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
+{
+ using TypeInfo = NetworkCommissioning::Attributes::SupportedThreadFeatures::TypeInfo;
+ [self.device _subscribeToKnownAttributeWithEndpointID:@(self.endpoint)
+ clusterID:@(TypeInfo::GetClusterId())
+ attributeID:@(TypeInfo::GetAttributeId())
+ params:params
+ queue:self.callbackQueue
+ reportHandler:reportHandler
+ subscriptionEstablished:subscriptionEstablished];
+}
+
++ (void)readAttributeSupportedThreadFeaturesWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion
+{
+ using TypeInfo = NetworkCommissioning::Attributes::SupportedThreadFeatures::TypeInfo;
+ [clusterStateCacheContainer
+ _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue])
+ clusterID:TypeInfo::GetClusterId()
+ attributeID:TypeInfo::GetAttributeId()
+ queue:queue
+ completion:completion];
+}
+
+- (void)readAttributeThreadVersionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion
+{
+ using TypeInfo = NetworkCommissioning::Attributes::ThreadVersion::TypeInfo;
+ [self.device _readKnownAttributeWithEndpointID:@(self.endpoint)
+ clusterID:@(TypeInfo::GetClusterId())
+ attributeID:@(TypeInfo::GetAttributeId())
+ params:nil
+ queue:self.callbackQueue
+ completion:completion];
+}
+
+- (void)subscribeAttributeThreadVersionWithParams:(MTRSubscribeParams * _Nonnull)params
+ subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished
+ reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
+{
+ using TypeInfo = NetworkCommissioning::Attributes::ThreadVersion::TypeInfo;
+ [self.device _subscribeToKnownAttributeWithEndpointID:@(self.endpoint)
+ clusterID:@(TypeInfo::GetClusterId())
+ attributeID:@(TypeInfo::GetAttributeId())
+ params:params
+ queue:self.callbackQueue
+ reportHandler:reportHandler
+ subscriptionEstablished:subscriptionEstablished];
+}
+
++ (void)readAttributeThreadVersionWithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion
+{
+ using TypeInfo = NetworkCommissioning::Attributes::ThreadVersion::TypeInfo;
+ [clusterStateCacheContainer
+ _readKnownCachedAttributeWithEndpointID:static_cast([endpoint unsignedShortValue])
+ clusterID:TypeInfo::GetClusterId()
+ attributeID:TypeInfo::GetAttributeId()
+ queue:queue
+ completion:completion];
+}
+
- (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion
{
using TypeInfo = NetworkCommissioning::Attributes::GeneratedCommandList::TypeInfo;
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
index 201b64e18e786f..9a7bca0d816bed 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
@@ -1271,6 +1271,9 @@ typedef NS_ENUM(uint32_t, MTRAttributeIDType) {
MTRAttributeIDTypeClusterNetworkCommissioningAttributeLastNetworkingStatusID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x00000005,
MTRAttributeIDTypeClusterNetworkCommissioningAttributeLastNetworkIDID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x00000006,
MTRAttributeIDTypeClusterNetworkCommissioningAttributeLastConnectErrorValueID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = 0x00000007,
+ MTRAttributeIDTypeClusterNetworkCommissioningAttributeSupportedWiFiBandsID MTR_PROVISIONALLY_AVAILABLE = 0x00000008,
+ MTRAttributeIDTypeClusterNetworkCommissioningAttributeSupportedThreadFeaturesID MTR_PROVISIONALLY_AVAILABLE = 0x00000009,
+ MTRAttributeIDTypeClusterNetworkCommissioningAttributeThreadVersionID MTR_PROVISIONALLY_AVAILABLE = 0x0000000A,
MTRAttributeIDTypeClusterNetworkCommissioningAttributeGeneratedCommandListID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = MTRAttributeIDTypeGlobalAttributeGeneratedCommandListID,
MTRAttributeIDTypeClusterNetworkCommissioningAttributeAcceptedCommandListID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) = MTRAttributeIDTypeGlobalAttributeAcceptedCommandListID,
MTRAttributeIDTypeClusterNetworkCommissioningAttributeEventListID MTR_PROVISIONALLY_AVAILABLE = MTRAttributeIDTypeGlobalAttributeEventListID,
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h
index fe99e58cc1bb8b..b20891e48a7a98 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h
@@ -1130,6 +1130,12 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1))
- (NSDictionary * _Nullable)readAttributeLastConnectErrorValueWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
+- (NSDictionary * _Nullable)readAttributeSupportedWiFiBandsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE;
+
+- (NSDictionary * _Nullable)readAttributeSupportedThreadFeaturesWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE;
+
+- (NSDictionary * _Nullable)readAttributeThreadVersionWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE;
+
- (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
- (NSDictionary * _Nullable)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1));
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm
index 4a7e4e27ccf3ac..7f5ff0267a47e1 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm
@@ -4205,6 +4205,21 @@ - (void)writeAttributeInterfaceEnabledWithValue:(NSDictionary *)
return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeNetworkCommissioningID) attributeID:@(MTRAttributeIDTypeClusterNetworkCommissioningAttributeLastConnectErrorValueID) params:params];
}
+- (NSDictionary * _Nullable)readAttributeSupportedWiFiBandsWithParams:(MTRReadParams * _Nullable)params
+{
+ return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeNetworkCommissioningID) attributeID:@(MTRAttributeIDTypeClusterNetworkCommissioningAttributeSupportedWiFiBandsID) params:params];
+}
+
+- (NSDictionary * _Nullable)readAttributeSupportedThreadFeaturesWithParams:(MTRReadParams * _Nullable)params
+{
+ return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeNetworkCommissioningID) attributeID:@(MTRAttributeIDTypeClusterNetworkCommissioningAttributeSupportedThreadFeaturesID) params:params];
+}
+
+- (NSDictionary * _Nullable)readAttributeThreadVersionWithParams:(MTRReadParams * _Nullable)params
+{
+ return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeNetworkCommissioningID) attributeID:@(MTRAttributeIDTypeClusterNetworkCommissioningAttributeThreadVersionID) params:params];
+}
+
- (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params
{
return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeNetworkCommissioningID) attributeID:@(MTRAttributeIDTypeClusterNetworkCommissioningAttributeGeneratedCommandListID) params:params];
diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp
index 830fe37be6b173..a6d4db3c67ae22 100644
--- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp
+++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp
@@ -4512,6 +4512,70 @@ EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullabl
} // namespace LastConnectErrorValue
+namespace SupportedThreadFeatures {
+
+EmberAfStatus Get(chip::EndpointId endpoint,
+ chip::BitMask * value)
+{
+ using Traits = NumericAttributeTraits>;
+ Traits::StorageType temp;
+ uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp);
+ EmberAfStatus status = emberAfReadAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp));
+ VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status);
+ if (!Traits::CanRepresentValue(/* isNullable = */ false, temp))
+ {
+ return EMBER_ZCL_STATUS_CONSTRAINT_ERROR;
+ }
+ *value = Traits::StorageToWorking(temp);
+ return status;
+}
+EmberAfStatus Set(chip::EndpointId endpoint,
+ chip::BitMask value)
+{
+ using Traits = NumericAttributeTraits>;
+ if (!Traits::CanRepresentValue(/* isNullable = */ false, value))
+ {
+ return EMBER_ZCL_STATUS_CONSTRAINT_ERROR;
+ }
+ Traits::StorageType storageValue;
+ Traits::WorkingToStorage(value, storageValue);
+ uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue);
+ return emberAfWriteAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_BITMAP16_ATTRIBUTE_TYPE);
+}
+
+} // namespace SupportedThreadFeatures
+
+namespace ThreadVersion {
+
+EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value)
+{
+ using Traits = NumericAttributeTraits;
+ Traits::StorageType temp;
+ uint8_t * readable = Traits::ToAttributeStoreRepresentation(temp);
+ EmberAfStatus status = emberAfReadAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, readable, sizeof(temp));
+ VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status);
+ if (!Traits::CanRepresentValue(/* isNullable = */ false, temp))
+ {
+ return EMBER_ZCL_STATUS_CONSTRAINT_ERROR;
+ }
+ *value = Traits::StorageToWorking(temp);
+ return status;
+}
+EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value)
+{
+ using Traits = NumericAttributeTraits;
+ if (!Traits::CanRepresentValue(/* isNullable = */ false, value))
+ {
+ return EMBER_ZCL_STATUS_CONSTRAINT_ERROR;
+ }
+ Traits::StorageType storageValue;
+ Traits::WorkingToStorage(value, storageValue);
+ uint8_t * writable = Traits::ToAttributeStoreRepresentation(storageValue);
+ return emberAfWriteAttribute(endpoint, Clusters::NetworkCommissioning::Id, Id, writable, ZCL_INT16U_ATTRIBUTE_TYPE);
+}
+
+} // namespace ThreadVersion
+
namespace FeatureMap {
EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value)
diff --git a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h
index a6a1ab0badbb75..3a9493da84cfcc 100644
--- a/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h
+++ b/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h
@@ -847,6 +847,19 @@ EmberAfStatus SetNull(chip::EndpointId endpoint);
EmberAfStatus Set(chip::EndpointId endpoint, const chip::app::DataModel::Nullable & value);
} // namespace LastConnectErrorValue
+namespace SupportedThreadFeatures {
+EmberAfStatus
+Get(chip::EndpointId endpoint,
+ chip::BitMask * value); // ThreadCapabilitiesBitmap
+EmberAfStatus Set(chip::EndpointId endpoint,
+ chip::BitMask value);
+} // namespace SupportedThreadFeatures
+
+namespace ThreadVersion {
+EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u
+EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value);
+} // namespace ThreadVersion
+
namespace FeatureMap {
EmberAfStatus Get(chip::EndpointId endpoint, uint32_t * value); // bitmap32
EmberAfStatus Set(chip::EndpointId endpoint, uint32_t value);
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h
index 4c57da6b554d5f..1a527cccb060bc 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h
@@ -917,6 +917,16 @@ enum class Feature : uint32_t
kEthernetNetworkInterface = 0x4,
};
+// Bitmap for ThreadCapabilitiesBitmap
+enum class ThreadCapabilitiesBitmap : uint16_t
+{
+ kIsBorderRouterCapable = 0x1,
+ kIsRouterCapable = 0x2,
+ kIsSleepyEndDeviceCapable = 0x4,
+ kIsFullThreadDevice = 0x8,
+ kIsSynchronizedSleepyEndDeviceCapable = 0x10,
+};
+
// Bitmap for WiFiSecurityBitmap
enum class WiFiSecurityBitmap : uint8_t
{
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
index 8b7b6784ad0283..693953e584e958 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp
@@ -6191,6 +6191,12 @@ CHIP_ERROR TypeInfo::DecodableType::Decode(TLV::TLVReader & reader, const Concre
return DataModel::Decode(reader, lastNetworkID);
case Attributes::LastConnectErrorValue::TypeInfo::GetAttributeId():
return DataModel::Decode(reader, lastConnectErrorValue);
+ case Attributes::SupportedWiFiBands::TypeInfo::GetAttributeId():
+ return DataModel::Decode(reader, supportedWiFiBands);
+ case Attributes::SupportedThreadFeatures::TypeInfo::GetAttributeId():
+ return DataModel::Decode(reader, supportedThreadFeatures);
+ case Attributes::ThreadVersion::TypeInfo::GetAttributeId():
+ return DataModel::Decode(reader, threadVersion);
case Attributes::GeneratedCommandList::TypeInfo::GetAttributeId():
return DataModel::Decode(reader, generatedCommandList);
case Attributes::AcceptedCommandList::TypeInfo::GetAttributeId():
diff --git a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
index 6161d06777ce7c..3ce9813519d8d2 100644
--- a/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
+++ b/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h
@@ -7857,6 +7857,42 @@ struct TypeInfo
static constexpr bool MustUseTimedWrite() { return false; }
};
} // namespace LastConnectErrorValue
+namespace SupportedWiFiBands {
+struct TypeInfo
+{
+ using Type = chip::app::DataModel::List;
+ using DecodableType = chip::app::DataModel::DecodableList;
+ using DecodableArgType = const chip::app::DataModel::DecodableList &;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::SupportedWiFiBands::Id; }
+ static constexpr bool MustUseTimedWrite() { return false; }
+};
+} // namespace SupportedWiFiBands
+namespace SupportedThreadFeatures {
+struct TypeInfo
+{
+ using Type = chip::BitMask;
+ using DecodableType = chip::BitMask;
+ using DecodableArgType = chip::BitMask;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::SupportedThreadFeatures::Id; }
+ static constexpr bool MustUseTimedWrite() { return false; }
+};
+} // namespace SupportedThreadFeatures
+namespace ThreadVersion {
+struct TypeInfo
+{
+ using Type = uint16_t;
+ using DecodableType = uint16_t;
+ using DecodableArgType = uint16_t;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::NetworkCommissioning::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::ThreadVersion::Id; }
+ static constexpr bool MustUseTimedWrite() { return false; }
+};
+} // namespace ThreadVersion
namespace GeneratedCommandList {
struct TypeInfo : public Clusters::Globals::Attributes::GeneratedCommandList::TypeInfo
{
@@ -7910,6 +7946,10 @@ struct TypeInfo
Attributes::LastNetworkingStatus::TypeInfo::DecodableType lastNetworkingStatus;
Attributes::LastNetworkID::TypeInfo::DecodableType lastNetworkID;
Attributes::LastConnectErrorValue::TypeInfo::DecodableType lastConnectErrorValue;
+ Attributes::SupportedWiFiBands::TypeInfo::DecodableType supportedWiFiBands;
+ Attributes::SupportedThreadFeatures::TypeInfo::DecodableType supportedThreadFeatures =
+ static_cast>(0);
+ Attributes::ThreadVersion::TypeInfo::DecodableType threadVersion = static_cast(0);
Attributes::GeneratedCommandList::TypeInfo::DecodableType generatedCommandList;
Attributes::AcceptedCommandList::TypeInfo::DecodableType acceptedCommandList;
Attributes::EventList::TypeInfo::DecodableType eventList;
diff --git a/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h b/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h
index 975aa66497e83b..71aa9576d7fe42 100644
--- a/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h
+++ b/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h
@@ -1216,6 +1216,18 @@ namespace LastConnectErrorValue {
static constexpr AttributeId Id = 0x00000007;
} // namespace LastConnectErrorValue
+namespace SupportedWiFiBands {
+static constexpr AttributeId Id = 0x00000008;
+} // namespace SupportedWiFiBands
+
+namespace SupportedThreadFeatures {
+static constexpr AttributeId Id = 0x00000009;
+} // namespace SupportedThreadFeatures
+
+namespace ThreadVersion {
+static constexpr AttributeId Id = 0x0000000A;
+} // namespace ThreadVersion
+
namespace GeneratedCommandList {
static constexpr AttributeId Id = Globals::Attributes::GeneratedCommandList::Id;
} // namespace GeneratedCommandList
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
index e5073c18e6523d..5cdafd5b306ba3 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
+++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
@@ -2742,6 +2742,9 @@ class GeneralCommissioningCommissioningComplete : public ClusterCommand
| * LastNetworkingStatus | 0x0005 |
| * LastNetworkID | 0x0006 |
| * LastConnectErrorValue | 0x0007 |
+| * SupportedWiFiBands | 0x0008 |
+| * SupportedThreadFeatures | 0x0009 |
+| * ThreadVersion | 0x000A |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |
@@ -13208,22 +13211,25 @@ void registerClusterNetworkCommissioning(Commands & commands, CredentialIssuerCo
//
// Attributes
//
- make_unique(Id, credsIssuerConfig), //
- make_unique(Id, "max-networks", Attributes::MaxNetworks::Id, credsIssuerConfig), //
- make_unique(Id, "networks", Attributes::Networks::Id, credsIssuerConfig), //
- make_unique(Id, "scan-max-time-seconds", Attributes::ScanMaxTimeSeconds::Id, credsIssuerConfig), //
- make_unique(Id, "connect-max-time-seconds", Attributes::ConnectMaxTimeSeconds::Id, credsIssuerConfig), //
- make_unique(Id, "interface-enabled", Attributes::InterfaceEnabled::Id, credsIssuerConfig), //
- make_unique(Id, "last-networking-status", Attributes::LastNetworkingStatus::Id, credsIssuerConfig), //
- make_unique(Id, "last-network-id", Attributes::LastNetworkID::Id, credsIssuerConfig), //
- make_unique(Id, "last-connect-error-value", Attributes::LastConnectErrorValue::Id, credsIssuerConfig), //
- make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
- make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
- make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
- make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
- make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
- make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
- make_unique>(Id, credsIssuerConfig), //
+ make_unique(Id, credsIssuerConfig), //
+ make_unique(Id, "max-networks", Attributes::MaxNetworks::Id, credsIssuerConfig), //
+ make_unique(Id, "networks", Attributes::Networks::Id, credsIssuerConfig), //
+ make_unique(Id, "scan-max-time-seconds", Attributes::ScanMaxTimeSeconds::Id, credsIssuerConfig), //
+ make_unique(Id, "connect-max-time-seconds", Attributes::ConnectMaxTimeSeconds::Id, credsIssuerConfig), //
+ make_unique(Id, "interface-enabled", Attributes::InterfaceEnabled::Id, credsIssuerConfig), //
+ make_unique(Id, "last-networking-status", Attributes::LastNetworkingStatus::Id, credsIssuerConfig), //
+ make_unique(Id, "last-network-id", Attributes::LastNetworkID::Id, credsIssuerConfig), //
+ make_unique(Id, "last-connect-error-value", Attributes::LastConnectErrorValue::Id, credsIssuerConfig), //
+ make_unique(Id, "supported-wi-fi-bands", Attributes::SupportedWiFiBands::Id, credsIssuerConfig), //
+ make_unique(Id, "supported-thread-features", Attributes::SupportedThreadFeatures::Id, credsIssuerConfig), //
+ make_unique(Id, "thread-version", Attributes::ThreadVersion::Id, credsIssuerConfig), //
+ make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
+ make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
+ make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
+ make_unique(Id, "attribute-list", Attributes::AttributeList::Id, credsIssuerConfig), //
+ make_unique(Id, "feature-map", Attributes::FeatureMap::Id, credsIssuerConfig), //
+ make_unique(Id, "cluster-revision", Attributes::ClusterRevision::Id, credsIssuerConfig), //
+ make_unique>(Id, credsIssuerConfig), //
make_unique>(Id, "max-networks", 0, UINT8_MAX, Attributes::MaxNetworks::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique>>(Id, "last-connect-error-value", INT32_MIN, INT32_MAX,
Attributes::LastConnectErrorValue::Id,
WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique<
+ WriteAttributeAsComplex>>(
+ Id, "supported-wi-fi-bands", Attributes::SupportedWiFiBands::Id, WriteCommandType::kForceWrite, credsIssuerConfig), //
+ make_unique>>(
+ Id, "supported-thread-features", 0, UINT16_MAX, Attributes::SupportedThreadFeatures::Id, WriteCommandType::kForceWrite,
+ credsIssuerConfig), //
+ make_unique>(Id, "thread-version", 0, UINT16_MAX, Attributes::ThreadVersion::Id,
+ WriteCommandType::kForceWrite, credsIssuerConfig), //
make_unique>>(
Id, "generated-command-list", Attributes::GeneratedCommandList::Id, WriteCommandType::kForceWrite,
credsIssuerConfig), //
@@ -13267,7 +13281,11 @@ void registerClusterNetworkCommissioning(Commands & commands, CredentialIssuerCo
make_unique(Id, "last-networking-status", Attributes::LastNetworkingStatus::Id, credsIssuerConfig), //
make_unique(Id, "last-network-id", Attributes::LastNetworkID::Id, credsIssuerConfig), //
make_unique(Id, "last-connect-error-value", Attributes::LastConnectErrorValue::Id,
+ credsIssuerConfig), //
+ make_unique(Id, "supported-wi-fi-bands", Attributes::SupportedWiFiBands::Id, credsIssuerConfig), //
+ make_unique(Id, "supported-thread-features", Attributes::SupportedThreadFeatures::Id,
credsIssuerConfig), //
+ make_unique(Id, "thread-version", Attributes::ThreadVersion::Id, credsIssuerConfig), //
make_unique(Id, "generated-command-list", Attributes::GeneratedCommandList::Id, credsIssuerConfig), //
make_unique(Id, "accepted-command-list", Attributes::AcceptedCommandList::Id, credsIssuerConfig), //
make_unique(Id, "event-list", Attributes::EventList::Id, credsIssuerConfig), //
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
index a0c839de546c59..ada11069605f5e 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
+++ b/zzz_generated/chip-tool/zap-generated/cluster/logging/DataModelLogger.cpp
@@ -6513,6 +6513,21 @@ CHIP_ERROR DataModelLogger::LogAttribute(const chip::app::ConcreteDataAttributeP
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
return DataModelLogger::LogValue("LastConnectErrorValue", 1, value);
}
+ case NetworkCommissioning::Attributes::SupportedWiFiBands::Id: {
+ chip::app::DataModel::DecodableList value;
+ ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
+ return DataModelLogger::LogValue("SupportedWiFiBands", 1, value);
+ }
+ case NetworkCommissioning::Attributes::SupportedThreadFeatures::Id: {
+ chip::BitMask value;
+ ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
+ return DataModelLogger::LogValue("SupportedThreadFeatures", 1, value);
+ }
+ case NetworkCommissioning::Attributes::ThreadVersion::Id: {
+ uint16_t value;
+ ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
+ return DataModelLogger::LogValue("ThreadVersion", 1, value);
+ }
case NetworkCommissioning::Attributes::GeneratedCommandList::Id: {
chip::app::DataModel::DecodableList value;
ReturnErrorOnFailure(chip::app::DataModel::Decode(*data, value));
diff --git a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
index 591ad2209e8231..f5410054c16d97 100644
--- a/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
+++ b/zzz_generated/darwin-framework-tool/zap-generated/cluster/Commands.h
@@ -25533,6 +25533,9 @@ class SubscribeAttributeGeneralCommissioningClusterRevision : public SubscribeAt
| * LastNetworkingStatus | 0x0005 |
| * LastNetworkID | 0x0006 |
| * LastConnectErrorValue | 0x0007 |
+| * SupportedWiFiBands | 0x0008 |
+| * SupportedThreadFeatures | 0x0009 |
+| * ThreadVersion | 0x000A |
| * GeneratedCommandList | 0xFFF8 |
| * AcceptedCommandList | 0xFFF9 |
| * EventList | 0xFFFA |
@@ -26606,6 +26609,252 @@ class SubscribeAttributeNetworkCommissioningLastConnectErrorValue : public Subsc
}
};
+/*
+ * Attribute SupportedWiFiBands
+ */
+class ReadNetworkCommissioningSupportedWiFiBands : public ReadAttribute {
+public:
+ ReadNetworkCommissioningSupportedWiFiBands()
+ : ReadAttribute("supported-wi-fi-bands")
+ {
+ }
+
+ ~ReadNetworkCommissioningSupportedWiFiBands()
+ {
+ }
+
+ CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override
+ {
+ constexpr chip::ClusterId clusterId = chip::app::Clusters::NetworkCommissioning::Id;
+ constexpr chip::AttributeId attributeId = chip::app::Clusters::NetworkCommissioning::Attributes::SupportedWiFiBands::Id;
+
+ ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId);
+
+ dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL);
+ __auto_type * cluster = [[MTRBaseClusterNetworkCommissioning alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue];
+ [cluster readAttributeSupportedWiFiBandsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+ NSLog(@"NetworkCommissioning.SupportedWiFiBands response %@", [value description]);
+ if (error == nil) {
+ RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value);
+ } else {
+ LogNSError("NetworkCommissioning SupportedWiFiBands read Error", error);
+ RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error);
+ }
+ SetCommandExitStatus(error);
+ }];
+ return CHIP_NO_ERROR;
+ }
+};
+
+class SubscribeAttributeNetworkCommissioningSupportedWiFiBands : public SubscribeAttribute {
+public:
+ SubscribeAttributeNetworkCommissioningSupportedWiFiBands()
+ : SubscribeAttribute("supported-wi-fi-bands")
+ {
+ }
+
+ ~SubscribeAttributeNetworkCommissioningSupportedWiFiBands()
+ {
+ }
+
+ CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override
+ {
+ constexpr chip::ClusterId clusterId = chip::app::Clusters::NetworkCommissioning::Id;
+ constexpr chip::CommandId attributeId = chip::app::Clusters::NetworkCommissioning::Attributes::SupportedWiFiBands::Id;
+
+ ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId);
+ dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL);
+ __auto_type * cluster = [[MTRBaseClusterNetworkCommissioning alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue];
+ __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)];
+ if (mKeepSubscriptions.HasValue()) {
+ params.replaceExistingSubscriptions = !mKeepSubscriptions.Value();
+ }
+ if (mFabricFiltered.HasValue()) {
+ params.filterByFabric = mFabricFiltered.Value();
+ }
+ if (mAutoResubscribe.HasValue()) {
+ params.resubscribeAutomatically = mAutoResubscribe.Value();
+ }
+ [cluster subscribeAttributeSupportedWiFiBandsWithParams:params
+ subscriptionEstablished:^() { mSubscriptionEstablished = YES; }
+ reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+ NSLog(@"NetworkCommissioning.SupportedWiFiBands response %@", [value description]);
+ if (error == nil) {
+ RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value);
+ } else {
+ RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error);
+ }
+ SetCommandExitStatus(error);
+ }];
+
+ return CHIP_NO_ERROR;
+ }
+};
+
+/*
+ * Attribute SupportedThreadFeatures
+ */
+class ReadNetworkCommissioningSupportedThreadFeatures : public ReadAttribute {
+public:
+ ReadNetworkCommissioningSupportedThreadFeatures()
+ : ReadAttribute("supported-thread-features")
+ {
+ }
+
+ ~ReadNetworkCommissioningSupportedThreadFeatures()
+ {
+ }
+
+ CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override
+ {
+ constexpr chip::ClusterId clusterId = chip::app::Clusters::NetworkCommissioning::Id;
+ constexpr chip::AttributeId attributeId = chip::app::Clusters::NetworkCommissioning::Attributes::SupportedThreadFeatures::Id;
+
+ ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId);
+
+ dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL);
+ __auto_type * cluster = [[MTRBaseClusterNetworkCommissioning alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue];
+ [cluster readAttributeSupportedThreadFeaturesWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+ NSLog(@"NetworkCommissioning.SupportedThreadFeatures response %@", [value description]);
+ if (error == nil) {
+ RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value);
+ } else {
+ LogNSError("NetworkCommissioning SupportedThreadFeatures read Error", error);
+ RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error);
+ }
+ SetCommandExitStatus(error);
+ }];
+ return CHIP_NO_ERROR;
+ }
+};
+
+class SubscribeAttributeNetworkCommissioningSupportedThreadFeatures : public SubscribeAttribute {
+public:
+ SubscribeAttributeNetworkCommissioningSupportedThreadFeatures()
+ : SubscribeAttribute("supported-thread-features")
+ {
+ }
+
+ ~SubscribeAttributeNetworkCommissioningSupportedThreadFeatures()
+ {
+ }
+
+ CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override
+ {
+ constexpr chip::ClusterId clusterId = chip::app::Clusters::NetworkCommissioning::Id;
+ constexpr chip::CommandId attributeId = chip::app::Clusters::NetworkCommissioning::Attributes::SupportedThreadFeatures::Id;
+
+ ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId);
+ dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL);
+ __auto_type * cluster = [[MTRBaseClusterNetworkCommissioning alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue];
+ __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)];
+ if (mKeepSubscriptions.HasValue()) {
+ params.replaceExistingSubscriptions = !mKeepSubscriptions.Value();
+ }
+ if (mFabricFiltered.HasValue()) {
+ params.filterByFabric = mFabricFiltered.Value();
+ }
+ if (mAutoResubscribe.HasValue()) {
+ params.resubscribeAutomatically = mAutoResubscribe.Value();
+ }
+ [cluster subscribeAttributeSupportedThreadFeaturesWithParams:params
+ subscriptionEstablished:^() { mSubscriptionEstablished = YES; }
+ reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+ NSLog(@"NetworkCommissioning.SupportedThreadFeatures response %@", [value description]);
+ if (error == nil) {
+ RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value);
+ } else {
+ RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error);
+ }
+ SetCommandExitStatus(error);
+ }];
+
+ return CHIP_NO_ERROR;
+ }
+};
+
+/*
+ * Attribute ThreadVersion
+ */
+class ReadNetworkCommissioningThreadVersion : public ReadAttribute {
+public:
+ ReadNetworkCommissioningThreadVersion()
+ : ReadAttribute("thread-version")
+ {
+ }
+
+ ~ReadNetworkCommissioningThreadVersion()
+ {
+ }
+
+ CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override
+ {
+ constexpr chip::ClusterId clusterId = chip::app::Clusters::NetworkCommissioning::Id;
+ constexpr chip::AttributeId attributeId = chip::app::Clusters::NetworkCommissioning::Attributes::ThreadVersion::Id;
+
+ ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReadAttribute (0x%08" PRIX32 ") on endpoint %u", endpointId, clusterId, attributeId);
+
+ dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL);
+ __auto_type * cluster = [[MTRBaseClusterNetworkCommissioning alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue];
+ [cluster readAttributeThreadVersionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+ NSLog(@"NetworkCommissioning.ThreadVersion response %@", [value description]);
+ if (error == nil) {
+ RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value);
+ } else {
+ LogNSError("NetworkCommissioning ThreadVersion read Error", error);
+ RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error);
+ }
+ SetCommandExitStatus(error);
+ }];
+ return CHIP_NO_ERROR;
+ }
+};
+
+class SubscribeAttributeNetworkCommissioningThreadVersion : public SubscribeAttribute {
+public:
+ SubscribeAttributeNetworkCommissioningThreadVersion()
+ : SubscribeAttribute("thread-version")
+ {
+ }
+
+ ~SubscribeAttributeNetworkCommissioningThreadVersion()
+ {
+ }
+
+ CHIP_ERROR SendCommand(MTRBaseDevice * device, chip::EndpointId endpointId) override
+ {
+ constexpr chip::ClusterId clusterId = chip::app::Clusters::NetworkCommissioning::Id;
+ constexpr chip::CommandId attributeId = chip::app::Clusters::NetworkCommissioning::Attributes::ThreadVersion::Id;
+
+ ChipLogProgress(chipTool, "Sending cluster (0x%08" PRIX32 ") ReportAttribute (0x%08" PRIX32 ") on endpoint %u", clusterId, attributeId, endpointId);
+ dispatch_queue_t callbackQueue = dispatch_queue_create("com.chip.command", DISPATCH_QUEUE_SERIAL);
+ __auto_type * cluster = [[MTRBaseClusterNetworkCommissioning alloc] initWithDevice:device endpointID:@(endpointId) queue:callbackQueue];
+ __auto_type * params = [[MTRSubscribeParams alloc] initWithMinInterval:@(mMinInterval) maxInterval:@(mMaxInterval)];
+ if (mKeepSubscriptions.HasValue()) {
+ params.replaceExistingSubscriptions = !mKeepSubscriptions.Value();
+ }
+ if (mFabricFiltered.HasValue()) {
+ params.filterByFabric = mFabricFiltered.Value();
+ }
+ if (mAutoResubscribe.HasValue()) {
+ params.resubscribeAutomatically = mAutoResubscribe.Value();
+ }
+ [cluster subscribeAttributeThreadVersionWithParams:params
+ subscriptionEstablished:^() { mSubscriptionEstablished = YES; }
+ reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+ NSLog(@"NetworkCommissioning.ThreadVersion response %@", [value description]);
+ if (error == nil) {
+ RemoteDataModelLogger::LogAttributeAsJSON(@(endpointId), @(clusterId), @(attributeId), value);
+ } else {
+ RemoteDataModelLogger::LogAttributeErrorAsJSON(@(endpointId), @(clusterId), @(attributeId), error);
+ }
+ SetCommandExitStatus(error);
+ }];
+
+ return CHIP_NO_ERROR;
+ }
+};
+
/*
* Attribute GeneratedCommandList
*/
@@ -154353,6 +154602,12 @@ void registerClusterNetworkCommissioning(Commands & commands)
make_unique(), //
make_unique(), //
make_unique(), //
+ make_unique(), //
+ make_unique(), //
+ make_unique(), //
+ make_unique(), //
+ make_unique(), //
+ make_unique(), //
make_unique(), //
make_unique(), //
make_unique(), //