blob: 38a68b2a8b2da6e803f73027ddc0bac0a1754e95 [file] [log] [blame]
# Copyright (c) 2021 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default
name: 133.2.3. [TC-ACL-2.4] Extension attribute
PICS:
- ACL.S
config:
nodeId: 0x12344321
cluster: "Access Control"
endpoint: 0
CommissionerNodeId:
type: node_id
defaultValue: 112233
CAT1:
type: int64u
defaultValue: 65520
CAT2:
type: int64u
defaultValue: 65521
CAT3:
type: int64u
defaultValue: 65522
CAT4:
type: int64u
defaultValue: 65523
tests:
- label: "Step 1:Wait for the commissioned device to be retrieved"
cluster: "DelayCommands"
command: "WaitForCommissionee"
arguments:
values:
- name: "nodeId"
value: nodeId
- label:
"Step 2:TH1 reads DUT Endpoint 0 OperationalCredentials cluster
CurrentFabricIndex attribute"
command: "readAttribute"
cluster: "Operational Credentials"
attribute: "CurrentFabricIndex"
response:
saveAs: CurrentFabricIndex
- label:
"Step 3:TH1 reads DUT Endpoint 0 AccessControl cluster ACL attribute"
PICS: ACL.S.A0000
command: "readAttribute"
attribute: "ACL"
response:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
- label:
"Step 4:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute,
value is list of AccessControlEntryStruct containing 3 elements
1.struct Privilege field: Administer (5) AuthMode field: CASE (2)
Subjects field: [N1] Targets field: null 2 . struct Privilege field:
View (1) AuthMode field: CASE (3) Subjects field: [111, 222, 333, 444]
Targets field: [{Cluster: 11}, {Endpoint: 22}] 3..struct Privilege
field: Operate (3) AuthMode field: Group (3) Subjects field: [555,
666, 777, 888] Targets field: [{Cluster: 55}, {Endpoint: 66}]"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 1,
AuthMode: 3,
Subjects: [111, 222, 333, 444],
Targets:
[{ Cluster: 11, Endpoint: 22, DeviceType: null }],
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: [555, 666, 777, 888],
Targets:
[{ Cluster: 55, Endpoint: 66, DeviceType: null }],
FabricIndex: CurrentFabricIndex,
},
]
- label:
"Step 5:TH1 reads DUT Endpoint 0 AccessControl cluster ACL attribute"
PICS: ACL.S.A0000
command: "readAttribute"
attribute: "ACL"
response:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 1,
AuthMode: 3,
Subjects: [111, 222, 333, 444],
Targets:
[{ Cluster: 11, Endpoint: 22, DeviceType: null }],
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: [555, 666, 777, 888],
Targets:
[{ Cluster: 55, Endpoint: 66, DeviceType: null }],
FabricIndex: CurrentFabricIndex,
},
]
- label:
"Step 6:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute,
value is list of AccessControlEntryStruct containing 3 elements
1.struct Privilege field: Administer (5) AuthMode field: CASE (2)
Subjects field: [N1] Targets field: null 2.struct Privilege field:
Manage (4) AuthMode field: Group (3) Subjects field: [444, 333, 222,
111] Targets field: [{Cluster: 44}, {Endpoint: 33}] 3.struct Privilege
field: Administer (5) AuthMode field: CASE (2) Subjects field: [888,
777, 666, 555] Targets field: [{Cluster: 88}, {Endpoint: 77}]"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 4,
AuthMode: 3,
Subjects: [444, 333, 222, 111],
Targets:
[{ Cluster: 44, Endpoint: 33, DeviceType: null }],
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 5,
AuthMode: 2,
Subjects: [888, 777, 666, 555],
Targets:
[{ Cluster: 88, Endpoint: 77, DeviceType: null }],
FabricIndex: CurrentFabricIndex,
},
]
- label:
"Step 7:TH1 reads DUT Endpoint 0 AccessControl cluster ACL attribute"
PICS: ACL.S.A0000
command: "readAttribute"
attribute: "ACL"
response:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 4,
AuthMode: 3,
Subjects: [444, 333, 222, 111],
Targets:
[{ Cluster: 44, Endpoint: 33, DeviceType: null }],
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 5,
AuthMode: 2,
Subjects: [888, 777, 666, 555],
Targets:
[{ Cluster: 88, Endpoint: 77, DeviceType: null }],
FabricIndex: CurrentFabricIndex,
},
]
- label:
"Step 8:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute,
value is list of AccessControlEntryStruct containing 3 elements
1.struct Privilege field: Administer (5) AuthMode field: CASE (2)
Subjects field: [N1] Targets field: null 2.struct Privilege field:
View (1) AuthMode field: CASE (2) Subjects field: [111, 222, 333, 444]
Targets field: [{Cluster: 11, Endpoint: 22}, {Cluster: 33, DeviceType:
44}] 3.struct Privilege field: Operate (3) AuthMode field: Group (3)
Subjects field: [555, 666, 777, 888] Targets field: [{Cluster: 55,
Endpoint: 66}, {Cluster: 77, DeviceType: 88}]"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 1,
AuthMode: 2,
Subjects: [111, 222, 333, 444],
Targets:
[
{ Cluster: 11, Endpoint: 22, DeviceType: null },
{ Cluster: 33, Endpoint: null, DeviceType: 44 },
],
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: [555, 666, 777, 888],
Targets:
[
{ Cluster: 55, Endpoint: 66, DeviceType: null },
{ Cluster: 77, Endpoint: null, DeviceType: 88 },
],
FabricIndex: CurrentFabricIndex,
},
]
- label: "Step 9:TH1 reads AccessControl cluster ACL attribute"
PICS: ACL.S.A0000
command: "readAttribute"
attribute: "ACL"
response:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 1,
AuthMode: 2,
Subjects: [111, 222, 333, 444],
Targets:
[
{ Cluster: 11, Endpoint: 22, DeviceType: null },
{ Cluster: 33, Endpoint: null, DeviceType: 44 },
],
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: [555, 666, 777, 888],
Targets:
[
{ Cluster: 55, Endpoint: 66, DeviceType: null },
{ Cluster: 77, Endpoint: null, DeviceType: 88 },
],
FabricIndex: CurrentFabricIndex,
},
]
- label:
"Step 10:TH1 writes DUT Endpoint 0 AccessControl cluster ACL
attribute, value is list of AccessControlEntryStruct containing 3
elements 1.struct Privilege field: Administer (5) AuthMode field: CASE
(2) Subjects field: [N1] Targets field: null 2.struct Privilege field:
View (1) AuthMode field: CASE (2) Subjects field: null Targets field:
[{Cluster: 11, Endpoint: 22}, {Cluster: 33, DeviceType: 44}] 3.struct
Privilege field: Operate (3) AuthMode field: Group (3) Subjects field:
null Targets field: [{Cluster: 55, Endpoint: 66}, {Cluster: 77,
DeviceType: 88}]"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 1,
AuthMode: 2,
Subjects: null,
Targets:
[
{ Cluster: 11, Endpoint: 22, DeviceType: null },
{ Cluster: 33, Endpoint: null, DeviceType: 44 },
],
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: null,
Targets:
[
{ Cluster: 55, Endpoint: 66, DeviceType: null },
{ Cluster: 77, Endpoint: null, DeviceType: 88 },
],
FabricIndex: CurrentFabricIndex,
},
]
- label: "Step 11:TH1 reads AccessControl cluster ACL attribute"
PICS: ACL.S.A0000
command: "readAttribute"
attribute: "ACL"
response:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 1,
AuthMode: 2,
Subjects: null,
Targets:
[
{ Cluster: 11, Endpoint: 22, DeviceType: null },
{ Cluster: 33, Endpoint: null, DeviceType: 44 },
],
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: null,
Targets:
[
{ Cluster: 55, Endpoint: 66, DeviceType: null },
{ Cluster: 77, Endpoint: null, DeviceType: 88 },
],
FabricIndex: CurrentFabricIndex,
},
]
- label:
"Step 12:TH1 writes DUT Endpoint 0 AccessControl cluster ACL
attribute, value is list of AccessControlEntryStruct containing 3
elements 1.struct Privilege field: Administer (5) AuthMode field: CASE
(2) Subjects field: [N1] Targets field: null 2.struct Privilege field:
View (1) AuthMode field: CASE (2) Subjects field: [111, 222, 333, 444]
Targets field: null 3.struct Privilege field: Operate (3) AuthMode
field: Group (3) Subjects field: [555, 666, 777, 888] Targets field:
null"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 1,
AuthMode: 2,
Subjects: [111, 222, 333, 444],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: [555, 666, 777, 888],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
- label: "Step 13:TH1 reads AccessControl cluster ACL attribute"
PICS: ACL.S.A0000
command: "readAttribute"
attribute: "ACL"
response:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 1,
AuthMode: 2,
Subjects: [111, 222, 333, 444],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: [555, 666, 777, 888],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
- label:
"Step 14:TH1 writes DUT Endpoint 0 AccessControl cluster ACL
attribute, value is list of AccessControlEntryStruct containing 2
elements 1.struct Privilege field: Administer (5) AuthMode field: CASE
(2) Subjects field: [N1] Targets field: null 2.struct Privilege field:
Operate (3) AuthMode field: Group (3) Subjects field: null Targets
field: null"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
- label: "Step 15:TH1 reads AccessControl cluster ACL attribute"
PICS: ACL.S.A0000
command: "readAttribute"
attribute: "ACL"
response:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
- label:
"Step 16:TH1 writes DUT Endpoint 0 AccessControl cluster ACL
attribute, value is list of AccessControlEntryStruct containing 2
elements 1.struct Privilege field: Administer (5) AuthMode field: CASE
(2) Subjects field: [N1] Targets field: null 2.struct Privilege field:
ProxyView (2) AuthMode field: CASE (2) Subjects field: null Targets
field: null"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 2,
AuthMode: 2,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
- label: "Step 17:TH1 reads AccessControl cluster ACL attribute"
PICS: ACL.S.A0000
command: "readAttribute"
attribute: "ACL"
response:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 2,
AuthMode: 2,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
- label:
"Step 18:TH1 reads DUT AccessControl cluster
SubjectsPerAccessControlEntry attribute"
PICS: ACL.S.A0000
command: "readAttribute"
attribute: "SubjectsPerAccessControlEntry"
response:
saveAs: MAXSUBJECTS
#Issue https://github.com/project-chip/connectedhomeip/issues/16719
- label:
"Step 19:TH1 writes DUT Endpoint 0 AccessControl cluster ACL
attribute, value is list of AccessControlEntryStruct containing 2
elements 1.struct Privilege field: Administer (5) AuthMode field: CASE
(2) Subjects field: [N1] Targets field: null 2.struct Privilege field:
Operate (3) AuthMode field: CASE (2) Subjects field: list of
MAXSUBJECTS random node IDs (stored as SUBJECTS) Targets field: null"
PICS: ACL.S.A0000 && PICS_SKIP_SAMPLE_APP
verification: |
./chip-tool accesscontrol write acl '[{ "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, { "privilege": 3, "authMode": 2, "subjects":[33,44,55,66] , "targets": null}]' 1 0
On TH1(Chiptool), Verify that the status is success when writing the AccessControl cluster ACL attribute with a value is list of AccessControlEntryStruct containing 2 elements as Subject as SUBJECTS and Target as null
[1657542321.144954][3461:3466] CHIP:DMG: {
[1657542321.144990][3461:3466] CHIP:DMG: AttributeStatusIBs =
[1657542321.145038][3461:3466] CHIP:DMG: [
[1657542321.145082][3461:3466] CHIP:DMG: AttributeStatusIB =
[1657542321.145128][3461:3466] CHIP:DMG: {
[1657542321.145170][3461:3466] CHIP:DMG: AttributePathIB =
[1657542321.145219][3461:3466] CHIP:DMG: {
[1657542321.145273][3461:3466] CHIP:DMG: Endpoint = 0x0,
[1657542321.145327][3461:3466] CHIP:DMG: Cluster = 0x1f,
[1657542321.145382][3461:3466] CHIP:DMG: Attribute = 0x0000_0000,
[1657542321.145428][3461:3466] CHIP:DMG: }
[1657542321.145484][3461:3466] CHIP:DMG:
[1657542321.145531][3461:3466] CHIP:DMG: StatusIB =
[1657542321.145583][3461:3466] CHIP:DMG: {
[1657542321.145633][3461:3466] CHIP:DMG: status = 0x00 (SUCCESS),
[1657542321.145684][3461:3466] CHIP:DMG: },
[1657542321.145730][3461:3466] CHIP:DMG:
[1657542321.145774][3461:3466] CHIP:DMG: },
[1657542321.145831][3461:3466] CHIP:DMG:
[1657542321.145870][3461:3466] CHIP:DMG: AttributeStatusIB =
[1657542321.145912][3461:3466] CHIP:DMG: {
[1657542321.145954][3461:3466] CHIP:DMG: AttributePathIB =
[1657542321.146001][3461:3466] CHIP:DMG: {
[1657542321.146052][3461:3466] CHIP:DMG: Endpoint = 0x0,
[1657542321.146111][3461:3466] CHIP:DMG: Cluster = 0x1f,
[1657542321.146166][3461:3466] CHIP:DMG: Attribute = 0x0000_0000,
[1657542321.146218][3461:3466] CHIP:DMG: ListIndex = Null,
[1657542321.146267][3461:3466] CHIP:DMG: }
[1657542321.146321][3461:3466] CHIP:DMG:
[1657542321.146374][3461:3466] CHIP:DMG: StatusIB =
[1657542321.146423][3461:3466] CHIP:DMG: {
[1657542321.146472][3461:3466] CHIP:DMG: status = 0x00 (SUCCESS),
[1657542321.146523][3461:3466] CHIP:DMG: },
[1657542321.146573][3461:3466] CHIP:DMG:
[1657542321.146614][3461:3466] CHIP:DMG: },
[1657542321.146670][3461:3466] CHIP:DMG:
[1657542321.146709][3461:3466] CHIP:DMG: AttributeStatusIB =
[1657542321.146751][3461:3466] CHIP:DMG: {
[1657542321.146792][3461:3466] CHIP:DMG: AttributePathIB =
[1657542321.146840][3461:3466] CHIP:DMG: {
[1657542321.146890][3461:3466] CHIP:DMG: Endpoint = 0x0,
[1657542321.146943][3461:3466] CHIP:DMG: Cluster = 0x1f,
[1657542321.146997][3461:3466] CHIP:DMG: Attribute = 0x0000_0000,
[1657542321.147049][3461:3466] CHIP:DMG: ListIndex = Null,
[1657542321.147099][3461:3466] CHIP:DMG: }
[1657542321.147152][3461:3466] CHIP:DMG:
[1657542321.147204][3461:3466] CHIP:DMG: StatusIB =
[1657542321.147254][3461:3466] CHIP:DMG: {
[1657542321.147302][3461:3466] CHIP:DMG: status = 0x00 (SUCCESS),
[1657542321.147354][3461:3466] CHIP:DMG: },
[1657542321.147403][3461:3466] CHIP:DMG:
[1657542321.147443][3461:3466] CHIP:DMG: },
[1657542321.147490][3461:3466] CHIP:DMG:
[1657542321.147528][3461:3466] CHIP:DMG: ],
[1657542321.147586][3461:3466] CHIP:DMG:
[1657542321.147625][3461:3466] CHIP:DMG: InteractionModelRevision = 1
[1657542321.147663][3461:3466] CHIP:DMG: }
[1657542321.147865][3461:3466] CHIP:DMG: WriteClient moving to [AwaitingDe]
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Enter 'y' after success"
- name: "expectedValue"
value: "y"
#Issue https://github.com/project-chip/connectedhomeip/issues/16719
- label: "Step 20:TH1 reads AccessControl cluster ACL attribute"
PICS: ACL.S.A0000 && PICS_SKIP_SAMPLE_APP
verification: |
./chip-tool accesscontrol read acl 1 0
On TH1(Chiptool) , Verify that the AccessControlEntryStruct contains 2 elements with Subject as SUBJECTS and Target as null
[1656928460.992030][4255:4260] CHIP:DMG: ],
[1656928460.992075][4255:4260] CHIP:DMG:
[1656928460.992101][4255:4260] CHIP:DMG: SuppressResponse = true,
[1656928460.992126][4255:4260] CHIP:DMG: InteractionModelRevision = 1
[1656928460.992149][4255:4260] CHIP:DMG: }
[1656928460.992513][4255:4260] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 1070401481
[1656928460.992588][4255:4260] CHIP:TOO: ACL: 2 entries
[1656928460.992647][4255:4260] CHIP:TOO: [1]: {
[1656928460.992687][4255:4260] CHIP:TOO: Privilege: 5
[1656928460.992712][4255:4260] CHIP:TOO: AuthMode: 2
[1656928460.992738][4255:4260] CHIP:TOO: Subjects: 1 entries
[1656928460.992767][4255:4260] CHIP:TOO: [1]: 112233
[1656928460.992794][4255:4260] CHIP:TOO: Targets: null
[1656928460.992817][4255:4260] CHIP:TOO: FabricIndex: 1
[1656928460.992840][4255:4260] CHIP:TOO: }
[1656928460.992873][4255:4260] CHIP:TOO: [2]: {
[1656928460.992896][4255:4260] CHIP:TOO: Privilege: 3
[1656928460.992918][4255:4260] CHIP:TOO: AuthMode: 2
[1656928460.992945][4255:4260] CHIP:TOO: Subjects: 4 entries
[1656928460.992971][4255:4260] CHIP:TOO: [1]: 33
[1656928460.992995][4255:4260] CHIP:TOO: [2]: 44
[1656928460.993020][4255:4260] CHIP:TOO: [3]: 55
[1656928460.993045][4255:4260] CHIP:TOO: [4]: 66
[1656928460.993069][4255:4260] CHIP:TOO: Targets: null
[1656928460.993091][4255:4260] CHIP:TOO: FabricIndex: 1
[1656928460.993113][4255:4260] CHIP:TOO: }
[1656928460.993204][4255:4260] CHIP:EM: Sending Standalone Ack for MessageCounter:154962728 on exchange 64378i
[1656928460.993291][4255:4260] CHIP:IN: Prepared secure message 0xffffad69f958 to 0x0000000000000001 (1) o
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 21:TH1 writes DUT Endpoint 0 AccessControl cluster ACL
attribute, value is list of AccessControlEntryStruct containing 2
elements 1.struct Privilege field: Administer (5) AuthMode field: CASE
(2) Subjects field: [N1] Targets field: null 2.struct Privilege field:
Operate (3) AuthMode field: CASE (2) Subjects field: [CAT1, CAT2,
CAT3, CAT4] Targets field: null"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: [CAT1, CAT2, CAT3, CAT4],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
- label: "Step 22:TH1 reads AccessControl cluster ACL attribute"
PICS: ACL.S.A0000
command: "readAttribute"
attribute: "ACL"
response:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: [CAT1, CAT2, CAT3, CAT4],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
- label:
"Step 23:TH1 reads AccessControl cluster TargetsPerAccessControlEntry
attribute"
PICS: ACL.S.A0000
command: "readAttribute"
attribute: "TargetsPerAccessControlEntry"
response:
saveAs: TargetsPerAccessControlEntry
#Need if support : https://github.com/project-chip/connectedhomeip/issues/16719
- label:
"Step 24:TH1 writes DUT Endpoint 0 AccessControl cluster ACL
attribute, value is list of AccessControlEntryStruct containing 2
elements 1.struct Privilege field: Administer (5) AuthMode field: CASE
(2) Subjects field: [N1] Targets field: null 2.struct Privilege field:
Operate (3) AuthMode field: CASE (2) Subjects field:null Targets
field: list of MAXTARGETS targets {Cluster: random} (stored as
TARGETS)"
PICS: ACL.S.A0000 && PICS_SKIP_SAMPLE_APP
verification: |
./chip-tool accesscontrol write acl '[{ "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, { "privilege": 3, "authMode": 2, "subjects": null, "targets":[{ "cluster": 40, "endpoint": null, "deviceType": null },{ "cluster": 28, "endpoint": null, "deviceType": null }]}]' 1 0
On TH1(Chiptool), Verify that the status is success when writing the AccessControl cluster ACL attribute with a value is list of AccessControlEntryStruct containing 2 elements with Subjects as null and and Target as TARGETS
[1657542520.140869][3499:3504] CHIP:DMG: {
[1657542520.140922][3499:3504] CHIP:DMG: AttributeStatusIBs =
[1657542520.140966][3499:3504] CHIP:DMG: [
[1657542520.140999][3499:3504] CHIP:DMG: AttributeStatusIB =
[1657542520.141036][3499:3504] CHIP:DMG: {
[1657542520.141077][3499:3504] CHIP:DMG: AttributePathIB =
[1657542520.141119][3499:3504] CHIP:DMG: {
[1657542520.141163][3499:3504] CHIP:DMG: Endpoint = 0x0,
[1657542520.141207][3499:3504] CHIP:DMG: Cluster = 0x1f,
[1657542520.141255][3499:3504] CHIP:DMG: Attribute = 0x0000_0000,
[1657542520.141300][3499:3504] CHIP:DMG: }
[1657542520.141346][3499:3504] CHIP:DMG:
[1657542520.141385][3499:3504] CHIP:DMG: StatusIB =
[1657542520.141426][3499:3504] CHIP:DMG: {
[1657542520.141468][3499:3504] CHIP:DMG: status = 0x00 (SUCCESS),
[1657542520.141509][3499:3504] CHIP:DMG: },
[1657542520.141550][3499:3504] CHIP:DMG:
[1657542520.141584][3499:3504] CHIP:DMG: },
[1657542520.141630][3499:3504] CHIP:DMG:
[1657542520.141663][3499:3504] CHIP:DMG: AttributeStatusIB =
[1657542520.141697][3499:3504] CHIP:DMG: {
[1657542520.141731][3499:3504] CHIP:DMG: AttributePathIB =
[1657542520.141770][3499:3504] CHIP:DMG: {
[1657542520.141811][3499:3504] CHIP:DMG: Endpoint = 0x0,
[1657542520.141855][3499:3504] CHIP:DMG: Cluster = 0x1f,
[1657542520.141940][3499:3504] CHIP:DMG: Attribute = 0x0000_0000,
[1657542520.142024][3499:3504] CHIP:DMG: ListIndex = Null,
[1657542520.142106][3499:3504] CHIP:DMG: }
[1662015973.912273][3126:3132] CHIP:DMG: {
[1662015973.912301][3126:3132] CHIP:DMG: AttributeStatusIBs =
[1662015973.912375][3126:3132] CHIP:DMG: [
[1662015973.912409][3126:3132] CHIP:DMG: AttributeStatusIB =
[1662015973.912452][3126:3132] CHIP:DMG: {
[1662015973.912488][3126:3132] CHIP:DMG: AttributePathIB =
[1662015973.912534][3126:3132] CHIP:DMG: {
[1662015973.912577][3126:3132] CHIP:DMG: Endpoint = 0x0,
[1662015973.912640][3126:3132] CHIP:DMG: Cluster = 0x1f,
[1662015973.912687][3126:3132] CHIP:DMG: Attribute = 0x0000_0000,
[1662015973.912743][3126:3132] CHIP:DMG: }
[1662015973.912792][3126:3132] CHIP:DMG:
[1662015973.912849][3126:3132] CHIP:DMG: StatusIB =
[1662015973.912893][3126:3132] CHIP:DMG: {
[1662015973.912948][3126:3132] CHIP:DMG: status = 0x00 (SUCCESS),
[1662015973.912992][3126:3132] CHIP:DMG: },
[1662015973.913046][3126:3132] CHIP:DMG:
[1662015973.913082][3126:3132] CHIP:DMG: },
[1662015973.913142][3126:3132] CHIP:DMG:
[1662015973.913173][3126:3132] CHIP:DMG: AttributeStatusIB =
[1662015973.913225][3126:3132] CHIP:DMG: {
[1662015973.913260][3126:3132] CHIP:DMG: AttributePathIB =
[1662015973.913315][3126:3132] CHIP:DMG: {
[1662015973.913360][3126:3132] CHIP:DMG: Endpoint = 0x0,
[1662015973.913421][3126:3132] CHIP:DMG: Cluster = 0x1f,
[1662015973.913465][3126:3132] CHIP:DMG: Attribute = 0x0000_0000,
[1662015973.913518][3126:3132] CHIP:DMG: ListIndex = Null,
[1662015973.913561][3126:3132] CHIP:DMG: }
[1662015973.913622][3126:3132] CHIP:DMG:
[1662015973.913662][3126:3132] CHIP:DMG: StatusIB =
[1662015973.913716][3126:3132] CHIP:DMG: {
[1662015973.913759][3126:3132] CHIP:DMG: status = 0x00 (SUCCESS),
[1662015973.913814][3126:3132] CHIP:DMG: },
[1662015973.913855][3126:3132] CHIP:DMG:
[1662015973.913902][3126:3132] CHIP:DMG: },
[1662015973.913952][3126:3132] CHIP:DMG:
[1662015973.913983][3126:3132] CHIP:DMG: AttributeStatusIB =
[1662015973.914021][3126:3132] CHIP:DMG: {
[1662015973.914056][3126:3132] CHIP:DMG: AttributePathIB =
[1662015973.914095][3126:3132] CHIP:DMG: {
[1662015973.914139][3126:3132] CHIP:DMG: Endpoint = 0x0,
[1662015973.914183][3126:3132] CHIP:DMG: Cluster = 0x1f,
[1662015973.914228][3126:3132] CHIP:DMG: Attribute = 0x0000_0000,
[1662015973.914270][3126:3132] CHIP:DMG: ListIndex = Null,
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Enter 'y' after success"
- name: "expectedValue"
value: "y"
#Issue : https://github.com/project-chip/connectedhomeip/issues/16719
- label: "Step 25:TH1 reads AccessControl cluster ACL attribute"
PICS: ACL.S.A0000 && PICS_SKIP_SAMPLE_APP
verification: |
./chip-tool accesscontrol read acl 1 0
On TH1(Chiptool) , Verify that the AccessControlEntryStruct contains 2 elements with Subjects as null and and Target as TARGETS
[1662016086.501582][3138:3143] CHIP:TOO: ACL: 2 entries
[1662016086.501643][3138:3143] CHIP:TOO: [1]: {
[1662016086.501673][3138:3143] CHIP:TOO: Privilege: 5
[1662016086.501698][3138:3143] CHIP:TOO: AuthMode: 2
[1662016086.501727][3138:3143] CHIP:TOO: Subjects: 1 entries
[1662016086.501758][3138:3143] CHIP:TOO: [1]: 112233
[1662016086.501786][3138:3143] CHIP:TOO: Targets: null
[1662016086.501811][3138:3143] CHIP:TOO: FabricIndex: 1
[1662016086.501835][3138:3143] CHIP:TOO: }
[1662016086.501873][3138:3143] CHIP:TOO: [2]: {
[1662016086.501899][3138:3143] CHIP:TOO: Privilege: 3
[1662016086.501924][3138:3143] CHIP:TOO: AuthMode: 2
[1662016086.501948][3138:3143] CHIP:TOO: Subjects: null
[1662016086.501979][3138:3143] CHIP:TOO: Targets: 2 entries
[1662016086.502016][3138:3143] CHIP:TOO: [1]: {
[1662016086.502043][3138:3143] CHIP:TOO: Cluster: 40
[1662016086.502069][3138:3143] CHIP:TOO: Endpoint: null
[1662016086.502094][3138:3143] CHIP:TOO: DeviceType: null
[1662016086.502117][3138:3143] CHIP:TOO: }
[1662016086.502148][3138:3143] CHIP:TOO: [2]: {
[1662016086.502174][3138:3143] CHIP:TOO: Cluster: 28
[1662016086.502198][3138:3143] CHIP:TOO: Endpoint: null
[1662016086.502223][3138:3143] CHIP:TOO: DeviceType: null
[1662016086.502247][3138:3143] CHIP:TOO: }
[1662016086.502273][3138:3143] CHIP:TOO: FabricIndex: 1
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 26:TH1 reads AccessControl cluster AccessControlEntriesPerFabric
attribute"
PICS: ACL.S.A0000
command: "readAttribute"
attribute: "AccessControlEntriesPerFabric"
response:
saveAs: MAXENTRIES
- label:
"Step 27:TH1 writes DUT Endpoint 0 AccessControl cluster ACL
attribute, value is list of AccessControlEntryStruct containing
MAXENTRIES elements 1.struct Privilege field: Administer (5) AuthMode
field: CASE (2) Subjects field: [N1] Targets field: null 2.struct
Privilege field: Operate (3) AuthMode field: CASE (2) Subjects field:
null Targets field: null subsequent elements same as second element"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
- label: "Step 28:TH1 reads AccessControl cluster ACL attribute"
PICS: ACL.S.A0000
command: "readAttribute"
attribute: "ACL"
response:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
- label:
"Step 29:TH1 writes DUT Endpoint 0 AccessControl cluster ACL
attribute, value is list of AccessControlEntryStruct containing 2
elements 1.struct Privilege field: Administer (5) AuthMode field: CASE
(2) Subjects field: [N1] Targets field: null 2.struct Privilege field:
Operate (3) AuthMode field: PASE (1) Subjects field: null Targets
field: null"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 1,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
response:
error: CONSTRAINT_ERROR
- label: "Step 30:TH1 reads AccessControl cluster ACL attribute"
PICS: ACL.S.A0000
command: "readAttribute"
attribute: "ACL"
response:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
- label:
"Step 31:TH1 writes DUT Endpoint 0 AccessControl cluster ACL
attribute, value is list of AccessControlEntryStruct containing 2
elements 1.struct Privilege field: Administer (5) AuthMode field: CASE
(2) Subjects field: [N1] Targets field: null 2.struct Privilege field:
Administer (5) AuthMode field: Group (3) Subjects field: null Targets
field: null"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 5,
AuthMode: 3,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
response:
error: CONSTRAINT_ERROR
- label:
"Step 32:TH1 writes DUT Endpoint 0 AccessControl cluster ACL
attribute, value is list of AccessControlEntryStruct containing 2
elements 1.struct Privilege field: Administer (5) AuthMode field: CASE
(2) Subjects field: [N1] Targets field: null 2.struct Privilege field:
invalid value (not 1-5) AuthMode field: CASE (2) Subjects field: null
Targets field: null"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: "6",
AuthMode: 3,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
response:
error: CONSTRAINT_ERROR
- label:
"Step 33:TH1 writes AccessControl cluster ACL attribute, value is list
of AccessControlEntryStruct containing 2 elements"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: "6",
AuthMode: "4",
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
response:
error: CONSTRAINT_ERROR
- label:
"Step 34:TH1 writes AccessControl cluster ACL attribute, value is list
of AccessControlEntryStruct containing 2 elements"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: [0],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
response:
error: CONSTRAINT_ERROR
- label:
"Step 35:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute
value is list of AccessControlEntryStruct containing 2 elements
1.struct Privilege field: Administer (5) AuthMode field: CASE (2)
Subjects field: [N1] Targets field: null 2.struct Privilege field:
Operate (3) AuthMode field: CASE (2) Subjects field:
[0xFFFFFFFFFFFFFFFF] Targets field: null"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: ["18446744073709551615"],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
response:
error: CONSTRAINT_ERROR
- label:
"Step 36:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute
value is list of AccessControlEntryStruct containing 2 elements
1.struct Privilege field: Administer (5) AuthMode field: CASE (2)
Subjects field: [N1] Targets field: null 2.struct Privilege field:
Operate (3) AuthMode field: CASE (2) Subjects field:
[0xFFFFFFFD00000000] Targets field: null"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: ["18446744060824649728"],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
response:
error: CONSTRAINT_ERROR
- label:
"Step 37:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute
value is list of AccessControlEntryStruct containing 2 elements struct
Privilege field: Administer (5) AuthMode field: CASE (2) Subjects
field: [N1] Targets field: null struct Privilege field: Operate (3)
AuthMode field: CASE (2) Subjects field: [0xFFFFFFFFFFFF0000] Targets
field: null"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: ["18446744073709486080"],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
]
response:
error: CONSTRAINT_ERROR
- label:
"Step 38:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute
value is list of AccessControlEntryStruct containing 2 elements
1.struct Privilege field: Administer (5) AuthMode field: CASE (2)
Subjects field: [N1] Targets field: null 2.struct Privilege field:
Operate (3) AuthMode field: CASE (2) Subjects field: null Targets
field: [{}]"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets:
[{ Cluster: null, Endpoint: null, DeviceType: null }],
FabricIndex: CurrentFabricIndex,
},
]
response:
error: CONSTRAINT_ERROR
- label:
"Step 39:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute
value is list of AccessControlEntryStruct containing 2 elements
1.struct Privilege field: Administer (5) AuthMode field: CASE (2)
Subjects field: [N1] Targets field: null 2.struct Privilege field:
Operate (3) AuthMode field: CASE (2) Subjects field: null Targets
field: [{Cluster: 0xFFFFFFFF}]"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets:
[
{
Cluster: 4294967295,
Endpoint: null,
DeviceType: null,
},
],
FabricIndex: CurrentFabricIndex,
},
]
response:
error: CONSTRAINT_ERROR
- label:
"Step 40:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute
value is list of AccessControlEntryStruct containing 2 elements 1.
struct Privilege field: Administer (5) AuthMode field: CASE
(2) Subjects field: [N1] Targets field: null 2. struct Privilege
field: Operate (3) AuthMode field: CASE (2) Subjects field:
null Targets field: [{Endpoint: 65535}]"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets:
[
{
Cluster: null,
Endpoint: 65535,
DeviceType: null,
},
],
FabricIndex: CurrentFabricIndex,
},
]
response:
error: CONSTRAINT_ERROR
- label:
"Step 41:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute
value is list of AccessControlEntryStruct containing 2 elements
1.struct Privilege field: Administer (5) AuthMode field: CASE (2)
Subjects field: [N1] Targets field: null 2.struct Privilege field:
Operate (3) AuthMode field: CASE (2) Subjects field: null Targets
field: [{DeviceType: 0xFFFFFFFF}]"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets:
[
{
Cluster: null,
Endpoint: null,
DeviceType: 4294967295,
},
],
FabricIndex: CurrentFabricIndex,
},
]
response:
error: CONSTRAINT_ERROR
- label:
"Step 42:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute
value is list of AccessControlEntryStruct containing 2 elements
1.struct Privilege field: Administer (5) AuthMode field: CASE (2)
Subjects field: [N1] Targets field: null 2.struct Privilege field:
Operate (3) AuthMode field: CASE (2) Subjects field: null Targets
field: [{Endpoint: 22, DeviceType: 33}]"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets:
[{ Cluster: null, Endpoint: 22, DeviceType: 33 }],
FabricIndex: CurrentFabricIndex,
},
]
response:
error: CONSTRAINT_ERROR
- label:
"Step 43:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute
value is list of AccessControlEntryStruct containing 2 elements
1.struct Privilege field: Administer (5) AuthMode field: CASE (2)
Subjects field: [N1] Targets field: null 2.struct Privilege field:
Operate (3) AuthMode field: CASE (2) Subjects field: null Targets
field: [{Cluster: 11, Endpoint: 22, DeviceType: 33}]"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value:
[
{
Privilege: 5,
AuthMode: 2,
Subjects: [CommissionerNodeId],
Targets: null,
FabricIndex: CurrentFabricIndex,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets: [{ Cluster: 11, Endpoint: 22, DeviceType: 33 }],
FabricIndex: CurrentFabricIndex,
},
]
response:
error: CONSTRAINT_ERROR
- label:
"Step 44:TH1 writes DUT Endpoint 0 AccessControl cluster ACL attribute
value is an empty list"
PICS: ACL.S.A0000
command: "writeAttribute"
attribute: "ACL"
arguments:
value: []