From 1325568419cdc503304a72da76b8e75ef62b489c Mon Sep 17 00:00:00 2001 From: Andrei Litvin Date: Tue, 24 Oct 2023 17:54:45 -0400 Subject: [PATCH] Change `Binding Cluster` to match spec (#29961) * Make binding attribute for binding manager to be writable by manager * Zap regen --------- Co-authored-by: Andrei Litvin --- .../all-clusters-common/all-clusters-app.matter | 2 +- .../all-clusters-common/all-clusters-minimal-app.matter | 2 +- examples/bridge-app/bridge-common/bridge-app.matter | 2 +- .../devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter | 2 +- .../chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter | 2 +- .../chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter | 2 +- examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter | 2 +- .../devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter | 2 +- examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter | 2 +- .../devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter | 2 +- .../chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter | 2 +- examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter | 2 +- .../chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter | 2 +- examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter | 2 +- examples/chef/devices/rootnode_onofflight_samplemei.matter | 2 +- .../chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter | 2 +- .../chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter | 2 +- .../chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter | 2 +- examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter | 2 +- .../devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter | 2 +- examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter | 2 +- .../chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter | 2 +- .../dishwasher-app/dishwasher-common/dishwasher-app.matter | 2 +- .../light-switch-common/light-switch-app.matter | 2 +- examples/pump-app/pump-common/pump-app.matter | 2 +- examples/pump-app/silabs/data_model/pump-thread-app.matter | 2 +- examples/pump-app/silabs/data_model/pump-wifi-app.matter | 2 +- .../pump-controller-common/pump-controller-app.matter | 2 +- examples/thermostat/nxp/zap/thermostat_matter_thread.matter | 2 +- examples/thermostat/nxp/zap/thermostat_matter_wifi.matter | 2 +- examples/thermostat/thermostat-common/thermostat.matter | 2 +- examples/tv-app/tv-common/tv-app.matter | 4 ++-- .../tv-casting-app/tv-casting-common/tv-casting-app.matter | 2 +- .../virtual-device-common/virtual-device-app.matter | 2 +- .../tests/outputs/all-clusters-app/app-templates/access.h | 3 +++ .../zap-templates/zcl/data-model/chip/binding-cluster.xml | 5 ++++- src/controller/data_model/controller-clusters.matter | 2 +- 37 files changed, 43 insertions(+), 37 deletions(-) diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter index f6d801a26055a1..ca55e8886e0cd6 100644 --- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter +++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter @@ -590,7 +590,7 @@ server cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter index 7f080349e4a85b..6d37a795a176a0 100644 --- a/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter +++ b/examples/all-clusters-minimal-app/all-clusters-common/all-clusters-minimal-app.matter @@ -441,7 +441,7 @@ server cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/bridge-app/bridge-common/bridge-app.matter b/examples/bridge-app/bridge-common/bridge-app.matter index 6c5362779b84a8..af14b3efff361e 100644 --- a/examples/bridge-app/bridge-common/bridge-app.matter +++ b/examples/bridge-app/bridge-common/bridge-app.matter @@ -240,7 +240,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter index 4a1eaf789ea786..89b46108632a53 100644 --- a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter @@ -300,7 +300,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter index 894236a3283dcd..403e626b98fad9 100644 --- a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter +++ b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter @@ -150,7 +150,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter index 3973e1872d1777..804c4d8a7e18cb 100644 --- a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter +++ b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter @@ -300,7 +300,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter index 82c0f7310fe158..8307cd7e5c0a10 100644 --- a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter +++ b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter @@ -150,7 +150,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter index fbe27d45dbaee4..3fb6d60dc6d864 100644 --- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter +++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter @@ -300,7 +300,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter index 61dc92c5e0d612..bfc22eafeb2bf8 100644 --- a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter +++ b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter @@ -156,7 +156,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter index 66b19755260938..872739993182c5 100644 --- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter +++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter @@ -294,7 +294,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter index ade47b1864fd78..c99a178784ce2c 100644 --- a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter +++ b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter @@ -156,7 +156,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter index 5bf07a8dff27e2..775cb2422e66a9 100644 --- a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter +++ b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter @@ -156,7 +156,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter index 48739a3eb9980f..8c8d08f9b41ffb 100644 --- a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter +++ b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter @@ -156,7 +156,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter index 15378e45b840a2..a7885a230e5c05 100644 --- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter +++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter @@ -300,7 +300,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_onofflight_samplemei.matter b/examples/chef/devices/rootnode_onofflight_samplemei.matter index 6aebb350339e0f..a912d462601443 100644 --- a/examples/chef/devices/rootnode_onofflight_samplemei.matter +++ b/examples/chef/devices/rootnode_onofflight_samplemei.matter @@ -300,7 +300,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter index 038ef0dfc8b255..c0629339acfca8 100644 --- a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter +++ b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter @@ -264,7 +264,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter index 9eec96c24a29fd..3ed8ee7b4282f0 100644 --- a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter +++ b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter @@ -199,7 +199,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter index 6951fb2b6488c9..14daa540df2d4c 100644 --- a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter +++ b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter @@ -156,7 +156,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter index 999eed145752b1..b64b04e6283865 100644 --- a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter +++ b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter @@ -225,7 +225,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter index 858934046259af..9e7312e63ef62c 100644 --- a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter +++ b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter @@ -156,7 +156,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter index 5522fb798a8b75..cb506cb6cde0bb 100644 --- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter +++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter @@ -150,7 +150,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter index 6b3d3345dc163c..af81982dcc0627 100644 --- a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter +++ b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter @@ -150,7 +150,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter b/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter index 2ce1035cb9c937..0c627579cdb9d8 100644 --- a/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter +++ b/examples/dishwasher-app/dishwasher-common/dishwasher-app.matter @@ -156,7 +156,7 @@ server cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.matter b/examples/light-switch-app/light-switch-common/light-switch-app.matter index 6cd211a0acffb6..c6028bec31ec98 100644 --- a/examples/light-switch-app/light-switch-common/light-switch-app.matter +++ b/examples/light-switch-app/light-switch-common/light-switch-app.matter @@ -451,7 +451,7 @@ server cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/pump-app/pump-common/pump-app.matter b/examples/pump-app/pump-common/pump-app.matter index 93e18900203014..cd8295cf194ec5 100644 --- a/examples/pump-app/pump-common/pump-app.matter +++ b/examples/pump-app/pump-common/pump-app.matter @@ -225,7 +225,7 @@ server cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/pump-app/silabs/data_model/pump-thread-app.matter b/examples/pump-app/silabs/data_model/pump-thread-app.matter index 4e45364e1b1e4d..5aabe7e24f54e4 100644 --- a/examples/pump-app/silabs/data_model/pump-thread-app.matter +++ b/examples/pump-app/silabs/data_model/pump-thread-app.matter @@ -225,7 +225,7 @@ server cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/pump-app/silabs/data_model/pump-wifi-app.matter b/examples/pump-app/silabs/data_model/pump-wifi-app.matter index 4e45364e1b1e4d..5aabe7e24f54e4 100644 --- a/examples/pump-app/silabs/data_model/pump-wifi-app.matter +++ b/examples/pump-app/silabs/data_model/pump-wifi-app.matter @@ -225,7 +225,7 @@ server cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter index e5a5a22b2eb7e7..9b7c433dc7028f 100644 --- a/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter +++ b/examples/pump-controller-app/pump-controller-common/pump-controller-app.matter @@ -150,7 +150,7 @@ server cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter index 7137dc169fcbe9..5b57b9d13f0aab 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter +++ b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter @@ -320,7 +320,7 @@ server cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter index b8fae5b9d7b8f9..b47b018f1b06b6 100644 --- a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter +++ b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter @@ -320,7 +320,7 @@ server cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter index 1996e4c9716785..1d646d2fe48dbb 100644 --- a/examples/thermostat/thermostat-common/thermostat.matter +++ b/examples/thermostat/thermostat-common/thermostat.matter @@ -204,7 +204,7 @@ server cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/tv-app/tv-common/tv-app.matter b/examples/tv-app/tv-common/tv-app.matter index e2690c171d4990..be40eb501eb50b 100644 --- a/examples/tv-app/tv-common/tv-app.matter +++ b/examples/tv-app/tv-common/tv-app.matter @@ -194,7 +194,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; @@ -213,7 +213,7 @@ server cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter index dc9a3969157875..035ae6d9cea09f 100644 --- a/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter +++ b/examples/tv-casting-app/tv-casting-common/tv-casting-app.matter @@ -386,7 +386,7 @@ server cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter b/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter index 92e2189a0a152f..a7c45596af6763 100644 --- a/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter +++ b/examples/virtual-device-app/virtual-device-common/virtual-device-app.matter @@ -341,7 +341,7 @@ server cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530; diff --git a/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/access.h b/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/access.h index 56437352d10126..12187528ab8ee1 100644 --- a/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/access.h +++ b/scripts/tools/zap/tests/outputs/all-clusters-app/app-templates/access.h @@ -222,6 +222,7 @@ #define GENERATED_ACCESS_WRITE_ATTRIBUTE__CLUSTER { \ 0x00000006, /* Cluster: On/Off, Attribute: StartUpOnOff, Privilege: manage */ \ 0x00000008, /* Cluster: Level Control, Attribute: StartUpCurrentLevel, Privilege: manage */ \ + 0x0000001E, /* Cluster: Binding, Attribute: Binding, Privilege: manage */ \ 0x0000001F, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \ 0x0000001F, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \ 0x00000028, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \ @@ -276,6 +277,7 @@ #define GENERATED_ACCESS_WRITE_ATTRIBUTE__ATTRIBUTE { \ 0x00004003, /* Cluster: On/Off, Attribute: StartUpOnOff, Privilege: manage */ \ 0x00004000, /* Cluster: Level Control, Attribute: StartUpCurrentLevel, Privilege: manage */ \ + 0x00000000, /* Cluster: Binding, Attribute: Binding, Privilege: manage */ \ 0x00000000, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \ 0x00000001, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \ 0x00000005, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \ @@ -330,6 +332,7 @@ #define GENERATED_ACCESS_WRITE_ATTRIBUTE__PRIVILEGE { \ kMatterAccessPrivilegeManage, /* Cluster: On/Off, Attribute: StartUpOnOff, Privilege: manage */ \ kMatterAccessPrivilegeManage, /* Cluster: Level Control, Attribute: StartUpCurrentLevel, Privilege: manage */ \ + kMatterAccessPrivilegeManage, /* Cluster: Binding, Attribute: Binding, Privilege: manage */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Access Control, Attribute: ACL, Privilege: administer */ \ kMatterAccessPrivilegeAdminister, /* Cluster: Access Control, Attribute: Extension, Privilege: administer */ \ kMatterAccessPrivilegeManage, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \ diff --git a/src/app/zap-templates/zcl/data-model/chip/binding-cluster.xml b/src/app/zap-templates/zcl/data-model/chip/binding-cluster.xml index 09ea471a0415f8..96b3be1377de41 100644 --- a/src/app/zap-templates/zcl/data-model/chip/binding-cluster.xml +++ b/src/app/zap-templates/zcl/data-model/chip/binding-cluster.xml @@ -31,7 +31,10 @@ limitations under the License. 0x001e BINDING_CLUSTER The Binding Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for supporting the binding table. - Binding + + Binding + + diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter index d51909e6558d2b..638d1a99dcdd90 100644 --- a/src/controller/data_model/controller-clusters.matter +++ b/src/controller/data_model/controller-clusters.matter @@ -576,7 +576,7 @@ client cluster Binding = 30 { fabric_idx fabricIndex = 254; } - attribute TargetStruct binding[] = 0; + attribute access(write: manage) TargetStruct binding[] = 0; readonly attribute command_id generatedCommandList[] = 65528; readonly attribute command_id acceptedCommandList[] = 65529; readonly attribute event_id eventList[] = 65530;