Add Access-Control cluster to all example apps using ZAP (#14657)
diff --git a/examples/bridge-app/bridge-common/bridge-app.matter b/examples/bridge-app/bridge-common/bridge-app.matter
index c481394..3f3332c 100644
--- a/examples/bridge-app/bridge-common/bridge-app.matter
+++ b/examples/bridge-app/bridge-common/bridge-app.matter
@@ -6,6 +6,130 @@
CHAR_STRING<16> value = 1;
}
+client cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
+server cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
server cluster AdministratorCommissioning = 60 {
enum CommissioningWindowStatus : ENUM8 {
kWindowNotOpen = 0;
@@ -977,6 +1101,8 @@
endpoint 0 {
+ binding cluster AccessControl;
+ server cluster AccessControl;
server cluster AdministratorCommissioning;
server cluster Basic;
server cluster Descriptor;
diff --git a/examples/bridge-app/bridge-common/bridge-app.zap b/examples/bridge-app/bridge-common/bridge-app.zap
index 8de92c6..d6adc8e 100644
--- a/examples/bridge-app/bridge-common/bridge-app.zap
+++ b/examples/bridge-app/bridge-common/bridge-app.zap
@@ -149,6 +149,103 @@
]
},
{
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ACL",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Extension",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
"name": "Basic",
"code": 40,
"mfgCode": null,
@@ -4976,5 +5073,6 @@
"endpointVersion": 1,
"deviceIdentifier": 257
}
- ]
+ ],
+ "log": []
}
diff --git a/examples/bridge-app/esp32/main/CMakeLists.txt b/examples/bridge-app/esp32/main/CMakeLists.txt
index d90f98c..f0fdad2 100644
--- a/examples/bridge-app/esp32/main/CMakeLists.txt
+++ b/examples/bridge-app/esp32/main/CMakeLists.txt
@@ -25,6 +25,7 @@
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/util"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/reporting"
+ "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/access-control-server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/administrator-commissioning-server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/basic"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/level-control"
diff --git a/examples/door-lock-app/door-lock-common/door-lock-app.matter b/examples/door-lock-app/door-lock-common/door-lock-app.matter
index a16f10c..d76af2d 100644
--- a/examples/door-lock-app/door-lock-common/door-lock-app.matter
+++ b/examples/door-lock-app/door-lock-common/door-lock-app.matter
@@ -6,6 +6,68 @@
CHAR_STRING<16> value = 1;
}
+server cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
server cluster AdministratorCommissioning = 60 {
enum CommissioningWindowStatus : ENUM8 {
kWindowNotOpen = 0;
@@ -1430,6 +1492,7 @@
endpoint 0 {
+ server cluster AccessControl;
server cluster AdministratorCommissioning;
server cluster Basic;
server cluster Descriptor;
diff --git a/examples/door-lock-app/door-lock-common/door-lock-app.zap b/examples/door-lock-app/door-lock-common/door-lock-app.zap
index deabec9..b729ca0 100644
--- a/examples/door-lock-app/door-lock-common/door-lock-app.zap
+++ b/examples/door-lock-app/door-lock-common/door-lock-app.zap
@@ -943,6 +943,103 @@
]
},
{
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ACL",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Extension",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
"name": "Basic",
"code": 40,
"mfgCode": null,
@@ -7082,5 +7179,6 @@
"endpointVersion": 1,
"deviceIdentifier": 10
}
- ]
+ ],
+ "log": []
}
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 cec50b7..21f2976 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
@@ -27,6 +27,25 @@
kAdminister = 5;
}
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
info event AccessControlEntryChanged = 0 {
fabric_idx adminFabricIndex = 0;
nullable node_id adminNodeID = 1;
@@ -43,6 +62,10 @@
nullable ExtensionEntry latestValue = 4;
}
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
}
server cluster AdministratorCommissioning = 60 {
diff --git a/examples/light-switch-app/light-switch-common/light-switch-app.zap b/examples/light-switch-app/light-switch-common/light-switch-app.zap
index 50ba3cc..dd37dd4 100644
--- a/examples/light-switch-app/light-switch-common/light-switch-app.zap
+++ b/examples/light-switch-app/light-switch-common/light-switch-app.zap
@@ -1036,8 +1036,8 @@
"code": 0,
"mfgCode": null,
"side": "server",
- "included": 0,
- "storageOption": "RAM",
+ "included": 1,
+ "storageOption": "External",
"singleton": 0,
"bounded": 0,
"defaultValue": "",
@@ -1051,8 +1051,8 @@
"code": 1,
"mfgCode": null,
"side": "server",
- "included": 0,
- "storageOption": "RAM",
+ "included": 1,
+ "storageOption": "External",
"singleton": 0,
"bounded": 0,
"defaultValue": "",
@@ -1066,8 +1066,8 @@
"code": 65531,
"mfgCode": null,
"side": "server",
- "included": 0,
- "storageOption": "RAM",
+ "included": 1,
+ "storageOption": "External",
"singleton": 0,
"bounded": 0,
"defaultValue": "",
@@ -1096,7 +1096,7 @@
"code": 65533,
"mfgCode": null,
"side": "server",
- "included": 0,
+ "included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
@@ -7092,5 +7092,6 @@
"endpointVersion": 1,
"deviceIdentifier": 259
}
- ]
+ ],
+ "log": []
}
diff --git a/examples/lighting-app/esp32/main/CMakeLists.txt b/examples/lighting-app/esp32/main/CMakeLists.txt
index fa6bc71..edbb284 100644
--- a/examples/lighting-app/esp32/main/CMakeLists.txt
+++ b/examples/lighting-app/esp32/main/CMakeLists.txt
@@ -31,6 +31,7 @@
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/util"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/reporting"
+ "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/access-control-server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/administrator-commissioning-server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/basic"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/bindings"
diff --git a/examples/lighting-app/lighting-common/lighting-app.matter b/examples/lighting-app/lighting-common/lighting-app.matter
index 4f64634..912b8ac 100644
--- a/examples/lighting-app/lighting-common/lighting-app.matter
+++ b/examples/lighting-app/lighting-common/lighting-app.matter
@@ -6,6 +6,68 @@
CHAR_STRING<16> value = 1;
}
+server cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
server cluster AdministratorCommissioning = 60 {
enum CommissioningWindowStatus : ENUM8 {
kWindowNotOpen = 0;
@@ -1524,6 +1586,7 @@
endpoint 0 {
+ server cluster AccessControl;
server cluster AdministratorCommissioning;
server cluster Basic;
server cluster Descriptor;
diff --git a/examples/lighting-app/lighting-common/lighting-app.zap b/examples/lighting-app/lighting-common/lighting-app.zap
index 5961247..fe3aedf 100644
--- a/examples/lighting-app/lighting-common/lighting-app.zap
+++ b/examples/lighting-app/lighting-common/lighting-app.zap
@@ -930,6 +930,103 @@
]
},
{
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ACL",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Extension",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
"name": "Basic",
"code": 40,
"mfgCode": null,
@@ -7386,5 +7483,6 @@
"endpointVersion": 1,
"deviceIdentifier": 259
}
- ]
+ ],
+ "log": []
}
diff --git a/examples/lighting-app/telink/CMakeLists.txt b/examples/lighting-app/telink/CMakeLists.txt
index cad8cc2..b5fff10 100644
--- a/examples/lighting-app/telink/CMakeLists.txt
+++ b/examples/lighting-app/telink/CMakeLists.txt
@@ -69,6 +69,7 @@
${CHIP_ROOT}/src/app/server/OnboardingCodesUtil.cpp
${CHIP_ROOT}/src/app/server/Server.cpp
${CHIP_ROOT}/src/app/server/CommissioningWindowManager.cpp
+ ${CHIP_ROOT}/src/app/clusters/access-control-server/access-control-server.cpp
${CHIP_ROOT}/src/app/clusters/administrator-commissioning-server/administrator-commissioning-server.cpp
${CHIP_ROOT}/src/app/clusters/basic/basic.cpp
${CHIP_ROOT}/src/app/clusters/bindings/BindingManager.cpp
diff --git a/examples/lock-app/esp32/main/CMakeLists.txt b/examples/lock-app/esp32/main/CMakeLists.txt
index f237c45..984b0d7 100644
--- a/examples/lock-app/esp32/main/CMakeLists.txt
+++ b/examples/lock-app/esp32/main/CMakeLists.txt
@@ -39,6 +39,7 @@
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/util"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/reporting"
+ "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/access-control-server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/administrator-commissioning-server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/basic"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/bindings"
@@ -133,6 +134,7 @@
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/util"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/reporting"
+ "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/access-control-server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/administrator-commissioning-server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/basic"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/bindings"
diff --git a/examples/lock-app/lock-common/lock-app.matter b/examples/lock-app/lock-common/lock-app.matter
index 1492664..361f5bd 100644
--- a/examples/lock-app/lock-common/lock-app.matter
+++ b/examples/lock-app/lock-common/lock-app.matter
@@ -6,6 +6,68 @@
CHAR_STRING<16> value = 1;
}
+server cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
server cluster AdministratorCommissioning = 60 {
enum CommissioningWindowStatus : ENUM8 {
kWindowNotOpen = 0;
@@ -924,6 +986,7 @@
endpoint 0 {
+ server cluster AccessControl;
server cluster AdministratorCommissioning;
server cluster Basic;
server cluster Descriptor;
diff --git a/examples/lock-app/lock-common/lock-app.zap b/examples/lock-app/lock-common/lock-app.zap
index 66af412..28d882b 100644
--- a/examples/lock-app/lock-common/lock-app.zap
+++ b/examples/lock-app/lock-common/lock-app.zap
@@ -943,6 +943,87 @@
]
},
{
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [],
+ "attributes": []
+ },
+ {
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ACL",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Extension",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
"name": "Basic",
"code": 40,
"mfgCode": null,
@@ -6171,5 +6252,6 @@
"endpointVersion": 1,
"deviceIdentifier": 10
}
- ]
+ ],
+ "log": []
}
diff --git a/examples/log-source-app/log-source-common/log-source-app.matter b/examples/log-source-app/log-source-common/log-source-app.matter
index 0889833..261ceac 100644
--- a/examples/log-source-app/log-source-common/log-source-app.matter
+++ b/examples/log-source-app/log-source-common/log-source-app.matter
@@ -1,6 +1,68 @@
// This IDL was generated automatically by ZAP.
// It is for view/code review purposes only.
+server cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
client cluster DiagnosticLogs = 50 {
enum LogsIntent : ENUM8 {
kEndUserSupport = 0;
@@ -318,6 +380,7 @@
endpoint 0 {
+ server cluster AccessControl;
binding cluster DiagnosticLogs;
server cluster DiagnosticLogs;
server cluster GeneralCommissioning;
diff --git a/examples/log-source-app/log-source-common/log-source-app.zap b/examples/log-source-app/log-source-common/log-source-app.zap
index cd4a1a2..ca66d6e 100644
--- a/examples/log-source-app/log-source-common/log-source-app.zap
+++ b/examples/log-source-app/log-source-common/log-source-app.zap
@@ -736,6 +736,87 @@
]
},
{
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [],
+ "attributes": []
+ },
+ {
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ACL",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Extension",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
"name": "Basic",
"code": 40,
"mfgCode": null,
@@ -3519,5 +3600,6 @@
"endpointVersion": 1,
"deviceIdentifier": null
}
- ]
+ ],
+ "log": []
}
diff --git a/examples/ota-provider-app/esp32/main/CMakeLists.txt b/examples/ota-provider-app/esp32/main/CMakeLists.txt
index f4da869..11e9338 100644
--- a/examples/ota-provider-app/esp32/main/CMakeLists.txt
+++ b/examples/ota-provider-app/esp32/main/CMakeLists.txt
@@ -28,6 +28,7 @@
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/util"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/reporting"
+ "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/access-control-server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/administrator-commissioning-server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/basic"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/bindings"
diff --git a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter
index 66f8e54..b949d24 100644
--- a/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter
+++ b/examples/ota-provider-app/ota-provider-common/ota-provider-app.matter
@@ -6,6 +6,130 @@
CHAR_STRING<16> value = 1;
}
+client cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
+server cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
server cluster FixedLabel = 64 {
readonly attribute LabelStruct labelList[] = 0;
readonly global attribute int16u clusterRevision = 65533;
@@ -397,6 +521,8 @@
endpoint 0 {
+ binding cluster AccessControl;
+ server cluster AccessControl;
server cluster FixedLabel;
server cluster GeneralCommissioning;
server cluster LocalizationConfiguration;
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 1447c48..be7305b 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
@@ -736,6 +736,103 @@
]
},
{
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "client",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ACL",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Extension",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
"name": "Basic",
"code": 40,
"mfgCode": null,
@@ -4152,5 +4249,6 @@
"endpointVersion": 1,
"deviceIdentifier": 22
}
- ]
+ ],
+ "log": []
}
diff --git a/examples/ota-requestor-app/esp32/main/CMakeLists.txt b/examples/ota-requestor-app/esp32/main/CMakeLists.txt
index e7f6f1f..d6fc50c 100644
--- a/examples/ota-requestor-app/esp32/main/CMakeLists.txt
+++ b/examples/ota-requestor-app/esp32/main/CMakeLists.txt
@@ -28,6 +28,7 @@
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/util"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/reporting"
+ "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/access-control-server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/administrator-commissioning-server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/basic"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/bindings"
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 d53d2f2..ab6faec 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
@@ -6,6 +6,68 @@
CHAR_STRING<16> value = 1;
}
+server cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
server cluster Basic = 40 {
critical event StartUp = 0 {
INT32U softwareVersion = 0;
@@ -514,6 +576,7 @@
endpoint 0 {
+ server cluster AccessControl;
server cluster Basic;
server cluster FixedLabel;
server cluster GeneralCommissioning;
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 eda8ad2..8ad4d5f 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
@@ -736,6 +736,87 @@
]
},
{
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [],
+ "attributes": []
+ },
+ {
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ACL",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Extension",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
"name": "Basic",
"code": 40,
"mfgCode": null,
@@ -4251,5 +4332,6 @@
"endpointVersion": 1,
"deviceIdentifier": 22
}
- ]
+ ],
+ "log": []
}
diff --git a/examples/pump-app/pump-common/pump-app.matter b/examples/pump-app/pump-common/pump-app.matter
index 7987d78..3bc9dac 100644
--- a/examples/pump-app/pump-common/pump-app.matter
+++ b/examples/pump-app/pump-common/pump-app.matter
@@ -6,6 +6,68 @@
CHAR_STRING<16> value = 1;
}
+server cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
server cluster AdministratorCommissioning = 60 {
enum CommissioningWindowStatus : ENUM8 {
kWindowNotOpen = 0;
@@ -987,6 +1049,7 @@
endpoint 0 {
+ server cluster AccessControl;
server cluster AdministratorCommissioning;
server cluster Basic;
server cluster Descriptor;
diff --git a/examples/pump-app/pump-common/pump-app.zap b/examples/pump-app/pump-common/pump-app.zap
index 6cdda3f..81c532d 100644
--- a/examples/pump-app/pump-common/pump-app.zap
+++ b/examples/pump-app/pump-common/pump-app.zap
@@ -848,6 +848,87 @@
]
},
{
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [],
+ "attributes": []
+ },
+ {
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ACL",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Extension",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
"name": "Basic",
"code": 40,
"mfgCode": null,
@@ -6652,5 +6733,6 @@
"endpointVersion": 1,
"deviceIdentifier": 771
}
- ]
+ ],
+ "log": []
}
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 7b91d85..784e14d 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
@@ -6,6 +6,68 @@
CHAR_STRING<16> value = 1;
}
+server cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
server cluster AdministratorCommissioning = 60 {
enum CommissioningWindowStatus : ENUM8 {
kWindowNotOpen = 0;
@@ -1036,6 +1098,7 @@
endpoint 0 {
+ server cluster AccessControl;
server cluster AdministratorCommissioning;
server cluster Basic;
server cluster Descriptor;
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 65daaf5..0cd4f42 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
@@ -848,6 +848,87 @@
]
},
{
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [],
+ "attributes": []
+ },
+ {
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ACL",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Extension",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
"name": "Basic",
"code": 40,
"mfgCode": null,
@@ -6397,5 +6478,6 @@
"endpointVersion": 1,
"deviceIdentifier": 772
}
- ]
+ ],
+ "log": []
}
diff --git a/examples/temperature-measurement-app/esp32/main/CMakeLists.txt b/examples/temperature-measurement-app/esp32/main/CMakeLists.txt
index 7b16c23..e1affc2 100644
--- a/examples/temperature-measurement-app/esp32/main/CMakeLists.txt
+++ b/examples/temperature-measurement-app/esp32/main/CMakeLists.txt
@@ -28,6 +28,7 @@
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/util"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/reporting"
+ "${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/access-control-server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/administrator-commissioning-server"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/basic"
"${CMAKE_SOURCE_DIR}/third_party/connectedhomeip/src/app/clusters/bindings"
diff --git a/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter b/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter
index 5b3206c..bdf43ce 100644
--- a/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter
+++ b/examples/temperature-measurement-app/esp32/main/temperature-measurement.matter
@@ -6,6 +6,68 @@
CHAR_STRING<16> value = 1;
}
+server cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
server cluster AdministratorCommissioning = 60 {
enum CommissioningWindowStatus : ENUM8 {
kWindowNotOpen = 0;
@@ -663,6 +725,7 @@
endpoint 0 {
+ server cluster AccessControl;
server cluster AdministratorCommissioning;
server cluster Basic;
server cluster Descriptor;
diff --git a/examples/temperature-measurement-app/esp32/main/temperature-measurement.zap b/examples/temperature-measurement-app/esp32/main/temperature-measurement.zap
index 979c5dd..bba066c 100644
--- a/examples/temperature-measurement-app/esp32/main/temperature-measurement.zap
+++ b/examples/temperature-measurement-app/esp32/main/temperature-measurement.zap
@@ -551,6 +551,87 @@
]
},
{
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [],
+ "attributes": []
+ },
+ {
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ACL",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Extension",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
"name": "Basic",
"code": 40,
"mfgCode": null,
@@ -3825,5 +3906,6 @@
"endpointVersion": 1,
"deviceIdentifier": 770
}
- ]
+ ],
+ "log": []
}
diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter
index e7dc965..9e3c987 100644
--- a/examples/thermostat/thermostat-common/thermostat.matter
+++ b/examples/thermostat/thermostat-common/thermostat.matter
@@ -6,6 +6,68 @@
CHAR_STRING<16> value = 1;
}
+server cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
server cluster AdministratorCommissioning = 60 {
enum CommissioningWindowStatus : ENUM8 {
kWindowNotOpen = 0;
@@ -1263,6 +1325,7 @@
endpoint 0 {
+ server cluster AccessControl;
server cluster AdministratorCommissioning;
server cluster Basic;
server cluster Binding;
diff --git a/examples/thermostat/thermostat-common/thermostat.zap b/examples/thermostat/thermostat-common/thermostat.zap
index 66df067..da28909 100644
--- a/examples/thermostat/thermostat-common/thermostat.zap
+++ b/examples/thermostat/thermostat-common/thermostat.zap
@@ -917,6 +917,87 @@
]
},
{
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [],
+ "attributes": []
+ },
+ {
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ACL",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Extension",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
"name": "Basic",
"code": 40,
"mfgCode": null,
@@ -14118,5 +14199,6 @@
"endpointVersion": 1,
"deviceIdentifier": 769
}
- ]
+ ],
+ "log": []
}
diff --git a/examples/tv-app/tv-common/tv-app.matter b/examples/tv-app/tv-common/tv-app.matter
index 70771c8..f5dfa93 100644
--- a/examples/tv-app/tv-common/tv-app.matter
+++ b/examples/tv-app/tv-common/tv-app.matter
@@ -6,6 +6,68 @@
CHAR_STRING<16> value = 1;
}
+server cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
server cluster AccountLogin = 1294 {
readonly global attribute int16u clusterRevision = 65533;
@@ -1902,6 +1964,7 @@
endpoint 0 {
+ server cluster AccessControl;
server cluster AdministratorCommissioning;
server cluster Basic;
binding cluster Binding;
diff --git a/examples/tv-app/tv-common/tv-app.zap b/examples/tv-app/tv-common/tv-app.zap
index 8bd3cac..f1709a9 100644
--- a/examples/tv-app/tv-common/tv-app.zap
+++ b/examples/tv-app/tv-common/tv-app.zap
@@ -917,6 +917,87 @@
]
},
{
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [],
+ "attributes": []
+ },
+ {
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ACL",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Extension",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
"name": "Basic",
"code": 40,
"mfgCode": null,
@@ -10835,5 +10916,6 @@
"endpointVersion": 1,
"deviceIdentifier": 36
}
- ]
+ ],
+ "log": []
}
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 fa7a167..201f791 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
@@ -6,6 +6,68 @@
CHAR_STRING<16> value = 1;
}
+server cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
client cluster AccountLogin = 1294 {
readonly global attribute int16u clusterRevision = 65533;
@@ -2824,6 +2886,7 @@
endpoint 0 {
+ server cluster AccessControl;
server cluster AdministratorCommissioning;
server cluster Basic;
server cluster Binding;
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 283dcb3..392b638 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
@@ -917,6 +917,87 @@
]
},
{
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [],
+ "attributes": []
+ },
+ {
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ACL",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Extension",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
"name": "Basic",
"code": 40,
"mfgCode": null,
@@ -16902,5 +16983,6 @@
"endpointVersion": 1,
"deviceIdentifier": 263
}
- ]
+ ],
+ "log": []
}
diff --git a/examples/window-app/common/window-app.matter b/examples/window-app/common/window-app.matter
index a7e3326..a4f6389 100644
--- a/examples/window-app/common/window-app.matter
+++ b/examples/window-app/common/window-app.matter
@@ -6,6 +6,68 @@
CHAR_STRING<16> value = 1;
}
+server cluster AccessControl = 31 {
+ enum AuthMode : ENUM8 {
+ kPase = 1;
+ kCase = 2;
+ kGroup = 3;
+ }
+
+ enum ChangeTypeEnum : ENUM8 {
+ kChanged = 0;
+ kAdded = 1;
+ kRemoved = 2;
+ }
+
+ enum Privilege : ENUM8 {
+ kView = 1;
+ kProxyView = 2;
+ kOperate = 3;
+ kManage = 4;
+ kAdminister = 5;
+ }
+
+ struct AccessControlEntry {
+ fabric_idx fabricIndex = 0;
+ Privilege privilege = 1;
+ AuthMode authMode = 2;
+ nullable INT64U subjects[] = 3;
+ nullable Target targets[] = 4;
+ }
+
+ struct Target {
+ nullable cluster_id cluster = 0;
+ nullable endpoint_no endpoint = 1;
+ nullable devtype_id deviceType = 2;
+ }
+
+ struct ExtensionEntry {
+ fabric_idx fabricIndex = 0;
+ OCTET_STRING<254> data = 1;
+ }
+
+ info event AccessControlEntryChanged = 0 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable AccessControlEntry latestValue = 4;
+ }
+
+ info event AccessControlExtensionChanged = 1 {
+ fabric_idx adminFabricIndex = 0;
+ nullable node_id adminNodeID = 1;
+ nullable INT16U adminPasscodeID = 2;
+ ChangeTypeEnum changeType = 3;
+ nullable ExtensionEntry latestValue = 4;
+ }
+
+ attribute AccessControlEntry acl[] = 0;
+ attribute ExtensionEntry extension[] = 1;
+ readonly global attribute attrib_id attributeList[] = 65531;
+ readonly global attribute int16u clusterRevision = 65533;
+}
+
server cluster AdministratorCommissioning = 60 {
enum CommissioningWindowStatus : ENUM8 {
kWindowNotOpen = 0;
@@ -997,6 +1059,7 @@
endpoint 0 {
+ server cluster AccessControl;
server cluster AdministratorCommissioning;
server cluster Basic;
server cluster Descriptor;
diff --git a/examples/window-app/common/window-app.zap b/examples/window-app/common/window-app.zap
index 6bd7268..73e4522 100644
--- a/examples/window-app/common/window-app.zap
+++ b/examples/window-app/common/window-app.zap
@@ -624,6 +624,87 @@
]
},
{
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "client",
+ "enabled": 0,
+ "commands": [],
+ "attributes": []
+ },
+ {
+ "name": "Access Control",
+ "code": 31,
+ "mfgCode": null,
+ "define": "ACCESS_CONTROL_CLUSTER",
+ "side": "server",
+ "enabled": 1,
+ "commands": [],
+ "attributes": [
+ {
+ "name": "ACL",
+ "code": 0,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "Extension",
+ "code": 1,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "AttributeList",
+ "code": 65531,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "External",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ },
+ {
+ "name": "ClusterRevision",
+ "code": 65533,
+ "mfgCode": null,
+ "side": "server",
+ "included": 1,
+ "storageOption": "RAM",
+ "singleton": 0,
+ "bounded": 0,
+ "defaultValue": "1",
+ "reportable": 1,
+ "minInterval": 1,
+ "maxInterval": 65534,
+ "reportableChange": 0
+ }
+ ]
+ },
+ {
"name": "Basic",
"code": 40,
"mfgCode": null,
@@ -8040,5 +8121,6 @@
"endpointVersion": 1,
"deviceIdentifier": 514
}
- ]
+ ],
+ "log": []
}
diff --git a/zzz_generated/bridge-app/zap-generated/CHIPClientCallbacks.h b/zzz_generated/bridge-app/zap-generated/CHIPClientCallbacks.h
index fbed969..8c6de43 100644
--- a/zzz_generated/bridge-app/zap-generated/CHIPClientCallbacks.h
+++ b/zzz_generated/bridge-app/zap-generated/CHIPClientCallbacks.h
@@ -16,3 +16,34 @@
*/
// THIS FILE IS GENERATED BY ZAP
+
+#pragma once
+
+#include <app-common/zap-generated/af-structs.h>
+#include <app-common/zap-generated/cluster-objects.h>
+#include <app/InteractionModelEngine.h>
+#include <app/data-model/DecodableList.h>
+#include <app/util/af-enums.h>
+#include <app/util/attribute-filter.h>
+#include <app/util/im-client-callbacks.h>
+#include <inttypes.h>
+#include <lib/support/FunctionTraits.h>
+#include <lib/support/Span.h>
+
+// List specific responses
+void AccessControlClusterAclListAttributeFilter(chip::TLV::TLVReader * data, chip::Callback::Cancelable * onSuccessCallback,
+ chip::Callback::Cancelable * onFailureCallback);
+typedef void (*AccessControlAclListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType> &
+ data);
+void AccessControlClusterExtensionListAttributeFilter(chip::TLV::TLVReader * data, chip::Callback::Cancelable * onSuccessCallback,
+ chip::Callback::Cancelable * onFailureCallback);
+typedef void (*AccessControlExtensionListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType> & data);
+void AccessControlClusterAttributeListListAttributeFilter(chip::TLV::TLVReader * data,
+ chip::Callback::Cancelable * onSuccessCallback,
+ chip::Callback::Cancelable * onFailureCallback);
+typedef void (*AccessControlAttributeListListAttributeCallback)(
+ void * context, const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
diff --git a/zzz_generated/bridge-app/zap-generated/CHIPClusters.h b/zzz_generated/bridge-app/zap-generated/CHIPClusters.h
index fbed969..9f50733 100644
--- a/zzz_generated/bridge-app/zap-generated/CHIPClusters.h
+++ b/zzz_generated/bridge-app/zap-generated/CHIPClusters.h
@@ -16,3 +16,26 @@
*/
// THIS FILE IS GENERATED BY ZAP
+
+// Prevent multiple inclusion
+#pragma once
+
+#include <app-common/zap-generated/ids/Clusters.h>
+#include <app-common/zap-generated/ids/Commands.h>
+
+#include <controller/CHIPCluster.h>
+#include <lib/core/CHIPCallback.h>
+#include <lib/support/Span.h>
+
+namespace chip {
+namespace Controller {
+
+class DLL_EXPORT AccessControlCluster : public ClusterBase
+{
+public:
+ AccessControlCluster() : ClusterBase(app::Clusters::AccessControl::Id) {}
+ ~AccessControlCluster() {}
+};
+
+} // namespace Controller
+} // namespace chip
diff --git a/zzz_generated/bridge-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/bridge-app/zap-generated/PluginApplicationCallbacks.h
index ae85ffd..0902df7 100644
--- a/zzz_generated/bridge-app/zap-generated/PluginApplicationCallbacks.h
+++ b/zzz_generated/bridge-app/zap-generated/PluginApplicationCallbacks.h
@@ -22,6 +22,8 @@
#include <app-common/zap-generated/callbacks/PluginCallbacks.h>
#define MATTER_PLUGINS_INIT \
+ MatterAccessControlPluginClientInitCallback(); \
+ MatterAccessControlPluginServerInitCallback(); \
MatterAdministratorCommissioningPluginServerInitCallback(); \
MatterBasicPluginServerInitCallback(); \
MatterDescriptorPluginServerInitCallback(); \
diff --git a/zzz_generated/bridge-app/zap-generated/callback-stub.cpp b/zzz_generated/bridge-app/zap-generated/callback-stub.cpp
index da6042b..ab90545 100644
--- a/zzz_generated/bridge-app/zap-generated/callback-stub.cpp
+++ b/zzz_generated/bridge-app/zap-generated/callback-stub.cpp
@@ -29,6 +29,9 @@
{
switch (clusterId)
{
+ case ZCL_ACCESS_CONTROL_CLUSTER_ID:
+ emberAfAccessControlClusterInitCallback(endpoint);
+ break;
case ZCL_ADMINISTRATOR_COMMISSIONING_CLUSTER_ID:
emberAfAdministratorCommissioningClusterInitCallback(endpoint);
break;
@@ -95,6 +98,11 @@
}
}
+void __attribute__((weak)) emberAfAccessControlClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfAdministratorCommissioningClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
diff --git a/zzz_generated/bridge-app/zap-generated/endpoint_config.h b/zzz_generated/bridge-app/zap-generated/endpoint_config.h
index e0d512c..def0644 100644
--- a/zzz_generated/bridge-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/bridge-app/zap-generated/endpoint_config.h
@@ -592,7 +592,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 202
+#define GENERATED_ATTRIBUTE_COUNT 207
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -603,6 +603,17 @@
{ 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */ \
\
+ /* Endpoint: 0, Cluster: Access Control (client) */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* ACL */ \
+ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* Extension */ \
+ { 0x0000FFFB, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AttributeList */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
/* Endpoint: 0, Cluster: Basic (server) */ \
{ 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(10) }, /* DataModelRevision */ \
{ 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
@@ -992,7 +1003,7 @@
// clang-format on
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 22
+#define GENERATED_CLUSTER_COUNT 24
// clang-format off
#define GENERATED_CLUSTERS { \
@@ -1008,9 +1019,31 @@
.serverGeneratedCommandList = nullptr ,\
},\
{ \
+ /* Endpoint: 0, Cluster: Access Control (client) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(5), \
+ .attributeCount = 1, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(CLIENT), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(6), \
+ .attributeCount = 4, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(SERVER), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
/* Endpoint: 0, Cluster: Basic (server) */ \
.clusterId = 0x00000028, \
- .attributes = ZAP_ATTRIBUTE_INDEX(5), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(10), \
.attributeCount = 20, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1021,7 +1054,7 @@
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(25), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(30), \
.attributeCount = 3, \
.clusterSize = 38, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1032,7 +1065,7 @@
{ \
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
.clusterId = 0x0000002C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(28), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(33), \
.attributeCount = 4, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1043,7 +1076,7 @@
{ \
/* Endpoint: 0, Cluster: Unit Localization (server) */ \
.clusterId = 0x0000002D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(32), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(37), \
.attributeCount = 3, \
.clusterSize = 7, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1054,7 +1087,7 @@
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(35), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(40), \
.attributeCount = 6, \
.clusterSize = 16, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1065,7 +1098,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(41), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(46), \
.attributeCount = 10, \
.clusterSize = 60, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1076,7 +1109,7 @@
{ \
/* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
.clusterId = 0x00000032, \
- .attributes = ZAP_ATTRIBUTE_INDEX(51), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(56), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1087,7 +1120,7 @@
{ \
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
.clusterId = 0x00000033, \
- .attributes = ZAP_ATTRIBUTE_INDEX(51), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(56), \
.attributeCount = 9, \
.clusterSize = 17, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1098,7 +1131,7 @@
{ \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
.clusterId = 0x00000034, \
- .attributes = ZAP_ATTRIBUTE_INDEX(60), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(65), \
.attributeCount = 6, \
.clusterSize = 30, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1109,7 +1142,7 @@
{ \
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
.clusterId = 0x00000035, \
- .attributes = ZAP_ATTRIBUTE_INDEX(66), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(71), \
.attributeCount = 65, \
.clusterSize = 247, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1120,7 +1153,7 @@
{ \
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
.clusterId = 0x00000036, \
- .attributes = ZAP_ATTRIBUTE_INDEX(131), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(136), \
.attributeCount = 15, \
.clusterSize = 58, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1131,7 +1164,7 @@
{ \
/* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
.clusterId = 0x00000037, \
- .attributes = ZAP_ATTRIBUTE_INDEX(146), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(151), \
.attributeCount = 11, \
.clusterSize = 57, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1142,7 +1175,7 @@
{ \
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
.clusterId = 0x0000003C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(157), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(162), \
.attributeCount = 4, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1153,7 +1186,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(161), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(166), \
.attributeCount = 7, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1164,7 +1197,7 @@
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(168), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(173), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1175,7 +1208,7 @@
{ \
/* Endpoint: 0, Cluster: User Label (server) */ \
.clusterId = 0x00000041, \
- .attributes = ZAP_ATTRIBUTE_INDEX(170), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(175), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1186,7 +1219,7 @@
{ \
/* Endpoint: 1, Cluster: On/Off (server) */ \
.clusterId = 0x00000006, \
- .attributes = ZAP_ATTRIBUTE_INDEX(172), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(177), \
.attributeCount = 2, \
.clusterSize = 3, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1197,7 +1230,7 @@
{ \
/* Endpoint: 1, Cluster: Level Control (server) */ \
.clusterId = 0x00000008, \
- .attributes = ZAP_ATTRIBUTE_INDEX(174), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(179), \
.attributeCount = 16, \
.clusterSize = 27, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1208,7 +1241,7 @@
{ \
/* Endpoint: 1, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(190), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(195), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1219,7 +1252,7 @@
{ \
/* Endpoint: 1, Cluster: Switch (server) */ \
.clusterId = 0x0000003B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(195), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(200), \
.attributeCount = 5, \
.clusterSize = 9, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1230,7 +1263,7 @@
{ \
/* Endpoint: 1, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(200), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(205), \
.attributeCount = 2, \
.clusterSize = 256, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1244,12 +1277,12 @@
#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
-#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 22
+#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 23
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 17, 583 }, { ZAP_CLUSTER_INDEX(17), 5, 295 }, \
+ { ZAP_CLUSTER_INDEX(0), 19, 587 }, { ZAP_CLUSTER_INDEX(19), 5, 295 }, \
}
// Largest attribute size is needed for various buffers
@@ -1259,7 +1292,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (39)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (878)
+#define ATTRIBUTE_MAX_SIZE (882)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (2)
diff --git a/zzz_generated/bridge-app/zap-generated/gen_config.h b/zzz_generated/bridge-app/zap-generated/gen_config.h
index fef3120..79f8ce5 100644
--- a/zzz_generated/bridge-app/zap-generated/gen_config.h
+++ b/zzz_generated/bridge-app/zap-generated/gen_config.h
@@ -29,6 +29,8 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_DESCRIPTOR_CLUSTER_SERVER_ENDPOINT_COUNT (2)
@@ -52,6 +54,15 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the client side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_CLIENT
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_CLIENT
+
+// Use this macro to check if the server side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL
+
// Use this macro to check if the server side of the AdministratorCommissioning cluster is included
#define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING_SERVER
diff --git a/zzz_generated/door-lock-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/door-lock-app/zap-generated/PluginApplicationCallbacks.h
index 33a8d4d..ca79988 100644
--- a/zzz_generated/door-lock-app/zap-generated/PluginApplicationCallbacks.h
+++ b/zzz_generated/door-lock-app/zap-generated/PluginApplicationCallbacks.h
@@ -22,6 +22,7 @@
#include <app-common/zap-generated/callbacks/PluginCallbacks.h>
#define MATTER_PLUGINS_INIT \
+ MatterAccessControlPluginServerInitCallback(); \
MatterAdministratorCommissioningPluginServerInitCallback(); \
MatterBasicPluginServerInitCallback(); \
MatterDescriptorPluginServerInitCallback(); \
diff --git a/zzz_generated/door-lock-app/zap-generated/callback-stub.cpp b/zzz_generated/door-lock-app/zap-generated/callback-stub.cpp
index 460fd6f..9c66d02 100644
--- a/zzz_generated/door-lock-app/zap-generated/callback-stub.cpp
+++ b/zzz_generated/door-lock-app/zap-generated/callback-stub.cpp
@@ -29,6 +29,9 @@
{
switch (clusterId)
{
+ case ZCL_ACCESS_CONTROL_CLUSTER_ID:
+ emberAfAccessControlClusterInitCallback(endpoint);
+ break;
case ZCL_ADMINISTRATOR_COMMISSIONING_CLUSTER_ID:
emberAfAdministratorCommissioningClusterInitCallback(endpoint);
break;
@@ -92,6 +95,11 @@
}
}
+void __attribute__((weak)) emberAfAccessControlClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfAdministratorCommissioningClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
diff --git a/zzz_generated/door-lock-app/zap-generated/endpoint_config.h b/zzz_generated/door-lock-app/zap-generated/endpoint_config.h
index 9df5717..5cdcfb1 100644
--- a/zzz_generated/door-lock-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/door-lock-app/zap-generated/endpoint_config.h
@@ -592,7 +592,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 216
+#define GENERATED_ATTRIBUTE_COUNT 220
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -603,6 +603,14 @@
{ 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */ \
\
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* ACL */ \
+ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* Extension */ \
+ { 0x0000FFFB, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AttributeList */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
/* Endpoint: 0, Cluster: Basic (server) */ \
{ 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(10) }, /* DataModelRevision */ \
{ 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
@@ -999,7 +1007,7 @@
// clang-format on
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 21
+#define GENERATED_CLUSTER_COUNT 22
// clang-format off
#define GENERATED_CLUSTERS { \
@@ -1015,9 +1023,20 @@
.serverGeneratedCommandList = nullptr ,\
},\
{ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(5), \
+ .attributeCount = 4, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(SERVER), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
/* Endpoint: 0, Cluster: Basic (server) */ \
.clusterId = 0x00000028, \
- .attributes = ZAP_ATTRIBUTE_INDEX(5), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(9), \
.attributeCount = 20, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1028,7 +1047,7 @@
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(25), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(29), \
.attributeCount = 3, \
.clusterSize = 38, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1039,7 +1058,7 @@
{ \
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
.clusterId = 0x0000002C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(28), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(32), \
.attributeCount = 4, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1050,7 +1069,7 @@
{ \
/* Endpoint: 0, Cluster: Power Source Configuration (server) */ \
.clusterId = 0x0000002E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(32), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(36), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1061,7 +1080,7 @@
{ \
/* Endpoint: 0, Cluster: Power Source (server) */ \
.clusterId = 0x0000002F, \
- .attributes = ZAP_ATTRIBUTE_INDEX(34), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(38), \
.attributeCount = 6, \
.clusterSize = 73, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1072,7 +1091,7 @@
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(40), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(44), \
.attributeCount = 6, \
.clusterSize = 16, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1083,7 +1102,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(46), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(50), \
.attributeCount = 10, \
.clusterSize = 60, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1094,7 +1113,7 @@
{ \
/* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
.clusterId = 0x00000032, \
- .attributes = ZAP_ATTRIBUTE_INDEX(56), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(60), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1105,7 +1124,7 @@
{ \
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
.clusterId = 0x00000033, \
- .attributes = ZAP_ATTRIBUTE_INDEX(56), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(60), \
.attributeCount = 9, \
.clusterSize = 17, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1116,7 +1135,7 @@
{ \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
.clusterId = 0x00000034, \
- .attributes = ZAP_ATTRIBUTE_INDEX(65), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(69), \
.attributeCount = 6, \
.clusterSize = 30, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1127,7 +1146,7 @@
{ \
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
.clusterId = 0x00000035, \
- .attributes = ZAP_ATTRIBUTE_INDEX(71), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(75), \
.attributeCount = 65, \
.clusterSize = 247, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1138,7 +1157,7 @@
{ \
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
.clusterId = 0x00000036, \
- .attributes = ZAP_ATTRIBUTE_INDEX(136), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(140), \
.attributeCount = 15, \
.clusterSize = 58, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1149,7 +1168,7 @@
{ \
/* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
.clusterId = 0x00000037, \
- .attributes = ZAP_ATTRIBUTE_INDEX(151), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(155), \
.attributeCount = 11, \
.clusterSize = 57, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1160,7 +1179,7 @@
{ \
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
.clusterId = 0x0000003C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(162), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(166), \
.attributeCount = 4, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1171,7 +1190,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(166), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(170), \
.attributeCount = 7, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1182,7 +1201,7 @@
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(173), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(177), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1193,7 +1212,7 @@
{ \
/* Endpoint: 0, Cluster: User Label (server) */ \
.clusterId = 0x00000041, \
- .attributes = ZAP_ATTRIBUTE_INDEX(175), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(179), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1204,7 +1223,7 @@
{ \
/* Endpoint: 1, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(177), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(181), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1215,7 +1234,7 @@
{ \
/* Endpoint: 1, Cluster: Power Source (server) */ \
.clusterId = 0x0000002F, \
- .attributes = ZAP_ATTRIBUTE_INDEX(182), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(186), \
.attributeCount = 9, \
.clusterSize = 133, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1226,7 +1245,7 @@
{ \
/* Endpoint: 1, Cluster: Door Lock (server) */ \
.clusterId = 0x00000101, \
- .attributes = ZAP_ATTRIBUTE_INDEX(191), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(195), \
.attributeCount = 25, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1240,12 +1259,12 @@
#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
-#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 21
+#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 22
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 18, 651 }, { ZAP_CLUSTER_INDEX(18), 3, 172 }, \
+ { ZAP_CLUSTER_INDEX(0), 19, 653 }, { ZAP_CLUSTER_INDEX(19), 3, 172 }, \
}
// Largest attribute size is needed for various buffers
@@ -1255,7 +1274,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (39)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (823)
+#define ATTRIBUTE_MAX_SIZE (825)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (2)
diff --git a/zzz_generated/door-lock-app/zap-generated/gen_config.h b/zzz_generated/door-lock-app/zap-generated/gen_config.h
index 19d7875..9ad6bec 100644
--- a/zzz_generated/door-lock-app/zap-generated/gen_config.h
+++ b/zzz_generated/door-lock-app/zap-generated/gen_config.h
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_DESCRIPTOR_CLUSTER_SERVER_ENDPOINT_COUNT (2)
@@ -51,6 +52,11 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the server side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL
+
// Use this macro to check if the server side of the AdministratorCommissioning cluster is included
#define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING_SERVER
diff --git a/zzz_generated/light-switch-app/zap-generated/endpoint_config.h b/zzz_generated/light-switch-app/zap-generated/endpoint_config.h
index ee80e22..267779b 100644
--- a/zzz_generated/light-switch-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/light-switch-app/zap-generated/endpoint_config.h
@@ -510,7 +510,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 187
+#define GENERATED_ATTRIBUTE_COUNT 191
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -524,6 +524,14 @@
/* Endpoint: 0, Cluster: Binding (server) */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* ACL */ \
+ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* Extension */ \
+ { 0x0000FFFB, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AttributeList */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
/* Endpoint: 0, Cluster: Basic (server) */ \
{ 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(10) }, /* DataModelRevision */ \
{ 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
@@ -1019,8 +1027,8 @@
/* Endpoint: 0, Cluster: Access Control (server) */ \
.clusterId = 0x0000001F, \
.attributes = ZAP_ATTRIBUTE_INDEX(6), \
- .attributeCount = 0, \
- .clusterSize = 0, \
+ .attributeCount = 4, \
+ .clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.clientGeneratedCommandList = nullptr ,\
@@ -1029,7 +1037,7 @@
{ \
/* Endpoint: 0, Cluster: Basic (server) */ \
.clusterId = 0x00000028, \
- .attributes = ZAP_ATTRIBUTE_INDEX(6), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(10), \
.attributeCount = 20, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1040,7 +1048,7 @@
{ \
/* Endpoint: 0, Cluster: OTA Software Update Provider (client) */ \
.clusterId = 0x00000029, \
- .attributes = ZAP_ATTRIBUTE_INDEX(26), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(30), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1051,7 +1059,7 @@
{ \
/* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */ \
.clusterId = 0x0000002A, \
- .attributes = ZAP_ATTRIBUTE_INDEX(27), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(31), \
.attributeCount = 5, \
.clusterSize = 5, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1062,7 +1070,7 @@
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(32), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(36), \
.attributeCount = 2, \
.clusterSize = 36, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1073,7 +1081,7 @@
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(34), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(38), \
.attributeCount = 6, \
.clusterSize = 16, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1084,7 +1092,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(40), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(44), \
.attributeCount = 10, \
.clusterSize = 48, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1095,7 +1103,7 @@
{ \
/* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
.clusterId = 0x00000032, \
- .attributes = ZAP_ATTRIBUTE_INDEX(50), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(54), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1106,7 +1114,7 @@
{ \
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
.clusterId = 0x00000033, \
- .attributes = ZAP_ATTRIBUTE_INDEX(50), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(54), \
.attributeCount = 9, \
.clusterSize = 17, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1117,7 +1125,7 @@
{ \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
.clusterId = 0x00000034, \
- .attributes = ZAP_ATTRIBUTE_INDEX(59), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(63), \
.attributeCount = 6, \
.clusterSize = 30, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1128,7 +1136,7 @@
{ \
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
.clusterId = 0x00000035, \
- .attributes = ZAP_ATTRIBUTE_INDEX(65), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(69), \
.attributeCount = 65, \
.clusterSize = 247, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1139,7 +1147,7 @@
{ \
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
.clusterId = 0x00000036, \
- .attributes = ZAP_ATTRIBUTE_INDEX(130), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(134), \
.attributeCount = 15, \
.clusterSize = 58, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1150,7 +1158,7 @@
{ \
/* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
.clusterId = 0x00000037, \
- .attributes = ZAP_ATTRIBUTE_INDEX(145), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(149), \
.attributeCount = 11, \
.clusterSize = 57, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1161,7 +1169,7 @@
{ \
/* Endpoint: 0, Cluster: Switch (server) */ \
.clusterId = 0x0000003B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(156), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(160), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1172,7 +1180,7 @@
{ \
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
.clusterId = 0x0000003C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(156), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(160), \
.attributeCount = 4, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1183,7 +1191,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(160), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(164), \
.attributeCount = 7, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1194,7 +1202,7 @@
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(167), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(171), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1205,7 +1213,7 @@
{ \
/* Endpoint: 0, Cluster: User Label (server) */ \
.clusterId = 0x00000041, \
- .attributes = ZAP_ATTRIBUTE_INDEX(169), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(173), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1216,7 +1224,7 @@
{ \
/* Endpoint: 1, Cluster: Identify (client) */ \
.clusterId = 0x00000003, \
- .attributes = ZAP_ATTRIBUTE_INDEX(171), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(175), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1227,7 +1235,7 @@
{ \
/* Endpoint: 1, Cluster: Identify (server) */ \
.clusterId = 0x00000003, \
- .attributes = ZAP_ATTRIBUTE_INDEX(172), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(176), \
.attributeCount = 4, \
.clusterSize = 5, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1238,7 +1246,7 @@
{ \
/* Endpoint: 1, Cluster: Groups (client) */ \
.clusterId = 0x00000004, \
- .attributes = ZAP_ATTRIBUTE_INDEX(176), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(180), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1249,7 +1257,7 @@
{ \
/* Endpoint: 1, Cluster: Scenes (client) */ \
.clusterId = 0x00000005, \
- .attributes = ZAP_ATTRIBUTE_INDEX(177), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(181), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1260,7 +1268,7 @@
{ \
/* Endpoint: 1, Cluster: On/Off (client) */ \
.clusterId = 0x00000006, \
- .attributes = ZAP_ATTRIBUTE_INDEX(178), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(182), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1271,7 +1279,7 @@
{ \
/* Endpoint: 1, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(179), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(183), \
.attributeCount = 6, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1282,7 +1290,7 @@
{ \
/* Endpoint: 1, Cluster: Binding (server) */ \
.clusterId = 0x0000001E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(185), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(189), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1293,7 +1301,7 @@
{ \
/* Endpoint: 1, Cluster: Color Control (client) */ \
.clusterId = 0x00000300, \
- .attributes = ZAP_ATTRIBUTE_INDEX(186), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(190), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1312,7 +1320,7 @@
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 20, 567 }, { ZAP_CLUSTER_INDEX(20), 8, 17 }, \
+ { ZAP_CLUSTER_INDEX(0), 20, 569 }, { ZAP_CLUSTER_INDEX(20), 8, 17 }, \
}
// Largest attribute size is needed for various buffers
@@ -1322,7 +1330,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (39)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (584)
+#define ATTRIBUTE_MAX_SIZE (586)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (2)
diff --git a/zzz_generated/lighting-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/lighting-app/zap-generated/PluginApplicationCallbacks.h
index 7efd0d8..20381f3 100644
--- a/zzz_generated/lighting-app/zap-generated/PluginApplicationCallbacks.h
+++ b/zzz_generated/lighting-app/zap-generated/PluginApplicationCallbacks.h
@@ -22,6 +22,7 @@
#include <app-common/zap-generated/callbacks/PluginCallbacks.h>
#define MATTER_PLUGINS_INIT \
+ MatterAccessControlPluginServerInitCallback(); \
MatterAdministratorCommissioningPluginServerInitCallback(); \
MatterBasicPluginServerInitCallback(); \
MatterColorControlPluginServerInitCallback(); \
diff --git a/zzz_generated/lighting-app/zap-generated/callback-stub.cpp b/zzz_generated/lighting-app/zap-generated/callback-stub.cpp
index b67b814..bdca6a8 100644
--- a/zzz_generated/lighting-app/zap-generated/callback-stub.cpp
+++ b/zzz_generated/lighting-app/zap-generated/callback-stub.cpp
@@ -29,6 +29,9 @@
{
switch (clusterId)
{
+ case ZCL_ACCESS_CONTROL_CLUSTER_ID:
+ emberAfAccessControlClusterInitCallback(endpoint);
+ break;
case ZCL_ADMINISTRATOR_COMMISSIONING_CLUSTER_ID:
emberAfAdministratorCommissioningClusterInitCallback(endpoint);
break;
@@ -113,6 +116,11 @@
}
}
+void __attribute__((weak)) emberAfAccessControlClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfAdministratorCommissioningClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
diff --git a/zzz_generated/lighting-app/zap-generated/endpoint_config.h b/zzz_generated/lighting-app/zap-generated/endpoint_config.h
index 5651376..6b5d105 100644
--- a/zzz_generated/lighting-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/lighting-app/zap-generated/endpoint_config.h
@@ -558,7 +558,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 240
+#define GENERATED_ATTRIBUTE_COUNT 244
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -573,6 +573,14 @@
{ 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */ \
\
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* ACL */ \
+ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* Extension */ \
+ { 0x0000FFFB, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AttributeList */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
/* Endpoint: 0, Cluster: Basic (server) */ \
{ 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(10) }, /* DataModelRevision */ \
{ 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
@@ -1118,7 +1126,7 @@
// clang-format on
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 29
+#define GENERATED_CLUSTER_COUNT 30
// clang-format off
#define GENERATED_CLUSTERS { \
@@ -1145,9 +1153,20 @@
.serverGeneratedCommandList = nullptr ,\
},\
{ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(7), \
+ .attributeCount = 4, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(SERVER), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
/* Endpoint: 0, Cluster: Basic (server) */ \
.clusterId = 0x00000028, \
- .attributes = ZAP_ATTRIBUTE_INDEX(7), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(11), \
.attributeCount = 20, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1158,7 +1177,7 @@
{ \
/* Endpoint: 0, Cluster: OTA Software Update Provider (client) */ \
.clusterId = 0x00000029, \
- .attributes = ZAP_ATTRIBUTE_INDEX(27), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(31), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1169,7 +1188,7 @@
{ \
/* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */ \
.clusterId = 0x0000002A, \
- .attributes = ZAP_ATTRIBUTE_INDEX(28), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(32), \
.attributeCount = 5, \
.clusterSize = 5, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1180,7 +1199,7 @@
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(33), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(37), \
.attributeCount = 3, \
.clusterSize = 38, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1191,7 +1210,7 @@
{ \
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
.clusterId = 0x0000002C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(36), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(40), \
.attributeCount = 4, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1202,7 +1221,7 @@
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(40), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(44), \
.attributeCount = 6, \
.clusterSize = 16, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1213,7 +1232,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(46), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(50), \
.attributeCount = 10, \
.clusterSize = 60, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1224,7 +1243,7 @@
{ \
/* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
.clusterId = 0x00000032, \
- .attributes = ZAP_ATTRIBUTE_INDEX(56), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(60), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1235,7 +1254,7 @@
{ \
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
.clusterId = 0x00000033, \
- .attributes = ZAP_ATTRIBUTE_INDEX(56), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(60), \
.attributeCount = 9, \
.clusterSize = 17, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1246,7 +1265,7 @@
{ \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
.clusterId = 0x00000034, \
- .attributes = ZAP_ATTRIBUTE_INDEX(65), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(69), \
.attributeCount = 6, \
.clusterSize = 30, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1257,7 +1276,7 @@
{ \
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
.clusterId = 0x00000035, \
- .attributes = ZAP_ATTRIBUTE_INDEX(71), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(75), \
.attributeCount = 65, \
.clusterSize = 247, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1268,7 +1287,7 @@
{ \
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
.clusterId = 0x00000036, \
- .attributes = ZAP_ATTRIBUTE_INDEX(136), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(140), \
.attributeCount = 15, \
.clusterSize = 58, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1279,7 +1298,7 @@
{ \
/* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
.clusterId = 0x00000037, \
- .attributes = ZAP_ATTRIBUTE_INDEX(151), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(155), \
.attributeCount = 11, \
.clusterSize = 57, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1290,7 +1309,7 @@
{ \
/* Endpoint: 0, Cluster: Switch (server) */ \
.clusterId = 0x0000003B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(162), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(166), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1301,7 +1320,7 @@
{ \
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
.clusterId = 0x0000003C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(162), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(166), \
.attributeCount = 4, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1312,7 +1331,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(166), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(170), \
.attributeCount = 7, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1323,7 +1342,7 @@
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(173), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(177), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1334,7 +1353,7 @@
{ \
/* Endpoint: 0, Cluster: User Label (server) */ \
.clusterId = 0x00000041, \
- .attributes = ZAP_ATTRIBUTE_INDEX(175), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(179), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1345,7 +1364,7 @@
{ \
/* Endpoint: 1, Cluster: Identify (server) */ \
.clusterId = 0x00000003, \
- .attributes = ZAP_ATTRIBUTE_INDEX(177), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(181), \
.attributeCount = 3, \
.clusterSize = 5, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1356,7 +1375,7 @@
{ \
/* Endpoint: 1, Cluster: Groups (server) */ \
.clusterId = 0x00000004, \
- .attributes = ZAP_ATTRIBUTE_INDEX(180), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(184), \
.attributeCount = 2, \
.clusterSize = 3, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1367,7 +1386,7 @@
{ \
/* Endpoint: 1, Cluster: On/Off (server) */ \
.clusterId = 0x00000006, \
- .attributes = ZAP_ATTRIBUTE_INDEX(182), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(186), \
.attributeCount = 7, \
.clusterSize = 13, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1378,7 +1397,7 @@
{ \
/* Endpoint: 1, Cluster: Level Control (server) */ \
.clusterId = 0x00000008, \
- .attributes = ZAP_ATTRIBUTE_INDEX(189), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(193), \
.attributeCount = 16, \
.clusterSize = 27, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1389,7 +1408,7 @@
{ \
/* Endpoint: 1, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(205), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(209), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1400,7 +1419,7 @@
{ \
/* Endpoint: 1, Cluster: Color Control (server) */ \
.clusterId = 0x00000300, \
- .attributes = ZAP_ATTRIBUTE_INDEX(210), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(214), \
.attributeCount = 22, \
.clusterSize = 36, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1411,7 +1430,7 @@
{ \
/* Endpoint: 1, Cluster: Occupancy Sensing (server) */ \
.clusterId = 0x00000406, \
- .attributes = ZAP_ATTRIBUTE_INDEX(232), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(236), \
.attributeCount = 4, \
.clusterSize = 5, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1422,7 +1441,7 @@
{ \
/* Endpoint: 2, Cluster: On/Off (client) */ \
.clusterId = 0x00000006, \
- .attributes = ZAP_ATTRIBUTE_INDEX(236), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(240), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1433,7 +1452,7 @@
{ \
/* Endpoint: 2, Cluster: On/off Switch Configuration (server) */ \
.clusterId = 0x00000007, \
- .attributes = ZAP_ATTRIBUTE_INDEX(237), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(241), \
.attributeCount = 3, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1447,12 +1466,12 @@
#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
-#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 27
+#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 28
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 20, 586 }, { ZAP_CLUSTER_INDEX(20), 7, 89 }, { ZAP_CLUSTER_INDEX(27), 2, 6 }, \
+ { ZAP_CLUSTER_INDEX(0), 21, 588 }, { ZAP_CLUSTER_INDEX(21), 7, 89 }, { ZAP_CLUSTER_INDEX(28), 2, 6 }, \
}
// Largest attribute size is needed for various buffers
@@ -1462,7 +1481,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (39)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (681)
+#define ATTRIBUTE_MAX_SIZE (683)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (3)
diff --git a/zzz_generated/lighting-app/zap-generated/gen_config.h b/zzz_generated/lighting-app/zap-generated/gen_config.h
index 6c83cb6..f4f4a4a 100644
--- a/zzz_generated/lighting-app/zap-generated/gen_config.h
+++ b/zzz_generated/lighting-app/zap-generated/gen_config.h
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_COLOR_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
@@ -59,6 +60,11 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the server side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL
+
// Use this macro to check if the server side of the AdministratorCommissioning cluster is included
#define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING_SERVER
diff --git a/zzz_generated/lock-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/lock-app/zap-generated/PluginApplicationCallbacks.h
index 876949e..191bf30 100644
--- a/zzz_generated/lock-app/zap-generated/PluginApplicationCallbacks.h
+++ b/zzz_generated/lock-app/zap-generated/PluginApplicationCallbacks.h
@@ -22,6 +22,7 @@
#include <app-common/zap-generated/callbacks/PluginCallbacks.h>
#define MATTER_PLUGINS_INIT \
+ MatterAccessControlPluginServerInitCallback(); \
MatterAdministratorCommissioningPluginServerInitCallback(); \
MatterBasicPluginServerInitCallback(); \
MatterDescriptorPluginServerInitCallback(); \
diff --git a/zzz_generated/lock-app/zap-generated/callback-stub.cpp b/zzz_generated/lock-app/zap-generated/callback-stub.cpp
index d0c4543..c062981 100644
--- a/zzz_generated/lock-app/zap-generated/callback-stub.cpp
+++ b/zzz_generated/lock-app/zap-generated/callback-stub.cpp
@@ -29,6 +29,9 @@
{
switch (clusterId)
{
+ case ZCL_ACCESS_CONTROL_CLUSTER_ID:
+ emberAfAccessControlClusterInitCallback(endpoint);
+ break;
case ZCL_ADMINISTRATOR_COMMISSIONING_CLUSTER_ID:
emberAfAdministratorCommissioningClusterInitCallback(endpoint);
break;
@@ -92,6 +95,11 @@
}
}
+void __attribute__((weak)) emberAfAccessControlClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfAdministratorCommissioningClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
diff --git a/zzz_generated/lock-app/zap-generated/endpoint_config.h b/zzz_generated/lock-app/zap-generated/endpoint_config.h
index 2dc2a94..a3cecdc 100644
--- a/zzz_generated/lock-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/lock-app/zap-generated/endpoint_config.h
@@ -574,7 +574,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 202
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -585,6 +585,14 @@
{ 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */ \
\
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* ACL */ \
+ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* Extension */ \
+ { 0x0000FFFB, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AttributeList */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
/* Endpoint: 0, Cluster: Basic (server) */ \
{ 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(10) }, /* DataModelRevision */ \
{ 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
@@ -945,7 +953,7 @@
// clang-format on
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 21
+#define GENERATED_CLUSTER_COUNT 22
// clang-format off
#define GENERATED_CLUSTERS { \
@@ -961,9 +969,20 @@
.serverGeneratedCommandList = nullptr ,\
},\
{ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(5), \
+ .attributeCount = 4, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(SERVER), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
/* Endpoint: 0, Cluster: Basic (server) */ \
.clusterId = 0x00000028, \
- .attributes = ZAP_ATTRIBUTE_INDEX(5), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(9), \
.attributeCount = 20, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -974,7 +993,7 @@
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(25), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(29), \
.attributeCount = 3, \
.clusterSize = 38, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -985,7 +1004,7 @@
{ \
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
.clusterId = 0x0000002C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(28), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(32), \
.attributeCount = 4, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -996,7 +1015,7 @@
{ \
/* Endpoint: 0, Cluster: Power Source Configuration (server) */ \
.clusterId = 0x0000002E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(32), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(36), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1007,7 +1026,7 @@
{ \
/* Endpoint: 0, Cluster: Power Source (server) */ \
.clusterId = 0x0000002F, \
- .attributes = ZAP_ATTRIBUTE_INDEX(34), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(38), \
.attributeCount = 6, \
.clusterSize = 73, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1018,7 +1037,7 @@
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(40), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(44), \
.attributeCount = 6, \
.clusterSize = 16, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1029,7 +1048,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(46), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(50), \
.attributeCount = 10, \
.clusterSize = 60, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1040,7 +1059,7 @@
{ \
/* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
.clusterId = 0x00000032, \
- .attributes = ZAP_ATTRIBUTE_INDEX(56), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(60), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1051,7 +1070,7 @@
{ \
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
.clusterId = 0x00000033, \
- .attributes = ZAP_ATTRIBUTE_INDEX(56), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(60), \
.attributeCount = 9, \
.clusterSize = 17, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1062,7 +1081,7 @@
{ \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
.clusterId = 0x00000034, \
- .attributes = ZAP_ATTRIBUTE_INDEX(65), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(69), \
.attributeCount = 6, \
.clusterSize = 30, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1073,7 +1092,7 @@
{ \
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
.clusterId = 0x00000035, \
- .attributes = ZAP_ATTRIBUTE_INDEX(71), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(75), \
.attributeCount = 65, \
.clusterSize = 247, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1084,7 +1103,7 @@
{ \
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
.clusterId = 0x00000036, \
- .attributes = ZAP_ATTRIBUTE_INDEX(136), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(140), \
.attributeCount = 15, \
.clusterSize = 58, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1095,7 +1114,7 @@
{ \
/* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
.clusterId = 0x00000037, \
- .attributes = ZAP_ATTRIBUTE_INDEX(151), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(155), \
.attributeCount = 11, \
.clusterSize = 57, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1106,7 +1125,7 @@
{ \
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
.clusterId = 0x0000003C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(162), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(166), \
.attributeCount = 4, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1117,7 +1136,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(166), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(170), \
.attributeCount = 7, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1128,7 +1147,7 @@
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(173), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(177), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1139,7 +1158,7 @@
{ \
/* Endpoint: 0, Cluster: User Label (server) */ \
.clusterId = 0x00000041, \
- .attributes = ZAP_ATTRIBUTE_INDEX(175), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(179), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1150,7 +1169,7 @@
{ \
/* Endpoint: 1, Cluster: On/Off (server) */ \
.clusterId = 0x00000006, \
- .attributes = ZAP_ATTRIBUTE_INDEX(177), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(181), \
.attributeCount = 7, \
.clusterSize = 13, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1161,7 +1180,7 @@
{ \
/* Endpoint: 1, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(184), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(188), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1172,7 +1191,7 @@
{ \
/* Endpoint: 1, Cluster: Power Source (server) */ \
.clusterId = 0x0000002F, \
- .attributes = ZAP_ATTRIBUTE_INDEX(189), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(193), \
.attributeCount = 9, \
.clusterSize = 133, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1186,12 +1205,12 @@
#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
-#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 21
+#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 22
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 18, 651 }, { ZAP_CLUSTER_INDEX(18), 3, 146 }, \
+ { ZAP_CLUSTER_INDEX(0), 19, 653 }, { ZAP_CLUSTER_INDEX(19), 3, 146 }, \
}
// Largest attribute size is needed for various buffers
@@ -1201,7 +1220,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (39)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (797)
+#define ATTRIBUTE_MAX_SIZE (799)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (2)
diff --git a/zzz_generated/lock-app/zap-generated/gen_config.h b/zzz_generated/lock-app/zap-generated/gen_config.h
index c430564..72efd2c 100644
--- a/zzz_generated/lock-app/zap-generated/gen_config.h
+++ b/zzz_generated/lock-app/zap-generated/gen_config.h
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_DESCRIPTOR_CLUSTER_SERVER_ENDPOINT_COUNT (2)
@@ -51,6 +52,11 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the server side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL
+
// Use this macro to check if the server side of the AdministratorCommissioning cluster is included
#define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING_SERVER
diff --git a/zzz_generated/log-source-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/log-source-app/zap-generated/PluginApplicationCallbacks.h
index 8f32d28..0a323d1 100644
--- a/zzz_generated/log-source-app/zap-generated/PluginApplicationCallbacks.h
+++ b/zzz_generated/log-source-app/zap-generated/PluginApplicationCallbacks.h
@@ -22,6 +22,7 @@
#include <app-common/zap-generated/callbacks/PluginCallbacks.h>
#define MATTER_PLUGINS_INIT \
+ MatterAccessControlPluginServerInitCallback(); \
MatterDiagnosticLogsPluginClientInitCallback(); \
MatterDiagnosticLogsPluginServerInitCallback(); \
MatterGeneralCommissioningPluginServerInitCallback(); \
diff --git a/zzz_generated/log-source-app/zap-generated/callback-stub.cpp b/zzz_generated/log-source-app/zap-generated/callback-stub.cpp
index 9e43dc6..8950835 100644
--- a/zzz_generated/log-source-app/zap-generated/callback-stub.cpp
+++ b/zzz_generated/log-source-app/zap-generated/callback-stub.cpp
@@ -29,6 +29,9 @@
{
switch (clusterId)
{
+ case ZCL_ACCESS_CONTROL_CLUSTER_ID:
+ emberAfAccessControlClusterInitCallback(endpoint);
+ break;
case ZCL_DIAGNOSTIC_LOGS_CLUSTER_ID:
emberAfDiagnosticLogsClusterInitCallback(endpoint);
break;
@@ -47,6 +50,11 @@
}
}
+void __attribute__((weak)) emberAfAccessControlClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfDiagnosticLogsClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
diff --git a/zzz_generated/log-source-app/zap-generated/endpoint_config.h b/zzz_generated/log-source-app/zap-generated/endpoint_config.h
index 4e4ab34..4293fae 100644
--- a/zzz_generated/log-source-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/log-source-app/zap-generated/endpoint_config.h
@@ -163,12 +163,20 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 9
+#define GENERATED_ATTRIBUTE_COUNT 13
#define GENERATED_ATTRIBUTES \
{ \
\
- /* Endpoint: 0, Cluster: General Commissioning (server) */ \
- { 0x00000000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(0) }, /* Breadcrumb */ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* ACL */ \
+ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* Extension */ \
+ { 0x0000FFFB, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AttributeList */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
+ /* Endpoint: 0, Cluster: General Commissioning (server) */ \
+ { 0x00000000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(0) }, /* Breadcrumb */ \
{ 0x00000001, ZAP_TYPE(STRUCT), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* BasicCommissioningInfo */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
@@ -252,14 +260,25 @@
// clang-format on
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 5
+#define GENERATED_CLUSTER_COUNT 6
// clang-format off
#define GENERATED_CLUSTERS { \
{ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(0), \
+ .attributeCount = 4, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(SERVER), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(0), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(4), \
.attributeCount = 3, \
.clusterSize = 10, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -270,7 +289,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(3), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(7), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -281,7 +300,7 @@
{ \
/* Endpoint: 0, Cluster: Diagnostic Logs (client) */ \
.clusterId = 0x00000032, \
- .attributes = ZAP_ATTRIBUTE_INDEX(4), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(8), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -292,7 +311,7 @@
{ \
/* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
.clusterId = 0x00000032, \
- .attributes = ZAP_ATTRIBUTE_INDEX(4), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(8), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -303,7 +322,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(4), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(8), \
.attributeCount = 5, \
.clusterSize = 724, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -317,12 +336,12 @@
#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
-#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 4
+#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 5
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 5, 736 }, \
+ { ZAP_CLUSTER_INDEX(0), 6, 738 }, \
}
// Largest attribute size is needed for various buffers
@@ -332,7 +351,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (0)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (736)
+#define ATTRIBUTE_MAX_SIZE (738)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (1)
diff --git a/zzz_generated/log-source-app/zap-generated/gen_config.h b/zzz_generated/log-source-app/zap-generated/gen_config.h
index 1a18a73..f7092e4 100644
--- a/zzz_generated/log-source-app/zap-generated/gen_config.h
+++ b/zzz_generated/log-source-app/zap-generated/gen_config.h
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_DIAGNOSTIC_LOGS_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
#define EMBER_AF_DIAGNOSTIC_LOGS_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_GENERAL_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
@@ -37,6 +38,11 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the server side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL
+
// Use this macro to check if the client side of the Diagnostic Logs cluster is included
#define ZCL_USING_DIAGNOSTIC_LOGS_CLUSTER_CLIENT
#define EMBER_AF_PLUGIN_DIAGNOSTIC_LOGS_CLIENT
diff --git a/zzz_generated/ota-provider-app/zap-generated/CHIPClientCallbacks.h b/zzz_generated/ota-provider-app/zap-generated/CHIPClientCallbacks.h
index fbed969..8c6de43 100644
--- a/zzz_generated/ota-provider-app/zap-generated/CHIPClientCallbacks.h
+++ b/zzz_generated/ota-provider-app/zap-generated/CHIPClientCallbacks.h
@@ -16,3 +16,34 @@
*/
// THIS FILE IS GENERATED BY ZAP
+
+#pragma once
+
+#include <app-common/zap-generated/af-structs.h>
+#include <app-common/zap-generated/cluster-objects.h>
+#include <app/InteractionModelEngine.h>
+#include <app/data-model/DecodableList.h>
+#include <app/util/af-enums.h>
+#include <app/util/attribute-filter.h>
+#include <app/util/im-client-callbacks.h>
+#include <inttypes.h>
+#include <lib/support/FunctionTraits.h>
+#include <lib/support/Span.h>
+
+// List specific responses
+void AccessControlClusterAclListAttributeFilter(chip::TLV::TLVReader * data, chip::Callback::Cancelable * onSuccessCallback,
+ chip::Callback::Cancelable * onFailureCallback);
+typedef void (*AccessControlAclListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::AccessControlEntry::DecodableType> &
+ data);
+void AccessControlClusterExtensionListAttributeFilter(chip::TLV::TLVReader * data, chip::Callback::Cancelable * onSuccessCallback,
+ chip::Callback::Cancelable * onFailureCallback);
+typedef void (*AccessControlExtensionListAttributeCallback)(
+ void * context,
+ const chip::app::DataModel::DecodableList<chip::app::Clusters::AccessControl::Structs::ExtensionEntry::DecodableType> & data);
+void AccessControlClusterAttributeListListAttributeFilter(chip::TLV::TLVReader * data,
+ chip::Callback::Cancelable * onSuccessCallback,
+ chip::Callback::Cancelable * onFailureCallback);
+typedef void (*AccessControlAttributeListListAttributeCallback)(
+ void * context, const chip::app::DataModel::DecodableList<chip::AttributeId> & data);
diff --git a/zzz_generated/ota-provider-app/zap-generated/CHIPClusters.h b/zzz_generated/ota-provider-app/zap-generated/CHIPClusters.h
index fbed969..9f50733 100644
--- a/zzz_generated/ota-provider-app/zap-generated/CHIPClusters.h
+++ b/zzz_generated/ota-provider-app/zap-generated/CHIPClusters.h
@@ -16,3 +16,26 @@
*/
// THIS FILE IS GENERATED BY ZAP
+
+// Prevent multiple inclusion
+#pragma once
+
+#include <app-common/zap-generated/ids/Clusters.h>
+#include <app-common/zap-generated/ids/Commands.h>
+
+#include <controller/CHIPCluster.h>
+#include <lib/core/CHIPCallback.h>
+#include <lib/support/Span.h>
+
+namespace chip {
+namespace Controller {
+
+class DLL_EXPORT AccessControlCluster : public ClusterBase
+{
+public:
+ AccessControlCluster() : ClusterBase(app::Clusters::AccessControl::Id) {}
+ ~AccessControlCluster() {}
+};
+
+} // namespace Controller
+} // namespace chip
diff --git a/zzz_generated/ota-provider-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/ota-provider-app/zap-generated/PluginApplicationCallbacks.h
index 9897117..c2b16e2 100644
--- a/zzz_generated/ota-provider-app/zap-generated/PluginApplicationCallbacks.h
+++ b/zzz_generated/ota-provider-app/zap-generated/PluginApplicationCallbacks.h
@@ -22,6 +22,8 @@
#include <app-common/zap-generated/callbacks/PluginCallbacks.h>
#define MATTER_PLUGINS_INIT \
+ MatterAccessControlPluginClientInitCallback(); \
+ MatterAccessControlPluginServerInitCallback(); \
MatterFixedLabelPluginServerInitCallback(); \
MatterGeneralCommissioningPluginServerInitCallback(); \
MatterLocalizationConfigurationPluginServerInitCallback(); \
diff --git a/zzz_generated/ota-provider-app/zap-generated/callback-stub.cpp b/zzz_generated/ota-provider-app/zap-generated/callback-stub.cpp
index d1d1eb2..1db898d 100644
--- a/zzz_generated/ota-provider-app/zap-generated/callback-stub.cpp
+++ b/zzz_generated/ota-provider-app/zap-generated/callback-stub.cpp
@@ -29,6 +29,9 @@
{
switch (clusterId)
{
+ case ZCL_ACCESS_CONTROL_CLUSTER_ID:
+ emberAfAccessControlClusterInitCallback(endpoint);
+ break;
case ZCL_FIXED_LABEL_CLUSTER_ID:
emberAfFixedLabelClusterInitCallback(endpoint);
break;
@@ -59,6 +62,11 @@
}
}
+void __attribute__((weak)) emberAfAccessControlClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfFixedLabelClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
diff --git a/zzz_generated/ota-provider-app/zap-generated/endpoint_config.h b/zzz_generated/ota-provider-app/zap-generated/endpoint_config.h
index 483ec0e..e5f5e14 100644
--- a/zzz_generated/ota-provider-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/ota-provider-app/zap-generated/endpoint_config.h
@@ -116,12 +116,23 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 35
+#define GENERATED_ATTRIBUTE_COUNT 40
#define GENERATED_ATTRIBUTES \
{ \
\
- /* Endpoint: 0, Cluster: OTA Software Update Provider (server) */ \
- { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
+ /* Endpoint: 0, Cluster: Access Control (client) */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT), ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* ACL */ \
+ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* Extension */ \
+ { 0x0000FFFB, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AttributeList */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
+ /* Endpoint: 0, Cluster: OTA Software Update Provider (server) */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
{ 0x00000001, ZAP_TYPE(CHAR_STRING), 36, ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
@@ -253,14 +264,36 @@
// clang-format on
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 8
+#define GENERATED_CLUSTER_COUNT 10
// clang-format off
#define GENERATED_CLUSTERS { \
{ \
+ /* Endpoint: 0, Cluster: Access Control (client) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(0), \
+ .attributeCount = 1, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(CLIENT), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(1), \
+ .attributeCount = 4, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(SERVER), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
/* Endpoint: 0, Cluster: OTA Software Update Provider (server) */ \
.clusterId = 0x00000029, \
- .attributes = ZAP_ATTRIBUTE_INDEX(0), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(5), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -271,7 +304,7 @@
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(1), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(6), \
.attributeCount = 3, \
.clusterSize = 38, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -282,7 +315,7 @@
{ \
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
.clusterId = 0x0000002C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(4), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(9), \
.attributeCount = 4, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -293,7 +326,7 @@
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(8), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(13), \
.attributeCount = 6, \
.clusterSize = 16, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -304,7 +337,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(14), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(19), \
.attributeCount = 10, \
.clusterSize = 60, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -315,7 +348,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(24), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(29), \
.attributeCount = 7, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -326,7 +359,7 @@
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(31), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(36), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -337,7 +370,7 @@
{ \
/* Endpoint: 0, Cluster: User Label (server) */ \
.clusterId = 0x00000041, \
- .attributes = ZAP_ATTRIBUTE_INDEX(33), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(38), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -351,12 +384,12 @@
#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
-#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 8
+#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 9
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 8, 128 }, \
+ { ZAP_CLUSTER_INDEX(0), 10, 132 }, \
}
// Largest attribute size is needed for various buffers
@@ -366,7 +399,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (0)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (128)
+#define ATTRIBUTE_MAX_SIZE (132)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (1)
diff --git a/zzz_generated/ota-provider-app/zap-generated/gen_config.h b/zzz_generated/ota-provider-app/zap-generated/gen_config.h
index 4b35fc5..01f2184 100644
--- a/zzz_generated/ota-provider-app/zap-generated/gen_config.h
+++ b/zzz_generated/ota-provider-app/zap-generated/gen_config.h
@@ -29,6 +29,8 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_FIXED_LABEL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_GENERAL_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_LOCALIZATION_CONFIGURATION_CLUSTER_SERVER_ENDPOINT_COUNT (1)
@@ -40,6 +42,15 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the client side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_CLIENT
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_CLIENT
+
+// Use this macro to check if the server side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL
+
// Use this macro to check if the server side of the Fixed Label cluster is included
#define ZCL_USING_FIXED_LABEL_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_FIXED_LABEL_SERVER
diff --git a/zzz_generated/ota-requestor-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/ota-requestor-app/zap-generated/PluginApplicationCallbacks.h
index 81271b2..f0f7da1 100644
--- a/zzz_generated/ota-requestor-app/zap-generated/PluginApplicationCallbacks.h
+++ b/zzz_generated/ota-requestor-app/zap-generated/PluginApplicationCallbacks.h
@@ -22,6 +22,7 @@
#include <app-common/zap-generated/callbacks/PluginCallbacks.h>
#define MATTER_PLUGINS_INIT \
+ MatterAccessControlPluginServerInitCallback(); \
MatterBasicPluginServerInitCallback(); \
MatterFixedLabelPluginServerInitCallback(); \
MatterGeneralCommissioningPluginServerInitCallback(); \
diff --git a/zzz_generated/ota-requestor-app/zap-generated/callback-stub.cpp b/zzz_generated/ota-requestor-app/zap-generated/callback-stub.cpp
index 5684b37..05121ec 100644
--- a/zzz_generated/ota-requestor-app/zap-generated/callback-stub.cpp
+++ b/zzz_generated/ota-requestor-app/zap-generated/callback-stub.cpp
@@ -29,6 +29,9 @@
{
switch (clusterId)
{
+ case ZCL_ACCESS_CONTROL_CLUSTER_ID:
+ emberAfAccessControlClusterInitCallback(endpoint);
+ break;
case ZCL_BASIC_CLUSTER_ID:
emberAfBasicClusterInitCallback(endpoint);
break;
@@ -65,6 +68,11 @@
}
}
+void __attribute__((weak)) emberAfAccessControlClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfBasicClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
diff --git a/zzz_generated/ota-requestor-app/zap-generated/endpoint_config.h b/zzz_generated/ota-requestor-app/zap-generated/endpoint_config.h
index e3f653a..281e311 100644
--- a/zzz_generated/ota-requestor-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/ota-requestor-app/zap-generated/endpoint_config.h
@@ -116,12 +116,20 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 60
+#define GENERATED_ATTRIBUTE_COUNT 64
#define GENERATED_ATTRIBUTES \
{ \
\
- /* Endpoint: 0, Cluster: Basic (server) */ \
- { 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(10) }, /* DataModelRevision */ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* ACL */ \
+ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* Extension */ \
+ { 0x0000FFFB, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AttributeList */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
+ /* Endpoint: 0, Cluster: Basic (server) */ \
+ { 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(10) }, /* DataModelRevision */ \
{ 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* VendorName */ \
{ 0x00000002, ZAP_TYPE(VENDOR_ID), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
@@ -312,14 +320,25 @@
// clang-format on
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 10
+#define GENERATED_CLUSTER_COUNT 11
// clang-format off
#define GENERATED_CLUSTERS { \
{ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(0), \
+ .attributeCount = 4, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(SERVER), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
/* Endpoint: 0, Cluster: Basic (server) */ \
.clusterId = 0x00000028, \
- .attributes = ZAP_ATTRIBUTE_INDEX(0), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(4), \
.attributeCount = 20, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -330,7 +349,7 @@
{ \
/* Endpoint: 0, Cluster: OTA Software Update Provider (client) */ \
.clusterId = 0x00000029, \
- .attributes = ZAP_ATTRIBUTE_INDEX(20), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(24), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -341,7 +360,7 @@
{ \
/* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */ \
.clusterId = 0x0000002A, \
- .attributes = ZAP_ATTRIBUTE_INDEX(21), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(25), \
.attributeCount = 5, \
.clusterSize = 5, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -352,7 +371,7 @@
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(26), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(30), \
.attributeCount = 3, \
.clusterSize = 38, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -363,7 +382,7 @@
{ \
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
.clusterId = 0x0000002C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(29), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(33), \
.attributeCount = 4, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -374,7 +393,7 @@
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(33), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(37), \
.attributeCount = 6, \
.clusterSize = 16, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -385,7 +404,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(39), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(43), \
.attributeCount = 10, \
.clusterSize = 60, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -396,7 +415,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(49), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(53), \
.attributeCount = 7, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -407,7 +426,7 @@
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(56), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(60), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -418,7 +437,7 @@
{ \
/* Endpoint: 0, Cluster: User Label (server) */ \
.clusterId = 0x00000041, \
- .attributes = ZAP_ATTRIBUTE_INDEX(58), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(62), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -432,12 +451,12 @@
#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
-#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 9
+#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 10
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 10, 172 }, \
+ { ZAP_CLUSTER_INDEX(0), 11, 174 }, \
}
// Largest attribute size is needed for various buffers
@@ -447,7 +466,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (39)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (172)
+#define ATTRIBUTE_MAX_SIZE (174)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (1)
diff --git a/zzz_generated/ota-requestor-app/zap-generated/gen_config.h b/zzz_generated/ota-requestor-app/zap-generated/gen_config.h
index 896c27b..9253a1f 100644
--- a/zzz_generated/ota-requestor-app/zap-generated/gen_config.h
+++ b/zzz_generated/ota-requestor-app/zap-generated/gen_config.h
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_FIXED_LABEL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_GENERAL_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
@@ -42,6 +43,11 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the server side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL
+
// Use this macro to check if the server side of the Basic cluster is included
#define ZCL_USING_BASIC_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_BASIC_SERVER
diff --git a/zzz_generated/pump-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/pump-app/zap-generated/PluginApplicationCallbacks.h
index 01907af..e6ad382 100644
--- a/zzz_generated/pump-app/zap-generated/PluginApplicationCallbacks.h
+++ b/zzz_generated/pump-app/zap-generated/PluginApplicationCallbacks.h
@@ -22,6 +22,7 @@
#include <app-common/zap-generated/callbacks/PluginCallbacks.h>
#define MATTER_PLUGINS_INIT \
+ MatterAccessControlPluginServerInitCallback(); \
MatterAdministratorCommissioningPluginServerInitCallback(); \
MatterBasicPluginServerInitCallback(); \
MatterDescriptorPluginServerInitCallback(); \
diff --git a/zzz_generated/pump-app/zap-generated/callback-stub.cpp b/zzz_generated/pump-app/zap-generated/callback-stub.cpp
index 33e4b4f..136df17 100644
--- a/zzz_generated/pump-app/zap-generated/callback-stub.cpp
+++ b/zzz_generated/pump-app/zap-generated/callback-stub.cpp
@@ -29,6 +29,9 @@
{
switch (clusterId)
{
+ case ZCL_ACCESS_CONTROL_CLUSTER_ID:
+ emberAfAccessControlClusterInitCallback(endpoint);
+ break;
case ZCL_ADMINISTRATOR_COMMISSIONING_CLUSTER_ID:
emberAfAdministratorCommissioningClusterInitCallback(endpoint);
break;
@@ -98,6 +101,11 @@
}
}
+void __attribute__((weak)) emberAfAccessControlClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfAdministratorCommissioningClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
diff --git a/zzz_generated/pump-app/zap-generated/endpoint_config.h b/zzz_generated/pump-app/zap-generated/endpoint_config.h
index 03c726e..542085c 100644
--- a/zzz_generated/pump-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/pump-app/zap-generated/endpoint_config.h
@@ -464,7 +464,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 196
+#define GENERATED_ATTRIBUTE_COUNT 200
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -475,6 +475,14 @@
{ 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */ \
\
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* ACL */ \
+ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* Extension */ \
+ { 0x0000FFFB, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AttributeList */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
/* Endpoint: 0, Cluster: Basic (server) */ \
{ 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(10) }, /* DataModelRevision */ \
{ 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
@@ -860,7 +868,7 @@
// clang-format on
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 25
+#define GENERATED_CLUSTER_COUNT 26
// clang-format off
#define GENERATED_CLUSTERS { \
@@ -876,9 +884,20 @@
.serverGeneratedCommandList = nullptr ,\
},\
{ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(5), \
+ .attributeCount = 4, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(SERVER), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
/* Endpoint: 0, Cluster: Basic (server) */ \
.clusterId = 0x00000028, \
- .attributes = ZAP_ATTRIBUTE_INDEX(5), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(9), \
.attributeCount = 20, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -889,7 +908,7 @@
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(25), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(29), \
.attributeCount = 3, \
.clusterSize = 38, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -900,7 +919,7 @@
{ \
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
.clusterId = 0x0000002C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(28), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(32), \
.attributeCount = 4, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -911,7 +930,7 @@
{ \
/* Endpoint: 0, Cluster: Unit Localization (server) */ \
.clusterId = 0x0000002D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(32), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(36), \
.attributeCount = 3, \
.clusterSize = 7, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -922,7 +941,7 @@
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(35), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(39), \
.attributeCount = 6, \
.clusterSize = 16, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -933,7 +952,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(41), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(45), \
.attributeCount = 10, \
.clusterSize = 60, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -944,7 +963,7 @@
{ \
/* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
.clusterId = 0x00000032, \
- .attributes = ZAP_ATTRIBUTE_INDEX(51), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(55), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -955,7 +974,7 @@
{ \
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
.clusterId = 0x00000033, \
- .attributes = ZAP_ATTRIBUTE_INDEX(51), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(55), \
.attributeCount = 9, \
.clusterSize = 17, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -966,7 +985,7 @@
{ \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
.clusterId = 0x00000034, \
- .attributes = ZAP_ATTRIBUTE_INDEX(60), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(64), \
.attributeCount = 6, \
.clusterSize = 30, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -977,7 +996,7 @@
{ \
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
.clusterId = 0x00000035, \
- .attributes = ZAP_ATTRIBUTE_INDEX(66), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(70), \
.attributeCount = 65, \
.clusterSize = 247, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -988,7 +1007,7 @@
{ \
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
.clusterId = 0x0000003C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(131), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(135), \
.attributeCount = 4, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -999,7 +1018,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(135), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(139), \
.attributeCount = 7, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1010,7 +1029,7 @@
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(142), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(146), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1021,7 +1040,7 @@
{ \
/* Endpoint: 0, Cluster: User Label (server) */ \
.clusterId = 0x00000041, \
- .attributes = ZAP_ATTRIBUTE_INDEX(144), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(148), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1032,7 +1051,7 @@
{ \
/* Endpoint: 1, Cluster: On/Off (server) */ \
.clusterId = 0x00000006, \
- .attributes = ZAP_ATTRIBUTE_INDEX(146), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(150), \
.attributeCount = 2, \
.clusterSize = 3, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1043,7 +1062,7 @@
{ \
/* Endpoint: 1, Cluster: Level Control (server) */ \
.clusterId = 0x00000008, \
- .attributes = ZAP_ATTRIBUTE_INDEX(148), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(152), \
.attributeCount = 2, \
.clusterSize = 3, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1054,7 +1073,7 @@
{ \
/* Endpoint: 1, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(150), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(154), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1065,7 +1084,7 @@
{ \
/* Endpoint: 1, Cluster: Pump Configuration and Control (server) */ \
.clusterId = 0x00000200, \
- .attributes = ZAP_ATTRIBUTE_INDEX(155), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(159), \
.attributeCount = 26, \
.clusterSize = 54, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1076,7 +1095,7 @@
{ \
/* Endpoint: 1, Cluster: Temperature Measurement (client) */ \
.clusterId = 0x00000402, \
- .attributes = ZAP_ATTRIBUTE_INDEX(181), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(185), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1087,7 +1106,7 @@
{ \
/* Endpoint: 1, Cluster: Temperature Measurement (server) */ \
.clusterId = 0x00000402, \
- .attributes = ZAP_ATTRIBUTE_INDEX(182), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(186), \
.attributeCount = 4, \
.clusterSize = 8, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1098,7 +1117,7 @@
{ \
/* Endpoint: 1, Cluster: Pressure Measurement (client) */ \
.clusterId = 0x00000403, \
- .attributes = ZAP_ATTRIBUTE_INDEX(186), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(190), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1109,7 +1128,7 @@
{ \
/* Endpoint: 1, Cluster: Pressure Measurement (server) */ \
.clusterId = 0x00000403, \
- .attributes = ZAP_ATTRIBUTE_INDEX(187), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(191), \
.attributeCount = 4, \
.clusterSize = 8, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1120,7 +1139,7 @@
{ \
/* Endpoint: 1, Cluster: Flow Measurement (client) */ \
.clusterId = 0x00000404, \
- .attributes = ZAP_ATTRIBUTE_INDEX(191), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(195), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1131,7 +1150,7 @@
{ \
/* Endpoint: 1, Cluster: Flow Measurement (server) */ \
.clusterId = 0x00000404, \
- .attributes = ZAP_ATTRIBUTE_INDEX(192), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(196), \
.attributeCount = 4, \
.clusterSize = 8, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1145,12 +1164,12 @@
#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
-#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 22
+#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 23
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 15, 468 }, { ZAP_CLUSTER_INDEX(15), 10, 90 }, \
+ { ZAP_CLUSTER_INDEX(0), 16, 470 }, { ZAP_CLUSTER_INDEX(16), 10, 90 }, \
}
// Largest attribute size is needed for various buffers
@@ -1160,7 +1179,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (39)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (558)
+#define ATTRIBUTE_MAX_SIZE (560)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (2)
diff --git a/zzz_generated/pump-app/zap-generated/gen_config.h b/zzz_generated/pump-app/zap-generated/gen_config.h
index cbb6782..8865848 100644
--- a/zzz_generated/pump-app/zap-generated/gen_config.h
+++ b/zzz_generated/pump-app/zap-generated/gen_config.h
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_DESCRIPTOR_CLUSTER_SERVER_ENDPOINT_COUNT (2)
@@ -56,6 +57,11 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the server side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL
+
// Use this macro to check if the server side of the AdministratorCommissioning cluster is included
#define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING_SERVER
diff --git a/zzz_generated/pump-controller-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/pump-controller-app/zap-generated/PluginApplicationCallbacks.h
index d68e0fd..9847c0f 100644
--- a/zzz_generated/pump-controller-app/zap-generated/PluginApplicationCallbacks.h
+++ b/zzz_generated/pump-controller-app/zap-generated/PluginApplicationCallbacks.h
@@ -22,6 +22,7 @@
#include <app-common/zap-generated/callbacks/PluginCallbacks.h>
#define MATTER_PLUGINS_INIT \
+ MatterAccessControlPluginServerInitCallback(); \
MatterAdministratorCommissioningPluginServerInitCallback(); \
MatterBasicPluginServerInitCallback(); \
MatterDescriptorPluginServerInitCallback(); \
diff --git a/zzz_generated/pump-controller-app/zap-generated/callback-stub.cpp b/zzz_generated/pump-controller-app/zap-generated/callback-stub.cpp
index 3dbb7bf..0ba195b 100644
--- a/zzz_generated/pump-controller-app/zap-generated/callback-stub.cpp
+++ b/zzz_generated/pump-controller-app/zap-generated/callback-stub.cpp
@@ -29,6 +29,9 @@
{
switch (clusterId)
{
+ case ZCL_ACCESS_CONTROL_CLUSTER_ID:
+ emberAfAccessControlClusterInitCallback(endpoint);
+ break;
case ZCL_ADMINISTRATOR_COMMISSIONING_CLUSTER_ID:
emberAfAdministratorCommissioningClusterInitCallback(endpoint);
break;
@@ -104,6 +107,11 @@
}
}
+void __attribute__((weak)) emberAfAccessControlClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfAdministratorCommissioningClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
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 b29b802..5e3e092 100644
--- a/zzz_generated/pump-controller-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/pump-controller-app/zap-generated/endpoint_config.h
@@ -536,7 +536,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 183
+#define GENERATED_ATTRIBUTE_COUNT 187
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -550,6 +550,14 @@
{ 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */ \
\
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* ACL */ \
+ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* Extension */ \
+ { 0x0000FFFB, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AttributeList */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
/* Endpoint: 0, Cluster: Basic (server) */ \
{ 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(10) }, /* DataModelRevision */ \
{ 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
@@ -907,7 +915,7 @@
// clang-format on
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 24
+#define GENERATED_CLUSTER_COUNT 25
// clang-format off
#define GENERATED_CLUSTERS { \
@@ -934,9 +942,20 @@
.serverGeneratedCommandList = nullptr ,\
},\
{ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(6), \
+ .attributeCount = 4, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(SERVER), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
/* Endpoint: 0, Cluster: Basic (server) */ \
.clusterId = 0x00000028, \
- .attributes = ZAP_ATTRIBUTE_INDEX(6), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(10), \
.attributeCount = 20, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -947,7 +966,7 @@
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(26), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(30), \
.attributeCount = 3, \
.clusterSize = 38, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -958,7 +977,7 @@
{ \
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
.clusterId = 0x0000002C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(29), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(33), \
.attributeCount = 4, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -969,7 +988,7 @@
{ \
/* Endpoint: 0, Cluster: Unit Localization (server) */ \
.clusterId = 0x0000002D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(33), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(37), \
.attributeCount = 3, \
.clusterSize = 7, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -980,7 +999,7 @@
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(36), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(40), \
.attributeCount = 6, \
.clusterSize = 16, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -991,7 +1010,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(42), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(46), \
.attributeCount = 10, \
.clusterSize = 60, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1002,7 +1021,7 @@
{ \
/* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
.clusterId = 0x00000032, \
- .attributes = ZAP_ATTRIBUTE_INDEX(52), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(56), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1013,7 +1032,7 @@
{ \
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
.clusterId = 0x00000033, \
- .attributes = ZAP_ATTRIBUTE_INDEX(52), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(56), \
.attributeCount = 9, \
.clusterSize = 17, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1024,7 +1043,7 @@
{ \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
.clusterId = 0x00000034, \
- .attributes = ZAP_ATTRIBUTE_INDEX(61), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(65), \
.attributeCount = 6, \
.clusterSize = 30, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1035,7 +1054,7 @@
{ \
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
.clusterId = 0x00000035, \
- .attributes = ZAP_ATTRIBUTE_INDEX(67), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(71), \
.attributeCount = 65, \
.clusterSize = 247, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1046,7 +1065,7 @@
{ \
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
.clusterId = 0x00000036, \
- .attributes = ZAP_ATTRIBUTE_INDEX(132), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(136), \
.attributeCount = 15, \
.clusterSize = 58, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1057,7 +1076,7 @@
{ \
/* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
.clusterId = 0x00000037, \
- .attributes = ZAP_ATTRIBUTE_INDEX(147), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(151), \
.attributeCount = 11, \
.clusterSize = 57, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1068,7 +1087,7 @@
{ \
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
.clusterId = 0x0000003C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(158), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(162), \
.attributeCount = 4, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1079,7 +1098,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(162), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(166), \
.attributeCount = 7, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1090,7 +1109,7 @@
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(169), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(173), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1101,7 +1120,7 @@
{ \
/* Endpoint: 0, Cluster: User Label (server) */ \
.clusterId = 0x00000041, \
- .attributes = ZAP_ATTRIBUTE_INDEX(171), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(175), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1112,7 +1131,7 @@
{ \
/* Endpoint: 1, Cluster: On/Off (client) */ \
.clusterId = 0x00000006, \
- .attributes = ZAP_ATTRIBUTE_INDEX(173), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(177), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1123,7 +1142,7 @@
{ \
/* Endpoint: 1, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(174), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(178), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1134,7 +1153,7 @@
{ \
/* Endpoint: 1, Cluster: Pump Configuration and Control (client) */ \
.clusterId = 0x00000200, \
- .attributes = ZAP_ATTRIBUTE_INDEX(179), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(183), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1145,7 +1164,7 @@
{ \
/* Endpoint: 1, Cluster: Temperature Measurement (client) */ \
.clusterId = 0x00000402, \
- .attributes = ZAP_ATTRIBUTE_INDEX(180), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(184), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1156,7 +1175,7 @@
{ \
/* Endpoint: 1, Cluster: Pressure Measurement (client) */ \
.clusterId = 0x00000403, \
- .attributes = ZAP_ATTRIBUTE_INDEX(181), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(185), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1167,7 +1186,7 @@
{ \
/* Endpoint: 1, Cluster: Flow Measurement (client) */ \
.clusterId = 0x00000404, \
- .attributes = ZAP_ATTRIBUTE_INDEX(182), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(186), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1181,12 +1200,12 @@
#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
-#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 18
+#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 19
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 18, 585 }, { ZAP_CLUSTER_INDEX(18), 6, 10 }, \
+ { ZAP_CLUSTER_INDEX(0), 19, 587 }, { ZAP_CLUSTER_INDEX(19), 6, 10 }, \
}
// Largest attribute size is needed for various buffers
@@ -1196,7 +1215,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (39)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (595)
+#define ATTRIBUTE_MAX_SIZE (597)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (2)
diff --git a/zzz_generated/pump-controller-app/zap-generated/gen_config.h b/zzz_generated/pump-controller-app/zap-generated/gen_config.h
index b4620f7..169c250 100644
--- a/zzz_generated/pump-controller-app/zap-generated/gen_config.h
+++ b/zzz_generated/pump-controller-app/zap-generated/gen_config.h
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_DESCRIPTOR_CLUSTER_SERVER_ENDPOINT_COUNT (2)
@@ -55,6 +56,11 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the server side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL
+
// Use this macro to check if the server side of the AdministratorCommissioning cluster is included
#define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING_SERVER
diff --git a/zzz_generated/temperature-measurement-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/temperature-measurement-app/zap-generated/PluginApplicationCallbacks.h
index e271ffd..da68cbb 100644
--- a/zzz_generated/temperature-measurement-app/zap-generated/PluginApplicationCallbacks.h
+++ b/zzz_generated/temperature-measurement-app/zap-generated/PluginApplicationCallbacks.h
@@ -22,6 +22,7 @@
#include <app-common/zap-generated/callbacks/PluginCallbacks.h>
#define MATTER_PLUGINS_INIT \
+ MatterAccessControlPluginServerInitCallback(); \
MatterAdministratorCommissioningPluginServerInitCallback(); \
MatterBasicPluginServerInitCallback(); \
MatterDescriptorPluginServerInitCallback(); \
diff --git a/zzz_generated/temperature-measurement-app/zap-generated/callback-stub.cpp b/zzz_generated/temperature-measurement-app/zap-generated/callback-stub.cpp
index 3afe96c..9af3412 100644
--- a/zzz_generated/temperature-measurement-app/zap-generated/callback-stub.cpp
+++ b/zzz_generated/temperature-measurement-app/zap-generated/callback-stub.cpp
@@ -29,6 +29,9 @@
{
switch (clusterId)
{
+ case ZCL_ACCESS_CONTROL_CLUSTER_ID:
+ emberAfAccessControlClusterInitCallback(endpoint);
+ break;
case ZCL_ADMINISTRATOR_COMMISSIONING_CLUSTER_ID:
emberAfAdministratorCommissioningClusterInitCallback(endpoint);
break;
@@ -86,6 +89,11 @@
}
}
+void __attribute__((weak)) emberAfAccessControlClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfAdministratorCommissioningClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
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 56ae6b9..1f55f55 100644
--- a/zzz_generated/temperature-measurement-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/temperature-measurement-app/zap-generated/endpoint_config.h
@@ -262,7 +262,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 113
+#define GENERATED_ATTRIBUTE_COUNT 117
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -273,6 +273,14 @@
{ 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */ \
\
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* ACL */ \
+ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* Extension */ \
+ { 0x0000FFFB, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AttributeList */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
/* Endpoint: 0, Cluster: Basic (server) */ \
{ 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(10) }, /* DataModelRevision */ \
{ 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
@@ -531,7 +539,7 @@
// clang-format on
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 18
+#define GENERATED_CLUSTER_COUNT 19
// clang-format off
#define GENERATED_CLUSTERS { \
@@ -547,9 +555,20 @@
.serverGeneratedCommandList = nullptr ,\
},\
{ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(5), \
+ .attributeCount = 4, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(SERVER), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
/* Endpoint: 0, Cluster: Basic (server) */ \
.clusterId = 0x00000028, \
- .attributes = ZAP_ATTRIBUTE_INDEX(5), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(9), \
.attributeCount = 20, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -560,7 +579,7 @@
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(25), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(29), \
.attributeCount = 3, \
.clusterSize = 38, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -571,7 +590,7 @@
{ \
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
.clusterId = 0x0000002C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(28), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(32), \
.attributeCount = 4, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -582,7 +601,7 @@
{ \
/* Endpoint: 0, Cluster: Unit Localization (server) */ \
.clusterId = 0x0000002D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(32), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(36), \
.attributeCount = 3, \
.clusterSize = 7, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -593,7 +612,7 @@
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(35), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(39), \
.attributeCount = 6, \
.clusterSize = 16, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -604,7 +623,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(41), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(45), \
.attributeCount = 10, \
.clusterSize = 60, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -615,7 +634,7 @@
{ \
/* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
.clusterId = 0x00000032, \
- .attributes = ZAP_ATTRIBUTE_INDEX(51), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(55), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -626,7 +645,7 @@
{ \
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
.clusterId = 0x00000033, \
- .attributes = ZAP_ATTRIBUTE_INDEX(51), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(55), \
.attributeCount = 9, \
.clusterSize = 17, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -637,7 +656,7 @@
{ \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
.clusterId = 0x00000034, \
- .attributes = ZAP_ATTRIBUTE_INDEX(60), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(64), \
.attributeCount = 3, \
.clusterSize = 14, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -648,7 +667,7 @@
{ \
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
.clusterId = 0x00000036, \
- .attributes = ZAP_ATTRIBUTE_INDEX(63), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(67), \
.attributeCount = 15, \
.clusterSize = 58, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -659,7 +678,7 @@
{ \
/* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
.clusterId = 0x00000037, \
- .attributes = ZAP_ATTRIBUTE_INDEX(78), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(82), \
.attributeCount = 11, \
.clusterSize = 57, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -670,7 +689,7 @@
{ \
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
.clusterId = 0x0000003C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(89), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(93), \
.attributeCount = 4, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -681,7 +700,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(93), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(97), \
.attributeCount = 7, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -692,7 +711,7 @@
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(100), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(104), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -703,7 +722,7 @@
{ \
/* Endpoint: 0, Cluster: User Label (server) */ \
.clusterId = 0x00000041, \
- .attributes = ZAP_ATTRIBUTE_INDEX(102), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(106), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -714,7 +733,7 @@
{ \
/* Endpoint: 1, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(104), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(108), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -725,7 +744,7 @@
{ \
/* Endpoint: 1, Cluster: Temperature Measurement (server) */ \
.clusterId = 0x00000402, \
- .attributes = ZAP_ATTRIBUTE_INDEX(109), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(113), \
.attributeCount = 4, \
.clusterSize = 8, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -739,12 +758,12 @@
#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
-#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 18
+#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 19
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 16, 320 }, { ZAP_CLUSTER_INDEX(16), 2, 8 }, \
+ { ZAP_CLUSTER_INDEX(0), 17, 322 }, { ZAP_CLUSTER_INDEX(17), 2, 8 }, \
}
// Largest attribute size is needed for various buffers
@@ -754,7 +773,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (39)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (328)
+#define ATTRIBUTE_MAX_SIZE (330)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (2)
diff --git a/zzz_generated/temperature-measurement-app/zap-generated/gen_config.h b/zzz_generated/temperature-measurement-app/zap-generated/gen_config.h
index c02a296..0cb719c 100644
--- a/zzz_generated/temperature-measurement-app/zap-generated/gen_config.h
+++ b/zzz_generated/temperature-measurement-app/zap-generated/gen_config.h
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_DESCRIPTOR_CLUSTER_SERVER_ENDPOINT_COUNT (2)
@@ -49,6 +50,11 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the server side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL
+
// Use this macro to check if the server side of the AdministratorCommissioning cluster is included
#define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING_SERVER
diff --git a/zzz_generated/thermostat/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/thermostat/zap-generated/PluginApplicationCallbacks.h
index 0c25ee4..cdeb927 100644
--- a/zzz_generated/thermostat/zap-generated/PluginApplicationCallbacks.h
+++ b/zzz_generated/thermostat/zap-generated/PluginApplicationCallbacks.h
@@ -22,6 +22,7 @@
#include <app-common/zap-generated/callbacks/PluginCallbacks.h>
#define MATTER_PLUGINS_INIT \
+ MatterAccessControlPluginServerInitCallback(); \
MatterAdministratorCommissioningPluginServerInitCallback(); \
MatterBasicPluginServerInitCallback(); \
MatterBindingPluginServerInitCallback(); \
diff --git a/zzz_generated/thermostat/zap-generated/callback-stub.cpp b/zzz_generated/thermostat/zap-generated/callback-stub.cpp
index d4e44f6..52c37b8 100644
--- a/zzz_generated/thermostat/zap-generated/callback-stub.cpp
+++ b/zzz_generated/thermostat/zap-generated/callback-stub.cpp
@@ -29,6 +29,9 @@
{
switch (clusterId)
{
+ case ZCL_ACCESS_CONTROL_CLUSTER_ID:
+ emberAfAccessControlClusterInitCallback(endpoint);
+ break;
case ZCL_ADMINISTRATOR_COMMISSIONING_CLUSTER_ID:
emberAfAdministratorCommissioningClusterInitCallback(endpoint);
break;
@@ -107,6 +110,11 @@
}
}
+void __attribute__((weak)) emberAfAccessControlClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfAdministratorCommissioningClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
diff --git a/zzz_generated/thermostat/zap-generated/endpoint_config.h b/zzz_generated/thermostat/zap-generated/endpoint_config.h
index 81ff0a6..381656f 100644
--- a/zzz_generated/thermostat/zap-generated/endpoint_config.h
+++ b/zzz_generated/thermostat/zap-generated/endpoint_config.h
@@ -629,7 +629,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 230
+#define GENERATED_ATTRIBUTE_COUNT 234
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -648,6 +648,14 @@
/* Endpoint: 0, Cluster: Binding (server) */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
\
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* ACL */ \
+ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* Extension */ \
+ { 0x0000FFFB, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AttributeList */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
/* Endpoint: 0, Cluster: Basic (server) */ \
{ 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(10) }, /* DataModelRevision */ \
{ 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
@@ -1163,7 +1171,7 @@
// clang-format on
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 27
+#define GENERATED_CLUSTER_COUNT 28
// clang-format off
#define GENERATED_CLUSTERS { \
@@ -1201,9 +1209,20 @@
.serverGeneratedCommandList = nullptr ,\
},\
{ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(8), \
+ .attributeCount = 4, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(SERVER), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
/* Endpoint: 0, Cluster: Basic (server) */ \
.clusterId = 0x00000028, \
- .attributes = ZAP_ATTRIBUTE_INDEX(8), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(12), \
.attributeCount = 20, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1214,7 +1233,7 @@
{ \
/* Endpoint: 0, Cluster: OTA Software Update Provider (server) */ \
.clusterId = 0x00000029, \
- .attributes = ZAP_ATTRIBUTE_INDEX(28), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(32), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1225,7 +1244,7 @@
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(29), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(33), \
.attributeCount = 3, \
.clusterSize = 38, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1236,7 +1255,7 @@
{ \
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
.clusterId = 0x0000002C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(32), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(36), \
.attributeCount = 4, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1247,7 +1266,7 @@
{ \
/* Endpoint: 0, Cluster: Unit Localization (server) */ \
.clusterId = 0x0000002D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(36), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(40), \
.attributeCount = 3, \
.clusterSize = 7, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1258,7 +1277,7 @@
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(39), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(43), \
.attributeCount = 6, \
.clusterSize = 16, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1269,7 +1288,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(45), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(49), \
.attributeCount = 10, \
.clusterSize = 60, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1280,7 +1299,7 @@
{ \
/* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
.clusterId = 0x00000032, \
- .attributes = ZAP_ATTRIBUTE_INDEX(55), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(59), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1291,7 +1310,7 @@
{ \
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
.clusterId = 0x00000033, \
- .attributes = ZAP_ATTRIBUTE_INDEX(55), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(59), \
.attributeCount = 9, \
.clusterSize = 17, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1302,7 +1321,7 @@
{ \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
.clusterId = 0x00000034, \
- .attributes = ZAP_ATTRIBUTE_INDEX(64), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(68), \
.attributeCount = 6, \
.clusterSize = 30, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1313,7 +1332,7 @@
{ \
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
.clusterId = 0x00000035, \
- .attributes = ZAP_ATTRIBUTE_INDEX(70), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(74), \
.attributeCount = 65, \
.clusterSize = 247, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1324,7 +1343,7 @@
{ \
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
.clusterId = 0x00000036, \
- .attributes = ZAP_ATTRIBUTE_INDEX(135), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(139), \
.attributeCount = 15, \
.clusterSize = 58, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1335,7 +1354,7 @@
{ \
/* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
.clusterId = 0x00000037, \
- .attributes = ZAP_ATTRIBUTE_INDEX(150), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(154), \
.attributeCount = 11, \
.clusterSize = 57, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1346,7 +1365,7 @@
{ \
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
.clusterId = 0x0000003C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(161), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(165), \
.attributeCount = 4, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1357,7 +1376,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(165), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(169), \
.attributeCount = 7, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1368,7 +1387,7 @@
{ \
/* Endpoint: 0, Cluster: Group Key Management (server) */ \
.clusterId = 0x0000003F, \
- .attributes = ZAP_ATTRIBUTE_INDEX(172), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(176), \
.attributeCount = 3, \
.clusterSize = 510, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1379,7 +1398,7 @@
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(175), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(179), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1390,7 +1409,7 @@
{ \
/* Endpoint: 0, Cluster: User Label (server) */ \
.clusterId = 0x00000041, \
- .attributes = ZAP_ATTRIBUTE_INDEX(177), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(181), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1401,7 +1420,7 @@
{ \
/* Endpoint: 1, Cluster: Identify (client) */ \
.clusterId = 0x00000003, \
- .attributes = ZAP_ATTRIBUTE_INDEX(179), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(183), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1412,7 +1431,7 @@
{ \
/* Endpoint: 1, Cluster: Identify (server) */ \
.clusterId = 0x00000003, \
- .attributes = ZAP_ATTRIBUTE_INDEX(180), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(184), \
.attributeCount = 3, \
.clusterSize = 5, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1423,7 +1442,7 @@
{ \
/* Endpoint: 1, Cluster: Groups (server) */ \
.clusterId = 0x00000004, \
- .attributes = ZAP_ATTRIBUTE_INDEX(183), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(187), \
.attributeCount = 2, \
.clusterSize = 3, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1434,7 +1453,7 @@
{ \
/* Endpoint: 1, Cluster: Scenes (server) */ \
.clusterId = 0x00000005, \
- .attributes = ZAP_ATTRIBUTE_INDEX(185), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(189), \
.attributeCount = 6, \
.clusterSize = 8, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1445,7 +1464,7 @@
{ \
/* Endpoint: 1, Cluster: Basic (server) */ \
.clusterId = 0x00000028, \
- .attributes = ZAP_ATTRIBUTE_INDEX(191), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(195), \
.attributeCount = 20, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1456,7 +1475,7 @@
{ \
/* Endpoint: 1, Cluster: Thermostat (server) */ \
.clusterId = 0x00000201, \
- .attributes = ZAP_ATTRIBUTE_INDEX(211), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(215), \
.attributeCount = 19, \
.clusterSize = 34, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1470,12 +1489,12 @@
#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
-#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 26
+#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 27
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 21, 1101 }, { ZAP_CLUSTER_INDEX(21), 6, 91 }, \
+ { ZAP_CLUSTER_INDEX(0), 22, 1103 }, { ZAP_CLUSTER_INDEX(22), 6, 91 }, \
}
// Largest attribute size is needed for various buffers
@@ -1485,7 +1504,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (78)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (1192)
+#define ATTRIBUTE_MAX_SIZE (1194)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (2)
diff --git a/zzz_generated/thermostat/zap-generated/gen_config.h b/zzz_generated/thermostat/zap-generated/gen_config.h
index 2cbffbd..5787ab1 100644
--- a/zzz_generated/thermostat/zap-generated/gen_config.h
+++ b/zzz_generated/thermostat/zap-generated/gen_config.h
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (2)
#define EMBER_AF_BINDING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
@@ -57,6 +58,11 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the server side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL
+
// Use this macro to check if the server side of the AdministratorCommissioning cluster is included
#define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING_SERVER
diff --git a/zzz_generated/tv-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/tv-app/zap-generated/PluginApplicationCallbacks.h
index b3126be..e367c00 100644
--- a/zzz_generated/tv-app/zap-generated/PluginApplicationCallbacks.h
+++ b/zzz_generated/tv-app/zap-generated/PluginApplicationCallbacks.h
@@ -22,6 +22,7 @@
#include <app-common/zap-generated/callbacks/PluginCallbacks.h>
#define MATTER_PLUGINS_INIT \
+ MatterAccessControlPluginServerInitCallback(); \
MatterAccountLoginPluginServerInitCallback(); \
MatterAdministratorCommissioningPluginServerInitCallback(); \
MatterApplicationBasicPluginServerInitCallback(); \
diff --git a/zzz_generated/tv-app/zap-generated/callback-stub.cpp b/zzz_generated/tv-app/zap-generated/callback-stub.cpp
index 6b2208a..d7dbbfa 100644
--- a/zzz_generated/tv-app/zap-generated/callback-stub.cpp
+++ b/zzz_generated/tv-app/zap-generated/callback-stub.cpp
@@ -29,6 +29,9 @@
{
switch (clusterId)
{
+ case ZCL_ACCESS_CONTROL_CLUSTER_ID:
+ emberAfAccessControlClusterInitCallback(endpoint);
+ break;
case ZCL_ACCOUNT_LOGIN_CLUSTER_ID:
emberAfAccountLoginClusterInitCallback(endpoint);
break;
@@ -140,6 +143,11 @@
}
}
+void __attribute__((weak)) emberAfAccessControlClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfAccountLoginClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
diff --git a/zzz_generated/tv-app/zap-generated/endpoint_config.h b/zzz_generated/tv-app/zap-generated/endpoint_config.h
index a2501a1..b88e11d 100644
--- a/zzz_generated/tv-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/tv-app/zap-generated/endpoint_config.h
@@ -988,7 +988,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 295
+#define GENERATED_ATTRIBUTE_COUNT 299
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -1005,6 +1005,14 @@
/* Endpoint: 0, Cluster: Binding (server) */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
\
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* ACL */ \
+ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* Extension */ \
+ { 0x0000FFFB, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AttributeList */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
/* Endpoint: 0, Cluster: Basic (server) */ \
{ 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(10) }, /* DataModelRevision */ \
{ 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
@@ -1711,7 +1719,7 @@
// clang-format on
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 49
+#define GENERATED_CLUSTER_COUNT 50
// clang-format off
#define GENERATED_CLUSTERS { \
@@ -1749,9 +1757,20 @@
.serverGeneratedCommandList = nullptr ,\
},\
{ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(7), \
+ .attributeCount = 4, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(SERVER), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
/* Endpoint: 0, Cluster: Basic (server) */ \
.clusterId = 0x00000028, \
- .attributes = ZAP_ATTRIBUTE_INDEX(7), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(11), \
.attributeCount = 20, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1762,7 +1781,7 @@
{ \
/* Endpoint: 0, Cluster: OTA Software Update Provider (server) */ \
.clusterId = 0x00000029, \
- .attributes = ZAP_ATTRIBUTE_INDEX(27), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(31), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1773,7 +1792,7 @@
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(28), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(32), \
.attributeCount = 3, \
.clusterSize = 38, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1784,7 +1803,7 @@
{ \
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
.clusterId = 0x0000002C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(31), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(35), \
.attributeCount = 4, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1795,7 +1814,7 @@
{ \
/* Endpoint: 0, Cluster: Unit Localization (server) */ \
.clusterId = 0x0000002D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(35), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(39), \
.attributeCount = 3, \
.clusterSize = 7, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1806,7 +1825,7 @@
{ \
/* Endpoint: 0, Cluster: General Commissioning (client) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(38), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(42), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1817,7 +1836,7 @@
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(39), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(43), \
.attributeCount = 6, \
.clusterSize = 16, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1828,7 +1847,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (client) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(45), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(49), \
.attributeCount = 2, \
.clusterSize = 6, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1839,7 +1858,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(47), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(51), \
.attributeCount = 10, \
.clusterSize = 60, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1850,7 +1869,7 @@
{ \
/* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
.clusterId = 0x00000032, \
- .attributes = ZAP_ATTRIBUTE_INDEX(57), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(61), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1861,7 +1880,7 @@
{ \
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
.clusterId = 0x00000033, \
- .attributes = ZAP_ATTRIBUTE_INDEX(57), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(61), \
.attributeCount = 9, \
.clusterSize = 17, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1872,7 +1891,7 @@
{ \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
.clusterId = 0x00000034, \
- .attributes = ZAP_ATTRIBUTE_INDEX(66), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(70), \
.attributeCount = 6, \
.clusterSize = 30, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1883,7 +1902,7 @@
{ \
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
.clusterId = 0x00000035, \
- .attributes = ZAP_ATTRIBUTE_INDEX(72), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(76), \
.attributeCount = 65, \
.clusterSize = 247, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1894,7 +1913,7 @@
{ \
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
.clusterId = 0x00000036, \
- .attributes = ZAP_ATTRIBUTE_INDEX(137), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(141), \
.attributeCount = 15, \
.clusterSize = 58, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1905,7 +1924,7 @@
{ \
/* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
.clusterId = 0x00000037, \
- .attributes = ZAP_ATTRIBUTE_INDEX(152), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(156), \
.attributeCount = 11, \
.clusterSize = 57, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1916,7 +1935,7 @@
{ \
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
.clusterId = 0x0000003C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(163), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(167), \
.attributeCount = 4, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1927,7 +1946,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (client) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(167), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(171), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -1938,7 +1957,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(168), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(172), \
.attributeCount = 7, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1949,7 +1968,7 @@
{ \
/* Endpoint: 0, Cluster: Group Key Management (server) */ \
.clusterId = 0x0000003F, \
- .attributes = ZAP_ATTRIBUTE_INDEX(175), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(179), \
.attributeCount = 3, \
.clusterSize = 510, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1960,7 +1979,7 @@
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(178), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(182), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1971,7 +1990,7 @@
{ \
/* Endpoint: 0, Cluster: User Label (server) */ \
.clusterId = 0x00000041, \
- .attributes = ZAP_ATTRIBUTE_INDEX(180), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(184), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1982,7 +2001,7 @@
{ \
/* Endpoint: 0, Cluster: Relative Humidity Measurement (server) */ \
.clusterId = 0x00000405, \
- .attributes = ZAP_ATTRIBUTE_INDEX(182), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(186), \
.attributeCount = 4, \
.clusterSize = 8, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1993,7 +2012,7 @@
{ \
/* Endpoint: 1, Cluster: On/Off (server) */ \
.clusterId = 0x00000006, \
- .attributes = ZAP_ATTRIBUTE_INDEX(186), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(190), \
.attributeCount = 2, \
.clusterSize = 3, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -2004,7 +2023,7 @@
{ \
/* Endpoint: 1, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(188), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(192), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2015,7 +2034,7 @@
{ \
/* Endpoint: 1, Cluster: Wake on LAN (server) */ \
.clusterId = 0x00000503, \
- .attributes = ZAP_ATTRIBUTE_INDEX(193), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(197), \
.attributeCount = 2, \
.clusterSize = 35, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2026,7 +2045,7 @@
{ \
/* Endpoint: 1, Cluster: Channel (server) */ \
.clusterId = 0x00000504, \
- .attributes = ZAP_ATTRIBUTE_INDEX(195), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(199), \
.attributeCount = 4, \
.clusterSize = 256, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2037,7 +2056,7 @@
{ \
/* Endpoint: 1, Cluster: Target Navigator (server) */ \
.clusterId = 0x00000505, \
- .attributes = ZAP_ATTRIBUTE_INDEX(199), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(203), \
.attributeCount = 3, \
.clusterSize = 257, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2048,7 +2067,7 @@
{ \
/* Endpoint: 1, Cluster: Media Input (server) */ \
.clusterId = 0x00000507, \
- .attributes = ZAP_ATTRIBUTE_INDEX(202), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(206), \
.attributeCount = 3, \
.clusterSize = 257, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2059,7 +2078,7 @@
{ \
/* Endpoint: 1, Cluster: Low Power (server) */ \
.clusterId = 0x00000508, \
- .attributes = ZAP_ATTRIBUTE_INDEX(205), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(209), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2070,7 +2089,7 @@
{ \
/* Endpoint: 1, Cluster: Keypad Input (server) */ \
.clusterId = 0x00000509, \
- .attributes = ZAP_ATTRIBUTE_INDEX(206), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(210), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2081,7 +2100,7 @@
{ \
/* Endpoint: 1, Cluster: Content Launcher (server) */ \
.clusterId = 0x0000050A, \
- .attributes = ZAP_ATTRIBUTE_INDEX(207), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(211), \
.attributeCount = 3, \
.clusterSize = 260, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2092,7 +2111,7 @@
{ \
/* Endpoint: 1, Cluster: Application Launcher (server) */ \
.clusterId = 0x0000050C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(210), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(214), \
.attributeCount = 3, \
.clusterSize = 256, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2103,7 +2122,7 @@
{ \
/* Endpoint: 2, Cluster: On/Off (server) */ \
.clusterId = 0x00000006, \
- .attributes = ZAP_ATTRIBUTE_INDEX(213), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(217), \
.attributeCount = 2, \
.clusterSize = 3, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -2114,7 +2133,7 @@
{ \
/* Endpoint: 2, Cluster: Level Control (server) */ \
.clusterId = 0x00000008, \
- .attributes = ZAP_ATTRIBUTE_INDEX(215), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(219), \
.attributeCount = 16, \
.clusterSize = 27, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -2125,7 +2144,7 @@
{ \
/* Endpoint: 2, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(231), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(235), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2136,7 +2155,7 @@
{ \
/* Endpoint: 2, Cluster: Audio Output (server) */ \
.clusterId = 0x0000050B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(236), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(240), \
.attributeCount = 3, \
.clusterSize = 257, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2147,7 +2166,7 @@
{ \
/* Endpoint: 3, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(239), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(243), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2158,7 +2177,7 @@
{ \
/* Endpoint: 3, Cluster: Media Playback (server) */ \
.clusterId = 0x00000506, \
- .attributes = ZAP_ATTRIBUTE_INDEX(244), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(248), \
.attributeCount = 8, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2169,7 +2188,7 @@
{ \
/* Endpoint: 3, Cluster: Content Launcher (server) */ \
.clusterId = 0x0000050A, \
- .attributes = ZAP_ATTRIBUTE_INDEX(252), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(256), \
.attributeCount = 3, \
.clusterSize = 260, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2180,7 +2199,7 @@
{ \
/* Endpoint: 3, Cluster: Application Basic (server) */ \
.clusterId = 0x0000050D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(255), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(259), \
.attributeCount = 9, \
.clusterSize = 138, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2191,7 +2210,7 @@
{ \
/* Endpoint: 3, Cluster: Account Login (server) */ \
.clusterId = 0x0000050E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(264), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(268), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2202,7 +2221,7 @@
{ \
/* Endpoint: 4, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(265), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(269), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2213,7 +2232,7 @@
{ \
/* Endpoint: 4, Cluster: Content Launcher (server) */ \
.clusterId = 0x0000050A, \
- .attributes = ZAP_ATTRIBUTE_INDEX(270), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(274), \
.attributeCount = 3, \
.clusterSize = 260, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2224,7 +2243,7 @@
{ \
/* Endpoint: 4, Cluster: Application Basic (server) */ \
.clusterId = 0x0000050D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(273), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(277), \
.attributeCount = 9, \
.clusterSize = 138, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2235,7 +2254,7 @@
{ \
/* Endpoint: 5, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(282), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(286), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2246,7 +2265,7 @@
{ \
/* Endpoint: 5, Cluster: Application Basic (server) */ \
.clusterId = 0x0000050D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(287), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(291), \
.attributeCount = 8, \
.clusterSize = 106, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2260,13 +2279,13 @@
#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
-#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 45
+#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 46
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 25, 1117 }, { ZAP_CLUSTER_INDEX(25), 10, 1328 }, { ZAP_CLUSTER_INDEX(35), 4, 287 }, \
- { ZAP_CLUSTER_INDEX(39), 5, 439 }, { ZAP_CLUSTER_INDEX(44), 3, 398 }, { ZAP_CLUSTER_INDEX(47), 2, 106 }, \
+ { ZAP_CLUSTER_INDEX(0), 26, 1119 }, { ZAP_CLUSTER_INDEX(26), 10, 1328 }, { ZAP_CLUSTER_INDEX(36), 4, 287 }, \
+ { ZAP_CLUSTER_INDEX(40), 5, 439 }, { ZAP_CLUSTER_INDEX(45), 3, 398 }, { ZAP_CLUSTER_INDEX(48), 2, 106 }, \
}
// Largest attribute size is needed for various buffers
@@ -2276,7 +2295,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (39)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (3675)
+#define ATTRIBUTE_MAX_SIZE (3677)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (6)
diff --git a/zzz_generated/tv-app/zap-generated/gen_config.h b/zzz_generated/tv-app/zap-generated/gen_config.h
index 790cc67..9dd9370 100644
--- a/zzz_generated/tv-app/zap-generated/gen_config.h
+++ b/zzz_generated/tv-app/zap-generated/gen_config.h
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_ACCOUNT_LOGIN_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_APPLICATION_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (3)
@@ -71,6 +72,11 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the server side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL
+
// Use this macro to check if the server side of the Account Login cluster is included
#define ZCL_USING_ACCOUNT_LOGIN_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_ACCOUNT_LOGIN_SERVER
diff --git a/zzz_generated/tv-casting-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/tv-casting-app/zap-generated/PluginApplicationCallbacks.h
index 358185b..163e2ff 100644
--- a/zzz_generated/tv-casting-app/zap-generated/PluginApplicationCallbacks.h
+++ b/zzz_generated/tv-casting-app/zap-generated/PluginApplicationCallbacks.h
@@ -22,6 +22,7 @@
#include <app-common/zap-generated/callbacks/PluginCallbacks.h>
#define MATTER_PLUGINS_INIT \
+ MatterAccessControlPluginServerInitCallback(); \
MatterAccountLoginPluginClientInitCallback(); \
MatterAdministratorCommissioningPluginServerInitCallback(); \
MatterApplicationBasicPluginClientInitCallback(); \
diff --git a/zzz_generated/tv-casting-app/zap-generated/callback-stub.cpp b/zzz_generated/tv-casting-app/zap-generated/callback-stub.cpp
index 89ca23a..524ea09 100644
--- a/zzz_generated/tv-casting-app/zap-generated/callback-stub.cpp
+++ b/zzz_generated/tv-casting-app/zap-generated/callback-stub.cpp
@@ -29,6 +29,9 @@
{
switch (clusterId)
{
+ case ZCL_ACCESS_CONTROL_CLUSTER_ID:
+ emberAfAccessControlClusterInitCallback(endpoint);
+ break;
case ZCL_ACCOUNT_LOGIN_CLUSTER_ID:
emberAfAccountLoginClusterInitCallback(endpoint);
break;
@@ -188,6 +191,11 @@
}
}
+void __attribute__((weak)) emberAfAccessControlClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfAccountLoginClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
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 3aacf8d..bc355ab 100644
--- a/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/tv-casting-app/zap-generated/endpoint_config.h
@@ -841,7 +841,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 422
+#define GENERATED_ATTRIBUTE_COUNT 426
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -855,6 +855,14 @@
/* Endpoint: 0, Cluster: Binding (server) */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
\
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* ACL */ \
+ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* Extension */ \
+ { 0x0000FFFB, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AttributeList */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
/* Endpoint: 0, Cluster: Basic (server) */ \
{ 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(10) }, /* DataModelRevision */ \
{ 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
@@ -1795,7 +1803,7 @@
// clang-format on
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 57
+#define GENERATED_CLUSTER_COUNT 58
// clang-format off
#define GENERATED_CLUSTERS { \
@@ -1822,9 +1830,20 @@
.serverGeneratedCommandList = nullptr ,\
},\
{ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(6), \
+ .attributeCount = 4, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(SERVER), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
/* Endpoint: 0, Cluster: Basic (server) */ \
.clusterId = 0x00000028, \
- .attributes = ZAP_ATTRIBUTE_INDEX(6), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(10), \
.attributeCount = 20, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1835,7 +1854,7 @@
{ \
/* Endpoint: 0, Cluster: OTA Software Update Provider (server) */ \
.clusterId = 0x00000029, \
- .attributes = ZAP_ATTRIBUTE_INDEX(26), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(30), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1846,7 +1865,7 @@
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(27), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(31), \
.attributeCount = 3, \
.clusterSize = 38, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1857,7 +1876,7 @@
{ \
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
.clusterId = 0x0000002C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(30), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(34), \
.attributeCount = 4, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1868,7 +1887,7 @@
{ \
/* Endpoint: 0, Cluster: Unit Localization (server) */ \
.clusterId = 0x0000002D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(34), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(38), \
.attributeCount = 3, \
.clusterSize = 7, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1879,7 +1898,7 @@
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(37), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(41), \
.attributeCount = 6, \
.clusterSize = 16, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1890,7 +1909,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(43), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(47), \
.attributeCount = 10, \
.clusterSize = 60, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1901,7 +1920,7 @@
{ \
/* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
.clusterId = 0x00000032, \
- .attributes = ZAP_ATTRIBUTE_INDEX(53), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(57), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1912,7 +1931,7 @@
{ \
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
.clusterId = 0x00000033, \
- .attributes = ZAP_ATTRIBUTE_INDEX(53), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(57), \
.attributeCount = 9, \
.clusterSize = 17, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1923,7 +1942,7 @@
{ \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
.clusterId = 0x00000034, \
- .attributes = ZAP_ATTRIBUTE_INDEX(62), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(66), \
.attributeCount = 6, \
.clusterSize = 30, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1934,7 +1953,7 @@
{ \
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
.clusterId = 0x00000035, \
- .attributes = ZAP_ATTRIBUTE_INDEX(68), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(72), \
.attributeCount = 65, \
.clusterSize = 247, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1945,7 +1964,7 @@
{ \
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
.clusterId = 0x00000036, \
- .attributes = ZAP_ATTRIBUTE_INDEX(133), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(137), \
.attributeCount = 15, \
.clusterSize = 58, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1956,7 +1975,7 @@
{ \
/* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
.clusterId = 0x00000037, \
- .attributes = ZAP_ATTRIBUTE_INDEX(148), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(152), \
.attributeCount = 11, \
.clusterSize = 57, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1967,7 +1986,7 @@
{ \
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
.clusterId = 0x0000003C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(159), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(163), \
.attributeCount = 4, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1978,7 +1997,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(163), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(167), \
.attributeCount = 7, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1989,7 +2008,7 @@
{ \
/* Endpoint: 0, Cluster: Group Key Management (server) */ \
.clusterId = 0x0000003F, \
- .attributes = ZAP_ATTRIBUTE_INDEX(170), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(174), \
.attributeCount = 3, \
.clusterSize = 510, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2000,7 +2019,7 @@
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(173), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(177), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2011,7 +2030,7 @@
{ \
/* Endpoint: 0, Cluster: User Label (server) */ \
.clusterId = 0x00000041, \
- .attributes = ZAP_ATTRIBUTE_INDEX(175), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(179), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2022,7 +2041,7 @@
{ \
/* Endpoint: 0, Cluster: Relative Humidity Measurement (server) */ \
.clusterId = 0x00000405, \
- .attributes = ZAP_ATTRIBUTE_INDEX(177), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(181), \
.attributeCount = 4, \
.clusterSize = 8, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2033,7 +2052,7 @@
{ \
/* Endpoint: 1, Cluster: Identify (server) */ \
.clusterId = 0x00000003, \
- .attributes = ZAP_ATTRIBUTE_INDEX(181), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(185), \
.attributeCount = 2, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
@@ -2044,7 +2063,7 @@
{ \
/* Endpoint: 1, Cluster: Groups (server) */ \
.clusterId = 0x00000004, \
- .attributes = ZAP_ATTRIBUTE_INDEX(183), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(187), \
.attributeCount = 2, \
.clusterSize = 3, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -2055,7 +2074,7 @@
{ \
/* Endpoint: 1, Cluster: Scenes (server) */ \
.clusterId = 0x00000005, \
- .attributes = ZAP_ATTRIBUTE_INDEX(185), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(189), \
.attributeCount = 6, \
.clusterSize = 8, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -2066,7 +2085,7 @@
{ \
/* Endpoint: 1, Cluster: On/Off (server) */ \
.clusterId = 0x00000006, \
- .attributes = ZAP_ATTRIBUTE_INDEX(191), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(195), \
.attributeCount = 7, \
.clusterSize = 13, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -2077,7 +2096,7 @@
{ \
/* Endpoint: 1, Cluster: Level Control (server) */ \
.clusterId = 0x00000008, \
- .attributes = ZAP_ATTRIBUTE_INDEX(198), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(202), \
.attributeCount = 15, \
.clusterSize = 23, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -2088,7 +2107,7 @@
{ \
/* Endpoint: 1, Cluster: Binary Input (Basic) (server) */ \
.clusterId = 0x0000000F, \
- .attributes = ZAP_ATTRIBUTE_INDEX(213), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(217), \
.attributeCount = 4, \
.clusterSize = 5, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2099,7 +2118,7 @@
{ \
/* Endpoint: 1, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(217), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(221), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2110,7 +2129,7 @@
{ \
/* Endpoint: 1, Cluster: Binding (server) */ \
.clusterId = 0x0000001E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(222), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(226), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2121,7 +2140,7 @@
{ \
/* Endpoint: 1, Cluster: Bridged Device Basic (server) */ \
.clusterId = 0x00000039, \
- .attributes = ZAP_ATTRIBUTE_INDEX(223), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(227), \
.attributeCount = 15, \
.clusterSize = 36, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2132,7 +2151,7 @@
{ \
/* Endpoint: 1, Cluster: Switch (server) */ \
.clusterId = 0x0000003B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(238), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(242), \
.attributeCount = 3, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2143,7 +2162,7 @@
{ \
/* Endpoint: 1, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(241), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(245), \
.attributeCount = 2, \
.clusterSize = 256, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2154,7 +2173,7 @@
{ \
/* Endpoint: 1, Cluster: Door Lock (server) */ \
.clusterId = 0x00000101, \
- .attributes = ZAP_ATTRIBUTE_INDEX(243), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(247), \
.attributeCount = 28, \
.clusterSize = 46, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -2165,7 +2184,7 @@
{ \
/* Endpoint: 1, Cluster: Window Covering (server) */ \
.clusterId = 0x00000102, \
- .attributes = ZAP_ATTRIBUTE_INDEX(271), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(275), \
.attributeCount = 19, \
.clusterSize = 31, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2176,7 +2195,7 @@
{ \
/* Endpoint: 1, Cluster: Barrier Control (server) */ \
.clusterId = 0x00000103, \
- .attributes = ZAP_ATTRIBUTE_INDEX(290), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(294), \
.attributeCount = 5, \
.clusterSize = 7, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2187,7 +2206,7 @@
{ \
/* Endpoint: 1, Cluster: Thermostat (server) */ \
.clusterId = 0x00000201, \
- .attributes = ZAP_ATTRIBUTE_INDEX(295), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(299), \
.attributeCount = 10, \
.clusterSize = 17, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -2198,7 +2217,7 @@
{ \
/* Endpoint: 1, Cluster: Color Control (server) */ \
.clusterId = 0x00000300, \
- .attributes = ZAP_ATTRIBUTE_INDEX(305), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(309), \
.attributeCount = 51, \
.clusterSize = 337, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -2209,7 +2228,7 @@
{ \
/* Endpoint: 1, Cluster: Temperature Measurement (server) */ \
.clusterId = 0x00000402, \
- .attributes = ZAP_ATTRIBUTE_INDEX(356), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(360), \
.attributeCount = 4, \
.clusterSize = 8, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2220,7 +2239,7 @@
{ \
/* Endpoint: 1, Cluster: Pressure Measurement (server) */ \
.clusterId = 0x00000403, \
- .attributes = ZAP_ATTRIBUTE_INDEX(360), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(364), \
.attributeCount = 4, \
.clusterSize = 8, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2231,7 +2250,7 @@
{ \
/* Endpoint: 1, Cluster: Flow Measurement (server) */ \
.clusterId = 0x00000404, \
- .attributes = ZAP_ATTRIBUTE_INDEX(364), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(368), \
.attributeCount = 4, \
.clusterSize = 8, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2242,7 +2261,7 @@
{ \
/* Endpoint: 1, Cluster: Relative Humidity Measurement (server) */ \
.clusterId = 0x00000405, \
- .attributes = ZAP_ATTRIBUTE_INDEX(368), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(372), \
.attributeCount = 4, \
.clusterSize = 8, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2253,7 +2272,7 @@
{ \
/* Endpoint: 1, Cluster: IAS Zone (server) */ \
.clusterId = 0x00000500, \
- .attributes = ZAP_ATTRIBUTE_INDEX(372), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(376), \
.attributeCount = 6, \
.clusterSize = 16, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION) | ZAP_CLUSTER_MASK(MESSAGE_SENT_FUNCTION), \
@@ -2264,7 +2283,7 @@
{ \
/* Endpoint: 1, Cluster: Wake on LAN (server) */ \
.clusterId = 0x00000503, \
- .attributes = ZAP_ATTRIBUTE_INDEX(378), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(382), \
.attributeCount = 2, \
.clusterSize = 35, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2275,7 +2294,7 @@
{ \
/* Endpoint: 1, Cluster: Channel (client) */ \
.clusterId = 0x00000504, \
- .attributes = ZAP_ATTRIBUTE_INDEX(380), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(384), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -2286,7 +2305,7 @@
{ \
/* Endpoint: 1, Cluster: Target Navigator (client) */ \
.clusterId = 0x00000505, \
- .attributes = ZAP_ATTRIBUTE_INDEX(381), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(385), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -2297,7 +2316,7 @@
{ \
/* Endpoint: 1, Cluster: Media Playback (client) */ \
.clusterId = 0x00000506, \
- .attributes = ZAP_ATTRIBUTE_INDEX(382), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(386), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -2308,7 +2327,7 @@
{ \
/* Endpoint: 1, Cluster: Media Input (client) */ \
.clusterId = 0x00000507, \
- .attributes = ZAP_ATTRIBUTE_INDEX(383), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(387), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -2319,7 +2338,7 @@
{ \
/* Endpoint: 1, Cluster: Keypad Input (client) */ \
.clusterId = 0x00000509, \
- .attributes = ZAP_ATTRIBUTE_INDEX(384), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(388), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -2330,7 +2349,7 @@
{ \
/* Endpoint: 1, Cluster: Content Launcher (client) */ \
.clusterId = 0x0000050A, \
- .attributes = ZAP_ATTRIBUTE_INDEX(385), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(389), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -2341,7 +2360,7 @@
{ \
/* Endpoint: 1, Cluster: Audio Output (client) */ \
.clusterId = 0x0000050B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(386), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(390), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -2352,7 +2371,7 @@
{ \
/* Endpoint: 1, Cluster: Application Launcher (client) */ \
.clusterId = 0x0000050C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(387), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(391), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -2363,7 +2382,7 @@
{ \
/* Endpoint: 1, Cluster: Application Basic (client) */ \
.clusterId = 0x0000050D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(388), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(392), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -2374,7 +2393,7 @@
{ \
/* Endpoint: 1, Cluster: Account Login (client) */ \
.clusterId = 0x0000050E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(389), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(393), \
.attributeCount = 1, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
@@ -2385,7 +2404,7 @@
{ \
/* Endpoint: 1, Cluster: Test Cluster (server) */ \
.clusterId = 0x0000050F, \
- .attributes = ZAP_ATTRIBUTE_INDEX(390), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(394), \
.attributeCount = 21, \
.clusterSize = 1582, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2396,7 +2415,7 @@
{ \
/* Endpoint: 2, Cluster: On/Off (server) */ \
.clusterId = 0x00000006, \
- .attributes = ZAP_ATTRIBUTE_INDEX(411), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(415), \
.attributeCount = 2, \
.clusterSize = 3, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -2407,7 +2426,7 @@
{ \
/* Endpoint: 2, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(413), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(417), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -2418,7 +2437,7 @@
{ \
/* Endpoint: 2, Cluster: Occupancy Sensing (server) */ \
.clusterId = 0x00000406, \
- .attributes = ZAP_ATTRIBUTE_INDEX(418), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(422), \
.attributeCount = 4, \
.clusterSize = 5, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -2432,12 +2451,12 @@
#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
-#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 47
+#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 48
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 21, 1105 }, { ZAP_CLUSTER_INDEX(21), 33, 2477 }, { ZAP_CLUSTER_INDEX(54), 3, 8 }, \
+ { ZAP_CLUSTER_INDEX(0), 22, 1107 }, { ZAP_CLUSTER_INDEX(22), 33, 2477 }, { ZAP_CLUSTER_INDEX(55), 3, 8 }, \
}
// Largest attribute size is needed for various buffers
@@ -2447,7 +2466,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (75)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (3590)
+#define ATTRIBUTE_MAX_SIZE (3592)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (3)
diff --git a/zzz_generated/tv-casting-app/zap-generated/gen_config.h b/zzz_generated/tv-casting-app/zap-generated/gen_config.h
index 0159067..d3b2192 100644
--- a/zzz_generated/tv-casting-app/zap-generated/gen_config.h
+++ b/zzz_generated/tv-casting-app/zap-generated/gen_config.h
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_ACCOUNT_LOGIN_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
#define EMBER_AF_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_APPLICATION_BASIC_CLUSTER_CLIENT_ENDPOINT_COUNT (1)
@@ -83,6 +84,11 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the server side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL
+
// Use this macro to check if the client side of the Account Login cluster is included
#define ZCL_USING_ACCOUNT_LOGIN_CLUSTER_CLIENT
#define EMBER_AF_PLUGIN_ACCOUNT_LOGIN_CLIENT
diff --git a/zzz_generated/window-app/zap-generated/PluginApplicationCallbacks.h b/zzz_generated/window-app/zap-generated/PluginApplicationCallbacks.h
index 577dedf..80b7b23 100644
--- a/zzz_generated/window-app/zap-generated/PluginApplicationCallbacks.h
+++ b/zzz_generated/window-app/zap-generated/PluginApplicationCallbacks.h
@@ -22,6 +22,7 @@
#include <app-common/zap-generated/callbacks/PluginCallbacks.h>
#define MATTER_PLUGINS_INIT \
+ MatterAccessControlPluginServerInitCallback(); \
MatterAdministratorCommissioningPluginServerInitCallback(); \
MatterBasicPluginServerInitCallback(); \
MatterDescriptorPluginServerInitCallback(); \
diff --git a/zzz_generated/window-app/zap-generated/callback-stub.cpp b/zzz_generated/window-app/zap-generated/callback-stub.cpp
index 0c2c4b6..d6f5588 100644
--- a/zzz_generated/window-app/zap-generated/callback-stub.cpp
+++ b/zzz_generated/window-app/zap-generated/callback-stub.cpp
@@ -29,6 +29,9 @@
{
switch (clusterId)
{
+ case ZCL_ACCESS_CONTROL_CLUSTER_ID:
+ emberAfAccessControlClusterInitCallback(endpoint);
+ break;
case ZCL_ADMINISTRATOR_COMMISSIONING_CLUSTER_ID:
emberAfAdministratorCommissioningClusterInitCallback(endpoint);
break;
@@ -89,6 +92,11 @@
}
}
+void __attribute__((weak)) emberAfAccessControlClusterInitCallback(EndpointId endpoint)
+{
+ // To prevent warning
+ (void) endpoint;
+}
void __attribute__((weak)) emberAfAdministratorCommissioningClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
diff --git a/zzz_generated/window-app/zap-generated/endpoint_config.h b/zzz_generated/window-app/zap-generated/endpoint_config.h
index 5d271a0..70b2e3f 100644
--- a/zzz_generated/window-app/zap-generated/endpoint_config.h
+++ b/zzz_generated/window-app/zap-generated/endpoint_config.h
@@ -580,7 +580,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
-#define GENERATED_ATTRIBUTE_COUNT 233
+#define GENERATED_ATTRIBUTE_COUNT 237
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -591,6 +591,14 @@
{ 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */ \
\
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ { 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* ACL */ \
+ { 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
+ ZAP_EMPTY_DEFAULT() }, /* Extension */ \
+ { 0x0000FFFB, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AttributeList */ \
+ { 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
+ \
/* Endpoint: 0, Cluster: Basic (server) */ \
{ 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(10) }, /* DataModelRevision */ \
{ 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
@@ -1037,7 +1045,7 @@
// clang-format on
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
-#define GENERATED_CLUSTER_COUNT 21
+#define GENERATED_CLUSTER_COUNT 22
// clang-format off
#define GENERATED_CLUSTERS { \
@@ -1053,9 +1061,20 @@
.serverGeneratedCommandList = nullptr ,\
},\
{ \
+ /* Endpoint: 0, Cluster: Access Control (server) */ \
+ .clusterId = 0x0000001F, \
+ .attributes = ZAP_ATTRIBUTE_INDEX(5), \
+ .attributeCount = 4, \
+ .clusterSize = 2, \
+ .mask = ZAP_CLUSTER_MASK(SERVER), \
+ .functions = NULL, \
+ .clientGeneratedCommandList = nullptr ,\
+ .serverGeneratedCommandList = nullptr ,\
+ },\
+ { \
/* Endpoint: 0, Cluster: Basic (server) */ \
.clusterId = 0x00000028, \
- .attributes = ZAP_ATTRIBUTE_INDEX(5), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(9), \
.attributeCount = 20, \
.clusterSize = 39, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -1066,7 +1085,7 @@
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
- .attributes = ZAP_ATTRIBUTE_INDEX(25), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(29), \
.attributeCount = 3, \
.clusterSize = 38, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1077,7 +1096,7 @@
{ \
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
.clusterId = 0x0000002C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(28), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(32), \
.attributeCount = 4, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1088,7 +1107,7 @@
{ \
/* Endpoint: 0, Cluster: Power Source (server) */ \
.clusterId = 0x0000002F, \
- .attributes = ZAP_ATTRIBUTE_INDEX(32), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(36), \
.attributeCount = 11, \
.clusterSize = 88, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1099,7 +1118,7 @@
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
- .attributes = ZAP_ATTRIBUTE_INDEX(43), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(47), \
.attributeCount = 6, \
.clusterSize = 16, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1110,7 +1129,7 @@
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
- .attributes = ZAP_ATTRIBUTE_INDEX(49), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(53), \
.attributeCount = 10, \
.clusterSize = 60, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1121,7 +1140,7 @@
{ \
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
.clusterId = 0x00000033, \
- .attributes = ZAP_ATTRIBUTE_INDEX(59), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(63), \
.attributeCount = 9, \
.clusterSize = 17, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1132,7 +1151,7 @@
{ \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
.clusterId = 0x00000034, \
- .attributes = ZAP_ATTRIBUTE_INDEX(68), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(72), \
.attributeCount = 6, \
.clusterSize = 30, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1143,7 +1162,7 @@
{ \
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
.clusterId = 0x00000035, \
- .attributes = ZAP_ATTRIBUTE_INDEX(74), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(78), \
.attributeCount = 65, \
.clusterSize = 247, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1154,7 +1173,7 @@
{ \
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
.clusterId = 0x00000036, \
- .attributes = ZAP_ATTRIBUTE_INDEX(139), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(143), \
.attributeCount = 15, \
.clusterSize = 58, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1165,7 +1184,7 @@
{ \
/* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
.clusterId = 0x00000037, \
- .attributes = ZAP_ATTRIBUTE_INDEX(154), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(158), \
.attributeCount = 11, \
.clusterSize = 57, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1176,7 +1195,7 @@
{ \
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
.clusterId = 0x0000003C, \
- .attributes = ZAP_ATTRIBUTE_INDEX(165), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(169), \
.attributeCount = 4, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1187,7 +1206,7 @@
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
- .attributes = ZAP_ATTRIBUTE_INDEX(169), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(173), \
.attributeCount = 7, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1198,7 +1217,7 @@
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
- .attributes = ZAP_ATTRIBUTE_INDEX(176), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(180), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1209,7 +1228,7 @@
{ \
/* Endpoint: 0, Cluster: User Label (server) */ \
.clusterId = 0x00000041, \
- .attributes = ZAP_ATTRIBUTE_INDEX(178), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(182), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1220,7 +1239,7 @@
{ \
/* Endpoint: 1, Cluster: Identify (server) */ \
.clusterId = 0x00000003, \
- .attributes = ZAP_ATTRIBUTE_INDEX(180), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(184), \
.attributeCount = 3, \
.clusterSize = 5, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
@@ -1231,7 +1250,7 @@
{ \
/* Endpoint: 1, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(183), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(187), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1242,7 +1261,7 @@
{ \
/* Endpoint: 1, Cluster: Window Covering (server) */ \
.clusterId = 0x00000102, \
- .attributes = ZAP_ATTRIBUTE_INDEX(188), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(192), \
.attributeCount = 20, \
.clusterSize = 35, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1253,7 +1272,7 @@
{ \
/* Endpoint: 2, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
- .attributes = ZAP_ATTRIBUTE_INDEX(208), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(212), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1264,7 +1283,7 @@
{ \
/* Endpoint: 2, Cluster: Window Covering (server) */ \
.clusterId = 0x00000102, \
- .attributes = ZAP_ATTRIBUTE_INDEX(213), \
+ .attributes = ZAP_ATTRIBUTE_INDEX(217), \
.attributeCount = 20, \
.clusterSize = 35, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
@@ -1278,12 +1297,12 @@
#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
-#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 21
+#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 22
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
- { ZAP_CLUSTER_INDEX(0), 16, 664 }, { ZAP_CLUSTER_INDEX(16), 3, 40 }, { ZAP_CLUSTER_INDEX(19), 2, 35 }, \
+ { ZAP_CLUSTER_INDEX(0), 17, 666 }, { ZAP_CLUSTER_INDEX(17), 3, 40 }, { ZAP_CLUSTER_INDEX(20), 2, 35 }, \
}
// Largest attribute size is needed for various buffers
@@ -1293,7 +1312,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (39)
// Total size of attribute storage
-#define ATTRIBUTE_MAX_SIZE (739)
+#define ATTRIBUTE_MAX_SIZE (741)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (3)
diff --git a/zzz_generated/window-app/zap-generated/gen_config.h b/zzz_generated/window-app/zap-generated/gen_config.h
index 2d72519..e3803f4 100644
--- a/zzz_generated/window-app/zap-generated/gen_config.h
+++ b/zzz_generated/window-app/zap-generated/gen_config.h
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
+#define EMBER_AF_ACCESS_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_DESCRIPTOR_CLUSTER_SERVER_ENDPOINT_COUNT (3)
@@ -50,6 +51,11 @@
/**** Cluster Plugins ****/
+// Use this macro to check if the server side of the Access Control cluster is included
+#define ZCL_USING_ACCESS_CONTROL_CLUSTER_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL_SERVER
+#define EMBER_AF_PLUGIN_ACCESS_CONTROL
+
// Use this macro to check if the server side of the AdministratorCommissioning cluster is included
#define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING_SERVER