diff --git a/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter b/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter
index d73ebdd8a9dc66..345413f90f2942 100644
--- a/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter
+++ b/examples/air-purifier-app/air-purifier-common/air-purifier-app.matter
@@ -387,7 +387,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter
index c7e916af31e41c..de5fd0936d6a32 100644
--- a/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter
+++ b/examples/air-quality-sensor-app/air-quality-sensor-common/air-quality-sensor-app.matter
@@ -387,7 +387,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
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 02b2ffe75f48ec..f5e513014fb578 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
@@ -1159,7 +1159,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
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 253bc108a75d7d..3254c32d6deb89 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
@@ -1052,7 +1052,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter
index 5e8d7dfbf66287..5b6320a272dea3 100644
--- a/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter
+++ b/examples/chef/devices/noip_rootnode_dimmablelight_bCwGYSDpoe.matter
@@ -682,7 +682,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter
index a7aae142ffcc10..e5aae718206ab2 100644
--- a/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter
+++ b/examples/chef/devices/rootnode_airqualitysensor_e63187f6c9.matter
@@ -387,7 +387,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter b/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter
index 87e9a1a68a2177..06c8b4e71afdb9 100644
--- a/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter
+++ b/examples/chef/devices/rootnode_basicvideoplayer_0ff86e943b.matter
@@ -409,7 +409,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
index d2dc6330fc8cab..7da5fe1677e97a 100644
--- a/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
+++ b/examples/chef/devices/rootnode_colortemperaturelight_hbUnzYVeyn.matter
@@ -661,7 +661,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
index fc5d9e42611cb2..9689712c18bafa 100644
--- a/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
+++ b/examples/chef/devices/rootnode_contactsensor_lFAGG1bfRO.matter
@@ -485,7 +485,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
index 8816206df2a0f5..b1203f6eb8f47e 100644
--- a/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
+++ b/examples/chef/devices/rootnode_dimmablelight_bCwGYSDpoe.matter
@@ -682,7 +682,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
index 33338bb61e01b9..1e3022f72afe51 100644
--- a/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
+++ b/examples/chef/devices/rootnode_doorlock_aNKYAreMXE.matter
@@ -485,7 +485,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
index b50acb53c05651..ab7d1e65d34046 100644
--- a/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
+++ b/examples/chef/devices/rootnode_extendedcolorlight_8lcaaYJVAa.matter
@@ -682,7 +682,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
index a0469bf979e3d6..0a55395a7b561b 100644
--- a/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
+++ b/examples/chef/devices/rootnode_fan_7N2TobIlOX.matter
@@ -464,7 +464,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter
index 970c1548ed992a..3c9ff99195385f 100644
--- a/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter
+++ b/examples/chef/devices/rootnode_flowsensor_1zVxHedlaV.matter
@@ -485,7 +485,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
index ab867cdb524f4b..c972cef32145f1 100644
--- a/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
+++ b/examples/chef/devices/rootnode_heatingcoolingunit_ncdGai1E5a.matter
@@ -682,7 +682,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter
index 63c5a5d3e61f56..2644b85edd5ce6 100644
--- a/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter
+++ b/examples/chef/devices/rootnode_humiditysensor_Xyj4gda6Hb.matter
@@ -485,7 +485,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter
index 5b740fdaeb436c..2f04d6e365d0cd 100644
--- a/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter
+++ b/examples/chef/devices/rootnode_lightsensor_lZQycTFcJK.matter
@@ -485,7 +485,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter
index 6a83a1fcc53f20..8a84b0997b1050 100644
--- a/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter
+++ b/examples/chef/devices/rootnode_occupancysensor_iHyVgifZuo.matter
@@ -485,7 +485,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
index b7d65ef8f75bb8..ac981c17369262 100644
--- a/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
+++ b/examples/chef/devices/rootnode_onofflight_bbs1b7IaOV.matter
@@ -682,7 +682,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_onofflight_samplemei.matter b/examples/chef/devices/rootnode_onofflight_samplemei.matter
index 1fc02ee8624996..e28594be08e109 100644
--- a/examples/chef/devices/rootnode_onofflight_samplemei.matter
+++ b/examples/chef/devices/rootnode_onofflight_samplemei.matter
@@ -682,7 +682,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter
index fcdd39490e76db..e9eaa1a4c31b3a 100644
--- a/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter
+++ b/examples/chef/devices/rootnode_onofflightswitch_FsPlMr090Q.matter
@@ -629,7 +629,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
index 9a443a37fe8f2f..ea8786c871c413 100644
--- a/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
+++ b/examples/chef/devices/rootnode_onoffpluginunit_Wtf8ss5EBY.matter
@@ -557,7 +557,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter
index 0df63aefcbb632..201adf6b167317 100644
--- a/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter
+++ b/examples/chef/devices/rootnode_pressuresensor_s0qC9wLH4k.matter
@@ -485,7 +485,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
index 8397451152164f..ad8832d7430e0f 100644
--- a/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
+++ b/examples/chef/devices/rootnode_speaker_RpzeXdimqA.matter
@@ -605,7 +605,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter
index 2a90bea728720a..de90e7ef0c2550 100644
--- a/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter
+++ b/examples/chef/devices/rootnode_temperaturesensor_Qy1zkNW7c3.matter
@@ -485,7 +485,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
index 95e234657d1061..3afc8aa2d9f902 100644
--- a/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
+++ b/examples/chef/devices/rootnode_thermostat_bm3fb8dhYi.matter
@@ -485,7 +485,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
index 192663d84f7378..db355969e1d136 100644
--- a/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
+++ b/examples/chef/devices/rootnode_windowcovering_RLCxaGi9Yx.matter
@@ -485,7 +485,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter
index f9d9ef358db39d..8c39b27debc585 100644
--- a/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter
+++ b/examples/contact-sensor-app/contact-sensor-common/contact-sensor-app.matter
@@ -464,7 +464,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
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 096637fd94775f..11c0112157a50d 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
@@ -800,7 +800,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter
index 1c7d44eca241dc..8a8c6601e346cb 100644
--- a/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter
+++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-ethernet.matter
@@ -661,7 +661,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter
index 940ccaf176630d..e29db0742bb9b2 100644
--- a/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter
+++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-thread.matter
@@ -661,7 +661,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter
index ba4aa498562195..9fd644a087e709 100644
--- a/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter
+++ b/examples/lighting-app/bouffalolab/data_model/lighting-app-wifi.matter
@@ -661,7 +661,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter
index bc4e69e3035307..3179ec1ba829e4 100644
--- a/examples/lighting-app/lighting-common/lighting-app.matter
+++ b/examples/lighting-app/lighting-common/lighting-app.matter
@@ -854,7 +854,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/lighting-app/nxp/zap/lighting-on-off.matter b/examples/lighting-app/nxp/zap/lighting-on-off.matter
index 67684e8049af17..93b2e2c485ee98 100644
--- a/examples/lighting-app/nxp/zap/lighting-on-off.matter
+++ b/examples/lighting-app/nxp/zap/lighting-on-off.matter
@@ -661,7 +661,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/lighting-app/qpg/zap/light.matter b/examples/lighting-app/qpg/zap/light.matter
index a3739105d0654d..53208bb5b38692 100644
--- a/examples/lighting-app/qpg/zap/light.matter
+++ b/examples/lighting-app/qpg/zap/light.matter
@@ -661,7 +661,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter
index fe8ba2ae975fa9..2d34e1df0722cb 100644
--- a/examples/lighting-app/silabs/data_model/lighting-thread-app.matter
+++ b/examples/lighting-app/silabs/data_model/lighting-thread-app.matter
@@ -854,7 +854,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter
index 04d7951b861917..3efe467fd0b7fa 100644
--- a/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter
+++ b/examples/lighting-app/silabs/data_model/lighting-wifi-app.matter
@@ -854,7 +854,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter b/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter
index a11ae73b013a70..888955efe55360 100644
--- a/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter
+++ b/examples/lit-icd-app/lit-icd-common/lit-icd-server-app.matter
@@ -387,7 +387,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/lock-app/lock-common/lock-app.matter b/examples/lock-app/lock-common/lock-app.matter
index 5eaa5c3eaeb6a6..2625ffd451b270 100644
--- a/examples/lock-app/lock-common/lock-app.matter
+++ b/examples/lock-app/lock-common/lock-app.matter
@@ -387,7 +387,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/lock-app/qpg/zap/lock.matter b/examples/lock-app/qpg/zap/lock.matter
index b8cae3d18b0a79..dde505851acef8 100644
--- a/examples/lock-app/qpg/zap/lock.matter
+++ b/examples/lock-app/qpg/zap/lock.matter
@@ -464,7 +464,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter
index 854d2089036dd0..d12b7476aea0cc 100644
--- a/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter
+++ b/examples/ota-requestor-app/ota-requestor-common/ota-requestor-app.matter
@@ -536,7 +536,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/pump-app/pump-common/pump-app.matter b/examples/pump-app/pump-common/pump-app.matter
index e382204137356b..48f4d1a6760ea1 100644
--- a/examples/pump-app/pump-common/pump-app.matter
+++ b/examples/pump-app/pump-common/pump-app.matter
@@ -605,7 +605,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
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 3e3ccdeb64cb0e..5a5517baaf22d2 100644
--- a/examples/pump-app/silabs/data_model/pump-thread-app.matter
+++ b/examples/pump-app/silabs/data_model/pump-thread-app.matter
@@ -605,7 +605,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
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 3e3ccdeb64cb0e..5a5517baaf22d2 100644
--- a/examples/pump-app/silabs/data_model/pump-wifi-app.matter
+++ b/examples/pump-app/silabs/data_model/pump-wifi-app.matter
@@ -605,7 +605,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
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 e07a0b73a10f9b..1636bc769a1a39 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
@@ -480,7 +480,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter b/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter
index 5669d2050afd39..c1fcadaf99bae6 100644
--- a/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter
+++ b/examples/smoke-co-alarm-app/smoke-co-alarm-common/smoke-co-alarm-app.matter
@@ -464,7 +464,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter
index 7ce87e01354c17..7cfe342186a458 100644
--- a/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter
+++ b/examples/temperature-measurement-app/temperature-measurement-common/temperature-measurement.matter
@@ -337,7 +337,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter
index c64a35f83f1f59..7b9caf9d4c0961 100644
--- a/examples/thermostat/nxp/zap/thermostat_matter_thread.matter
+++ b/examples/thermostat/nxp/zap/thermostat_matter_thread.matter
@@ -728,7 +728,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter
index 5c98cc380b945f..31a5bd3f0032b6 100644
--- a/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter
+++ b/examples/thermostat/nxp/zap/thermostat_matter_wifi.matter
@@ -728,7 +728,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter
index 10cf8f89db25f5..4256e6e3bcde0d 100644
--- a/examples/thermostat/thermostat-common/thermostat.matter
+++ b/examples/thermostat/thermostat-common/thermostat.matter
@@ -535,7 +535,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
diff --git a/examples/window-app/common/window-app.matter b/examples/window-app/common/window-app.matter
index 8bc3fcf63c93ec..01ef06dd0bcc98 100644
--- a/examples/window-app/common/window-app.matter
+++ b/examples/window-app/common/window-app.matter
@@ -464,7 +464,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;
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 c1e762de1b2526..a8ba20d854ac53 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
@@ -39,6 +39,7 @@
/* Cluster: Basic Information, Attribute: NodeLabel, Privilege: view */ \
/* Cluster: Basic Information, Attribute: Location, Privilege: view */ \
/* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: view */ \
+ /* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: view */ \
/* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: view */ \
0x00000031, /* Cluster: Network Commissioning, Attribute: MaxNetworks, Privilege: administer */ \
0x00000031, /* Cluster: Network Commissioning, Attribute: Networks, Privilege: administer */ \
@@ -103,6 +104,7 @@
/* Cluster: Basic Information, Attribute: NodeLabel, Privilege: view */ \
/* Cluster: Basic Information, Attribute: Location, Privilege: view */ \
/* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: view */ \
+ /* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: view */ \
/* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: view */ \
0x00000000, /* Cluster: Network Commissioning, Attribute: MaxNetworks, Privilege: administer */ \
0x00000001, /* Cluster: Network Commissioning, Attribute: Networks, Privilege: administer */ \
@@ -167,6 +169,7 @@
/* Cluster: Basic Information, Attribute: NodeLabel, Privilege: view */ \
/* Cluster: Basic Information, Attribute: Location, Privilege: view */ \
/* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: view */ \
+ /* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: view */ \
/* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: view */ \
kMatterAccessPrivilegeAdminister, /* Cluster: Network Commissioning, Attribute: MaxNetworks, Privilege: administer */ \
kMatterAccessPrivilegeAdminister, /* Cluster: Network Commissioning, Attribute: Networks, Privilege: administer */ \
@@ -231,6 +234,7 @@
0x00000028, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \
0x00000028, /* Cluster: Basic Information, Attribute: Location, Privilege: administer */ \
0x00000028, /* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: manage */ \
+ 0x0000002A, /* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: administer */ \
0x0000002B, /* Cluster: Localization Configuration, Attribute: ActiveLocale, Privilege: manage */ \
0x0000002C, /* Cluster: Time Format Localization, Attribute: HourFormat, Privilege: manage */ \
0x0000002C, /* Cluster: Time Format Localization, Attribute: ActiveCalendarType, Privilege: manage */ \
@@ -290,6 +294,7 @@
0x00000005, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \
0x00000006, /* Cluster: Basic Information, Attribute: Location, Privilege: administer */ \
0x00000010, /* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: manage */ \
+ 0x00000000, /* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: administer */ \
0x00000000, /* Cluster: Localization Configuration, Attribute: ActiveLocale, Privilege: manage */ \
0x00000000, /* Cluster: Time Format Localization, Attribute: HourFormat, Privilege: manage */ \
0x00000001, /* Cluster: Time Format Localization, Attribute: ActiveCalendarType, Privilege: manage */ \
@@ -349,6 +354,7 @@
kMatterAccessPrivilegeManage, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \
kMatterAccessPrivilegeAdminister, /* Cluster: Basic Information, Attribute: Location, Privilege: administer */ \
kMatterAccessPrivilegeManage, /* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: manage */ \
+ kMatterAccessPrivilegeAdminister, /* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: administer */ \
kMatterAccessPrivilegeManage, /* Cluster: Localization Configuration, Attribute: ActiveLocale, Privilege: manage */ \
kMatterAccessPrivilegeManage, /* Cluster: Time Format Localization, Attribute: HourFormat, Privilege: manage */ \
kMatterAccessPrivilegeManage, /* Cluster: Time Format Localization, Attribute: ActiveCalendarType, Privilege: manage */ \
diff --git a/scripts/tools/zap/tests/outputs/lighting-app/app-templates/access.h b/scripts/tools/zap/tests/outputs/lighting-app/app-templates/access.h
index 57fc3854355963..119c12e6f05c06 100644
--- a/scripts/tools/zap/tests/outputs/lighting-app/app-templates/access.h
+++ b/scripts/tools/zap/tests/outputs/lighting-app/app-templates/access.h
@@ -39,6 +39,7 @@
/* Cluster: Basic Information, Attribute: NodeLabel, Privilege: view */ \
/* Cluster: Basic Information, Attribute: Location, Privilege: view */ \
/* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: view */ \
+ /* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: view */ \
/* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: view */ \
0x00000031, /* Cluster: Network Commissioning, Attribute: MaxNetworks, Privilege: administer */ \
0x00000031, /* Cluster: Network Commissioning, Attribute: Networks, Privilege: administer */ \
@@ -64,6 +65,7 @@
/* Cluster: Basic Information, Attribute: NodeLabel, Privilege: view */ \
/* Cluster: Basic Information, Attribute: Location, Privilege: view */ \
/* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: view */ \
+ /* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: view */ \
/* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: view */ \
0x00000000, /* Cluster: Network Commissioning, Attribute: MaxNetworks, Privilege: administer */ \
0x00000001, /* Cluster: Network Commissioning, Attribute: Networks, Privilege: administer */ \
@@ -89,6 +91,7 @@
/* Cluster: Basic Information, Attribute: NodeLabel, Privilege: view */ \
/* Cluster: Basic Information, Attribute: Location, Privilege: view */ \
/* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: view */ \
+ /* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: view */ \
/* Cluster: General Commissioning, Attribute: Breadcrumb, Privilege: view */ \
kMatterAccessPrivilegeAdminister, /* Cluster: Network Commissioning, Attribute: MaxNetworks, Privilege: administer */ \
kMatterAccessPrivilegeAdminister, /* Cluster: Network Commissioning, Attribute: Networks, Privilege: administer */ \
@@ -113,6 +116,7 @@
0x00000028, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \
0x00000028, /* Cluster: Basic Information, Attribute: Location, Privilege: administer */ \
0x00000028, /* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: manage */ \
+ 0x0000002A, /* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: administer */ \
0x0000002B, /* Cluster: Localization Configuration, Attribute: ActiveLocale, Privilege: manage */ \
0x0000002C, /* Cluster: Time Format Localization, Attribute: HourFormat, Privilege: manage */ \
0x0000002C, /* Cluster: Time Format Localization, Attribute: ActiveCalendarType, Privilege: manage */ \
@@ -132,6 +136,7 @@
0x00000005, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \
0x00000006, /* Cluster: Basic Information, Attribute: Location, Privilege: administer */ \
0x00000010, /* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: manage */ \
+ 0x00000000, /* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: administer */ \
0x00000000, /* Cluster: Localization Configuration, Attribute: ActiveLocale, Privilege: manage */ \
0x00000000, /* Cluster: Time Format Localization, Attribute: HourFormat, Privilege: manage */ \
0x00000001, /* Cluster: Time Format Localization, Attribute: ActiveCalendarType, Privilege: manage */ \
@@ -151,6 +156,7 @@
kMatterAccessPrivilegeManage, /* Cluster: Basic Information, Attribute: NodeLabel, Privilege: manage */ \
kMatterAccessPrivilegeAdminister, /* Cluster: Basic Information, Attribute: Location, Privilege: administer */ \
kMatterAccessPrivilegeManage, /* Cluster: Basic Information, Attribute: LocalConfigDisabled, Privilege: manage */ \
+ kMatterAccessPrivilegeAdminister, /* Cluster: OTA Software Update Requestor, Attribute: DefaultOTAProviders, Privilege: administer */ \
kMatterAccessPrivilegeManage, /* Cluster: Localization Configuration, Attribute: ActiveLocale, Privilege: manage */ \
kMatterAccessPrivilegeManage, /* Cluster: Time Format Localization, Attribute: HourFormat, Privilege: manage */ \
kMatterAccessPrivilegeManage, /* Cluster: Time Format Localization, Attribute: ActiveCalendarType, Privilege: manage */ \
diff --git a/src/app/zap-templates/zcl/data-model/chip/chip-ota.xml b/src/app/zap-templates/zcl/data-model/chip/chip-ota.xml
index 28cf9f2f728360..04fa27436383b2 100644
--- a/src/app/zap-templates/zcl/data-model/chip/chip-ota.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/chip-ota.xml
@@ -121,7 +121,11 @@ limitations under the License.
OTA_SOFTWARE_UPDATE_REQUESTOR_CLUSTER
true
true
- DefaultOTAProviders
+
+ DefaultOTAProviders
+
+
+
UpdatePossible
UpdateState
UpdateStateProgress
diff --git a/src/controller/data_model/controller-clusters.matter b/src/controller/data_model/controller-clusters.matter
index a804a6c5a43d45..20c8be920011cf 100644
--- a/src/controller/data_model/controller-clusters.matter
+++ b/src/controller/data_model/controller-clusters.matter
@@ -1099,7 +1099,7 @@ cluster OtaSoftwareUpdateRequestor = 42 {
nullable int64s platformCode = 3;
}
- attribute ProviderLocation defaultOTAProviders[] = 0;
+ attribute access(write: administer) ProviderLocation defaultOTAProviders[] = 0;
readonly attribute boolean updatePossible = 1;
readonly attribute UpdateStateEnum updateState = 2;
readonly attribute nullable int8u updateStateProgress = 3;