From f2700cb75f5dac093a32952166378b194ed0ffb8 Mon Sep 17 00:00:00 2001
From: Paul Zander
Date: Mon, 22 Nov 2021 12:39:29 +0100
Subject: [PATCH 1/4] Update Basic Information cluster
---
.../all-clusters-common/all-clusters-app.zap | 23 ++-
.../bridge-app/bridge-common/bridge-app.zap | 4 +-
.../lighting-common/lighting-app.zap | 21 ++-
examples/lock-app/lock-common/lock-app.zap | 4 +-
.../ota-provider-common/ota-provider-app.zap | 2 +-
.../ota-requestor-app.zap | 2 +-
.../placeholder/linux/apps/app1/config.zap | 4 +-
.../placeholder/linux/apps/app2/config.zap | 4 +-
examples/pump-app/pump-common/pump-app.zap | 4 +-
.../pump-controller-app.zap | 4 +-
.../esp32/main/temperature-measurement.zap | 4 +-
.../thermostat-common/thermostat.zap | 21 ++-
examples/tv-app/tv-common/tv-app.zap | 17 +-
.../tv-casting-common/tv-casting-app.zap | 23 ++-
examples/window-app/common/window-app.zap | 6 +-
.../clusterclient/BasicClientFragment.kt | 38 ++---
.../main/res/layout/basic_client_fragment.xml | 12 +-
.../app/src/main/res/values/strings.xml | 2 +-
.../suites/certification/Test_TC_DM_1_1.yaml | 13 +-
.../Test_TC_DM_1_3_Simulated.yaml | 8 +-
.../chip/basic-information-cluster.xml | 4 +-
.../data_model/controller-clusters.zap | 19 ++-
.../java/zap-generated/CHIPClusters-JNI.cpp | 12 +-
.../zap-generated/CHIPClustersRead-JNI.cpp | 35 ++++-
.../chip/devicecontroller/ChipClusters.java | 31 ++--
.../devicecontroller/ClusterReadMapping.java | 22 ++-
.../devicecontroller/ClusterWriteMapping.java | 14 +-
.../python/chip/clusters/CHIPClusters.cpp | 17 +-
.../python/chip/clusters/CHIPClusters.py | 34 ++--
.../python/chip/clusters/Objects.py | 18 ++-
.../python/test/test_scripts/base.py | 4 +-
.../test/test_scripts/cluster_objects.py | 4 +-
.../CHIP/zap-generated/CHIPClustersObjc.h | 10 +-
.../CHIP/zap-generated/CHIPClustersObjc.mm | 23 ++-
.../CHIP/zap-generated/CHIPTestClustersObjc.h | 1 +
.../zap-generated/CHIPTestClustersObjc.mm | 13 ++
.../Framework/CHIPTests/CHIPClustersTests.m | 32 +++-
.../zap-generated/endpoint_config.h | 145 +++++++++---------
.../app-common/zap-generated/attribute-id.h | 3 +-
.../zap-generated/attributes/Accessors.cpp | 34 +++-
.../zap-generated/attributes/Accessors.h | 9 +-
.../zap-generated/cluster-objects.h | 17 +-
.../app-common/zap-generated/ids/Attributes.h | 8 +-
.../zap-generated/endpoint_config.h | 2 +-
.../zap-generated/cluster/Commands.h | 78 +++++++---
.../zap-generated/reporting/Commands.h | 6 +-
.../chip-tool/zap-generated/test/Commands.h | 56 +++++--
.../zap-generated/CHIPClusters.cpp | 24 ++-
.../zap-generated/CHIPClusters.h | 9 +-
.../zap-generated/tests/CHIPClustersTest.cpp | 10 ++
.../zap-generated/tests/CHIPClustersTest.h | 2 +
.../zap-generated/endpoint_config.h | 59 +++----
.../lock-app/zap-generated/endpoint_config.h | 2 +-
.../app1/zap-generated/endpoint_config.h | 4 +-
.../app1/zap-generated/test/Commands.h | 27 +++-
.../app2/zap-generated/endpoint_config.h | 4 +-
.../app2/zap-generated/test/Commands.h | 27 +++-
.../pump-app/zap-generated/endpoint_config.h | 2 +-
.../zap-generated/endpoint_config.h | 2 +-
.../zap-generated/endpoint_config.h | 2 +-
.../zap-generated/endpoint_config.h | 61 ++++----
.../tv-app/zap-generated/endpoint_config.h | 101 ++++++------
.../zap-generated/endpoint_config.h | 121 +++++++--------
.../zap-generated/endpoint_config.h | 2 +-
64 files changed, 874 insertions(+), 452 deletions(-)
diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap
index b0cae7778e022d..8ddede44e499fe 100644
--- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap
+++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap
@@ -1015,7 +1015,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -1209,6 +1209,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueId",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -8281,7 +8296,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -9147,7 +9162,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -17396,7 +17411,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
diff --git a/examples/bridge-app/bridge-common/bridge-app.zap b/examples/bridge-app/bridge-common/bridge-app.zap
index 78330a70bd0690..b4b3219c82600f 100644
--- a/examples/bridge-app/bridge-common/bridge-app.zap
+++ b/examples/bridge-app/bridge-common/bridge-app.zap
@@ -284,7 +284,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -3905,7 +3905,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
diff --git a/examples/lighting-app/lighting-common/lighting-app.zap b/examples/lighting-app/lighting-common/lighting-app.zap
index 9f2bb1b57128c3..c2ffa57feff5ad 100644
--- a/examples/lighting-app/lighting-common/lighting-app.zap
+++ b/examples/lighting-app/lighting-common/lighting-app.zap
@@ -1065,7 +1065,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -1259,6 +1259,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueId",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -5059,7 +5074,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -6249,7 +6264,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
diff --git a/examples/lock-app/lock-common/lock-app.zap b/examples/lock-app/lock-common/lock-app.zap
index 7e56b63e5792fe..55c5cb698e9c2a 100644
--- a/examples/lock-app/lock-common/lock-app.zap
+++ b/examples/lock-app/lock-common/lock-app.zap
@@ -1078,7 +1078,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -4879,7 +4879,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
diff --git a/examples/ota-provider-app/ota-provider-common/ota-provider-app.zap b/examples/ota-provider-app/ota-provider-common/ota-provider-app.zap
index 0b71a6a9ee227d..e659bf498b068c 100644
--- a/examples/ota-provider-app/ota-provider-common/ota-provider-app.zap
+++ b/examples/ota-provider-app/ota-provider-common/ota-provider-app.zap
@@ -880,7 +880,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
diff --git a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.zap b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.zap
index ea836ba2888185..c49ec04e1b4f58 100644
--- a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.zap
+++ b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.zap
@@ -880,7 +880,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
diff --git a/examples/placeholder/linux/apps/app1/config.zap b/examples/placeholder/linux/apps/app1/config.zap
index f11cef71e2b8b8..2b6fdfb3150d9c 100644
--- a/examples/placeholder/linux/apps/app1/config.zap
+++ b/examples/placeholder/linux/apps/app1/config.zap
@@ -284,7 +284,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -1597,7 +1597,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
diff --git a/examples/placeholder/linux/apps/app2/config.zap b/examples/placeholder/linux/apps/app2/config.zap
index 2d968de21f67d3..ec1a2cb4bf1e96 100644
--- a/examples/placeholder/linux/apps/app2/config.zap
+++ b/examples/placeholder/linux/apps/app2/config.zap
@@ -284,7 +284,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -1597,7 +1597,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
diff --git a/examples/pump-app/pump-common/pump-app.zap b/examples/pump-app/pump-common/pump-app.zap
index 296153e326f25e..9b43d961102020 100644
--- a/examples/pump-app/pump-common/pump-app.zap
+++ b/examples/pump-app/pump-common/pump-app.zap
@@ -992,7 +992,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -5000,7 +5000,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
diff --git a/examples/pump-controller-app/pump-controller-common/pump-controller-app.zap b/examples/pump-controller-app/pump-controller-common/pump-controller-app.zap
index 6b15b519c14dd0..348583d9d65462 100644
--- a/examples/pump-controller-app/pump-controller-common/pump-controller-app.zap
+++ b/examples/pump-controller-app/pump-controller-common/pump-controller-app.zap
@@ -992,7 +992,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -5000,7 +5000,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
diff --git a/examples/temperature-measurement-app/esp32/main/temperature-measurement.zap b/examples/temperature-measurement-app/esp32/main/temperature-measurement.zap
index 4ac628cdbe06f8..7f94045b1a9b81 100644
--- a/examples/temperature-measurement-app/esp32/main/temperature-measurement.zap
+++ b/examples/temperature-measurement-app/esp32/main/temperature-measurement.zap
@@ -686,7 +686,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -2834,7 +2834,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
diff --git a/examples/thermostat/thermostat-common/thermostat.zap b/examples/thermostat/thermostat-common/thermostat.zap
index 8919f9048423f9..32e236689882ac 100644
--- a/examples/thermostat/thermostat-common/thermostat.zap
+++ b/examples/thermostat/thermostat-common/thermostat.zap
@@ -992,7 +992,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -1186,6 +1186,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueId",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -7722,7 +7737,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -8386,7 +8401,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
diff --git a/examples/tv-app/tv-common/tv-app.zap b/examples/tv-app/tv-common/tv-app.zap
index 79b05f8ef8bb86..a45ca4c1c3386e 100644
--- a/examples/tv-app/tv-common/tv-app.zap
+++ b/examples/tv-app/tv-common/tv-app.zap
@@ -992,7 +992,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -1171,6 +1171,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueId",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap b/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap
index 35504c270207fe..9d49c163384076 100644
--- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap
+++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap
@@ -992,7 +992,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -1186,6 +1186,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueId",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -7722,7 +7737,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -8386,7 +8401,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -14570,7 +14585,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
diff --git a/examples/window-app/common/window-app.zap b/examples/window-app/common/window-app.zap
index 0394b9cccac22e..ed4b90da2f4d95 100644
--- a/examples/window-app/common/window-app.zap
+++ b/examples/window-app/common/window-app.zap
@@ -759,7 +759,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -4173,7 +4173,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -6553,7 +6553,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
diff --git a/src/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/BasicClientFragment.kt b/src/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/BasicClientFragment.kt
index 50d591a5e8f850..1be86202170969 100644
--- a/src/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/BasicClientFragment.kt
+++ b/src/android/CHIPTool/app/src/main/java/com/google/chip/chiptool/clusterclient/BasicClientFragment.kt
@@ -18,12 +18,12 @@ import com.google.chip.chiptool.R
import kotlinx.android.synthetic.main.basic_client_fragment.attributeNameSpinner
import kotlinx.android.synthetic.main.basic_client_fragment.basicClusterCommandStatus
import kotlinx.android.synthetic.main.basic_client_fragment.locationEd
-import kotlinx.android.synthetic.main.basic_client_fragment.userLabelEd
+import kotlinx.android.synthetic.main.basic_client_fragment.nodeLabelEd
import kotlinx.android.synthetic.main.basic_client_fragment.view.attributeNameSpinner
import kotlinx.android.synthetic.main.basic_client_fragment.view.readAttributeBtn
import kotlinx.android.synthetic.main.basic_client_fragment.view.writeLocalConfigDisabledSwitch
import kotlinx.android.synthetic.main.basic_client_fragment.view.writeLocationBtn
-import kotlinx.android.synthetic.main.basic_client_fragment.view.writeUserLabelBtn
+import kotlinx.android.synthetic.main.basic_client_fragment.view.writeNodeLabelBtn
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
@@ -48,9 +48,9 @@ class BasicClientFragment : Fragment() {
addressUpdateFragment =
childFragmentManager.findFragmentById(R.id.addressUpdateFragment) as AddressUpdateFragment
- writeUserLabelBtn.setOnClickListener { scope.launch {
- sendWriteUserLabelAttribute()
- userLabelEd.onEditorAction(EditorInfo.IME_ACTION_DONE)
+ writeNodeLabelBtn.setOnClickListener { scope.launch {
+ sendWriteNodeLabelAttribute()
+ nodeLabelEd.onEditorAction(EditorInfo.IME_ACTION_DONE)
}}
writeLocationBtn.setOnClickListener { scope.launch {
sendWriteLocationAttribute()
@@ -111,7 +111,7 @@ class BasicClientFragment : Fragment() {
getString(R.string.basic_cluster_vendor_id_text) -> sendReadVendorIDAttribute()
getString(R.string.basic_cluster_product_name_text) -> sendReadProductNameAttribute()
getString(R.string.basic_cluster_product_id_text) -> sendReadProductIDAttribute()
- getString(R.string.basic_cluster_user_label_text) -> sendReadUserLabelAttribute()
+ getString(R.string.basic_cluster_node_label_text) -> sendReadNodeLabelAttribute()
getString(R.string.basic_cluster_location_text) -> sendReadLocationAttribute()
getString(R.string.basic_cluster_hardware_version_text) -> sendReadHardwareVersionAttribute()
getString(R.string.basic_cluster_hardware_version_string_text) -> sendReadHardwareVersionStringAttribute()
@@ -134,7 +134,7 @@ class BasicClientFragment : Fragment() {
ATTRIBUTES.add(getString(R.string.basic_cluster_vendor_id_text))
ATTRIBUTES.add(getString(R.string.basic_cluster_product_name_text))
ATTRIBUTES.add(getString(R.string.basic_cluster_product_id_text))
- ATTRIBUTES.add(getString(R.string.basic_cluster_user_label_text))
+ ATTRIBUTES.add(getString(R.string.basic_cluster_node_label_text))
ATTRIBUTES.add(getString(R.string.basic_cluster_location_text))
ATTRIBUTES.add(getString(R.string.basic_cluster_hardware_version_text))
ATTRIBUTES.add(getString(R.string.basic_cluster_hardware_version_string_text))
@@ -220,31 +220,31 @@ class BasicClientFragment : Fragment() {
})
}
- private suspend fun sendReadUserLabelAttribute() {
- getBasicClusterForDevice().readUserLabelAttribute(object : ChipClusters.CharStringAttributeCallback {
+ private suspend fun sendReadNodeLabelAttribute() {
+ getBasicClusterForDevice().readNodeLabelAttribute(object : ChipClusters.CharStringAttributeCallback {
override fun onSuccess(value: String) {
- Log.i(TAG,"[Read Success] UserLabel: $value")
- showMessage("[Read Success] UserLabel: $value")
+ Log.i(TAG,"[Read Success] NodeLabel: $value")
+ showMessage("[Read Success] NodeLabel: $value")
}
override fun onError(ex: Exception) {
- showMessage("Read UserLabel failure $ex")
- Log.e(TAG, "Read UserLabel failure", ex)
+ showMessage("Read NodeLabel failure $ex")
+ Log.e(TAG, "Read NodeLabel failure", ex)
}
})
}
- private suspend fun sendWriteUserLabelAttribute() {
- getBasicClusterForDevice().writeUserLabelAttribute(object : ChipClusters.DefaultClusterCallback {
+ private suspend fun sendWriteNodeLabelAttribute() {
+ getBasicClusterForDevice().writeNodeLabelAttribute(object : ChipClusters.DefaultClusterCallback {
override fun onSuccess() {
- showMessage("Write UserLabel success")
+ showMessage("Write NodeLabel success")
}
override fun onError(ex: Exception) {
- showMessage("Write UserLabel failure $ex")
- Log.e(TAG, "Write UserLabel failure", ex)
+ showMessage("Write NodeLabel failure $ex")
+ Log.e(TAG, "Write NodeLabel failure", ex)
}
- }, userLabelEd.text.toString())
+ }, nodeLabelEd.text.toString())
}
private suspend fun sendReadLocationAttribute() {
diff --git a/src/android/CHIPTool/app/src/main/res/layout/basic_client_fragment.xml b/src/android/CHIPTool/app/src/main/res/layout/basic_client_fragment.xml
index faec00244b3be0..a0c9b7919cad22 100644
--- a/src/android/CHIPTool/app/src/main/res/layout/basic_client_fragment.xml
+++ b/src/android/CHIPTool/app/src/main/res/layout/basic_client_fragment.xml
@@ -12,7 +12,7 @@
android:layout_alignParentTop="true" />
@@ -48,7 +48,7 @@
android:id="@+id/writeLocationBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_below="@id/userLabelEd"
+ android:layout_below="@id/nodeLabelEd"
android:layout_alignParentEnd="true"
android:layout_margin="10dp"
android:layout_toEndOf="@id/locationEd"
diff --git a/src/android/CHIPTool/app/src/main/res/values/strings.xml b/src/android/CHIPTool/app/src/main/res/values/strings.xml
index 02850a2baf4a3b..99a36d9141d3c2 100644
--- a/src/android/CHIPTool/app/src/main/res/values/strings.xml
+++ b/src/android/CHIPTool/app/src/main/res/values/strings.xml
@@ -113,7 +113,7 @@
VendorID
ProductName
ProductID
- UserLabel
+ NodeLabel
Location
HardwareVersion
HardwareVersionString
diff --git a/src/app/tests/suites/certification/Test_TC_DM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DM_1_1.yaml
index f057fa32dac99e..d5113f36cf7001 100644
--- a/src/app/tests/suites/certification/Test_TC_DM_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_DM_1_1.yaml
@@ -56,9 +56,9 @@ tests:
constraints:
type: uint16
- - label: "Query User Label"
+ - label: "Query Node Label"
command: "readAttribute"
- attribute: "UserLabel"
+ attribute: "NodeLabel"
response:
constraints:
type: string
@@ -171,3 +171,12 @@ tests:
response:
constraints:
type: boolean
+
+ - label: "Query UniqueID"
+ command: "readAttribute"
+ attribute: "UniqueID"
+ optional: true
+ response:
+ constraints:
+ type: string
+ maxLength: 32
diff --git a/src/app/tests/suites/certification/Test_TC_DM_1_3_Simulated.yaml b/src/app/tests/suites/certification/Test_TC_DM_1_3_Simulated.yaml
index a2892e38cfc38e..e5666889e14a98 100644
--- a/src/app/tests/suites/certification/Test_TC_DM_1_3_Simulated.yaml
+++ b/src/app/tests/suites/certification/Test_TC_DM_1_3_Simulated.yaml
@@ -51,9 +51,9 @@ tests:
wait: "readAttribute"
attribute: "ProductID"
- - label: "Query User Label"
+ - label: "Query Node Label"
wait: "readAttribute"
- attribute: "UserLabel"
+ attribute: "NodeLabel"
- label: "Query User Location"
wait: "readAttribute"
@@ -102,3 +102,7 @@ tests:
- label: "Query Reachable"
wait: "readAttribute"
attribute: "Reachable"
+
+ - label: "Query UniqueId"
+ wait: "readAttribute"
+ attribute: "UniqueId"
diff --git a/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml
index 2c61530d2fbab4..bebb7f7404f88b 100644
--- a/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/basic-information-cluster.xml
@@ -29,7 +29,7 @@ limitations under the License.
VendorID
ProductName
ProductID
- UserLabel
+ NodeLabel
Location
HardwareVersion
HardwareVersionString
@@ -42,6 +42,8 @@ limitations under the License.
SerialNumber
LocalConfigDisabled
Reachable
+ UniqueID
+
The StartUp event SHALL be emitted by a Node as soon as reasonable after completing a boot or reboot process.
diff --git a/src/controller/data_model/controller-clusters.zap b/src/controller/data_model/controller-clusters.zap
index b5510e81046348..b70bfe60cfea7f 100644
--- a/src/controller/data_model/controller-clusters.zap
+++ b/src/controller/data_model/controller-clusters.zap
@@ -1682,7 +1682,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
@@ -1876,6 +1876,21 @@
"maxInterval": 65344,
"reportableChange": 0
},
+ {
+ "name": "UniqueId",
+ "code": 18,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 1,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 0,
+ "minInterval": 0,
+ "maxInterval": 65344,
+ "reportableChange": 0
+ },
{
"name": "ClusterRevision",
"code": 65533,
@@ -4857,7 +4872,7 @@
"reportableChange": 0
},
{
- "name": "UserLabel",
+ "name": "NodeLabel",
"code": 5,
"mfgCode": null,
"side": "server",
diff --git a/src/controller/java/zap-generated/CHIPClusters-JNI.cpp b/src/controller/java/zap-generated/CHIPClusters-JNI.cpp
index 5a3d99001eabbd..1d19ad87a1e309 100644
--- a/src/controller/java/zap-generated/CHIPClusters-JNI.cpp
+++ b/src/controller/java/zap-generated/CHIPClusters-JNI.cpp
@@ -1949,7 +1949,7 @@ JNI_METHOD(void, BasicCluster, reportProductIDAttribute)(JNIEnv * env, jobject s
onReport.release();
}
-JNI_METHOD(void, BasicCluster, writeUserLabelAttribute)
+JNI_METHOD(void, BasicCluster, writeNodeLabelAttribute)
(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jstring value)
{
chip::DeviceLayer::StackLock lock;
@@ -1972,7 +1972,7 @@ JNI_METHOD(void, BasicCluster, writeUserLabelAttribute)
env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
JniUtfString valueStr(env, value);
- err = cppCluster->WriteAttributeUserLabel(onSuccess->Cancel(), onFailure->Cancel(),
+ err = cppCluster->WriteAttributeNodeLabel(onSuccess->Cancel(), onFailure->Cancel(),
chip::CharSpan(valueStr.c_str(), strlen(valueStr.c_str())));
VerifyOrReturn(
err == CHIP_NO_ERROR,
@@ -1981,7 +1981,7 @@ JNI_METHOD(void, BasicCluster, writeUserLabelAttribute)
onSuccess.release();
onFailure.release();
}
-JNI_METHOD(void, BasicCluster, subscribeUserLabelAttribute)
+JNI_METHOD(void, BasicCluster, subscribeNodeLabelAttribute)
(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback, jint minInterval, jint maxInterval)
{
chip::DeviceLayer::StackLock lock;
@@ -2003,7 +2003,7 @@ JNI_METHOD(void, BasicCluster, subscribeUserLabelAttribute)
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
- err = cppCluster->SubscribeAttributeUserLabel(onSuccess->Cancel(), onFailure->Cancel(), static_cast(minInterval),
+ err = cppCluster->SubscribeAttributeNodeLabel(onSuccess->Cancel(), onFailure->Cancel(), static_cast(minInterval),
static_cast(maxInterval));
VerifyOrReturn(err == CHIP_NO_ERROR,
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
@@ -2013,7 +2013,7 @@ JNI_METHOD(void, BasicCluster, subscribeUserLabelAttribute)
onFailure.release();
}
-JNI_METHOD(void, BasicCluster, reportUserLabelAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+JNI_METHOD(void, BasicCluster, reportNodeLabelAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
chip::DeviceLayer::StackLock lock;
std::unique_ptr onReport(
@@ -2028,7 +2028,7 @@ JNI_METHOD(void, BasicCluster, reportUserLabelAttribute)(JNIEnv * env, jobject s
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
- err = cppCluster->ReportAttributeUserLabel(onReport->Cancel());
+ err = cppCluster->ReportAttributeNodeLabel(onReport->Cancel());
VerifyOrReturn(err == CHIP_NO_ERROR,
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Error registering for attribute reporting", err));
diff --git a/src/controller/java/zap-generated/CHIPClustersRead-JNI.cpp b/src/controller/java/zap-generated/CHIPClustersRead-JNI.cpp
index 2c0e72b9658887..16160900f60b82 100644
--- a/src/controller/java/zap-generated/CHIPClustersRead-JNI.cpp
+++ b/src/controller/java/zap-generated/CHIPClustersRead-JNI.cpp
@@ -877,7 +877,7 @@ JNI_METHOD(void, BasicCluster, readProductIDAttribute)(JNIEnv * env, jobject sel
onFailure.release();
}
-JNI_METHOD(void, BasicCluster, readUserLabelAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+JNI_METHOD(void, BasicCluster, readNodeLabelAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
chip::DeviceLayer::StackLock lock;
std::unique_ptr onSuccess(
@@ -899,7 +899,7 @@ JNI_METHOD(void, BasicCluster, readUserLabelAttribute)(JNIEnv * env, jobject sel
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
- err = cppCluster->ReadAttributeUserLabel(onSuccess->Cancel(), onFailure->Cancel());
+ err = cppCluster->ReadAttributeNodeLabel(onSuccess->Cancel(), onFailure->Cancel());
VerifyOrReturn(
err == CHIP_NO_ERROR,
chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
@@ -1276,6 +1276,37 @@ JNI_METHOD(void, BasicCluster, readReachableAttribute)(JNIEnv * env, jobject sel
onFailure.release();
}
+JNI_METHOD(void, BasicCluster, readUniqueIDAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
+{
+ chip::DeviceLayer::StackLock lock;
+ std::unique_ptr onSuccess(
+ chip::Platform::New(callback, false),
+ chip::Platform::Delete);
+ VerifyOrReturn(onSuccess.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native success callback", CHIP_ERROR_NO_MEMORY));
+
+ std::unique_ptr onFailure(
+ chip::Platform::New(callback), chip::Platform::Delete);
+ VerifyOrReturn(onFailure.get() != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Error creating native failure callback", CHIP_ERROR_NO_MEMORY));
+
+ CHIP_ERROR err = CHIP_NO_ERROR;
+ chip::Controller::BasicCluster * cppCluster = reinterpret_cast(clusterPtr);
+ VerifyOrReturn(cppCluster != nullptr,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(
+ env, callback, "Could not get native cluster", CHIP_ERROR_INCORRECT_STATE));
+
+ err = cppCluster->ReadAttributeUniqueID(onSuccess->Cancel(), onFailure->Cancel());
+ VerifyOrReturn(
+ err == CHIP_NO_ERROR,
+ chip::AndroidClusterExceptions::GetInstance().ReturnIllegalStateException(env, callback, "Error reading attribute", err));
+
+ onSuccess.release();
+ onFailure.release();
+}
+
JNI_METHOD(void, BasicCluster, readClusterRevisionAttribute)(JNIEnv * env, jobject self, jlong clusterPtr, jobject callback)
{
chip::DeviceLayer::StackLock lock;
diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java
index ae0afec5e267f5..09f363772982e4 100644
--- a/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java
+++ b/src/controller/java/zap-generated/chip/devicecontroller/ChipClusters.java
@@ -866,21 +866,21 @@ public void reportProductIDAttribute(IntegerAttributeCallback callback) {
reportProductIDAttribute(chipClusterPtr, callback);
}
- public void readUserLabelAttribute(CharStringAttributeCallback callback) {
- readUserLabelAttribute(chipClusterPtr, callback);
+ public void readNodeLabelAttribute(CharStringAttributeCallback callback) {
+ readNodeLabelAttribute(chipClusterPtr, callback);
}
- public void writeUserLabelAttribute(DefaultClusterCallback callback, String value) {
- writeUserLabelAttribute(chipClusterPtr, callback, value);
+ public void writeNodeLabelAttribute(DefaultClusterCallback callback, String value) {
+ writeNodeLabelAttribute(chipClusterPtr, callback, value);
}
- public void subscribeUserLabelAttribute(
+ public void subscribeNodeLabelAttribute(
DefaultClusterCallback callback, int minInterval, int maxInterval) {
- subscribeUserLabelAttribute(chipClusterPtr, callback, minInterval, maxInterval);
+ subscribeNodeLabelAttribute(chipClusterPtr, callback, minInterval, maxInterval);
}
- public void reportUserLabelAttribute(CharStringAttributeCallback callback) {
- reportUserLabelAttribute(chipClusterPtr, callback);
+ public void reportNodeLabelAttribute(CharStringAttributeCallback callback) {
+ reportNodeLabelAttribute(chipClusterPtr, callback);
}
public void readLocationAttribute(CharStringAttributeCallback callback) {
@@ -1047,6 +1047,10 @@ public void reportReachableAttribute(BooleanAttributeCallback callback) {
reportReachableAttribute(chipClusterPtr, callback);
}
+ public void readUniqueIDAttribute(CharStringAttributeCallback callback) {
+ readUniqueIDAttribute(chipClusterPtr, callback);
+ }
+
public void readClusterRevisionAttribute(IntegerAttributeCallback callback) {
readClusterRevisionAttribute(chipClusterPtr, callback);
}
@@ -1105,16 +1109,16 @@ private native void subscribeProductIDAttribute(
private native void reportProductIDAttribute(
long chipClusterPtr, IntegerAttributeCallback callback);
- private native void readUserLabelAttribute(
+ private native void readNodeLabelAttribute(
long chipClusterPtr, CharStringAttributeCallback callback);
- private native void writeUserLabelAttribute(
+ private native void writeNodeLabelAttribute(
long chipClusterPtr, DefaultClusterCallback callback, String value);
- private native void subscribeUserLabelAttribute(
+ private native void subscribeNodeLabelAttribute(
long chipClusterPtr, DefaultClusterCallback callback, int minInterval, int maxInterval);
- private native void reportUserLabelAttribute(
+ private native void reportNodeLabelAttribute(
long chipClusterPtr, CharStringAttributeCallback callback);
private native void readLocationAttribute(
@@ -1231,6 +1235,9 @@ private native void subscribeReachableAttribute(
private native void reportReachableAttribute(
long chipClusterPtr, BooleanAttributeCallback callback);
+ private native void readUniqueIDAttribute(
+ long chipClusterPtr, CharStringAttributeCallback callback);
+
private native void readClusterRevisionAttribute(
long chipClusterPtr, IntegerAttributeCallback callback);
diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ClusterReadMapping.java b/src/controller/java/zap-generated/chip/devicecontroller/ClusterReadMapping.java
index f9c0c88763c093..959623ac43153a 100644
--- a/src/controller/java/zap-generated/chip/devicecontroller/ClusterReadMapping.java
+++ b/src/controller/java/zap-generated/chip/devicecontroller/ClusterReadMapping.java
@@ -391,18 +391,18 @@ public Map> getReadAttributeMap() {
readBasicProductIDCommandParams);
readBasicInteractionInfo.put(
"readProductIDAttribute", readBasicProductIDAttributeInteractionInfo);
- Map readBasicUserLabelCommandParams =
+ Map readBasicNodeLabelCommandParams =
new LinkedHashMap();
- InteractionInfo readBasicUserLabelAttributeInteractionInfo =
+ InteractionInfo readBasicNodeLabelAttributeInteractionInfo =
new InteractionInfo(
(cluster, callback, commandArguments) -> {
((ChipClusters.BasicCluster) cluster)
- .readUserLabelAttribute((ChipClusters.CharStringAttributeCallback) callback);
+ .readNodeLabelAttribute((ChipClusters.CharStringAttributeCallback) callback);
},
() -> new ClusterInfoMapping.DelegatedCharStringAttributeCallback(),
- readBasicUserLabelCommandParams);
+ readBasicNodeLabelCommandParams);
readBasicInteractionInfo.put(
- "readUserLabelAttribute", readBasicUserLabelAttributeInteractionInfo);
+ "readNodeLabelAttribute", readBasicNodeLabelAttributeInteractionInfo);
Map readBasicLocationCommandParams =
new LinkedHashMap();
InteractionInfo readBasicLocationAttributeInteractionInfo =
@@ -553,6 +553,18 @@ public Map> getReadAttributeMap() {
readBasicReachableCommandParams);
readBasicInteractionInfo.put(
"readReachableAttribute", readBasicReachableAttributeInteractionInfo);
+ Map readBasicUniqueIDCommandParams =
+ new LinkedHashMap();
+ InteractionInfo readBasicUniqueIDAttributeInteractionInfo =
+ new InteractionInfo(
+ (cluster, callback, commandArguments) -> {
+ ((ChipClusters.BasicCluster) cluster)
+ .readUniqueIDAttribute((ChipClusters.CharStringAttributeCallback) callback);
+ },
+ () -> new ClusterInfoMapping.DelegatedCharStringAttributeCallback(),
+ readBasicUniqueIDCommandParams);
+ readBasicInteractionInfo.put(
+ "readUniqueIDAttribute", readBasicUniqueIDAttributeInteractionInfo);
Map readBasicClusterRevisionCommandParams =
new LinkedHashMap();
InteractionInfo readBasicClusterRevisionAttributeInteractionInfo =
diff --git a/src/controller/java/zap-generated/chip/devicecontroller/ClusterWriteMapping.java b/src/controller/java/zap-generated/chip/devicecontroller/ClusterWriteMapping.java
index c40ee2c21bf105..8b448710e9893b 100644
--- a/src/controller/java/zap-generated/chip/devicecontroller/ClusterWriteMapping.java
+++ b/src/controller/java/zap-generated/chip/devicecontroller/ClusterWriteMapping.java
@@ -44,22 +44,22 @@ public Map> getWriteAttributeMap() {
Map writeBarrierControlInteractionInfo = new LinkedHashMap<>();
writeAttributeMap.put("barrierControl", writeBarrierControlInteractionInfo);
Map writeBasicInteractionInfo = new LinkedHashMap<>();
- Map writeBasicUserLabelCommandParams =
+ Map writeBasicNodeLabelCommandParams =
new LinkedHashMap();
- CommandParameterInfo basicuserLabelCommandParameterInfo =
+ CommandParameterInfo basicnodeLabelCommandParameterInfo =
new CommandParameterInfo("value", String.class);
- writeBasicUserLabelCommandParams.put("value", basicuserLabelCommandParameterInfo);
- InteractionInfo writeBasicUserLabelAttributeInteractionInfo =
+ writeBasicNodeLabelCommandParams.put("value", basicnodeLabelCommandParameterInfo);
+ InteractionInfo writeBasicNodeLabelAttributeInteractionInfo =
new InteractionInfo(
(cluster, callback, commandArguments) -> {
((ChipClusters.BasicCluster) cluster)
- .writeUserLabelAttribute(
+ .writeNodeLabelAttribute(
(DefaultClusterCallback) callback, (String) commandArguments.get("value"));
},
() -> new ClusterInfoMapping.DelegatedDefaultClusterCallback(),
- writeBasicUserLabelCommandParams);
+ writeBasicNodeLabelCommandParams);
writeBasicInteractionInfo.put(
- "writeUserLabelAttribute", writeBasicUserLabelAttributeInteractionInfo);
+ "writeNodeLabelAttribute", writeBasicNodeLabelAttributeInteractionInfo);
Map writeBasicLocationCommandParams =
new LinkedHashMap();
CommandParameterInfo basiclocationCommandParameterInfo =
diff --git a/src/controller/python/chip/clusters/CHIPClusters.cpp b/src/controller/python/chip/clusters/CHIPClusters.cpp
index 29476bfebedc6c..276f63e50789a3 100644
--- a/src/controller/python/chip/clusters/CHIPClusters.cpp
+++ b/src/controller/python/chip/clusters/CHIPClusters.cpp
@@ -2585,23 +2585,23 @@ chip::ChipError::StorageType chip_ime_SubscribeAttribute_Basic_ProductID(chip::D
.AsInteger();
}
-chip::ChipError::StorageType chip_ime_ReadAttribute_Basic_UserLabel(chip::DeviceProxy * device, chip::EndpointId ZCLendpointId,
+chip::ChipError::StorageType chip_ime_ReadAttribute_Basic_NodeLabel(chip::DeviceProxy * device, chip::EndpointId ZCLendpointId,
chip::GroupId /* ZCLgroupId */)
{
VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger());
chip::Controller::BasicCluster cluster;
cluster.Associate(device, ZCLendpointId);
- return cluster.ReadAttributeUserLabel(gCharStringAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel()).AsInteger();
+ return cluster.ReadAttributeNodeLabel(gCharStringAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel()).AsInteger();
}
-chip::ChipError::StorageType chip_ime_SubscribeAttribute_Basic_UserLabel(chip::DeviceProxy * device, chip::EndpointId ZCLendpointId,
+chip::ChipError::StorageType chip_ime_SubscribeAttribute_Basic_NodeLabel(chip::DeviceProxy * device, chip::EndpointId ZCLendpointId,
uint16_t minInterval, uint16_t maxInterval)
{
VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger());
chip::Controller::BasicCluster cluster;
cluster.Associate(device, ZCLendpointId);
return cluster
- .SubscribeAttributeUserLabel(gCharStringAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel(), minInterval,
+ .SubscribeAttributeNodeLabel(gCharStringAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel(), minInterval,
maxInterval)
.AsInteger();
}
@@ -2877,6 +2877,15 @@ chip::ChipError::StorageType chip_ime_SubscribeAttribute_Basic_Reachable(chip::D
.AsInteger();
}
+chip::ChipError::StorageType chip_ime_ReadAttribute_Basic_UniqueID(chip::DeviceProxy * device, chip::EndpointId ZCLendpointId,
+ chip::GroupId /* ZCLgroupId */)
+{
+ VerifyOrReturnError(device != nullptr, CHIP_ERROR_INVALID_ARGUMENT.AsInteger());
+ chip::Controller::BasicCluster cluster;
+ cluster.Associate(device, ZCLendpointId);
+ return cluster.ReadAttributeUniqueID(gCharStringAttributeCallback.Cancel(), gDefaultFailureCallback.Cancel()).AsInteger();
+}
+
chip::ChipError::StorageType chip_ime_ReadAttribute_Basic_ClusterRevision(chip::DeviceProxy * device,
chip::EndpointId ZCLendpointId,
chip::GroupId /* ZCLgroupId */)
diff --git a/src/controller/python/chip/clusters/CHIPClusters.py b/src/controller/python/chip/clusters/CHIPClusters.py
index fd81c01adbcdfa..1a74079a75373f 100644
--- a/src/controller/python/chip/clusters/CHIPClusters.py
+++ b/src/controller/python/chip/clusters/CHIPClusters.py
@@ -337,7 +337,7 @@ class ChipClusters:
"reportable": True,
},
0x00000005: {
- "attributeName": "UserLabel",
+ "attributeName": "NodeLabel",
"attributeId": 0x00000005,
"type": "str",
"reportable": True,
@@ -417,6 +417,11 @@ class ChipClusters:
"type": "bool",
"reportable": True,
},
+ 0x00000012: {
+ "attributeName": "UniqueID",
+ "attributeId": 0x00000012,
+ "type": "str",
+ },
0x0000FFFD: {
"attributeName": "ClusterRevision",
"attributeId": 0x0000FFFD,
@@ -5166,11 +5171,11 @@ def ClusterBasic_ReadAttributeProductID(self, device: ctypes.c_void_p, ZCLendpoi
def ClusterBasic_SubscribeAttributeProductID(self, device: ctypes.c_void_p, ZCLendpoint: int, minInterval: int, maxInterval: int):
return self._chipLib.chip_ime_SubscribeAttribute_Basic_ProductID(device, ZCLendpoint, minInterval, maxInterval)
- def ClusterBasic_ReadAttributeUserLabel(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int):
- return self._chipLib.chip_ime_ReadAttribute_Basic_UserLabel(device, ZCLendpoint, ZCLgroupid)
+ def ClusterBasic_ReadAttributeNodeLabel(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int):
+ return self._chipLib.chip_ime_ReadAttribute_Basic_NodeLabel(device, ZCLendpoint, ZCLgroupid)
- def ClusterBasic_SubscribeAttributeUserLabel(self, device: ctypes.c_void_p, ZCLendpoint: int, minInterval: int, maxInterval: int):
- return self._chipLib.chip_ime_SubscribeAttribute_Basic_UserLabel(device, ZCLendpoint, minInterval, maxInterval)
+ def ClusterBasic_SubscribeAttributeNodeLabel(self, device: ctypes.c_void_p, ZCLendpoint: int, minInterval: int, maxInterval: int):
+ return self._chipLib.chip_ime_SubscribeAttribute_Basic_NodeLabel(device, ZCLendpoint, minInterval, maxInterval)
def ClusterBasic_ReadAttributeLocation(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int):
return self._chipLib.chip_ime_ReadAttribute_Basic_Location(device, ZCLendpoint, ZCLgroupid)
@@ -5244,6 +5249,9 @@ def ClusterBasic_ReadAttributeReachable(self, device: ctypes.c_void_p, ZCLendpoi
def ClusterBasic_SubscribeAttributeReachable(self, device: ctypes.c_void_p, ZCLendpoint: int, minInterval: int, maxInterval: int):
return self._chipLib.chip_ime_SubscribeAttribute_Basic_Reachable(device, ZCLendpoint, minInterval, maxInterval)
+ def ClusterBasic_ReadAttributeUniqueID(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int):
+ return self._chipLib.chip_ime_ReadAttribute_Basic_UniqueID(device, ZCLendpoint, ZCLgroupid)
+
def ClusterBasic_ReadAttributeClusterRevision(self, device: ctypes.c_void_p, ZCLendpoint: int, ZCLgroupid: int):
return self._chipLib.chip_ime_ReadAttribute_Basic_ClusterRevision(device, ZCLendpoint, ZCLgroupid)
@@ -7972,14 +7980,14 @@ def InitLib(self, chipLib):
self._chipLib.chip_ime_SubscribeAttribute_Basic_ProductID.argtypes = [
ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16, ctypes.c_uint16]
self._chipLib.chip_ime_SubscribeAttribute_Basic_ProductID.restype = ctypes.c_uint32
- # Cluster Basic ReadAttribute UserLabel
- self._chipLib.chip_ime_ReadAttribute_Basic_UserLabel.argtypes = [
+ # Cluster Basic ReadAttribute NodeLabel
+ self._chipLib.chip_ime_ReadAttribute_Basic_NodeLabel.argtypes = [
ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16]
- self._chipLib.chip_ime_ReadAttribute_Basic_UserLabel.restype = ctypes.c_uint32
- # Cluster Basic SubscribeAttribute UserLabel
- self._chipLib.chip_ime_SubscribeAttribute_Basic_UserLabel.argtypes = [
+ self._chipLib.chip_ime_ReadAttribute_Basic_NodeLabel.restype = ctypes.c_uint32
+ # Cluster Basic SubscribeAttribute NodeLabel
+ self._chipLib.chip_ime_SubscribeAttribute_Basic_NodeLabel.argtypes = [
ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16, ctypes.c_uint16]
- self._chipLib.chip_ime_SubscribeAttribute_Basic_UserLabel.restype = ctypes.c_uint32
+ self._chipLib.chip_ime_SubscribeAttribute_Basic_NodeLabel.restype = ctypes.c_uint32
# Cluster Basic ReadAttribute Location
self._chipLib.chip_ime_ReadAttribute_Basic_Location.argtypes = [
ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16]
@@ -8076,6 +8084,10 @@ def InitLib(self, chipLib):
self._chipLib.chip_ime_SubscribeAttribute_Basic_Reachable.argtypes = [
ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16, ctypes.c_uint16]
self._chipLib.chip_ime_SubscribeAttribute_Basic_Reachable.restype = ctypes.c_uint32
+ # Cluster Basic ReadAttribute UniqueID
+ self._chipLib.chip_ime_ReadAttribute_Basic_UniqueID.argtypes = [
+ ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16]
+ self._chipLib.chip_ime_ReadAttribute_Basic_UniqueID.restype = ctypes.c_uint32
# Cluster Basic ReadAttribute ClusterRevision
self._chipLib.chip_ime_ReadAttribute_Basic_ClusterRevision.argtypes = [
ctypes.c_void_p, ctypes.c_uint8, ctypes.c_uint16]
diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py
index 7d7d22705b9969..d3c4897e9f5135 100644
--- a/src/controller/python/chip/clusters/Objects.py
+++ b/src/controller/python/chip/clusters/Objects.py
@@ -5309,7 +5309,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
value: 'uint' = None
@dataclass
- class UserLabel(ClusterAttributeDescriptor):
+ class NodeLabel(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
return 0x0028
@@ -5516,6 +5516,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
value: 'typing.Optional[bool]' = None
+ @dataclass
+ class UniqueID(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0028
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x0012
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[str])
+
+ value: 'typing.Optional[str]' = None
+
@dataclass
class FeatureMap(ClusterAttributeDescriptor):
@ChipUtility.classproperty
diff --git a/src/controller/python/test/test_scripts/base.py b/src/controller/python/test/test_scripts/base.py
index f00d5c6a96a7f7..076c6427e061a3 100644
--- a/src/controller/python/test/test_scripts/base.py
+++ b/src/controller/python/test/test_scripts/base.py
@@ -248,7 +248,7 @@ def TestReadBasicAttributes(self, nodeid: int, endpoint: int, group: int):
"VendorID": 9050,
"ProductName": "TEST_PRODUCT",
"ProductID": 65279,
- "UserLabel": "Test",
+ "NodeLabel": "Test",
"Location": "",
"HardwareVersion": 0,
"HardwareVersionString": "TEST_VERSION",
@@ -281,7 +281,7 @@ class AttributeWriteRequest:
expected_status: IM.Status = IM.Status.Success
requests = [
- AttributeWriteRequest("Basic", "UserLabel", "Test"),
+ AttributeWriteRequest("Basic", "NodeLabel", "Test"),
AttributeWriteRequest("Basic", "Location",
"a pretty loooooooooooooog string", IM.Status.InvalidValue),
]
diff --git a/src/controller/python/test/test_scripts/cluster_objects.py b/src/controller/python/test/test_scripts/cluster_objects.py
index b3d13455bbcaf8..3b1d15dda2fe4f 100644
--- a/src/controller/python/test/test_scripts/cluster_objects.py
+++ b/src/controller/python/test/test_scripts/cluster_objects.py
@@ -76,7 +76,7 @@ async def SendCommandWithResponse(cls, devCtrl):
async def SendWriteRequest(cls, devCtrl):
res = await devCtrl.WriteAttribute(nodeid=NODE_ID,
attributes=[
- (0, Clusters.Basic.Attributes.UserLabel(
+ (0, Clusters.Basic.Attributes.NodeLabel(
"Test")),
(0, Clusters.Basic.Attributes.Location(
"A loooong string"))
@@ -102,7 +102,7 @@ async def SendReadRequest(cls, devCtrl):
(0, Clusters.Basic.Attributes.VendorID),
(0, Clusters.Basic.Attributes.ProductName),
(0, Clusters.Basic.Attributes.ProductID),
- (0, Clusters.Basic.Attributes.UserLabel),
+ (0, Clusters.Basic.Attributes.NodeLabel),
(0, Clusters.Basic.Attributes.Location),
(0, Clusters.Basic.Attributes.HardwareVersion),
(0, Clusters.Basic.Attributes.HardwareVersionString),
diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h
index fa84ebc1b29a9f..11c7e3aa28b023 100644
--- a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h
+++ b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.h
@@ -268,12 +268,12 @@ NS_ASSUME_NONNULL_BEGIN
responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeProductIDWithResponseHandler:(ResponseHandler)responseHandler;
-- (void)readAttributeUserLabelWithResponseHandler:(ResponseHandler)responseHandler;
-- (void)writeAttributeUserLabelWithValue:(NSString * _Nonnull)value responseHandler:(ResponseHandler)responseHandler;
-- (void)subscribeAttributeUserLabelWithMinInterval:(uint16_t)minInterval
+- (void)readAttributeNodeLabelWithResponseHandler:(ResponseHandler)responseHandler;
+- (void)writeAttributeNodeLabelWithValue:(NSString * _Nonnull)value responseHandler:(ResponseHandler)responseHandler;
+- (void)subscribeAttributeNodeLabelWithMinInterval:(uint16_t)minInterval
maxInterval:(uint16_t)maxInterval
responseHandler:(ResponseHandler)responseHandler;
-- (void)reportAttributeUserLabelWithResponseHandler:(ResponseHandler)responseHandler;
+- (void)reportAttributeNodeLabelWithResponseHandler:(ResponseHandler)responseHandler;
- (void)readAttributeLocationWithResponseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeLocationWithValue:(NSString * _Nonnull)value responseHandler:(ResponseHandler)responseHandler;
@@ -349,6 +349,8 @@ NS_ASSUME_NONNULL_BEGIN
responseHandler:(ResponseHandler)responseHandler;
- (void)reportAttributeReachableWithResponseHandler:(ResponseHandler)responseHandler;
+- (void)readAttributeUniqueIDWithResponseHandler:(ResponseHandler)responseHandler;
+
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler;
- (void)subscribeAttributeClusterRevisionWithMinInterval:(uint16_t)minInterval
maxInterval:(uint16_t)maxInterval
diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm
index b251e7335888f5..8648c81c84480f 100644
--- a/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/CHIPClustersObjc.mm
@@ -933,18 +933,18 @@ new CHIPInt16uAttributeCallbackBridge(
true);
}
-- (void)readAttributeUserLabelWithResponseHandler:(ResponseHandler)responseHandler
+- (void)readAttributeNodeLabelWithResponseHandler:(ResponseHandler)responseHandler
{
new CHIPCharStringAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) {
- return self.cppCluster.ReadAttributeUserLabel(success, failure);
+ return self.cppCluster.ReadAttributeNodeLabel(success, failure);
});
}
-- (void)writeAttributeUserLabelWithValue:(NSString * _Nonnull)value responseHandler:(ResponseHandler)responseHandler
+- (void)writeAttributeNodeLabelWithValue:(NSString * _Nonnull)value responseHandler:(ResponseHandler)responseHandler
{
new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) {
ListFreer listFreer;
- using TypeInfo = Basic::Attributes::UserLabel::TypeInfo;
+ using TypeInfo = Basic::Attributes::NodeLabel::TypeInfo;
TypeInfo::Type cppValue;
cppValue = [self asCharSpan:value];
auto successFn = Callback::FromCancelable(success);
@@ -953,21 +953,21 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc
});
}
-- (void)subscribeAttributeUserLabelWithMinInterval:(uint16_t)minInterval
+- (void)subscribeAttributeNodeLabelWithMinInterval:(uint16_t)minInterval
maxInterval:(uint16_t)maxInterval
responseHandler:(ResponseHandler)responseHandler
{
new CHIPCharStringAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) {
- return self.cppCluster.SubscribeAttributeUserLabel(success, failure, minInterval, maxInterval);
+ return self.cppCluster.SubscribeAttributeNodeLabel(success, failure, minInterval, maxInterval);
});
}
-- (void)reportAttributeUserLabelWithResponseHandler:(ResponseHandler)responseHandler
+- (void)reportAttributeNodeLabelWithResponseHandler:(ResponseHandler)responseHandler
{
new CHIPCharStringAttributeCallbackBridge(
self.callbackQueue, responseHandler,
^(Cancelable * success, Cancelable * failure) {
- return self.cppCluster.ReportAttributeUserLabel(success);
+ return self.cppCluster.ReportAttributeNodeLabel(success);
},
true);
}
@@ -1310,6 +1310,13 @@ new CHIPBooleanAttributeCallbackBridge(
true);
}
+- (void)readAttributeUniqueIDWithResponseHandler:(ResponseHandler)responseHandler
+{
+ new CHIPCharStringAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) {
+ return self.cppCluster.ReadAttributeUniqueID(success, failure);
+ });
+}
+
- (void)readAttributeClusterRevisionWithResponseHandler:(ResponseHandler)responseHandler
{
new CHIPInt16uAttributeCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) {
diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.h b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.h
index c4ed6d12c99b69..03ded8bacfbf92 100644
--- a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.h
+++ b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.h
@@ -120,6 +120,7 @@ NS_ASSUME_NONNULL_BEGIN
- (void)writeAttributeProductLabelWithValue:(NSString * _Nonnull)value responseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeSerialNumberWithValue:(NSString * _Nonnull)value responseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeReachableWithValue:(NSNumber * _Nonnull)value responseHandler:(ResponseHandler)responseHandler;
+- (void)writeAttributeUniqueIDWithValue:(NSString * _Nonnull)value responseHandler:(ResponseHandler)responseHandler;
- (void)writeAttributeClusterRevisionWithValue:(NSNumber * _Nonnull)value responseHandler:(ResponseHandler)responseHandler;
@end
diff --git a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm
index 173f0c53c8845c..0ee7a2a4fc5717 100644
--- a/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/CHIPTestClustersObjc.mm
@@ -649,6 +649,19 @@ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Canc
});
}
+- (void)writeAttributeUniqueIDWithValue:(NSString * _Nonnull)value responseHandler:(ResponseHandler)responseHandler
+{
+ new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) {
+ ListFreer listFreer;
+ using TypeInfo = Basic::Attributes::UniqueID::TypeInfo;
+ TypeInfo::Type cppValue;
+ cppValue = [self asCharSpan:value];
+ auto successFn = Callback::FromCancelable(success);
+ auto failureFn = Callback::FromCancelable(failure);
+ return self.cppCluster.WriteAttribute(cppValue, successFn->mContext, successFn->mCall, failureFn->mCall);
+ });
+}
+
- (void)writeAttributeClusterRevisionWithValue:(NSNumber * _Nonnull)value responseHandler:(ResponseHandler)responseHandler
{
new CHIPDefaultSuccessCallbackBridge(self.callbackQueue, responseHandler, ^(Cancelable * success, Cancelable * failure) {
diff --git a/src/darwin/Framework/CHIPTests/CHIPClustersTests.m b/src/darwin/Framework/CHIPTests/CHIPClustersTests.m
index f402fe9ff2f262..2645767f8ce5b5 100644
--- a/src/darwin/Framework/CHIPTests/CHIPClustersTests.m
+++ b/src/darwin/Framework/CHIPTests/CHIPClustersTests.m
@@ -8577,15 +8577,15 @@ - (void)testSendClusterTest_TC_DM_1_1_000004_ReadAttribute
}
- (void)testSendClusterTest_TC_DM_1_1_000005_ReadAttribute
{
- XCTestExpectation * expectation = [self expectationWithDescription:@"Query User Label"];
+ XCTestExpectation * expectation = [self expectationWithDescription:@"Query Node Label"];
CHIPDevice * device = GetConnectedDevice();
dispatch_queue_t queue = dispatch_get_main_queue();
CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:queue];
XCTAssertNotNil(cluster);
- [cluster readAttributeUserLabelWithResponseHandler:^(NSError * err, NSDictionary * values) {
- NSLog(@"Query User Label Error: %@", err);
+ [cluster readAttributeNodeLabelWithResponseHandler:^(NSError * err, NSDictionary * values) {
+ NSLog(@"Query Node Label Error: %@", err);
XCTAssertEqual(err.code, 0);
@@ -8878,6 +8878,32 @@ - (void)testSendClusterTest_TC_DM_1_1_000017_ReadAttribute
[self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil];
}
+- (void)testSendClusterTest_TC_DM_1_1_000018_ReadAttribute
+{
+ XCTestExpectation * expectation = [self expectationWithDescription:@"Query UniqueID"];
+
+ CHIPDevice * device = GetConnectedDevice();
+ dispatch_queue_t queue = dispatch_get_main_queue();
+ CHIPTestBasic * cluster = [[CHIPTestBasic alloc] initWithDevice:device endpoint:0 queue:queue];
+ XCTAssertNotNil(cluster);
+
+ [cluster readAttributeUniqueIDWithResponseHandler:^(NSError * err, NSDictionary * values) {
+ NSLog(@"Query UniqueID Error: %@", err);
+
+ if (err.code == CHIPErrorCodeUnsupportedAttribute) {
+ [expectation fulfill];
+ return;
+ }
+
+ XCTAssertEqual(err.code, 0);
+
+ XCTAssertLessThanOrEqual([values[@"value"] length], 32);
+
+ [expectation fulfill];
+ }];
+
+ [self waitForExpectationsWithTimeout:kTimeoutInSeconds handler:nil];
+}
- (void)testSendClusterTest_TC_EMR_1_1_000000_ReadAttribute
{
diff --git a/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h b/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h
index 62498199fd6756..c37cbeebabab23 100644
--- a/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/all-clusters-app/zap-generated/endpoint_config.h
@@ -1209,7 +1209,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 508
+#define GENERATED_ATTRIBUTE_COUNT 509
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -1233,7 +1233,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0) }, /* HardwareVersion */ \
@@ -1247,9 +1247,10 @@
{ 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductLabel */ \
{ 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* SerialNumber */ \
{ 0x0010, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \
- { 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
+ ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \
+ { 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \
+ { 0x0012, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* UniqueID */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: OTA Software Update Provider (server) */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
@@ -1952,236 +1953,236 @@
}, /* Endpoint: 0, Cluster: Descriptor (server) */ \
{ 0x0028, \
ZAP_ATTRIBUTE_INDEX(8), \
- 19, \
- 654, \
+ 20, \
+ 687, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \
{ \
- 0x0029, ZAP_ATTRIBUTE_INDEX(27), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0029, ZAP_ATTRIBUTE_INDEX(28), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: OTA Software Update Provider (server) */ \
{ \
- 0x002A, ZAP_ATTRIBUTE_INDEX(28), 3, 20, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x002A, ZAP_ATTRIBUTE_INDEX(29), 3, 20, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */ \
{ \
- 0x0030, ZAP_ATTRIBUTE_INDEX(31), 3, 264, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0030, ZAP_ATTRIBUTE_INDEX(32), 3, 264, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: General Commissioning (server) */ \
{ \
- 0x0031, ZAP_ATTRIBUTE_INDEX(34), 2, 6, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0031, ZAP_ATTRIBUTE_INDEX(35), 2, 6, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Network Commissioning (server) */ \
{ \
- 0x0032, ZAP_ATTRIBUTE_INDEX(36), 0, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0032, ZAP_ATTRIBUTE_INDEX(37), 0, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
{ \
- 0x0033, ZAP_ATTRIBUTE_INDEX(36), 9, 17, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0033, ZAP_ATTRIBUTE_INDEX(37), 9, 17, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: General Diagnostics (server) */ \
{ \
- 0x0034, ZAP_ATTRIBUTE_INDEX(45), 5, 26, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0034, ZAP_ATTRIBUTE_INDEX(46), 5, 26, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
{ \
- 0x0035, ZAP_ATTRIBUTE_INDEX(50), 64, 242, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0035, ZAP_ATTRIBUTE_INDEX(51), 64, 242, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
{ \
- 0x0036, ZAP_ATTRIBUTE_INDEX(114), 15, 58, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0036, ZAP_ATTRIBUTE_INDEX(115), 15, 58, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
{ \
- 0x0037, ZAP_ATTRIBUTE_INDEX(129), 10, 53, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0037, ZAP_ATTRIBUTE_INDEX(130), 10, 53, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
{ \
- 0x003C, ZAP_ATTRIBUTE_INDEX(139), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x003C, ZAP_ATTRIBUTE_INDEX(140), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
{ \
- 0x003E, ZAP_ATTRIBUTE_INDEX(140), 6, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x003E, ZAP_ATTRIBUTE_INDEX(141), 6, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Operational Credentials (server) */ \
{ \
- 0x0405, ZAP_ATTRIBUTE_INDEX(146), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0405, ZAP_ATTRIBUTE_INDEX(147), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Relative Humidity Measurement (server) */ \
{ \
- 0xF000, ZAP_ATTRIBUTE_INDEX(150), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0xF000, ZAP_ATTRIBUTE_INDEX(151), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Binding (server) */ \
{ \
- 0xF004, ZAP_ATTRIBUTE_INDEX(151), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0xF004, ZAP_ATTRIBUTE_INDEX(152), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Group Key Management (server) */ \
{ 0x0003, \
- ZAP_ATTRIBUTE_INDEX(154), \
+ ZAP_ATTRIBUTE_INDEX(155), \
3, \
5, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
chipFuncArrayIdentifyServer }, /* Endpoint: 1, Cluster: Identify (server) */ \
{ 0x0004, \
- ZAP_ATTRIBUTE_INDEX(157), \
+ ZAP_ATTRIBUTE_INDEX(158), \
2, \
3, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayGroupsServer }, /* Endpoint: 1, Cluster: Groups (server) */ \
{ 0x0005, \
- ZAP_ATTRIBUTE_INDEX(159), \
+ ZAP_ATTRIBUTE_INDEX(160), \
6, \
8, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayScenesServer }, /* Endpoint: 1, Cluster: Scenes (server) */ \
{ 0x0006, \
- ZAP_ATTRIBUTE_INDEX(165), \
+ ZAP_ATTRIBUTE_INDEX(166), \
7, \
13, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayOnOffServer }, /* Endpoint: 1, Cluster: On/Off (server) */ \
{ \
- 0x0007, ZAP_ATTRIBUTE_INDEX(172), 3, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0007, ZAP_ATTRIBUTE_INDEX(173), 3, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: On/off Switch Configuration (server) */ \
{ 0x0008, \
- ZAP_ATTRIBUTE_INDEX(175), \
+ ZAP_ATTRIBUTE_INDEX(176), \
15, \
23, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayLevelControlServer }, /* Endpoint: 1, Cluster: Level Control (server) */ \
{ \
- 0x000F, ZAP_ATTRIBUTE_INDEX(190), 4, 5, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x000F, ZAP_ATTRIBUTE_INDEX(191), 4, 5, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Binary Input (Basic) (server) */ \
{ \
- 0x001D, ZAP_ATTRIBUTE_INDEX(194), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x001D, ZAP_ATTRIBUTE_INDEX(195), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Descriptor (server) */ \
{ \
- 0x0025, ZAP_ATTRIBUTE_INDEX(199), 4, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0025, ZAP_ATTRIBUTE_INDEX(200), 4, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Bridged Actions (server) */ \
{ \
- 0x002F, ZAP_ATTRIBUTE_INDEX(203), 11, 88, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x002F, ZAP_ATTRIBUTE_INDEX(204), 11, 88, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Power Source (server) */ \
{ \
- 0x0039, ZAP_ATTRIBUTE_INDEX(214), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0039, ZAP_ATTRIBUTE_INDEX(215), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Bridged Device Basic Information (server) */ \
{ \
- 0x003B, ZAP_ATTRIBUTE_INDEX(215), 5, 9, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x003B, ZAP_ATTRIBUTE_INDEX(216), 5, 9, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Switch (server) */ \
{ \
- 0x0040, ZAP_ATTRIBUTE_INDEX(220), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0040, ZAP_ATTRIBUTE_INDEX(221), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Fixed Label (server) */ \
{ \
- 0x0045, ZAP_ATTRIBUTE_INDEX(222), 2, 3, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0045, ZAP_ATTRIBUTE_INDEX(223), 2, 3, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Boolean State (server) */ \
{ \
- 0x0050, ZAP_ATTRIBUTE_INDEX(224), 6, 38, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0050, ZAP_ATTRIBUTE_INDEX(225), 6, 38, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Mode Select (server) */ \
{ 0x0101, \
- ZAP_ATTRIBUTE_INDEX(230), \
+ ZAP_ATTRIBUTE_INDEX(231), \
4, \
5, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
chipFuncArrayDoorLockServer }, /* Endpoint: 1, Cluster: Door Lock (server) */ \
{ \
- 0x0102, ZAP_ATTRIBUTE_INDEX(234), 20, 35, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0102, ZAP_ATTRIBUTE_INDEX(235), 20, 35, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Window Covering (server) */ \
{ \
- 0x0103, ZAP_ATTRIBUTE_INDEX(254), 5, 7, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0103, ZAP_ATTRIBUTE_INDEX(255), 5, 7, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Barrier Control (server) */ \
{ \
0x0200, \
- ZAP_ATTRIBUTE_INDEX(259), \
+ ZAP_ATTRIBUTE_INDEX(260), \
24, \
48, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
chipFuncArrayPumpConfigurationAndControlServer \
}, /* Endpoint: 1, Cluster: Pump Configuration and Control (server) */ \
{ \
- 0x0201, ZAP_ATTRIBUTE_INDEX(283), 19, 34, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0201, ZAP_ATTRIBUTE_INDEX(284), 19, 34, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Thermostat (server) */ \
{ \
0x0204, \
- ZAP_ATTRIBUTE_INDEX(302), \
+ ZAP_ATTRIBUTE_INDEX(303), \
4, \
5, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
chipFuncArrayThermostatUserInterfaceConfigurationServer \
}, /* Endpoint: 1, Cluster: Thermostat User Interface Configuration (server) */ \
{ 0x0300, \
- ZAP_ATTRIBUTE_INDEX(306), \
+ ZAP_ATTRIBUTE_INDEX(307), \
53, \
341, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayColorControlServer }, /* Endpoint: 1, Cluster: Color Control (server) */ \
{ \
- 0x0400, ZAP_ATTRIBUTE_INDEX(359), 6, 11, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0400, ZAP_ATTRIBUTE_INDEX(360), 6, 11, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Illuminance Measurement (server) */ \
{ \
- 0x0402, ZAP_ATTRIBUTE_INDEX(365), 5, 10, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0402, ZAP_ATTRIBUTE_INDEX(366), 5, 10, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Temperature Measurement (server) */ \
{ \
- 0x0403, ZAP_ATTRIBUTE_INDEX(370), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0403, ZAP_ATTRIBUTE_INDEX(371), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Pressure Measurement (server) */ \
{ \
- 0x0404, ZAP_ATTRIBUTE_INDEX(374), 5, 10, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0404, ZAP_ATTRIBUTE_INDEX(375), 5, 10, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Flow Measurement (server) */ \
{ \
- 0x0405, ZAP_ATTRIBUTE_INDEX(379), 5, 10, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0405, ZAP_ATTRIBUTE_INDEX(380), 5, 10, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Relative Humidity Measurement (server) */ \
{ 0x0406, \
- ZAP_ATTRIBUTE_INDEX(384), \
+ ZAP_ATTRIBUTE_INDEX(385), \
4, \
5, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayOccupancySensingServer }, /* Endpoint: 1, Cluster: Occupancy Sensing (server) */ \
{ 0x0500, \
- ZAP_ATTRIBUTE_INDEX(388), \
+ ZAP_ATTRIBUTE_INDEX(389), \
6, \
16, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION) | \
ZAP_CLUSTER_MASK(MESSAGE_SENT_FUNCTION), \
chipFuncArrayIasZoneServer }, /* Endpoint: 1, Cluster: IAS Zone (server) */ \
{ \
- 0x0503, ZAP_ATTRIBUTE_INDEX(394), 2, 35, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0503, ZAP_ATTRIBUTE_INDEX(395), 2, 35, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Wake on LAN (server) */ \
{ \
- 0x0504, ZAP_ATTRIBUTE_INDEX(396), 4, 322, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0504, ZAP_ATTRIBUTE_INDEX(397), 4, 322, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: TV Channel (server) */ \
{ \
- 0x0505, ZAP_ATTRIBUTE_INDEX(400), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0505, ZAP_ATTRIBUTE_INDEX(401), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Target Navigator (server) */ \
{ \
- 0x0506, ZAP_ATTRIBUTE_INDEX(402), 9, 59, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0506, ZAP_ATTRIBUTE_INDEX(403), 9, 59, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Media Playback (server) */ \
{ \
- 0x0507, ZAP_ATTRIBUTE_INDEX(411), 3, 257, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0507, ZAP_ATTRIBUTE_INDEX(412), 3, 257, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Media Input (server) */ \
{ \
- 0x0508, ZAP_ATTRIBUTE_INDEX(414), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0508, ZAP_ATTRIBUTE_INDEX(415), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Low Power (server) */ \
{ \
- 0x0509, ZAP_ATTRIBUTE_INDEX(415), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0509, ZAP_ATTRIBUTE_INDEX(416), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Keypad Input (server) */ \
{ \
- 0x050A, ZAP_ATTRIBUTE_INDEX(416), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050A, ZAP_ATTRIBUTE_INDEX(417), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Content Launcher (server) */ \
{ \
- 0x050B, ZAP_ATTRIBUTE_INDEX(419), 3, 257, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050B, ZAP_ATTRIBUTE_INDEX(420), 3, 257, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Audio Output (server) */ \
{ \
- 0x050C, ZAP_ATTRIBUTE_INDEX(422), 4, 258, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050C, ZAP_ATTRIBUTE_INDEX(423), 4, 258, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Application Launcher (server) */ \
{ \
- 0x050D, ZAP_ATTRIBUTE_INDEX(426), 8, 108, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050D, ZAP_ATTRIBUTE_INDEX(427), 8, 108, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Application Basic (server) */ \
{ \
- 0x050E, ZAP_ATTRIBUTE_INDEX(434), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050E, ZAP_ATTRIBUTE_INDEX(435), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Account Login (server) */ \
{ \
- 0x050F, ZAP_ATTRIBUTE_INDEX(435), 44, 2680, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050F, ZAP_ATTRIBUTE_INDEX(436), 44, 2680, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Test Cluster (server) */ \
{ \
- 0x0B04, ZAP_ATTRIBUTE_INDEX(479), 12, 28, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0B04, ZAP_ATTRIBUTE_INDEX(480), 12, 28, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Electrical Measurement (server) */ \
{ \
- 0xF000, ZAP_ATTRIBUTE_INDEX(491), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0xF000, ZAP_ATTRIBUTE_INDEX(492), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Binding (server) */ \
{ 0x0006, \
- ZAP_ATTRIBUTE_INDEX(492), \
+ ZAP_ATTRIBUTE_INDEX(493), \
7, \
13, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayOnOffServer }, /* Endpoint: 2, Cluster: On/Off (server) */ \
{ \
- 0x001D, ZAP_ATTRIBUTE_INDEX(499), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x001D, ZAP_ATTRIBUTE_INDEX(500), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 2, Cluster: Descriptor (server) */ \
{ 0x0406, \
- ZAP_ATTRIBUTE_INDEX(504), \
+ ZAP_ATTRIBUTE_INDEX(505), \
4, \
5, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -2193,17 +2194,17 @@
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 18, 1873 }, { ZAP_CLUSTER_INDEX(18), 44, 5780 }, { ZAP_CLUSTER_INDEX(62), 3, 18 }, \
+ { ZAP_CLUSTER_INDEX(0), 18, 1906 }, { ZAP_CLUSTER_INDEX(18), 44, 5780 }, { ZAP_CLUSTER_INDEX(62), 3, 18 }, \
}
// Largest attribute size is needed for various buffers
#define ATTRIBUTE_LARGEST (1003)
// Total size of singleton attributes
-#define ATTRIBUTE_SINGLETONS_SIZE (656)
+#define ATTRIBUTE_SINGLETONS_SIZE (689)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (7671)
+#define ATTRIBUTE_MAX_SIZE (7704)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (3)
diff --git a/zzz_generated/app-common/app-common/zap-generated/attribute-id.h b/zzz_generated/app-common/app-common/zap-generated/attribute-id.h
index 9ed7e965d1a92c..3d5690e7b25382 100644
--- a/zzz_generated/app-common/app-common/zap-generated/attribute-id.h
+++ b/zzz_generated/app-common/app-common/zap-generated/attribute-id.h
@@ -280,7 +280,7 @@
#define ZCL_VENDOR_ID_ATTRIBUTE_ID (0x0002)
#define ZCL_PRODUCT_NAME_ATTRIBUTE_ID (0x0003)
#define ZCL_PRODUCT_ID_ATTRIBUTE_ID (0x0004)
-#define ZCL_USER_LABEL_ATTRIBUTE_ID (0x0005)
+#define ZCL_NODE_LABEL_ATTRIBUTE_ID (0x0005)
#define ZCL_LOCATION_ATTRIBUTE_ID (0x0006)
#define ZCL_HARDWARE_VERSION_ATTRIBUTE_ID (0x0007)
#define ZCL_HARDWARE_VERSION_STRING_ATTRIBUTE_ID (0x0008)
@@ -293,6 +293,7 @@
#define ZCL_SERIAL_NUMBER_ATTRIBUTE_ID (0x000F)
#define ZCL_LOCAL_CONFIG_DISABLED_ATTRIBUTE_ID (0x0010)
#define ZCL_REACHABLE_ATTRIBUTE_ID (0x0011)
+#define ZCL_UNIQUE_ID_ATTRIBUTE_ID (0x0012)
// Attribute ids for cluster: OTA Software Update Provider
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 84a84720f3d9d7..2c7cf9679df239 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
@@ -3849,7 +3849,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value)
} // namespace ProductID
-namespace UserLabel {
+namespace NodeLabel {
EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value)
{
@@ -3877,7 +3877,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value)
return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE);
}
-} // namespace UserLabel
+} // namespace NodeLabel
namespace Location {
@@ -4223,6 +4223,36 @@ EmberAfStatus Set(chip::EndpointId endpoint, bool value)
} // namespace Reachable
+namespace UniqueID {
+
+EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value)
+{
+ uint8_t zclString[32 + 1];
+ EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, sizeof(zclString));
+ VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status);
+ size_t length = emberAfStringLength(zclString);
+ if (length == NumericAttributeTraits::kNullValue)
+ {
+ return EMBER_ZCL_STATUS_INVALID_VALUE;
+ }
+
+ VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_ARGUMENT);
+ memcpy(value.data(), &zclString[1], 32);
+ value.reduce_size(length);
+ return status;
+}
+EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value)
+{
+ static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big");
+ VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_INVALID_ARGUMENT);
+ uint8_t zclString[32 + 1];
+ emberAfCopyInt8u(zclString, 0, static_cast(value.size()));
+ memcpy(&zclString[1], value.data(), value.size());
+ return emberAfWriteServerAttribute(endpoint, Clusters::Basic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE);
+}
+
+} // namespace UniqueID
+
} // namespace Attributes
} // namespace Basic
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 3d3e4f5b4bcc27..343ac2c5a43173 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
@@ -826,10 +826,10 @@ EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u
EmberAfStatus Set(chip::EndpointId endpoint, uint16_t value);
} // namespace ProductID
-namespace UserLabel {
+namespace NodeLabel {
EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string
EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value);
-} // namespace UserLabel
+} // namespace NodeLabel
namespace Location {
EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string
@@ -891,6 +891,11 @@ EmberAfStatus Get(chip::EndpointId endpoint, bool * value); // boolean
EmberAfStatus Set(chip::EndpointId endpoint, bool value);
} // namespace Reachable
+namespace UniqueID {
+EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string
+EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value);
+} // namespace UniqueID
+
} // namespace Attributes
} // namespace Basic
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 38b501a359680b..16ed3210110072 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
@@ -6705,7 +6705,7 @@ struct TypeInfo
static constexpr AttributeId GetAttributeId() { return Attributes::ProductID::Id; }
};
} // namespace ProductID
-namespace UserLabel {
+namespace NodeLabel {
struct TypeInfo
{
using Type = chip::CharSpan;
@@ -6713,9 +6713,9 @@ struct TypeInfo
using DecodableArgType = chip::CharSpan;
static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; }
- static constexpr AttributeId GetAttributeId() { return Attributes::UserLabel::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::NodeLabel::Id; }
};
-} // namespace UserLabel
+} // namespace NodeLabel
namespace Location {
struct TypeInfo
{
@@ -6848,6 +6848,17 @@ struct TypeInfo
static constexpr AttributeId GetAttributeId() { return Attributes::Reachable::Id; }
};
} // namespace Reachable
+namespace UniqueID {
+struct TypeInfo
+{
+ using Type = chip::CharSpan;
+ using DecodableType = chip::CharSpan;
+ using DecodableArgType = chip::CharSpan;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::Basic::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::UniqueID::Id; }
+};
+} // namespace UniqueID
namespace FeatureMap {
struct TypeInfo
{
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 d000e952b396d6..d87c48b7c46a1b 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
@@ -868,9 +868,9 @@ namespace ProductID {
static constexpr AttributeId Id = 0x00000004;
} // namespace ProductID
-namespace UserLabel {
+namespace NodeLabel {
static constexpr AttributeId Id = 0x00000005;
-} // namespace UserLabel
+} // namespace NodeLabel
namespace Location {
static constexpr AttributeId Id = 0x00000006;
@@ -920,6 +920,10 @@ namespace Reachable {
static constexpr AttributeId Id = 0x00000011;
} // namespace Reachable
+namespace UniqueID {
+static constexpr AttributeId Id = 0x00000012;
+} // namespace UniqueID
+
namespace FeatureMap {
static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id;
} // namespace FeatureMap
diff --git a/zzz_generated/bridge-app/zap-generated/endpoint_config.h b/zzz_generated/bridge-app/zap-generated/endpoint_config.h
index f2b1d87c31b60a..fc10a232c4d1cb 100644
--- a/zzz_generated/bridge-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/bridge-app/zap-generated/endpoint_config.h
@@ -572,7 +572,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \
diff --git a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
index 5e0b11370d865b..398888df76bc92 100644
--- a/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
+++ b/zzz_generated/chip-tool/zap-generated/cluster/Commands.h
@@ -6199,7 +6199,7 @@ class ReportBarrierControlClusterRevision : public ModelCommand
| * VendorID | 0x0002 |
| * ProductName | 0x0003 |
| * ProductID | 0x0004 |
-| * UserLabel | 0x0005 |
+| * NodeLabel | 0x0005 |
| * Location | 0x0006 |
| * HardwareVersion | 0x0007 |
| * HardwareVersionString | 0x0008 |
@@ -6212,6 +6212,7 @@ class ReportBarrierControlClusterRevision : public ModelCommand
| * SerialNumber | 0x000F |
| * LocalConfigDisabled | 0x0010 |
| * Reachable | 0x0011 |
+| * UniqueID | 0x0012 |
| * ClusterRevision | 0xFFFD |
\*----------------------------------------------------------------------------*/
@@ -6666,18 +6667,18 @@ class ReportBasicProductID : public ModelCommand
};
/*
- * Attribute UserLabel
+ * Attribute NodeLabel
*/
-class ReadBasicUserLabel : public ModelCommand
+class ReadBasicNodeLabel : public ModelCommand
{
public:
- ReadBasicUserLabel() : ModelCommand("read")
+ ReadBasicNodeLabel() : ModelCommand("read")
{
- AddArgument("attr-name", "user-label");
+ AddArgument("attr-name", "node-label");
ModelCommand::AddArguments();
}
- ~ReadBasicUserLabel()
+ ~ReadBasicNodeLabel()
{
delete onSuccessCallback;
delete onFailureCallback;
@@ -6689,7 +6690,7 @@ class ReadBasicUserLabel : public ModelCommand
chip::Controller::BasicCluster cluster;
cluster.Associate(device, endpointId);
- return cluster.ReadAttributeUserLabel(onSuccessCallback->Cancel(), onFailureCallback->Cancel());
+ return cluster.ReadAttributeNodeLabel(onSuccessCallback->Cancel(), onFailureCallback->Cancel());
}
private:
@@ -6699,17 +6700,17 @@ class ReadBasicUserLabel : public ModelCommand
new chip::Callback::Callback(OnDefaultFailureResponse, this);
};
-class WriteBasicUserLabel : public ModelCommand
+class WriteBasicNodeLabel : public ModelCommand
{
public:
- WriteBasicUserLabel() : ModelCommand("write")
+ WriteBasicNodeLabel() : ModelCommand("write")
{
- AddArgument("attr-name", "user-label");
+ AddArgument("attr-name", "node-label");
AddArgument("attr-value", &mValue);
ModelCommand::AddArguments();
}
- ~WriteBasicUserLabel()
+ ~WriteBasicNodeLabel()
{
delete onSuccessCallback;
delete onFailureCallback;
@@ -6721,7 +6722,7 @@ class WriteBasicUserLabel : public ModelCommand
chip::Controller::BasicCluster cluster;
cluster.Associate(device, endpointId);
- return cluster.WriteAttributeUserLabel(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mValue);
+ return cluster.WriteAttributeNodeLabel(onSuccessCallback->Cancel(), onFailureCallback->Cancel(), mValue);
}
private:
@@ -6732,19 +6733,19 @@ class WriteBasicUserLabel : public ModelCommand
chip::CharSpan mValue;
};
-class ReportBasicUserLabel : public ModelCommand
+class ReportBasicNodeLabel : public ModelCommand
{
public:
- ReportBasicUserLabel() : ModelCommand("report")
+ ReportBasicNodeLabel() : ModelCommand("report")
{
- AddArgument("attr-name", "user-label");
+ AddArgument("attr-name", "node-label");
AddArgument("min-interval", 0, UINT16_MAX, &mMinInterval);
AddArgument("max-interval", 0, UINT16_MAX, &mMaxInterval);
AddArgument("wait", 0, 1, &mWait);
ModelCommand::AddArguments();
}
- ~ReportBasicUserLabel()
+ ~ReportBasicNodeLabel()
{
delete onSuccessCallback;
delete onSuccessCallbackWithoutExit;
@@ -6759,10 +6760,10 @@ class ReportBasicUserLabel : public ModelCommand
chip::Controller::BasicCluster cluster;
cluster.Associate(device, endpointId);
- ReturnErrorOnFailure(cluster.ReportAttributeUserLabel(onReportCallback->Cancel()));
+ ReturnErrorOnFailure(cluster.ReportAttributeNodeLabel(onReportCallback->Cancel()));
chip::Callback::Cancelable * successCallback = mWait ? onSuccessCallbackWithoutExit->Cancel() : onSuccessCallback->Cancel();
- return cluster.SubscribeAttributeUserLabel(successCallback, onFailureCallback->Cancel(), mMinInterval, mMaxInterval);
+ return cluster.SubscribeAttributeNodeLabel(successCallback, onFailureCallback->Cancel(), mMinInterval, mMaxInterval);
}
chip::System::Clock::Timeout GetWaitDuration() const override
@@ -7886,6 +7887,40 @@ class ReportBasicReachable : public ModelCommand
bool mWait;
};
+/*
+ * Attribute UniqueID
+ */
+class ReadBasicUniqueID : public ModelCommand
+{
+public:
+ ReadBasicUniqueID() : ModelCommand("read")
+ {
+ AddArgument("attr-name", "unique-id");
+ ModelCommand::AddArguments();
+ }
+
+ ~ReadBasicUniqueID()
+ {
+ delete onSuccessCallback;
+ delete onFailureCallback;
+ }
+
+ CHIP_ERROR SendCommand(ChipDevice * device, uint8_t endpointId) override
+ {
+ ChipLogProgress(chipTool, "Sending cluster (0x0028) command (0x00) on endpoint %" PRIu8, endpointId);
+
+ chip::Controller::BasicCluster cluster;
+ cluster.Associate(device, endpointId);
+ return cluster.ReadAttributeUniqueID(onSuccessCallback->Cancel(), onFailureCallback->Cancel());
+ }
+
+private:
+ chip::Callback::Callback * onSuccessCallback =
+ new chip::Callback::Callback(OnCharStringAttributeResponse, this);
+ chip::Callback::Callback * onFailureCallback =
+ new chip::Callback::Callback(OnDefaultFailureResponse, this);
+};
+
/*
* Attribute ClusterRevision
*/
@@ -51413,9 +51448,9 @@ void registerClusterBasic(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(), //
@@ -51442,6 +51477,7 @@ void registerClusterBasic(Commands & commands)
make_unique(), //
make_unique(), //
make_unique(), //
+ make_unique(), //
make_unique(), //
make_unique(), //
};
diff --git a/zzz_generated/chip-tool/zap-generated/reporting/Commands.h b/zzz_generated/chip-tool/zap-generated/reporting/Commands.h
index f22c16ea93a7bd..d702ec986fc221 100644
--- a/zzz_generated/chip-tool/zap-generated/reporting/Commands.h
+++ b/zzz_generated/chip-tool/zap-generated/reporting/Commands.h
@@ -55,7 +55,7 @@ class Listen : public ReportingCommand
delete onReportBasicVendorIDCallback;
delete onReportBasicProductNameCallback;
delete onReportBasicProductIDCallback;
- delete onReportBasicUserLabelCallback;
+ delete onReportBasicNodeLabelCallback;
delete onReportBasicLocationCallback;
delete onReportBasicHardwareVersionCallback;
delete onReportBasicHardwareVersionStringCallback;
@@ -538,7 +538,7 @@ class Listen : public ReportingCommand
BasicAttributeFilter);
callbacksMgr.AddReportCallback(remoteId, endpointId, 0x0028, 0x0004, onReportBasicProductIDCallback->Cancel(),
BasicAttributeFilter);
- callbacksMgr.AddReportCallback(remoteId, endpointId, 0x0028, 0x0005, onReportBasicUserLabelCallback->Cancel(),
+ callbacksMgr.AddReportCallback(remoteId, endpointId, 0x0028, 0x0005, onReportBasicNodeLabelCallback->Cancel(),
BasicAttributeFilter);
callbacksMgr.AddReportCallback(remoteId, endpointId, 0x0028, 0x0006, onReportBasicLocationCallback->Cancel(),
BasicAttributeFilter);
@@ -1686,7 +1686,7 @@ class Listen : public ReportingCommand
new chip::Callback::Callback(OnCharStringAttributeResponse, this);
chip::Callback::Callback * onReportBasicProductIDCallback =
new chip::Callback::Callback(OnInt16uAttributeResponse, this);
- chip::Callback::Callback * onReportBasicUserLabelCallback =
+ chip::Callback::Callback * onReportBasicNodeLabelCallback =
new chip::Callback::Callback(OnCharStringAttributeResponse, this);
chip::Callback::Callback * onReportBasicLocationCallback =
new chip::Callback::Callback(OnCharStringAttributeResponse, this);
diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h
index fdbe6bf3e77cbf..4a56713a0b739b 100644
--- a/zzz_generated/chip-tool/zap-generated/test/Commands.h
+++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h
@@ -12550,8 +12550,8 @@ class Test_TC_DM_1_1 : public TestCommand
err = TestQueryProductID_4();
break;
case 5:
- ChipLogProgress(chipTool, " ***** Test Step 5 : Query User Label\n");
- err = TestQueryUserLabel_5();
+ ChipLogProgress(chipTool, " ***** Test Step 5 : Query Node Label\n");
+ err = TestQueryNodeLabel_5();
break;
case 6:
ChipLogProgress(chipTool, " ***** Test Step 6 : Query User Location\n");
@@ -12601,6 +12601,10 @@ class Test_TC_DM_1_1 : public TestCommand
ChipLogProgress(chipTool, " ***** Test Step 17 : Query Reachable\n");
err = TestQueryReachable_17();
break;
+ case 18:
+ ChipLogProgress(chipTool, " ***** Test Step 18 : Query UniqueID\n");
+ err = TestQueryUniqueID_18();
+ break;
}
if (CHIP_NO_ERROR != err)
@@ -12612,7 +12616,7 @@ class Test_TC_DM_1_1 : public TestCommand
private:
std::atomic_uint16_t mTestIndex;
- const uint16_t mTestCount = 18;
+ const uint16_t mTestCount = 19;
static void OnFailureCallback_0(void * context, EmberAfStatus status)
{
@@ -12669,9 +12673,9 @@ class Test_TC_DM_1_1 : public TestCommand
(static_cast(context))->OnFailureResponse_5(chip::to_underlying(status));
}
- static void OnSuccessCallback_5(void * context, chip::CharSpan userLabel)
+ static void OnSuccessCallback_5(void * context, chip::CharSpan nodeLabel)
{
- (static_cast(context))->OnSuccessResponse_5(userLabel);
+ (static_cast(context))->OnSuccessResponse_5(nodeLabel);
}
static void OnFailureCallback_6(void * context, EmberAfStatus status)
@@ -12794,6 +12798,16 @@ class Test_TC_DM_1_1 : public TestCommand
(static_cast(context))->OnSuccessResponse_17(reachable);
}
+ static void OnFailureCallback_18(void * context, EmberAfStatus status)
+ {
+ (static_cast(context))->OnFailureResponse_18(chip::to_underlying(status));
+ }
+
+ static void OnSuccessCallback_18(void * context, chip::CharSpan uniqueID)
+ {
+ (static_cast(context))->OnSuccessResponse_18(uniqueID);
+ }
+
//
// Tests methods
//
@@ -12890,22 +12904,22 @@ class Test_TC_DM_1_1 : public TestCommand
NextTest();
}
- CHIP_ERROR TestQueryUserLabel_5()
+ CHIP_ERROR TestQueryNodeLabel_5()
{
const chip::EndpointId endpoint = mEndpointId.HasValue() ? mEndpointId.Value() : 0;
chip::Controller::BasicClusterTest cluster;
cluster.Associate(mDevice, endpoint);
- return cluster.ReadAttribute(this, OnSuccessCallback_5,
+ return cluster.ReadAttribute(this, OnSuccessCallback_5,
OnFailureCallback_5);
}
void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); }
- void OnSuccessResponse_5(chip::CharSpan userLabel)
+ void OnSuccessResponse_5(chip::CharSpan nodeLabel)
{
- VerifyOrReturn(CheckConstraintType("userLabel", "", "string"));
- VerifyOrReturn(CheckConstraintMaxLength("userLabel", userLabel.size(), 32));
+ VerifyOrReturn(CheckConstraintType("nodeLabel", "", "string"));
+ VerifyOrReturn(CheckConstraintMaxLength("nodeLabel", nodeLabel.size(), 32));
NextTest();
}
@@ -13160,6 +13174,28 @@ class Test_TC_DM_1_1 : public TestCommand
VerifyOrReturn(CheckConstraintType("reachable", "", "boolean"));
NextTest();
}
+
+ CHIP_ERROR TestQueryUniqueID_18()
+ {
+ const chip::EndpointId endpoint = mEndpointId.HasValue() ? mEndpointId.Value() : 0;
+ chip::Controller::BasicClusterTest cluster;
+ cluster.Associate(mDevice, endpoint);
+
+ return cluster.ReadAttribute(this, OnSuccessCallback_18,
+ OnFailureCallback_18);
+ }
+
+ void OnFailureResponse_18(uint8_t status)
+ {
+ (status == EMBER_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE) ? NextTest() : ThrowFailureResponse();
+ }
+
+ void OnSuccessResponse_18(chip::CharSpan uniqueID)
+ {
+ VerifyOrReturn(CheckConstraintType("uniqueID", "", "string"));
+ VerifyOrReturn(CheckConstraintMaxLength("uniqueID", uniqueID.size(), 32));
+ NextTest();
+ }
};
class Test_TC_DM_3_1 : public TestCommand
diff --git a/zzz_generated/controller-clusters/zap-generated/CHIPClusters.cpp b/zzz_generated/controller-clusters/zap-generated/CHIPClusters.cpp
index 8becd4679749fd..800f74146138ec 100644
--- a/zzz_generated/controller-clusters/zap-generated/CHIPClusters.cpp
+++ b/zzz_generated/controller-clusters/zap-generated/CHIPClusters.cpp
@@ -1278,7 +1278,7 @@ CHIP_ERROR BasicCluster::ReportAttributeProductID(Callback::Cancelable * onRepor
BasicAttributeFilter);
}
-CHIP_ERROR BasicCluster::ReadAttributeUserLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
+CHIP_ERROR BasicCluster::ReadAttributeNodeLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
{
app::AttributePathParams attributePath;
attributePath.mEndpointId = mEndpoint;
@@ -1288,31 +1288,31 @@ CHIP_ERROR BasicCluster::ReadAttributeUserLabel(Callback::Cancelable * onSuccess
BasicAttributeFilter);
}
-CHIP_ERROR BasicCluster::WriteAttributeUserLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
+CHIP_ERROR BasicCluster::WriteAttributeNodeLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
chip::CharSpan value)
{
app::WriteClientHandle handle;
ReturnErrorOnFailure(
app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate()));
ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(
- chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::UserLabel::Id), value));
+ chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::NodeLabel::Id), value));
return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback);
}
-CHIP_ERROR BasicCluster::SubscribeAttributeUserLabel(Callback::Cancelable * onSuccessCallback,
+CHIP_ERROR BasicCluster::SubscribeAttributeNodeLabel(Callback::Cancelable * onSuccessCallback,
Callback::Cancelable * onFailureCallback, uint16_t minInterval,
uint16_t maxInterval)
{
chip::app::AttributePathParams attributePath;
attributePath.mEndpointId = mEndpoint;
attributePath.mClusterId = mClusterId;
- attributePath.mAttributeId = Basic::Attributes::UserLabel::Id;
+ attributePath.mAttributeId = Basic::Attributes::NodeLabel::Id;
return mDevice->SendSubscribeAttributeRequest(attributePath, minInterval, maxInterval, onSuccessCallback, onFailureCallback);
}
-CHIP_ERROR BasicCluster::ReportAttributeUserLabel(Callback::Cancelable * onReportCallback)
+CHIP_ERROR BasicCluster::ReportAttributeNodeLabel(Callback::Cancelable * onReportCallback)
{
- return RequestAttributeReporting(Basic::Attributes::UserLabel::Id, onReportCallback,
+ return RequestAttributeReporting(Basic::Attributes::NodeLabel::Id, onReportCallback,
BasicAttributeFilter);
}
@@ -1670,6 +1670,16 @@ CHIP_ERROR BasicCluster::ReportAttributeReachable(Callback::Cancelable * onRepor
BasicAttributeFilter);
}
+CHIP_ERROR BasicCluster::ReadAttributeUniqueID(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback)
+{
+ app::AttributePathParams attributePath;
+ attributePath.mEndpointId = mEndpoint;
+ attributePath.mClusterId = mClusterId;
+ attributePath.mAttributeId = 0x00000012;
+ return mDevice->SendReadAttributeRequest(attributePath, onSuccessCallback, onFailureCallback,
+ BasicAttributeFilter);
+}
+
CHIP_ERROR BasicCluster::ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
Callback::Cancelable * onFailureCallback)
{
diff --git a/zzz_generated/controller-clusters/zap-generated/CHIPClusters.h b/zzz_generated/controller-clusters/zap-generated/CHIPClusters.h
index 5dc664daf125c7..d97c287889e90f 100644
--- a/zzz_generated/controller-clusters/zap-generated/CHIPClusters.h
+++ b/zzz_generated/controller-clusters/zap-generated/CHIPClusters.h
@@ -231,7 +231,7 @@ class DLL_EXPORT BasicCluster : public ClusterBase
CHIP_ERROR ReadAttributeVendorID(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
CHIP_ERROR ReadAttributeProductName(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
CHIP_ERROR ReadAttributeProductID(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR ReadAttributeUserLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
+ CHIP_ERROR ReadAttributeNodeLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
CHIP_ERROR ReadAttributeLocation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
CHIP_ERROR ReadAttributeHardwareVersion(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
CHIP_ERROR ReadAttributeHardwareVersionString(Callback::Cancelable * onSuccessCallback,
@@ -246,8 +246,9 @@ class DLL_EXPORT BasicCluster : public ClusterBase
CHIP_ERROR ReadAttributeSerialNumber(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
CHIP_ERROR ReadAttributeLocalConfigDisabled(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
CHIP_ERROR ReadAttributeReachable(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
+ CHIP_ERROR ReadAttributeUniqueID(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
CHIP_ERROR ReadAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback);
- CHIP_ERROR WriteAttributeUserLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
+ CHIP_ERROR WriteAttributeNodeLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
chip::CharSpan value);
CHIP_ERROR WriteAttributeLocation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
chip::CharSpan value);
@@ -269,9 +270,9 @@ class DLL_EXPORT BasicCluster : public ClusterBase
CHIP_ERROR SubscribeAttributeProductID(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
uint16_t minInterval, uint16_t maxInterval);
CHIP_ERROR ReportAttributeProductID(Callback::Cancelable * onReportCallback);
- CHIP_ERROR SubscribeAttributeUserLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
+ CHIP_ERROR SubscribeAttributeNodeLabel(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
uint16_t minInterval, uint16_t maxInterval);
- CHIP_ERROR ReportAttributeUserLabel(Callback::Cancelable * onReportCallback);
+ CHIP_ERROR ReportAttributeNodeLabel(Callback::Cancelable * onReportCallback);
CHIP_ERROR SubscribeAttributeLocation(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
uint16_t minInterval, uint16_t maxInterval);
CHIP_ERROR ReportAttributeLocation(Callback::Cancelable * onReportCallback);
diff --git a/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.cpp b/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.cpp
index 230b750879dd1f..24d69854ecae67 100644
--- a/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.cpp
+++ b/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.cpp
@@ -391,6 +391,16 @@ CHIP_ERROR BasicClusterTest::WriteAttributeReachable(Callback::Cancelable * onSu
chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::Reachable::Id), value));
return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback);
}
+CHIP_ERROR BasicClusterTest::WriteAttributeUniqueID(Callback::Cancelable * onSuccessCallback,
+ Callback::Cancelable * onFailureCallback, chip::CharSpan value)
+{
+ app::WriteClientHandle handle;
+ ReturnErrorOnFailure(
+ app::InteractionModelEngine::GetInstance()->NewWriteClient(handle, mDevice->GetInteractionModelDelegate()));
+ ReturnErrorOnFailure(handle.EncodeAttributeWritePayload(
+ chip::app::AttributePathParams(mEndpoint, mClusterId, Basic::Attributes::UniqueID::Id), value));
+ return mDevice->SendWriteAttributeRequest(std::move(handle), onSuccessCallback, onFailureCallback);
+}
CHIP_ERROR BasicClusterTest::WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback,
Callback::Cancelable * onFailureCallback, uint16_t value)
{
diff --git a/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.h b/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.h
index 0739bb99373402..7b13a2f8c27f0e 100644
--- a/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.h
+++ b/zzz_generated/controller-clusters/zap-generated/tests/CHIPClustersTest.h
@@ -148,6 +148,8 @@ class DLL_EXPORT BasicClusterTest : public BasicCluster
chip::CharSpan value);
CHIP_ERROR WriteAttributeReachable(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
bool value);
+ CHIP_ERROR WriteAttributeUniqueID(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
+ chip::CharSpan value);
CHIP_ERROR WriteAttributeClusterRevision(Callback::Cancelable * onSuccessCallback, Callback::Cancelable * onFailureCallback,
uint16_t value);
};
diff --git a/zzz_generated/lighting-app/zap-generated/endpoint_config.h b/zzz_generated/lighting-app/zap-generated/endpoint_config.h
index 8ddb9f94c49616..6dbcb26ec42879 100644
--- a/zzz_generated/lighting-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/lighting-app/zap-generated/endpoint_config.h
@@ -517,7 +517,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 198
+#define GENERATED_ATTRIBUTE_COUNT 199
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -535,7 +535,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \
@@ -548,9 +548,10 @@
{ 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductLabel */ \
{ 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* SerialNumber */ \
{ 0x0010, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \
- { 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
+ ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \
+ { 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \
+ { 0x0012, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* UniqueID */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
{ 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(4) }, /* Breadcrumb */ \
@@ -799,81 +800,81 @@
{ 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 0, Cluster: Descriptor (server) */ \
{ 0x0028, \
ZAP_ATTRIBUTE_INDEX(5), \
- 19, \
- 654, \
+ 20, \
+ 687, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \
{ \
- 0x0029, ZAP_ATTRIBUTE_INDEX(24), 0, 0, ZAP_CLUSTER_MASK(CLIENT), NULL \
+ 0x0029, ZAP_ATTRIBUTE_INDEX(25), 0, 0, ZAP_CLUSTER_MASK(CLIENT), NULL \
}, /* Endpoint: 0, Cluster: OTA Software Update Provider (client) */ \
{ \
- 0x0030, ZAP_ATTRIBUTE_INDEX(24), 3, 264, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0030, ZAP_ATTRIBUTE_INDEX(25), 3, 264, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: General Commissioning (server) */ \
{ \
- 0x0031, ZAP_ATTRIBUTE_INDEX(27), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0031, ZAP_ATTRIBUTE_INDEX(28), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Network Commissioning (server) */ \
{ \
- 0x0032, ZAP_ATTRIBUTE_INDEX(28), 0, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0032, ZAP_ATTRIBUTE_INDEX(29), 0, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
{ \
- 0x0033, ZAP_ATTRIBUTE_INDEX(28), 9, 17, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0033, ZAP_ATTRIBUTE_INDEX(29), 9, 17, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: General Diagnostics (server) */ \
{ \
- 0x0034, ZAP_ATTRIBUTE_INDEX(37), 5, 26, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0034, ZAP_ATTRIBUTE_INDEX(38), 5, 26, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
{ \
- 0x0035, ZAP_ATTRIBUTE_INDEX(42), 64, 242, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0035, ZAP_ATTRIBUTE_INDEX(43), 64, 242, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
{ \
- 0x0036, ZAP_ATTRIBUTE_INDEX(106), 15, 58, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0036, ZAP_ATTRIBUTE_INDEX(107), 15, 58, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
{ \
- 0x0037, ZAP_ATTRIBUTE_INDEX(121), 10, 53, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0037, ZAP_ATTRIBUTE_INDEX(122), 10, 53, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
{ \
- 0x003C, ZAP_ATTRIBUTE_INDEX(131), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x003C, ZAP_ATTRIBUTE_INDEX(132), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
{ \
- 0x003E, ZAP_ATTRIBUTE_INDEX(132), 6, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x003E, ZAP_ATTRIBUTE_INDEX(133), 6, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Operational Credentials (server) */ \
{ 0x0003, \
- ZAP_ATTRIBUTE_INDEX(138), \
+ ZAP_ATTRIBUTE_INDEX(139), \
3, \
5, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
chipFuncArrayIdentifyServer }, /* Endpoint: 1, Cluster: Identify (server) */ \
{ 0x0006, \
- ZAP_ATTRIBUTE_INDEX(141), \
+ ZAP_ATTRIBUTE_INDEX(142), \
7, \
13, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayOnOffServer }, /* Endpoint: 1, Cluster: On/Off (server) */ \
{ 0x0008, \
- ZAP_ATTRIBUTE_INDEX(148), \
+ ZAP_ATTRIBUTE_INDEX(149), \
15, \
23, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayLevelControlServer }, /* Endpoint: 1, Cluster: Level Control (server) */ \
{ \
- 0x001D, ZAP_ATTRIBUTE_INDEX(163), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x001D, ZAP_ATTRIBUTE_INDEX(164), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Descriptor (server) */ \
{ 0x0300, \
- ZAP_ATTRIBUTE_INDEX(168), \
+ ZAP_ATTRIBUTE_INDEX(169), \
22, \
36, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayColorControlServer }, /* Endpoint: 1, Cluster: Color Control (server) */ \
{ 0x0406, \
- ZAP_ATTRIBUTE_INDEX(190), \
+ ZAP_ATTRIBUTE_INDEX(191), \
4, \
5, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayOccupancySensingServer }, /* Endpoint: 1, Cluster: Occupancy Sensing (server) */ \
{ \
- 0x0006, ZAP_ATTRIBUTE_INDEX(194), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
+ 0x0006, ZAP_ATTRIBUTE_INDEX(195), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
}, /* Endpoint: 2, Cluster: On/Off (client) */ \
{ \
- 0x0007, ZAP_ATTRIBUTE_INDEX(195), 3, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0007, ZAP_ATTRIBUTE_INDEX(196), 3, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 2, Cluster: On/off Switch Configuration (server) */ \
}
@@ -882,17 +883,17 @@
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 13, 1322 }, { ZAP_CLUSTER_INDEX(13), 6, 82 }, { ZAP_CLUSTER_INDEX(19), 2, 6 }, \
+ { ZAP_CLUSTER_INDEX(0), 13, 1355 }, { ZAP_CLUSTER_INDEX(13), 6, 82 }, { ZAP_CLUSTER_INDEX(19), 2, 6 }, \
}
// Largest attribute size is needed for various buffers
#define ATTRIBUTE_LARGEST (401)
// Total size of singleton attributes
-#define ATTRIBUTE_SINGLETONS_SIZE (654)
+#define ATTRIBUTE_SINGLETONS_SIZE (687)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (1410)
+#define ATTRIBUTE_MAX_SIZE (1443)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (3)
diff --git a/zzz_generated/lock-app/zap-generated/endpoint_config.h b/zzz_generated/lock-app/zap-generated/endpoint_config.h
index 331fec489bbb39..fc084abfe91d4c 100644
--- a/zzz_generated/lock-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/lock-app/zap-generated/endpoint_config.h
@@ -535,7 +535,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \
diff --git a/zzz_generated/placeholder/app1/zap-generated/endpoint_config.h b/zzz_generated/placeholder/app1/zap-generated/endpoint_config.h
index 38995065a09962..15f4a0ff026eda 100644
--- a/zzz_generated/placeholder/app1/zap-generated/endpoint_config.h
+++ b/zzz_generated/placeholder/app1/zap-generated/endpoint_config.h
@@ -185,7 +185,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0) }, /* HardwareVersion */ \
@@ -241,7 +241,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0) }, /* HardwareVersion */ \
diff --git a/zzz_generated/placeholder/app1/zap-generated/test/Commands.h b/zzz_generated/placeholder/app1/zap-generated/test/Commands.h
index 9230ef63bef9d8..6f00bdea2e41fc 100644
--- a/zzz_generated/placeholder/app1/zap-generated/test/Commands.h
+++ b/zzz_generated/placeholder/app1/zap-generated/test/Commands.h
@@ -80,8 +80,8 @@ class Test_TC_DM_1_3_Simulated : public TestCommand
err = TestQueryProductID_6();
break;
case 7:
- ChipLogProgress(chipTool, " ***** Test Step 7 : Query User Label\n");
- err = TestQueryUserLabel_7();
+ ChipLogProgress(chipTool, " ***** Test Step 7 : Query Node Label\n");
+ err = TestQueryNodeLabel_7();
break;
case 8:
ChipLogProgress(chipTool, " ***** Test Step 8 : Query User Location\n");
@@ -131,6 +131,10 @@ class Test_TC_DM_1_3_Simulated : public TestCommand
ChipLogProgress(chipTool, " ***** Test Step 19 : Query Reachable\n");
err = TestQueryReachable_19();
break;
+ case 20:
+ ChipLogProgress(chipTool, " ***** Test Step 20 : Query UniqueId\n");
+ err = TestQueryUniqueId_20();
+ break;
}
if (CHIP_NO_ERROR != err)
@@ -142,7 +146,7 @@ class Test_TC_DM_1_3_Simulated : public TestCommand
private:
std::atomic_uint16_t mTestIndex;
- const uint16_t mTestCount = 20;
+ const uint16_t mTestCount = 21;
//
// Tests methods
@@ -209,14 +213,14 @@ class Test_TC_DM_1_3_Simulated : public TestCommand
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestQueryUserLabel_7()
+ CHIP_ERROR TestQueryNodeLabel_7()
{
const chip::EndpointId endpoint = mEndpointId.HasValue() ? mEndpointId.Value() : 0;
- ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Basic Attribute: UserLabel] Query User Label", endpoint);
+ ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Basic Attribute: NodeLabel] Query Node Label", endpoint);
ClearAttributeAndCommandPaths();
mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::Basic::Id,
- chip::app::Clusters::Basic::Attributes::UserLabel::Id);
+ chip::app::Clusters::Basic::Attributes::NodeLabel::Id);
return CHIP_NO_ERROR;
}
@@ -354,6 +358,17 @@ class Test_TC_DM_1_3_Simulated : public TestCommand
chip::app::Clusters::Basic::Attributes::Reachable::Id);
return CHIP_NO_ERROR;
}
+
+ CHIP_ERROR TestQueryUniqueId_20()
+ {
+ const chip::EndpointId endpoint = mEndpointId.HasValue() ? mEndpointId.Value() : 0;
+ ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Basic Attribute: UniqueId] Query UniqueId", endpoint);
+
+ ClearAttributeAndCommandPaths();
+ mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::Basic::Id,
+ chip::app::Clusters::Basic::Attributes::UniqueId::Id);
+ return CHIP_NO_ERROR;
+ }
};
std::unique_ptr GetTestCommand(std::string testName)
diff --git a/zzz_generated/placeholder/app2/zap-generated/endpoint_config.h b/zzz_generated/placeholder/app2/zap-generated/endpoint_config.h
index cf8c3d3ada98d9..0d92b359ab4303 100644
--- a/zzz_generated/placeholder/app2/zap-generated/endpoint_config.h
+++ b/zzz_generated/placeholder/app2/zap-generated/endpoint_config.h
@@ -185,7 +185,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0) }, /* HardwareVersion */ \
@@ -241,7 +241,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0) }, /* HardwareVersion */ \
diff --git a/zzz_generated/placeholder/app2/zap-generated/test/Commands.h b/zzz_generated/placeholder/app2/zap-generated/test/Commands.h
index 9230ef63bef9d8..6f00bdea2e41fc 100644
--- a/zzz_generated/placeholder/app2/zap-generated/test/Commands.h
+++ b/zzz_generated/placeholder/app2/zap-generated/test/Commands.h
@@ -80,8 +80,8 @@ class Test_TC_DM_1_3_Simulated : public TestCommand
err = TestQueryProductID_6();
break;
case 7:
- ChipLogProgress(chipTool, " ***** Test Step 7 : Query User Label\n");
- err = TestQueryUserLabel_7();
+ ChipLogProgress(chipTool, " ***** Test Step 7 : Query Node Label\n");
+ err = TestQueryNodeLabel_7();
break;
case 8:
ChipLogProgress(chipTool, " ***** Test Step 8 : Query User Location\n");
@@ -131,6 +131,10 @@ class Test_TC_DM_1_3_Simulated : public TestCommand
ChipLogProgress(chipTool, " ***** Test Step 19 : Query Reachable\n");
err = TestQueryReachable_19();
break;
+ case 20:
+ ChipLogProgress(chipTool, " ***** Test Step 20 : Query UniqueId\n");
+ err = TestQueryUniqueId_20();
+ break;
}
if (CHIP_NO_ERROR != err)
@@ -142,7 +146,7 @@ class Test_TC_DM_1_3_Simulated : public TestCommand
private:
std::atomic_uint16_t mTestIndex;
- const uint16_t mTestCount = 20;
+ const uint16_t mTestCount = 21;
//
// Tests methods
@@ -209,14 +213,14 @@ class Test_TC_DM_1_3_Simulated : public TestCommand
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestQueryUserLabel_7()
+ CHIP_ERROR TestQueryNodeLabel_7()
{
const chip::EndpointId endpoint = mEndpointId.HasValue() ? mEndpointId.Value() : 0;
- ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Basic Attribute: UserLabel] Query User Label", endpoint);
+ ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Basic Attribute: NodeLabel] Query Node Label", endpoint);
ClearAttributeAndCommandPaths();
mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::Basic::Id,
- chip::app::Clusters::Basic::Attributes::UserLabel::Id);
+ chip::app::Clusters::Basic::Attributes::NodeLabel::Id);
return CHIP_NO_ERROR;
}
@@ -354,6 +358,17 @@ class Test_TC_DM_1_3_Simulated : public TestCommand
chip::app::Clusters::Basic::Attributes::Reachable::Id);
return CHIP_NO_ERROR;
}
+
+ CHIP_ERROR TestQueryUniqueId_20()
+ {
+ const chip::EndpointId endpoint = mEndpointId.HasValue() ? mEndpointId.Value() : 0;
+ ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Basic Attribute: UniqueId] Query UniqueId", endpoint);
+
+ ClearAttributeAndCommandPaths();
+ mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::Basic::Id,
+ chip::app::Clusters::Basic::Attributes::UniqueId::Id);
+ return CHIP_NO_ERROR;
+ }
};
std::unique_ptr GetTestCommand(std::string testName)
diff --git a/zzz_generated/pump-app/zap-generated/endpoint_config.h b/zzz_generated/pump-app/zap-generated/endpoint_config.h
index 673d9965712349..a2e0f915f9616a 100644
--- a/zzz_generated/pump-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/pump-app/zap-generated/endpoint_config.h
@@ -553,7 +553,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \
diff --git a/zzz_generated/pump-controller-app/zap-generated/endpoint_config.h b/zzz_generated/pump-controller-app/zap-generated/endpoint_config.h
index 6a715205e38fe4..2e6cafe830529e 100644
--- a/zzz_generated/pump-controller-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/pump-controller-app/zap-generated/endpoint_config.h
@@ -528,7 +528,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \
diff --git a/zzz_generated/temperature-measurement-app/zap-generated/endpoint_config.h b/zzz_generated/temperature-measurement-app/zap-generated/endpoint_config.h
index 0dcc2ad12e27eb..b636ffc31ae576 100644
--- a/zzz_generated/temperature-measurement-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/temperature-measurement-app/zap-generated/endpoint_config.h
@@ -257,7 +257,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \
diff --git a/zzz_generated/thermostat/zap-generated/endpoint_config.h b/zzz_generated/thermostat/zap-generated/endpoint_config.h
index 089b99b32bf30c..1ea82ad3f81667 100644
--- a/zzz_generated/thermostat/zap-generated/endpoint_config.h
+++ b/zzz_generated/thermostat/zap-generated/endpoint_config.h
@@ -601,7 +601,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 188
+#define GENERATED_ATTRIBUTE_COUNT 189
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -624,7 +624,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0) }, /* HardwareVersion */ \
@@ -638,9 +638,10 @@
{ 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductLabel */ \
{ 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* SerialNumber */ \
{ 0x0010, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \
- { 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
+ ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \
+ { 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \
+ { 0x0012, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* UniqueID */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: OTA Software Update Provider (server) */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
@@ -816,7 +817,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \
@@ -884,78 +885,78 @@
}, /* Endpoint: 0, Cluster: Descriptor (server) */ \
{ 0x0028, \
ZAP_ATTRIBUTE_INDEX(7), \
- 19, \
- 654, \
+ 20, \
+ 687, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \
{ \
- 0x0029, ZAP_ATTRIBUTE_INDEX(26), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0029, ZAP_ATTRIBUTE_INDEX(27), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: OTA Software Update Provider (server) */ \
{ \
- 0x0030, ZAP_ATTRIBUTE_INDEX(27), 3, 264, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0030, ZAP_ATTRIBUTE_INDEX(28), 3, 264, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: General Commissioning (server) */ \
{ \
- 0x0031, ZAP_ATTRIBUTE_INDEX(30), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0031, ZAP_ATTRIBUTE_INDEX(31), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Network Commissioning (server) */ \
{ \
- 0x0032, ZAP_ATTRIBUTE_INDEX(31), 0, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0032, ZAP_ATTRIBUTE_INDEX(32), 0, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
{ \
- 0x0033, ZAP_ATTRIBUTE_INDEX(31), 9, 17, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0033, ZAP_ATTRIBUTE_INDEX(32), 9, 17, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: General Diagnostics (server) */ \
{ \
- 0x0034, ZAP_ATTRIBUTE_INDEX(40), 5, 26, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0034, ZAP_ATTRIBUTE_INDEX(41), 5, 26, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
{ \
- 0x0035, ZAP_ATTRIBUTE_INDEX(45), 64, 242, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0035, ZAP_ATTRIBUTE_INDEX(46), 64, 242, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
{ \
- 0x0036, ZAP_ATTRIBUTE_INDEX(109), 15, 58, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0036, ZAP_ATTRIBUTE_INDEX(110), 15, 58, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
{ \
- 0x0037, ZAP_ATTRIBUTE_INDEX(124), 10, 53, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0037, ZAP_ATTRIBUTE_INDEX(125), 10, 53, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
{ \
- 0x003C, ZAP_ATTRIBUTE_INDEX(134), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x003C, ZAP_ATTRIBUTE_INDEX(135), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
{ \
- 0x003E, ZAP_ATTRIBUTE_INDEX(135), 6, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x003E, ZAP_ATTRIBUTE_INDEX(136), 6, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Operational Credentials (server) */ \
{ \
- 0xF000, ZAP_ATTRIBUTE_INDEX(141), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0xF000, ZAP_ATTRIBUTE_INDEX(142), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Binding (server) */ \
{ \
- 0xF004, ZAP_ATTRIBUTE_INDEX(142), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0xF004, ZAP_ATTRIBUTE_INDEX(143), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Group Key Management (server) */ \
{ \
- 0x0003, ZAP_ATTRIBUTE_INDEX(145), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
+ 0x0003, ZAP_ATTRIBUTE_INDEX(146), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
}, /* Endpoint: 1, Cluster: Identify (client) */ \
{ 0x0003, \
- ZAP_ATTRIBUTE_INDEX(146), \
+ ZAP_ATTRIBUTE_INDEX(147), \
3, \
5, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
chipFuncArrayIdentifyServer }, /* Endpoint: 1, Cluster: Identify (server) */ \
{ 0x0004, \
- ZAP_ATTRIBUTE_INDEX(149), \
+ ZAP_ATTRIBUTE_INDEX(150), \
2, \
3, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayGroupsServer }, /* Endpoint: 1, Cluster: Groups (server) */ \
{ 0x0005, \
- ZAP_ATTRIBUTE_INDEX(151), \
+ ZAP_ATTRIBUTE_INDEX(152), \
6, \
8, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayScenesServer }, /* Endpoint: 1, Cluster: Scenes (server) */ \
{ 0x0028, \
- ZAP_ATTRIBUTE_INDEX(157), \
+ ZAP_ATTRIBUTE_INDEX(158), \
12, \
246, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayBasicServer }, /* Endpoint: 1, Cluster: Basic (server) */ \
{ \
- 0x0201, ZAP_ATTRIBUTE_INDEX(169), 19, 34, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0201, ZAP_ATTRIBUTE_INDEX(170), 19, 34, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Thermostat (server) */ \
}
@@ -964,17 +965,17 @@
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 16, 1840 }, { ZAP_CLUSTER_INDEX(16), 6, 298 }, \
+ { ZAP_CLUSTER_INDEX(0), 16, 1873 }, { ZAP_CLUSTER_INDEX(16), 6, 298 }, \
}
// Largest attribute size is needed for various buffers
#define ATTRIBUTE_LARGEST (401)
// Total size of singleton attributes
-#define ATTRIBUTE_SINGLETONS_SIZE (900)
+#define ATTRIBUTE_SINGLETONS_SIZE (933)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (2138)
+#define ATTRIBUTE_MAX_SIZE (2171)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (2)
diff --git a/zzz_generated/tv-app/zap-generated/endpoint_config.h b/zzz_generated/tv-app/zap-generated/endpoint_config.h
index 5dfcacbf4024ad..d5db850714d0d4 100644
--- a/zzz_generated/tv-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/tv-app/zap-generated/endpoint_config.h
@@ -1005,7 +1005,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 256
+#define GENERATED_ATTRIBUTE_COUNT 257
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -1024,7 +1024,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \
@@ -1037,8 +1037,9 @@
{ 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductLabel */ \
{ 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* SerialNumber */ \
{ 0x0010, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_SIMPLE_DEFAULT(0x00) }, /* LocalConfigDisabled */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
+ ZAP_SIMPLE_DEFAULT(0x00) }, /* LocalConfigDisabled */ \
+ { 0x0012, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* UniqueID */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: OTA Software Update Provider (server) */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
@@ -1381,141 +1382,141 @@
{ 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 0, Cluster: Descriptor (server) */ \
{ 0x0028, \
ZAP_ATTRIBUTE_INDEX(5), \
- 18, \
- 653, \
+ 19, \
+ 686, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \
{ \
- 0x0029, ZAP_ATTRIBUTE_INDEX(23), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0029, ZAP_ATTRIBUTE_INDEX(24), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: OTA Software Update Provider (server) */ \
{ \
- 0x0030, ZAP_ATTRIBUTE_INDEX(24), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
+ 0x0030, ZAP_ATTRIBUTE_INDEX(25), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
}, /* Endpoint: 0, Cluster: General Commissioning (client) */ \
{ \
- 0x0030, ZAP_ATTRIBUTE_INDEX(25), 3, 264, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0030, ZAP_ATTRIBUTE_INDEX(26), 3, 264, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: General Commissioning (server) */ \
{ \
- 0x0031, ZAP_ATTRIBUTE_INDEX(28), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
+ 0x0031, ZAP_ATTRIBUTE_INDEX(29), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
}, /* Endpoint: 0, Cluster: Network Commissioning (client) */ \
{ \
- 0x0031, ZAP_ATTRIBUTE_INDEX(29), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0031, ZAP_ATTRIBUTE_INDEX(30), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Network Commissioning (server) */ \
{ \
- 0x0032, ZAP_ATTRIBUTE_INDEX(30), 0, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0032, ZAP_ATTRIBUTE_INDEX(31), 0, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
{ \
- 0x0033, ZAP_ATTRIBUTE_INDEX(30), 9, 17, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0033, ZAP_ATTRIBUTE_INDEX(31), 9, 17, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: General Diagnostics (server) */ \
{ \
- 0x0034, ZAP_ATTRIBUTE_INDEX(39), 5, 26, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0034, ZAP_ATTRIBUTE_INDEX(40), 5, 26, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
{ \
- 0x0035, ZAP_ATTRIBUTE_INDEX(44), 64, 242, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0035, ZAP_ATTRIBUTE_INDEX(45), 64, 242, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
{ \
- 0x0036, ZAP_ATTRIBUTE_INDEX(108), 15, 58, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0036, ZAP_ATTRIBUTE_INDEX(109), 15, 58, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
{ \
- 0x0037, ZAP_ATTRIBUTE_INDEX(123), 10, 53, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0037, ZAP_ATTRIBUTE_INDEX(124), 10, 53, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
{ \
- 0x003C, ZAP_ATTRIBUTE_INDEX(133), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x003C, ZAP_ATTRIBUTE_INDEX(134), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
{ \
- 0x003E, ZAP_ATTRIBUTE_INDEX(134), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
+ 0x003E, ZAP_ATTRIBUTE_INDEX(135), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL \
}, /* Endpoint: 0, Cluster: Operational Credentials (client) */ \
{ \
- 0x003E, ZAP_ATTRIBUTE_INDEX(135), 6, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x003E, ZAP_ATTRIBUTE_INDEX(136), 6, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Operational Credentials (server) */ \
{ \
- 0x0405, ZAP_ATTRIBUTE_INDEX(141), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0405, ZAP_ATTRIBUTE_INDEX(142), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Relative Humidity Measurement (server) */ \
{ \
- 0xF000, ZAP_ATTRIBUTE_INDEX(145), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0xF000, ZAP_ATTRIBUTE_INDEX(146), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Binding (server) */ \
{ \
- 0xF004, ZAP_ATTRIBUTE_INDEX(146), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0xF004, ZAP_ATTRIBUTE_INDEX(147), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Group Key Management (server) */ \
{ 0x0006, \
- ZAP_ATTRIBUTE_INDEX(149), \
+ ZAP_ATTRIBUTE_INDEX(150), \
2, \
3, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayOnOffServer }, /* Endpoint: 1, Cluster: On/Off (server) */ \
{ \
- 0x001D, ZAP_ATTRIBUTE_INDEX(151), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x001D, ZAP_ATTRIBUTE_INDEX(152), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Descriptor (server) */ \
{ \
- 0x0503, ZAP_ATTRIBUTE_INDEX(156), 2, 35, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0503, ZAP_ATTRIBUTE_INDEX(157), 2, 35, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Wake on LAN (server) */ \
{ \
- 0x0504, ZAP_ATTRIBUTE_INDEX(158), 4, 322, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0504, ZAP_ATTRIBUTE_INDEX(159), 4, 322, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: TV Channel (server) */ \
{ \
- 0x0505, ZAP_ATTRIBUTE_INDEX(162), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0505, ZAP_ATTRIBUTE_INDEX(163), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Target Navigator (server) */ \
{ \
- 0x0507, ZAP_ATTRIBUTE_INDEX(164), 3, 257, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0507, ZAP_ATTRIBUTE_INDEX(165), 3, 257, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Media Input (server) */ \
{ \
- 0x0508, ZAP_ATTRIBUTE_INDEX(167), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0508, ZAP_ATTRIBUTE_INDEX(168), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Low Power (server) */ \
{ \
- 0x0509, ZAP_ATTRIBUTE_INDEX(168), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0509, ZAP_ATTRIBUTE_INDEX(169), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Keypad Input (server) */ \
{ \
- 0x050A, ZAP_ATTRIBUTE_INDEX(169), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050A, ZAP_ATTRIBUTE_INDEX(170), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Content Launcher (server) */ \
{ \
- 0x050C, ZAP_ATTRIBUTE_INDEX(172), 4, 258, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050C, ZAP_ATTRIBUTE_INDEX(173), 4, 258, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Application Launcher (server) */ \
{ 0x0006, \
- ZAP_ATTRIBUTE_INDEX(176), \
+ ZAP_ATTRIBUTE_INDEX(177), \
2, \
3, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayOnOffServer }, /* Endpoint: 2, Cluster: On/Off (server) */ \
{ 0x0008, \
- ZAP_ATTRIBUTE_INDEX(178), \
+ ZAP_ATTRIBUTE_INDEX(179), \
15, \
23, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayLevelControlServer }, /* Endpoint: 2, Cluster: Level Control (server) */ \
{ \
- 0x001D, ZAP_ATTRIBUTE_INDEX(193), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x001D, ZAP_ATTRIBUTE_INDEX(194), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 2, Cluster: Descriptor (server) */ \
{ \
- 0x050B, ZAP_ATTRIBUTE_INDEX(198), 3, 257, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050B, ZAP_ATTRIBUTE_INDEX(199), 3, 257, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 2, Cluster: Audio Output (server) */ \
{ \
- 0x001D, ZAP_ATTRIBUTE_INDEX(201), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x001D, ZAP_ATTRIBUTE_INDEX(202), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 3, Cluster: Descriptor (server) */ \
{ \
- 0x0506, ZAP_ATTRIBUTE_INDEX(206), 9, 59, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0506, ZAP_ATTRIBUTE_INDEX(207), 9, 59, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 3, Cluster: Media Playback (server) */ \
{ \
- 0x050A, ZAP_ATTRIBUTE_INDEX(215), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050A, ZAP_ATTRIBUTE_INDEX(216), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 3, Cluster: Content Launcher (server) */ \
{ \
- 0x050D, ZAP_ATTRIBUTE_INDEX(218), 8, 108, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050D, ZAP_ATTRIBUTE_INDEX(219), 8, 108, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 3, Cluster: Application Basic (server) */ \
{ \
- 0x050E, ZAP_ATTRIBUTE_INDEX(226), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050E, ZAP_ATTRIBUTE_INDEX(227), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 3, Cluster: Account Login (server) */ \
{ \
- 0x001D, ZAP_ATTRIBUTE_INDEX(227), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x001D, ZAP_ATTRIBUTE_INDEX(228), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 4, Cluster: Descriptor (server) */ \
{ \
- 0x050A, ZAP_ATTRIBUTE_INDEX(232), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050A, ZAP_ATTRIBUTE_INDEX(233), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 4, Cluster: Content Launcher (server) */ \
{ \
- 0x050D, ZAP_ATTRIBUTE_INDEX(235), 8, 108, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050D, ZAP_ATTRIBUTE_INDEX(236), 8, 108, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 4, Cluster: Application Basic (server) */ \
{ \
- 0x001D, ZAP_ATTRIBUTE_INDEX(243), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x001D, ZAP_ATTRIBUTE_INDEX(244), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 5, Cluster: Descriptor (server) */ \
{ \
- 0x050D, ZAP_ATTRIBUTE_INDEX(248), 8, 108, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050D, ZAP_ATTRIBUTE_INDEX(249), 8, 108, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 5, Cluster: Application Basic (server) */ \
}
@@ -1524,7 +1525,7 @@
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 19, 1849 }, { ZAP_CLUSTER_INDEX(19), 10, 1645 }, { ZAP_CLUSTER_INDEX(29), 4, 283 }, \
+ { ZAP_CLUSTER_INDEX(0), 19, 1882 }, { ZAP_CLUSTER_INDEX(19), 10, 1645 }, { ZAP_CLUSTER_INDEX(29), 4, 283 }, \
{ ZAP_CLUSTER_INDEX(33), 5, 679 }, { ZAP_CLUSTER_INDEX(38), 3, 618 }, { ZAP_CLUSTER_INDEX(41), 2, 108 }, \
}
@@ -1532,10 +1533,10 @@
#define ATTRIBUTE_LARGEST (401)
// Total size of singleton attributes
-#define ATTRIBUTE_SINGLETONS_SIZE (653)
+#define ATTRIBUTE_SINGLETONS_SIZE (686)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (5182)
+#define ATTRIBUTE_MAX_SIZE (5215)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (6)
diff --git a/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h b/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h
index b182583acbdf47..f0c91ef1d096aa 100644
--- a/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h
@@ -1005,7 +1005,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 366
+#define GENERATED_ATTRIBUTE_COUNT 367
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -1024,7 +1024,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0) }, /* HardwareVersion */ \
@@ -1038,9 +1038,10 @@
{ 0x000E, ZAP_TYPE(CHAR_STRING), 65, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductLabel */ \
{ 0x000F, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* SerialNumber */ \
{ 0x0010, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \
- { 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \
- { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
+ ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \
+ { 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \
+ { 0x0012, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* UniqueID */ \
+ { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: OTA Software Update Provider (server) */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
@@ -1541,187 +1542,187 @@
{ 0x001D, ZAP_ATTRIBUTE_INDEX(0), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL }, /* Endpoint: 0, Cluster: Descriptor (server) */ \
{ 0x0028, \
ZAP_ATTRIBUTE_INDEX(5), \
- 19, \
- 654, \
+ 20, \
+ 687, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \
{ \
- 0x0029, ZAP_ATTRIBUTE_INDEX(24), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0029, ZAP_ATTRIBUTE_INDEX(25), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: OTA Software Update Provider (server) */ \
{ \
- 0x0030, ZAP_ATTRIBUTE_INDEX(25), 3, 264, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0030, ZAP_ATTRIBUTE_INDEX(26), 3, 264, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: General Commissioning (server) */ \
{ \
- 0x0031, ZAP_ATTRIBUTE_INDEX(28), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0031, ZAP_ATTRIBUTE_INDEX(29), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Network Commissioning (server) */ \
{ \
- 0x0032, ZAP_ATTRIBUTE_INDEX(29), 0, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0032, ZAP_ATTRIBUTE_INDEX(30), 0, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
{ \
- 0x0033, ZAP_ATTRIBUTE_INDEX(29), 9, 17, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0033, ZAP_ATTRIBUTE_INDEX(30), 9, 17, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: General Diagnostics (server) */ \
{ \
- 0x0034, ZAP_ATTRIBUTE_INDEX(38), 5, 26, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0034, ZAP_ATTRIBUTE_INDEX(39), 5, 26, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
{ \
- 0x0035, ZAP_ATTRIBUTE_INDEX(43), 64, 242, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0035, ZAP_ATTRIBUTE_INDEX(44), 64, 242, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
{ \
- 0x0036, ZAP_ATTRIBUTE_INDEX(107), 15, 58, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0036, ZAP_ATTRIBUTE_INDEX(108), 15, 58, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
{ \
- 0x0037, ZAP_ATTRIBUTE_INDEX(122), 10, 53, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0037, ZAP_ATTRIBUTE_INDEX(123), 10, 53, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
{ \
- 0x003C, ZAP_ATTRIBUTE_INDEX(132), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x003C, ZAP_ATTRIBUTE_INDEX(133), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
{ \
- 0x003E, ZAP_ATTRIBUTE_INDEX(133), 6, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x003E, ZAP_ATTRIBUTE_INDEX(134), 6, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Operational Credentials (server) */ \
{ \
- 0x0405, ZAP_ATTRIBUTE_INDEX(139), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0405, ZAP_ATTRIBUTE_INDEX(140), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Relative Humidity Measurement (server) */ \
{ \
- 0xF000, ZAP_ATTRIBUTE_INDEX(143), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0xF000, ZAP_ATTRIBUTE_INDEX(144), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Binding (server) */ \
{ \
- 0xF004, ZAP_ATTRIBUTE_INDEX(144), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0xF004, ZAP_ATTRIBUTE_INDEX(145), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Group Key Management (server) */ \
{ 0x0003, \
- ZAP_ATTRIBUTE_INDEX(147), \
+ ZAP_ATTRIBUTE_INDEX(148), \
2, \
4, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
chipFuncArrayIdentifyServer }, /* Endpoint: 1, Cluster: Identify (server) */ \
{ 0x0004, \
- ZAP_ATTRIBUTE_INDEX(149), \
+ ZAP_ATTRIBUTE_INDEX(150), \
2, \
3, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayGroupsServer }, /* Endpoint: 1, Cluster: Groups (server) */ \
{ 0x0005, \
- ZAP_ATTRIBUTE_INDEX(151), \
+ ZAP_ATTRIBUTE_INDEX(152), \
6, \
8, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayScenesServer }, /* Endpoint: 1, Cluster: Scenes (server) */ \
{ 0x0006, \
- ZAP_ATTRIBUTE_INDEX(157), \
+ ZAP_ATTRIBUTE_INDEX(158), \
7, \
13, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayOnOffServer }, /* Endpoint: 1, Cluster: On/Off (server) */ \
{ 0x0008, \
- ZAP_ATTRIBUTE_INDEX(164), \
+ ZAP_ATTRIBUTE_INDEX(165), \
15, \
23, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayLevelControlServer }, /* Endpoint: 1, Cluster: Level Control (server) */ \
{ \
- 0x000F, ZAP_ATTRIBUTE_INDEX(179), 4, 5, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x000F, ZAP_ATTRIBUTE_INDEX(180), 4, 5, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Binary Input (Basic) (server) */ \
{ \
- 0x001D, ZAP_ATTRIBUTE_INDEX(183), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x001D, ZAP_ATTRIBUTE_INDEX(184), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Descriptor (server) */ \
{ \
- 0x0039, ZAP_ATTRIBUTE_INDEX(188), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0039, ZAP_ATTRIBUTE_INDEX(189), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Bridged Device Basic Information (server) */ \
{ \
- 0x003B, ZAP_ATTRIBUTE_INDEX(189), 3, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x003B, ZAP_ATTRIBUTE_INDEX(190), 3, 4, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Switch (server) */ \
{ \
- 0x0040, ZAP_ATTRIBUTE_INDEX(192), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0040, ZAP_ATTRIBUTE_INDEX(193), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Fixed Label (server) */ \
{ 0x0101, \
- ZAP_ATTRIBUTE_INDEX(194), \
+ ZAP_ATTRIBUTE_INDEX(195), \
4, \
5, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
chipFuncArrayDoorLockServer }, /* Endpoint: 1, Cluster: Door Lock (server) */ \
{ \
- 0x0102, ZAP_ATTRIBUTE_INDEX(198), 19, 31, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0102, ZAP_ATTRIBUTE_INDEX(199), 19, 31, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Window Covering (server) */ \
{ \
- 0x0103, ZAP_ATTRIBUTE_INDEX(217), 5, 7, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0103, ZAP_ATTRIBUTE_INDEX(218), 5, 7, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Barrier Control (server) */ \
{ \
- 0x0201, ZAP_ATTRIBUTE_INDEX(222), 10, 17, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0201, ZAP_ATTRIBUTE_INDEX(223), 10, 17, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Thermostat (server) */ \
{ 0x0300, \
- ZAP_ATTRIBUTE_INDEX(232), \
+ ZAP_ATTRIBUTE_INDEX(233), \
51, \
337, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayColorControlServer }, /* Endpoint: 1, Cluster: Color Control (server) */ \
{ \
- 0x0402, ZAP_ATTRIBUTE_INDEX(283), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0402, ZAP_ATTRIBUTE_INDEX(284), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Temperature Measurement (server) */ \
{ \
- 0x0403, ZAP_ATTRIBUTE_INDEX(287), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0403, ZAP_ATTRIBUTE_INDEX(288), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Pressure Measurement (server) */ \
{ \
- 0x0404, ZAP_ATTRIBUTE_INDEX(291), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0404, ZAP_ATTRIBUTE_INDEX(292), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Flow Measurement (server) */ \
{ \
- 0x0405, ZAP_ATTRIBUTE_INDEX(295), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0405, ZAP_ATTRIBUTE_INDEX(296), 4, 8, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Relative Humidity Measurement (server) */ \
{ 0x0500, \
- ZAP_ATTRIBUTE_INDEX(299), \
+ ZAP_ATTRIBUTE_INDEX(300), \
6, \
16, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION) | \
ZAP_CLUSTER_MASK(MESSAGE_SENT_FUNCTION), \
chipFuncArrayIasZoneServer }, /* Endpoint: 1, Cluster: IAS Zone (server) */ \
{ \
- 0x0503, ZAP_ATTRIBUTE_INDEX(305), 2, 35, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0503, ZAP_ATTRIBUTE_INDEX(306), 2, 35, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Wake on LAN (server) */ \
{ \
- 0x0504, ZAP_ATTRIBUTE_INDEX(307), 4, 322, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0504, ZAP_ATTRIBUTE_INDEX(308), 4, 322, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: TV Channel (server) */ \
{ \
- 0x0505, ZAP_ATTRIBUTE_INDEX(311), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0505, ZAP_ATTRIBUTE_INDEX(312), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Target Navigator (server) */ \
{ \
- 0x0506, ZAP_ATTRIBUTE_INDEX(313), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0506, ZAP_ATTRIBUTE_INDEX(314), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Media Playback (server) */ \
{ \
- 0x0507, ZAP_ATTRIBUTE_INDEX(314), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0507, ZAP_ATTRIBUTE_INDEX(315), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Media Input (server) */ \
{ \
- 0x0509, ZAP_ATTRIBUTE_INDEX(316), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x0509, ZAP_ATTRIBUTE_INDEX(317), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Keypad Input (server) */ \
{ \
- 0x050A, ZAP_ATTRIBUTE_INDEX(317), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050A, ZAP_ATTRIBUTE_INDEX(318), 3, 510, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Content Launcher (server) */ \
{ \
- 0x050B, ZAP_ATTRIBUTE_INDEX(320), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050B, ZAP_ATTRIBUTE_INDEX(321), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Audio Output (server) */ \
{ \
- 0x050C, ZAP_ATTRIBUTE_INDEX(322), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050C, ZAP_ATTRIBUTE_INDEX(323), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Application Launcher (server) */ \
{ \
- 0x050D, ZAP_ATTRIBUTE_INDEX(324), 8, 108, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050D, ZAP_ATTRIBUTE_INDEX(325), 8, 108, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Application Basic (server) */ \
{ \
- 0x050E, ZAP_ATTRIBUTE_INDEX(332), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050E, ZAP_ATTRIBUTE_INDEX(333), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Account Login (server) */ \
{ \
- 0x050F, ZAP_ATTRIBUTE_INDEX(333), 21, 1582, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x050F, ZAP_ATTRIBUTE_INDEX(334), 21, 1582, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Test Cluster (server) */ \
{ \
- 0xF000, ZAP_ATTRIBUTE_INDEX(354), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0xF000, ZAP_ATTRIBUTE_INDEX(355), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 1, Cluster: Binding (server) */ \
{ 0x0006, \
- ZAP_ATTRIBUTE_INDEX(355), \
+ ZAP_ATTRIBUTE_INDEX(356), \
2, \
3, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayOnOffServer }, /* Endpoint: 2, Cluster: On/Off (server) */ \
{ \
- 0x001D, ZAP_ATTRIBUTE_INDEX(357), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
+ 0x001D, ZAP_ATTRIBUTE_INDEX(358), 5, 0, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 2, Cluster: Descriptor (server) */ \
{ 0x0406, \
- ZAP_ATTRIBUTE_INDEX(362), \
+ ZAP_ATTRIBUTE_INDEX(363), \
4, \
5, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1733,17 +1734,17 @@
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 16, 1844 }, { ZAP_CLUSTER_INDEX(16), 33, 4352 }, { ZAP_CLUSTER_INDEX(49), 3, 8 }, \
+ { ZAP_CLUSTER_INDEX(0), 16, 1877 }, { ZAP_CLUSTER_INDEX(16), 33, 4352 }, { ZAP_CLUSTER_INDEX(49), 3, 8 }, \
}
// Largest attribute size is needed for various buffers
#define ATTRIBUTE_LARGEST (1003)
// Total size of singleton attributes
-#define ATTRIBUTE_SINGLETONS_SIZE (656)
+#define ATTRIBUTE_SINGLETONS_SIZE (689)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (6204)
+#define ATTRIBUTE_MAX_SIZE (6237)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (3)
diff --git a/zzz_generated/window-app/zap-generated/endpoint_config.h b/zzz_generated/window-app/zap-generated/endpoint_config.h
index 04f2523c09360e..8f55fba9926ee8 100644
--- a/zzz_generated/window-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/window-app/zap-generated/endpoint_config.h
@@ -545,7 +545,7 @@
{ 0x0003, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x0005, ZAP_TYPE(CHAR_STRING), 33, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
- ZAP_EMPTY_DEFAULT() }, /* UserLabel */ \
+ ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x0006, ZAP_TYPE(CHAR_STRING), 3, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(0x00) }, /* HardwareVersion */ \
From fb4c584d2af40ab24e5eee74bb78d8bb7cabd07a Mon Sep 17 00:00:00 2001
From: Paul Zander
Date: Mon, 22 Nov 2021 12:44:35 +0100
Subject: [PATCH 2/4] Update Bridged Device Basic Information cluster
---
examples/bridge-app/esp32/main/main.cpp | 12 ++--
examples/bridge-app/linux/main.cpp | 12 ++--
.../data-model/chip/bridged-device-basic.xml | 33 ++++-----
.../python/chip/clusters/Objects.py | 18 ++++-
.../app-common/zap-generated/attribute-id.h | 3 +-
.../zap-generated/attributes/Accessors.cpp | 69 ++++++++++++++-----
.../zap-generated/attributes/Accessors.h | 11 ++-
.../zap-generated/cluster-objects.h | 17 ++++-
.../app-common/zap-generated/ids/Attributes.h | 8 ++-
9 files changed, 126 insertions(+), 57 deletions(-)
diff --git a/examples/bridge-app/esp32/main/main.cpp b/examples/bridge-app/esp32/main/main.cpp
index c83caa07ebcb5b..fb2f831223117a 100644
--- a/examples/bridge-app/esp32/main/main.cpp
+++ b/examples/bridge-app/esp32/main/main.cpp
@@ -43,7 +43,7 @@ using namespace ::chip::Platform;
static DeviceCallbacks AppCallback;
-static const int kUserLabelSize = 32;
+static const int kNodeLabelSize = 32;
// Current ZCL implementation of Struct uses a max-size array of 254 bytes
static const int kDescriptorAttributeArraySize = 254;
static const int kFixedLabelAttributeArraySize = 254;
@@ -87,7 +87,7 @@ DECLARE_DYNAMIC_ATTRIBUTE(ZCL_DEVICE_LIST_ATTRIBUTE_ID, ARRAY, kDescriptorAttrib
// Declare Bridged Device Basic information cluster attributes
DECLARE_DYNAMIC_ATTRIBUTE_LIST_BEGIN(bridgedDeviceBasicAttrs)
-DECLARE_DYNAMIC_ATTRIBUTE(ZCL_USER_LABEL_ATTRIBUTE_ID, CHAR_STRING, kUserLabelSize, 0), /* UserLabel */
+DECLARE_DYNAMIC_ATTRIBUTE(ZCL_NODE_LABEL_ATTRIBUTE_ID, CHAR_STRING, kNodeLabelSize, 0), /* NodeLabel */
DECLARE_DYNAMIC_ATTRIBUTE(ZCL_REACHABLE_ATTRIBUTE_ID, BOOLEAN, 1, 0), /* Reachable */
DECLARE_DYNAMIC_ATTRIBUTE_LIST_END();
@@ -195,7 +195,7 @@ EmberAfStatus HandleReadBridgedDeviceBasicAttribute(Device * dev, chip::Attribut
{
*buffer = dev->IsReachable() ? 1 : 0;
}
- else if ((attributeId == ZCL_USER_LABEL_ATTRIBUTE_ID) && (maxReadLength == 32))
+ else if ((attributeId == ZCL_NODE_LABEL_ATTRIBUTE_ID) && (maxReadLength == 32))
{
ToZclCharString(buffer, dev->GetName(), static_cast(maxReadLength - 1));
}
@@ -323,10 +323,10 @@ void HandleDeviceStatusChanged(Device * dev, Device::Changed_t itemChangedMask)
if (itemChangedMask & Device::kChanged_Name)
{
- uint8_t zclName[kUserLabelSize];
- ToZclCharString(zclName, dev->GetName(), kUserLabelSize - 1);
+ uint8_t zclName[kNodeLabelSize];
+ ToZclCharString(zclName, dev->GetName(), kNodeLabelSize - 1);
MatterReportingAttributeChangeCallback(dev->GetEndpointId(), ZCL_BRIDGED_DEVICE_BASIC_CLUSTER_ID,
- ZCL_USER_LABEL_ATTRIBUTE_ID, CLUSTER_MASK_SERVER, 0, ZCL_CHAR_STRING_ATTRIBUTE_TYPE,
+ ZCL_NODE_LABEL_ATTRIBUTE_ID, CLUSTER_MASK_SERVER, 0, ZCL_CHAR_STRING_ATTRIBUTE_TYPE,
zclName);
}
if (itemChangedMask & Device::kChanged_Location)
diff --git a/examples/bridge-app/linux/main.cpp b/examples/bridge-app/linux/main.cpp
index 2339e88e2ba376..3f8ca3fceb3398 100644
--- a/examples/bridge-app/linux/main.cpp
+++ b/examples/bridge-app/linux/main.cpp
@@ -50,7 +50,7 @@ using namespace chip::Inet;
using namespace chip::Transport;
using namespace chip::DeviceLayer;
-static const int kUserLabelSize = 32;
+static const int kNodeLabelSize = 32;
// Current ZCL implementation of Struct uses a max-size array of 254 bytes
static const int kDescriptorAttributeArraySize = 254;
static const int kFixedLabelAttributeArraySize = 254;
@@ -107,7 +107,7 @@ DECLARE_DYNAMIC_ATTRIBUTE(ZCL_DEVICE_LIST_ATTRIBUTE_ID, ARRAY, kDescriptorAttrib
// Declare Bridged Device Basic information cluster attributes
DECLARE_DYNAMIC_ATTRIBUTE_LIST_BEGIN(bridgedDeviceBasicAttrs)
-DECLARE_DYNAMIC_ATTRIBUTE(ZCL_USER_LABEL_ATTRIBUTE_ID, CHAR_STRING, kUserLabelSize, 0), /* UserLabel */
+DECLARE_DYNAMIC_ATTRIBUTE(ZCL_NODE_LABEL_ATTRIBUTE_ID, CHAR_STRING, kNodeLabelSize, 0), /* NodeLabel */
DECLARE_DYNAMIC_ATTRIBUTE(ZCL_REACHABLE_ATTRIBUTE_ID, BOOLEAN, 1, 0), /* Reachable */
DECLARE_DYNAMIC_ATTRIBUTE_LIST_END();
@@ -151,7 +151,7 @@ DECLARE_DYNAMIC_ATTRIBUTE(ZCL_DEVICE_LIST_ATTRIBUTE_ID, ARRAY, kDescriptorAttrib
// Declare Bridged Device Basic information cluster attributes
DECLARE_DYNAMIC_ATTRIBUTE_LIST_BEGIN(switchBridgedDeviceBasicAttrs)
-DECLARE_DYNAMIC_ATTRIBUTE(ZCL_USER_LABEL_ATTRIBUTE_ID, CHAR_STRING, kUserLabelSize, 0), /* UserLabel */
+DECLARE_DYNAMIC_ATTRIBUTE(ZCL_NODE_LABEL_ATTRIBUTE_ID, CHAR_STRING, kNodeLabelSize, 0), /* NodeLabel */
DECLARE_DYNAMIC_ATTRIBUTE(ZCL_REACHABLE_ATTRIBUTE_ID, BOOLEAN, 1, 0), /* Reachable */
DECLARE_DYNAMIC_ATTRIBUTE_LIST_END();
@@ -267,11 +267,11 @@ void HandleDeviceStatusChanged(Device * dev, Device::Changed_t itemChangedMask)
if (itemChangedMask & Device::kChanged_Name)
{
- uint8_t zclName[kUserLabelSize];
+ uint8_t zclName[kNodeLabelSize];
MutableByteSpan zclNameSpan(zclName);
MakeZclCharString(zclNameSpan, dev->GetName());
MatterReportingAttributeChangeCallback(dev->GetEndpointId(), ZCL_BRIDGED_DEVICE_BASIC_CLUSTER_ID,
- ZCL_USER_LABEL_ATTRIBUTE_ID, CLUSTER_MASK_SERVER, 0, ZCL_CHAR_STRING_ATTRIBUTE_TYPE,
+ ZCL_NODE_LABEL_ATTRIBUTE_ID, CLUSTER_MASK_SERVER, 0, ZCL_CHAR_STRING_ATTRIBUTE_TYPE,
zclNameSpan.data());
}
@@ -342,7 +342,7 @@ EmberAfStatus HandleReadBridgedDeviceBasicAttribute(Device * dev, chip::Attribut
{
*buffer = dev->IsReachable() ? 1 : 0;
}
- else if ((attributeId == ZCL_USER_LABEL_ATTRIBUTE_ID) && (maxReadLength == 32))
+ else if ((attributeId == ZCL_NODE_LABEL_ATTRIBUTE_ID) && (maxReadLength == 32))
{
uint8_t bufferMemory[254];
MutableByteSpan zclString(bufferMemory);
diff --git a/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic.xml b/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic.xml
index 89b4dfd79758bd..8eb9c3eec137a2 100644
--- a/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/bridged-device-basic.xml
@@ -26,22 +26,22 @@ limitations under the License.
true
- VendorName
- VendorID
- ProductName
- UserLabel
- HardwareVersion
- HardwareVersionString
- SoftwareVersion
- SoftwareVersionString
- ManufacturingDate
-
- PartNumber
-
- ProductURL
- ProductLabel
- SerialNumber
- Reachable
+ VendorName
+ VendorID
+ ProductName
+ NodeLabel
+ HardwareVersion
+ HardwareVersionString
+ SoftwareVersion
+ SoftwareVersionString
+ ManufacturingDate
+ PartNumber
+ ProductURL
+ ProductLabel
+ SerialNumber
+ Reachable
+ UniqueID
+
The StartUp event SHALL be emitted by a Node as soon as reasonable after completing a boot or reboot process.
@@ -54,5 +54,6 @@ limitations under the License.
The Leave event SHOULD be emitted by a Node when the Reachable attribute changes.
+
diff --git a/src/controller/python/chip/clusters/Objects.py b/src/controller/python/chip/clusters/Objects.py
index d3c4897e9f5135..d2562a873e64cb 100644
--- a/src/controller/python/chip/clusters/Objects.py
+++ b/src/controller/python/chip/clusters/Objects.py
@@ -9914,7 +9914,7 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
value: 'typing.Optional[str]' = None
@dataclass
- class UserLabel(ClusterAttributeDescriptor):
+ class NodeLabel(ClusterAttributeDescriptor):
@ChipUtility.classproperty
def cluster_id(cls) -> int:
return 0x0039
@@ -10089,6 +10089,22 @@ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
value: 'bool' = None
+ @dataclass
+ class UniqueID(ClusterAttributeDescriptor):
+ @ChipUtility.classproperty
+ def cluster_id(cls) -> int:
+ return 0x0039
+
+ @ChipUtility.classproperty
+ def attribute_id(cls) -> int:
+ return 0x0012
+
+ @ChipUtility.classproperty
+ def attribute_type(cls) -> ClusterObjectFieldDescriptor:
+ return ClusterObjectFieldDescriptor(Type=typing.Optional[str])
+
+ value: 'typing.Optional[str]' = None
+
@dataclass
class FeatureMap(ClusterAttributeDescriptor):
@ChipUtility.classproperty
diff --git a/zzz_generated/app-common/app-common/zap-generated/attribute-id.h b/zzz_generated/app-common/app-common/zap-generated/attribute-id.h
index 3d5690e7b25382..da8e86279c9aab 100644
--- a/zzz_generated/app-common/app-common/zap-generated/attribute-id.h
+++ b/zzz_generated/app-common/app-common/zap-generated/attribute-id.h
@@ -539,7 +539,7 @@
#define ZCL_VENDOR_NAME_ATTRIBUTE_ID (0x0001)
#define ZCL_VENDOR_ID_ATTRIBUTE_ID (0x0002)
#define ZCL_PRODUCT_NAME_ATTRIBUTE_ID (0x0003)
-#define ZCL_USER_LABEL_ATTRIBUTE_ID (0x0005)
+#define ZCL_NODE_LABEL_ATTRIBUTE_ID (0x0005)
#define ZCL_HARDWARE_VERSION_ATTRIBUTE_ID (0x0007)
#define ZCL_HARDWARE_VERSION_STRING_ATTRIBUTE_ID (0x0008)
#define ZCL_SOFTWARE_VERSION_ATTRIBUTE_ID (0x0009)
@@ -550,6 +550,7 @@
#define ZCL_PRODUCT_LABEL_ATTRIBUTE_ID (0x000E)
#define ZCL_SERIAL_NUMBER_ATTRIBUTE_ID (0x000F)
#define ZCL_REACHABLE_ATTRIBUTE_ID (0x0011)
+#define ZCL_UNIQUE_ID_ATTRIBUTE_ID (0x0012)
// Attribute ids for cluster: Switch
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 2c7cf9679df239..30f27cbeeb0143 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
@@ -7593,7 +7593,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value)
} // namespace ProductName
-namespace UserLabel {
+namespace NodeLabel {
EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value)
{
@@ -7621,7 +7621,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value)
return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE);
}
-} // namespace UserLabel
+} // namespace NodeLabel
namespace HardwareVersion {
@@ -7771,7 +7771,7 @@ namespace PartNumber {
EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value)
{
- uint8_t zclString[254 + 1];
+ uint8_t zclString[32 + 1];
EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString));
VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status);
size_t length = emberAfStringLength(zclString);
@@ -7780,16 +7780,16 @@ EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value)
return EMBER_ZCL_STATUS_INVALID_VALUE;
}
- VerifyOrReturnError(value.size() == 254, EMBER_ZCL_STATUS_INVALID_ARGUMENT);
- memcpy(value.data(), &zclString[1], 254);
+ VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_ARGUMENT);
+ memcpy(value.data(), &zclString[1], 32);
value.reduce_size(length);
return status;
}
EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value)
{
- static_assert(254 < NumericAttributeTraits::kNullValue, "value.size() might be too big");
- VerifyOrReturnError(value.size() <= 254, EMBER_ZCL_STATUS_INVALID_ARGUMENT);
- uint8_t zclString[254 + 1];
+ static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big");
+ VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_INVALID_ARGUMENT);
+ uint8_t zclString[32 + 1];
emberAfCopyInt8u(zclString, 0, static_cast(value.size()));
memcpy(&zclString[1], value.data(), value.size());
return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE);
@@ -7801,28 +7801,29 @@ namespace ProductURL {
EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value)
{
- uint8_t zclString[254 + 1];
+ uint8_t zclString[256 + 2];
EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString));
VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status);
- size_t length = emberAfStringLength(zclString);
- if (length == NumericAttributeTraits::kNullValue)
+ size_t length = emberAfLongStringLength(zclString);
+ if (length == NumericAttributeTraits::kNullValue)
{
return EMBER_ZCL_STATUS_INVALID_VALUE;
}
- VerifyOrReturnError(value.size() == 254, EMBER_ZCL_STATUS_INVALID_ARGUMENT);
- memcpy(value.data(), &zclString[1], 254);
+ VerifyOrReturnError(value.size() == 256, EMBER_ZCL_STATUS_INVALID_ARGUMENT);
+ memcpy(value.data(), &zclString[2], 256);
value.reduce_size(length);
return status;
}
EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value)
{
- static_assert(254 < NumericAttributeTraits::kNullValue, "value.size() might be too big");
- VerifyOrReturnError(value.size() <= 254, EMBER_ZCL_STATUS_INVALID_ARGUMENT);
- uint8_t zclString[254 + 1];
- emberAfCopyInt8u(zclString, 0, static_cast(value.size()));
- memcpy(&zclString[1], value.data(), value.size());
- return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE);
+ static_assert(256 < NumericAttributeTraits::kNullValue, "value.size() might be too big");
+ VerifyOrReturnError(value.size() <= 256, EMBER_ZCL_STATUS_INVALID_ARGUMENT);
+ uint8_t zclString[256 + 2];
+ emberAfCopyInt16u(zclString, 0, static_cast(value.size()));
+ memcpy(&zclString[2], value.data(), value.size());
+ return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString,
+ ZCL_LONG_CHAR_STRING_ATTRIBUTE_TYPE);
}
} // namespace ProductURL
@@ -7914,6 +7915,36 @@ EmberAfStatus Set(chip::EndpointId endpoint, bool value)
} // namespace Reachable
+namespace UniqueID {
+
+EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value)
+{
+ uint8_t zclString[32 + 1];
+ EmberAfStatus status = emberAfReadServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, sizeof(zclString));
+ VerifyOrReturnError(EMBER_ZCL_STATUS_SUCCESS == status, status);
+ size_t length = emberAfStringLength(zclString);
+ if (length == NumericAttributeTraits::kNullValue)
+ {
+ return EMBER_ZCL_STATUS_INVALID_VALUE;
+ }
+
+ VerifyOrReturnError(value.size() == 32, EMBER_ZCL_STATUS_INVALID_ARGUMENT);
+ memcpy(value.data(), &zclString[1], 32);
+ value.reduce_size(length);
+ return status;
+}
+EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value)
+{
+ static_assert(32 < NumericAttributeTraits::kNullValue, "value.size() might be too big");
+ VerifyOrReturnError(value.size() <= 32, EMBER_ZCL_STATUS_INVALID_ARGUMENT);
+ uint8_t zclString[32 + 1];
+ emberAfCopyInt8u(zclString, 0, static_cast(value.size()));
+ memcpy(&zclString[1], value.data(), value.size());
+ return emberAfWriteServerAttribute(endpoint, Clusters::BridgedDeviceBasic::Id, Id, zclString, ZCL_CHAR_STRING_ATTRIBUTE_TYPE);
+}
+
+} // namespace UniqueID
+
} // namespace Attributes
} // namespace BridgedDeviceBasic
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 343ac2c5a43173..69ad13d896393c 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
@@ -1555,10 +1555,10 @@ EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // ch
EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value);
} // namespace ProductName
-namespace UserLabel {
+namespace NodeLabel {
EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string
EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value);
-} // namespace UserLabel
+} // namespace NodeLabel
namespace HardwareVersion {
EmberAfStatus Get(chip::EndpointId endpoint, uint16_t * value); // int16u
@@ -1591,7 +1591,7 @@ EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value);
} // namespace PartNumber
namespace ProductURL {
-EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string
+EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // long_char_string
EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value);
} // namespace ProductURL
@@ -1610,6 +1610,11 @@ EmberAfStatus Get(chip::EndpointId endpoint, bool * value); // boolean
EmberAfStatus Set(chip::EndpointId endpoint, bool value);
} // namespace Reachable
+namespace UniqueID {
+EmberAfStatus Get(chip::EndpointId endpoint, chip::MutableCharSpan value); // char_string
+EmberAfStatus Set(chip::EndpointId endpoint, chip::CharSpan value);
+} // namespace UniqueID
+
} // namespace Attributes
} // namespace BridgedDeviceBasic
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 16ed3210110072..9c251a77e592b2 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
@@ -11653,7 +11653,7 @@ struct TypeInfo
static constexpr AttributeId GetAttributeId() { return Attributes::ProductName::Id; }
};
} // namespace ProductName
-namespace UserLabel {
+namespace NodeLabel {
struct TypeInfo
{
using Type = chip::CharSpan;
@@ -11661,9 +11661,9 @@ struct TypeInfo
using DecodableArgType = chip::CharSpan;
static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; }
- static constexpr AttributeId GetAttributeId() { return Attributes::UserLabel::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::NodeLabel::Id; }
};
-} // namespace UserLabel
+} // namespace NodeLabel
namespace HardwareVersion {
struct TypeInfo
{
@@ -11774,6 +11774,17 @@ struct TypeInfo
static constexpr AttributeId GetAttributeId() { return Attributes::Reachable::Id; }
};
} // namespace Reachable
+namespace UniqueID {
+struct TypeInfo
+{
+ using Type = chip::CharSpan;
+ using DecodableType = chip::CharSpan;
+ using DecodableArgType = chip::CharSpan;
+
+ static constexpr ClusterId GetClusterId() { return Clusters::BridgedDeviceBasic::Id; }
+ static constexpr AttributeId GetAttributeId() { return Attributes::UniqueID::Id; }
+};
+} // namespace UniqueID
namespace FeatureMap {
struct TypeInfo
{
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 d87c48b7c46a1b..d1ac5c07d0f78d 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
@@ -1724,9 +1724,9 @@ namespace ProductName {
static constexpr AttributeId Id = 0x00000003;
} // namespace ProductName
-namespace UserLabel {
+namespace NodeLabel {
static constexpr AttributeId Id = 0x00000005;
-} // namespace UserLabel
+} // namespace NodeLabel
namespace HardwareVersion {
static constexpr AttributeId Id = 0x00000007;
@@ -1768,6 +1768,10 @@ namespace Reachable {
static constexpr AttributeId Id = 0x00000011;
} // namespace Reachable
+namespace UniqueID {
+static constexpr AttributeId Id = 0x00000012;
+} // namespace UniqueID
+
namespace FeatureMap {
static constexpr AttributeId Id = Globals::Attributes::FeatureMap::Id;
} // namespace FeatureMap
From c6a37b173f7133dfa0aa60868b6954d5e8048743 Mon Sep 17 00:00:00 2001
From: Paul Zander
Date: Mon, 22 Nov 2021 15:46:05 +0100
Subject: [PATCH 3/4] Process review comments
---
examples/bridge-app/esp32/main/main.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/examples/bridge-app/esp32/main/main.cpp b/examples/bridge-app/esp32/main/main.cpp
index fb2f831223117a..81f195230085cd 100644
--- a/examples/bridge-app/esp32/main/main.cpp
+++ b/examples/bridge-app/esp32/main/main.cpp
@@ -323,8 +323,8 @@ void HandleDeviceStatusChanged(Device * dev, Device::Changed_t itemChangedMask)
if (itemChangedMask & Device::kChanged_Name)
{
- uint8_t zclName[kNodeLabelSize];
- ToZclCharString(zclName, dev->GetName(), kNodeLabelSize - 1);
+ uint8_t zclName[kNodeLabelSize + 1];
+ ToZclCharString(zclName, dev->GetName(), kNodeLabelSize);
MatterReportingAttributeChangeCallback(dev->GetEndpointId(), ZCL_BRIDGED_DEVICE_BASIC_CLUSTER_ID,
ZCL_NODE_LABEL_ATTRIBUTE_ID, CLUSTER_MASK_SERVER, 0, ZCL_CHAR_STRING_ATTRIBUTE_TYPE,
zclName);
From ff1e15c8c8549d8ea9bbca365091641dfb52fbf3 Mon Sep 17 00:00:00 2001
From: Paul Zander
Date: Tue, 23 Nov 2021 10:29:34 +0100
Subject: [PATCH 4/4] Fix wrong naming of attribute UniqueID
---
.../all-clusters-common/all-clusters-app.zap | 2 +-
examples/lighting-app/lighting-common/lighting-app.zap | 2 +-
examples/thermostat/thermostat-common/thermostat.zap | 2 +-
examples/tv-app/tv-common/tv-app.zap | 2 +-
.../tv-casting-common/tv-casting-app.zap | 2 +-
.../suites/certification/Test_TC_DM_1_3_Simulated.yaml | 4 ++--
src/controller/data_model/controller-clusters.zap | 2 +-
.../placeholder/app1/zap-generated/test/Commands.h | 10 +++++-----
.../placeholder/app2/zap-generated/test/Commands.h | 10 +++++-----
9 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap
index 8ddede44e499fe..aa7de84bf23ce3 100644
--- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap
+++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap
@@ -1210,7 +1210,7 @@
"reportableChange": 0
},
{
- "name": "UniqueId",
+ "name": "UniqueID",
"code": 18,
"mfgCode": null,
"side": "server",
diff --git a/examples/lighting-app/lighting-common/lighting-app.zap b/examples/lighting-app/lighting-common/lighting-app.zap
index c2ffa57feff5ad..216bd550e3e032 100644
--- a/examples/lighting-app/lighting-common/lighting-app.zap
+++ b/examples/lighting-app/lighting-common/lighting-app.zap
@@ -1260,7 +1260,7 @@
"reportableChange": 0
},
{
- "name": "UniqueId",
+ "name": "UniqueID",
"code": 18,
"mfgCode": null,
"side": "server",
diff --git a/examples/thermostat/thermostat-common/thermostat.zap b/examples/thermostat/thermostat-common/thermostat.zap
index 32e236689882ac..6420220a1f5ea7 100644
--- a/examples/thermostat/thermostat-common/thermostat.zap
+++ b/examples/thermostat/thermostat-common/thermostat.zap
@@ -1187,7 +1187,7 @@
"reportableChange": 0
},
{
- "name": "UniqueId",
+ "name": "UniqueID",
"code": 18,
"mfgCode": null,
"side": "server",
diff --git a/examples/tv-app/tv-common/tv-app.zap b/examples/tv-app/tv-common/tv-app.zap
index a45ca4c1c3386e..1c771734db40fb 100644
--- a/examples/tv-app/tv-common/tv-app.zap
+++ b/examples/tv-app/tv-common/tv-app.zap
@@ -1172,7 +1172,7 @@
"reportableChange": 0
},
{
- "name": "UniqueId",
+ "name": "UniqueID",
"code": 18,
"mfgCode": null,
"side": "server",
diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap b/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap
index 9d49c163384076..8c693d0fe5aa79 100644
--- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap
+++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.zap
@@ -1187,7 +1187,7 @@
"reportableChange": 0
},
{
- "name": "UniqueId",
+ "name": "UniqueID",
"code": 18,
"mfgCode": null,
"side": "server",
diff --git a/src/app/tests/suites/certification/Test_TC_DM_1_3_Simulated.yaml b/src/app/tests/suites/certification/Test_TC_DM_1_3_Simulated.yaml
index e5666889e14a98..79fdcb39a1e10b 100644
--- a/src/app/tests/suites/certification/Test_TC_DM_1_3_Simulated.yaml
+++ b/src/app/tests/suites/certification/Test_TC_DM_1_3_Simulated.yaml
@@ -103,6 +103,6 @@ tests:
wait: "readAttribute"
attribute: "Reachable"
- - label: "Query UniqueId"
+ - label: "Query UniqueID"
wait: "readAttribute"
- attribute: "UniqueId"
+ attribute: "UniqueID"
diff --git a/src/controller/data_model/controller-clusters.zap b/src/controller/data_model/controller-clusters.zap
index b70bfe60cfea7f..78f91ff102920e 100644
--- a/src/controller/data_model/controller-clusters.zap
+++ b/src/controller/data_model/controller-clusters.zap
@@ -1877,7 +1877,7 @@
"reportableChange": 0
},
{
- "name": "UniqueId",
+ "name": "UniqueID",
"code": 18,
"mfgCode": null,
"side": "server",
diff --git a/zzz_generated/placeholder/app1/zap-generated/test/Commands.h b/zzz_generated/placeholder/app1/zap-generated/test/Commands.h
index 6f00bdea2e41fc..810762ba657b4b 100644
--- a/zzz_generated/placeholder/app1/zap-generated/test/Commands.h
+++ b/zzz_generated/placeholder/app1/zap-generated/test/Commands.h
@@ -132,8 +132,8 @@ class Test_TC_DM_1_3_Simulated : public TestCommand
err = TestQueryReachable_19();
break;
case 20:
- ChipLogProgress(chipTool, " ***** Test Step 20 : Query UniqueId\n");
- err = TestQueryUniqueId_20();
+ ChipLogProgress(chipTool, " ***** Test Step 20 : Query UniqueID\n");
+ err = TestQueryUniqueID_20();
break;
}
@@ -359,14 +359,14 @@ class Test_TC_DM_1_3_Simulated : public TestCommand
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestQueryUniqueId_20()
+ CHIP_ERROR TestQueryUniqueID_20()
{
const chip::EndpointId endpoint = mEndpointId.HasValue() ? mEndpointId.Value() : 0;
- ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Basic Attribute: UniqueId] Query UniqueId", endpoint);
+ ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Basic Attribute: UniqueID] Query UniqueID", endpoint);
ClearAttributeAndCommandPaths();
mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::Basic::Id,
- chip::app::Clusters::Basic::Attributes::UniqueId::Id);
+ chip::app::Clusters::Basic::Attributes::UniqueID::Id);
return CHIP_NO_ERROR;
}
};
diff --git a/zzz_generated/placeholder/app2/zap-generated/test/Commands.h b/zzz_generated/placeholder/app2/zap-generated/test/Commands.h
index 6f00bdea2e41fc..810762ba657b4b 100644
--- a/zzz_generated/placeholder/app2/zap-generated/test/Commands.h
+++ b/zzz_generated/placeholder/app2/zap-generated/test/Commands.h
@@ -132,8 +132,8 @@ class Test_TC_DM_1_3_Simulated : public TestCommand
err = TestQueryReachable_19();
break;
case 20:
- ChipLogProgress(chipTool, " ***** Test Step 20 : Query UniqueId\n");
- err = TestQueryUniqueId_20();
+ ChipLogProgress(chipTool, " ***** Test Step 20 : Query UniqueID\n");
+ err = TestQueryUniqueID_20();
break;
}
@@ -359,14 +359,14 @@ class Test_TC_DM_1_3_Simulated : public TestCommand
return CHIP_NO_ERROR;
}
- CHIP_ERROR TestQueryUniqueId_20()
+ CHIP_ERROR TestQueryUniqueID_20()
{
const chip::EndpointId endpoint = mEndpointId.HasValue() ? mEndpointId.Value() : 0;
- ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Basic Attribute: UniqueId] Query UniqueId", endpoint);
+ ChipLogError(chipTool, "[Endpoint: 0x%08x Cluster: Basic Attribute: UniqueID] Query UniqueID", endpoint);
ClearAttributeAndCommandPaths();
mAttributePath = chip::app::ConcreteAttributePath(endpoint, chip::app::Clusters::Basic::Id,
- chip::app::Clusters::Basic::Attributes::UniqueId::Id);
+ chip::app::Clusters::Basic::Attributes::UniqueID::Id);
return CHIP_NO_ERROR;
}
};