blob: 12a6829c642048f1d752b84c812b3a8dda5c2272 [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] ACL attribute
PICS:
- ACL.S
config:
nodeId: 0x12344321
cluster: "Access Control"
endpoint: 0
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: "Read the commissioner node ID"
cluster: "CommissionerCommands"
command: "GetCommissionerNodeId"
response:
values:
- name: "nodeId"
saveAs: CommissionerNodeId
- label:
"Step 2:TH1 reads DUT Endpoint 0 OperationalCredentials cluster
CurrentFabricIndex attribute"
command: "readAttribute"
cluster: "Operational Credentials"
attribute: "CurrentFabricIndex"
response:
saveAs: CurrentFabricIndexValue
- 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: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 1,
AuthMode: 3,
Subjects: [111, 222, 333, 444],
Targets:
[{ Cluster: 11, Endpoint: 22, DeviceType: null }],
FabricIndex: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: [555, 666, 777, 888],
Targets:
[{ Cluster: 55, Endpoint: 66, DeviceType: null }],
FabricIndex: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 1,
AuthMode: 3,
Subjects: [111, 222, 333, 444],
Targets:
[{ Cluster: 11, Endpoint: 22, DeviceType: null }],
FabricIndex: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: [555, 666, 777, 888],
Targets:
[{ Cluster: 55, Endpoint: 66, DeviceType: null }],
FabricIndex: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 4,
AuthMode: 3,
Subjects: [444, 333, 222, 111],
Targets:
[{ Cluster: 44, Endpoint: 33, DeviceType: null }],
FabricIndex: CurrentFabricIndexValue,
},
{
Privilege: 5,
AuthMode: 2,
Subjects: [888, 777, 666, 555],
Targets:
[{ Cluster: 88, Endpoint: 77, DeviceType: null }],
FabricIndex: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 4,
AuthMode: 3,
Subjects: [444, 333, 222, 111],
Targets:
[{ Cluster: 44, Endpoint: 33, DeviceType: null }],
FabricIndex: CurrentFabricIndexValue,
},
{
Privilege: 5,
AuthMode: 2,
Subjects: [888, 777, 666, 555],
Targets:
[{ Cluster: 88, Endpoint: 77, DeviceType: null }],
FabricIndex: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 1,
AuthMode: 2,
Subjects: [111, 222, 333, 444],
Targets:
[
{ Cluster: 11, Endpoint: 22, DeviceType: null },
{ Cluster: 33, Endpoint: null, DeviceType: 44 },
],
FabricIndex: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: [555, 666, 777, 888],
Targets:
[
{ Cluster: 55, Endpoint: 66, DeviceType: null },
{ Cluster: 77, Endpoint: null, DeviceType: 88 },
],
FabricIndex: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 1,
AuthMode: 2,
Subjects: [111, 222, 333, 444],
Targets:
[
{ Cluster: 11, Endpoint: 22, DeviceType: null },
{ Cluster: 33, Endpoint: null, DeviceType: 44 },
],
FabricIndex: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: [555, 666, 777, 888],
Targets:
[
{ Cluster: 55, Endpoint: 66, DeviceType: null },
{ Cluster: 77, Endpoint: null, DeviceType: 88 },
],
FabricIndex: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 1,
AuthMode: 2,
Subjects: null,
Targets:
[
{ Cluster: 11, Endpoint: 22, DeviceType: null },
{ Cluster: 33, Endpoint: null, DeviceType: 44 },
],
FabricIndex: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: null,
Targets:
[
{ Cluster: 55, Endpoint: 66, DeviceType: null },
{ Cluster: 77, Endpoint: null, DeviceType: 88 },
],
FabricIndex: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 1,
AuthMode: 2,
Subjects: null,
Targets:
[
{ Cluster: 11, Endpoint: 22, DeviceType: null },
{ Cluster: 33, Endpoint: null, DeviceType: 44 },
],
FabricIndex: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: null,
Targets:
[
{ Cluster: 55, Endpoint: 66, DeviceType: null },
{ Cluster: 77, Endpoint: null, DeviceType: 88 },
],
FabricIndex: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 1,
AuthMode: 2,
Subjects: [111, 222, 333, 444],
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: [555, 666, 777, 888],
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 1,
AuthMode: 2,
Subjects: [111, 222, 333, 444],
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: [555, 666, 777, 888],
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 3,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 2,
AuthMode: 2,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 2,
AuthMode: 2,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: [CAT1, CAT2, CAT3, CAT4],
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: [CAT1, CAT2, CAT3, CAT4],
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
- label:
"Step 23:TH1 reads AccessControl cluster TargetsPerAccessControlEntry
attribute"
PICS: ACL.S.A0000
command: "readAttribute"
attribute: "TargetsPerAccessControlEntry"
response:
saveAs: TargetsPerAccessControlEntryValue
#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 },{ "cluster": 30, "endpoint": null, "deviceType": null }]}]' 1 0
Via the TH (chip-tool), Verify that the status is success when writing the AccessControl cluster ACL attribute with a value is list of AccessControlEntryStruct containing 2 elements.
[1686292221.429177][33589:33591] CHIP:DMG: WriteResponseMessage =
[1686292221.429234][33589:33591] CHIP:DMG: {
[1686292221.429283][33589:33591] CHIP:DMG: AttributeStatusIBs =
[1686292221.429355][33589:33591] CHIP:DMG: [
[1686292221.429411][33589:33591] CHIP:DMG: AttributeStatusIB =
[1686292221.429475][33589:33591] CHIP:DMG: {
[1686292221.429534][33589:33591] CHIP:DMG: AttributePathIB =
[1686292221.429691][33589:33591] CHIP:DMG: {
[1686292221.429771][33589:33591] CHIP:DMG: Endpoint = 0x0,
[1686292221.429847][33589:33591] CHIP:DMG: Cluster = 0x1f,
[1686292221.429923][33589:33591] CHIP:DMG: Attribute = 0x0000_0000,
[1686292221.429989][33589:33591] CHIP:DMG: }
[1686292221.430067][33589:33591] CHIP:DMG:
[1686292221.430136][33589:33591] CHIP:DMG: StatusIB =
[1686292221.430206][33589:33591] CHIP:DMG: {
[1686292221.430277][33589:33591] CHIP:DMG: status = 0x00 (SUCCESS),
[1686292221.430346][33589:33591] CHIP:DMG: },
[1686292221.430415][33589:33591] CHIP:DMG:
[1686292221.430474][33589:33591] CHIP:DMG: },
[1686292221.430558][33589:33591] CHIP:DMG:
[1686292221.430614][33589:33591] CHIP:DMG: AttributeStatusIB =
[1686292221.430675][33589:33591] CHIP:DMG: {
[1686292221.430734][33589:33591] CHIP:DMG: AttributePathIB =
[1686292221.430801][33589:33591] CHIP:DMG: {
[1686292221.430870][33589:33591] CHIP:DMG: Endpoint = 0x0,
[1686292221.430944][33589:33591] CHIP:DMG: Cluster = 0x1f,
[1686292221.431020][33589:33591] CHIP:DMG: Attribute = 0x0000_0000,
[1686292221.431263][33589:33591] CHIP:DMG: ListIndex = Null,
[1686292221.431342][33589:33591] CHIP:DMG: }
[1686292221.431419][33589:33591] CHIP:DMG:
[1686292221.431486][33589:33591] CHIP:DMG: StatusIB =
[1686292221.431554][33589:33591] CHIP:DMG: {
[1686292221.431635][33589:33591] CHIP:DMG: status = 0x00 (SUCCESS),
[1686292221.431705][33589:33591] CHIP:DMG: },
[1686292221.431774][33589:33591] CHIP:DMG:
[1686292221.431833][33589:33591] CHIP:DMG: },
[1686292221.431918][33589:33591] CHIP:DMG:
[1686292221.431973][33589:33591] CHIP:DMG: AttributeStatusIB =
[1686292221.432035][33589:33591] CHIP:DMG: {
[1686292221.432093][33589:33591] CHIP:DMG: AttributePathIB =
[1686292221.432161][33589:33591] CHIP:DMG: {
[1686292221.432231][33589:33591] CHIP:DMG: Endpoint = 0x0,
[1686292221.432305][33589:33591] CHIP:DMG: Cluster = 0x1f,
[1686292221.432381][33589:33591] CHIP:DMG: Attribute = 0x0000_0000,
[1686292221.432453][33589:33591] CHIP:DMG: ListIndex = Null,
[1686292221.432523][33589:33591] CHIP:DMG: }
[1686292221.432600][33589:33591] CHIP:DMG:
[1686292221.432666][33589:33591] CHIP:DMG: StatusIB =
[1686292221.432734][33589:33591] CHIP:DMG: {
[1686292221.432803][33589:33591] CHIP:DMG: status = 0x00 (SUCCESS),
[1686292221.432873][33589:33591] CHIP:DMG: },
[1686292221.432949][33589:33591] CHIP:DMG:
[1686292221.433008][33589:33591] CHIP:DMG: },
[1686292221.433077][33589:33591] CHIP:DMG:
[1686292221.433132][33589:33591] CHIP:DMG: ],
[1686292221.433218][33589:33591] CHIP:DMG:
[1686292221.433273][33589:33591] CHIP:DMG: InteractionModelRevision = 1
[1686292221.433327][33589:33591] CHIP:DMG: }
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
Via the TH (chip-tool), Verify that the AccessControlEntryStruct contains 4 elements.
[1686292292.890253][33601:33603] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 2420291518
[1686292292.890488][33601:33603] CHIP:TOO: ACL: 2 entries
[1686292292.890620][33601:33603] CHIP:TOO: [1]: {
[1686292292.890708][33601:33603] CHIP:TOO: Privilege: 5
[1686292292.890762][33601:33603] CHIP:TOO: AuthMode: 2
[1686292292.890850][33601:33603] CHIP:TOO: Subjects: 1 entries
[1686292292.890918][33601:33603] CHIP:TOO: [1]: 112233
[1686292292.890976][33601:33603] CHIP:TOO: Targets: null
[1686292292.891028][33601:33603] CHIP:TOO: FabricIndex: 1
[1686292292.891078][33601:33603] CHIP:TOO: }
[1686292292.891170][33601:33603] CHIP:TOO: [2]: {
[1686292292.891220][33601:33603] CHIP:TOO: Privilege: 3
[1686292292.891272][33601:33603] CHIP:TOO: AuthMode: 2
[1686292292.891324][33601:33603] CHIP:TOO: Subjects: null
[1686292292.891397][33601:33603] CHIP:TOO: Targets: 3 entries
[1686292292.891480][33601:33603] CHIP:TOO: [1]: {
[1686292292.891536][33601:33603] CHIP:TOO: Cluster: 40
[1686292292.891590][33601:33603] CHIP:TOO: Endpoint: null
[1686292292.891642][33601:33603] CHIP:TOO: DeviceType: null
[1686292292.891692][33601:33603] CHIP:TOO: }
[1686292292.891760][33601:33603] CHIP:TOO: [2]: {
[1686292292.891815][33601:33603] CHIP:TOO: Cluster: 28
[1686292292.891866][33601:33603] CHIP:TOO: Endpoint: null
[1686292292.891916][33601:33603] CHIP:TOO: DeviceType: null
[1686292292.891966][33601:33603] CHIP:TOO: }
[1686292292.892032][33601:33603] CHIP:TOO: [3]: {
[1686292292.892087][33601:33603] CHIP:TOO: Cluster: 30
[1686292292.892138][33601:33603] CHIP:TOO: Endpoint: null
[1686292292.892188][33601:33603] CHIP:TOO: DeviceType: null
[1686292292.892238][33601:33603] CHIP:TOO: }
[1686292292.892293][33601:33603] CHIP:TOO: FabricIndex: 1
[1686292292.892345][33601:33603] CHIP:TOO: }
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
#Made following steps as prompt, As at the moment YAML doesn't support sending the elements based on the MAXENTRIES from the previous steps.
- 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 && 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":null}, { "privilege": 3, "authMode": 2, "subjects": null, "targets":null},{ "privilege": 3, "authMode": 2, "subjects": null, "targets":null}]' 1 0
Via the TH (chip-tool), Verify that the status is success when writing the AccessControl cluster ACL attribute with a value is list of AccessControlEntryStruct containing MAXENTRIES elements.
[1686292560.130383][33642:33644] CHIP:DMG: WriteClient moving to [ResponseRe]
[1686292560.130530][33642:33644] CHIP:DMG: WriteResponseMessage =
[1686292560.130588][33642:33644] CHIP:DMG: {
[1686292560.130671][33642:33644] CHIP:DMG: AttributeStatusIBs =
[1686292560.130749][33642:33644] CHIP:DMG: [
[1686292560.130807][33642:33644] CHIP:DMG: AttributeStatusIB =
[1686292560.130893][33642:33644] CHIP:DMG: {
[1686292560.130955][33642:33644] CHIP:DMG: AttributePathIB =
[1686292560.131045][33642:33644] CHIP:DMG: {
[1686292560.131119][33642:33644] CHIP:DMG: Endpoint = 0x0,
[1686292560.131216][33642:33644] CHIP:DMG: Cluster = 0x1f,
[1686292560.131293][33642:33644] CHIP:DMG: Attribute = 0x0000_0000,
[1686292560.131387][33642:33644] CHIP:DMG: }
[1686292560.131469][33642:33644] CHIP:DMG:
[1686292560.131535][33642:33644] CHIP:DMG: StatusIB =
[1686292560.131628][33642:33644] CHIP:DMG: {
[1686292560.131702][33642:33644] CHIP:DMG: status = 0x00 (SUCCESS),
[1686292560.131793][33642:33644] CHIP:DMG: },
[1686292560.131865][33642:33644] CHIP:DMG:
[1686292560.131947][33642:33644] CHIP:DMG: },
[1686292560.132033][33642:33644] CHIP:DMG:
[1686292560.132107][33642:33644] CHIP:DMG: AttributeStatusIB =
[1686292560.132181][33642:33644] CHIP:DMG: {
[1686292560.132241][33642:33644] CHIP:DMG: AttributePathIB =
[1686292560.132330][33642:33644] CHIP:DMG: {
[1686292560.132400][33642:33644] CHIP:DMG: Endpoint = 0x0,
[1686292560.132497][33642:33644] CHIP:DMG: Cluster = 0x1f,
[1686292560.132573][33642:33644] CHIP:DMG: Attribute = 0x0000_0000,
[1686292560.132666][33642:33644] CHIP:DMG: ListIndex = Null,
[1686292560.132738][33642:33644] CHIP:DMG: }
[1686292560.132843][33642:33644] CHIP:DMG:
[1686292560.132911][33642:33644] CHIP:DMG: StatusIB =
[1686292560.132979][33642:33644] CHIP:DMG: {
[1686292560.133074][33642:33644] CHIP:DMG: status = 0x00 (SUCCESS),
[1686292560.133146][33642:33644] CHIP:DMG: },
[1686292560.133237][33642:33644] CHIP:DMG:
[1686292560.133297][33642:33644] CHIP:DMG: },
[1686292560.133402][33642:33644] CHIP:DMG:
[1686292560.133461][33642:33644] CHIP:DMG: AttributeStatusIB =
[1686292560.133522][33642:33644] CHIP:DMG: {
[1686292560.133708][33642:33644] CHIP:DMG: AttributePathIB =
[1686292560.133801][33642:33644] CHIP:DMG: {
[1686292560.133873][33642:33644] CHIP:DMG: Endpoint = 0x0,
[1686292560.133947][33642:33644] CHIP:DMG: Cluster = 0x1f,
[1686292560.134046][33642:33644] CHIP:DMG: Attribute = 0x0000_0000,
[1686292560.134119][33642:33644] CHIP:DMG: ListIndex = Null,
[1686292560.134210][33642:33644] CHIP:DMG: }
[1686292560.134288][33642:33644] CHIP:DMG:
[1686292560.134372][33642:33644] CHIP:DMG: StatusIB =
[1686292560.134440][33642:33644] CHIP:DMG: {
[1686292560.134531][33642:33644] CHIP:DMG: status = 0x00 (SUCCESS),
[1686292560.134601][33642:33644] CHIP:DMG: },
[1686292560.134690][33642:33644] CHIP:DMG:
[1686292560.134751][33642:33644] CHIP:DMG: },
[1686292560.134837][33642:33644] CHIP:DMG:
[1686292560.134914][33642:33644] CHIP:DMG: AttributeStatusIB =
[1686292560.134976][33642:33644] CHIP:DMG: {
[1686292560.135063][33642:33644] CHIP:DMG: AttributePathIB =
[1686292560.135132][33642:33644] CHIP:DMG: {
[1686292560.135221][33642:33644] CHIP:DMG: Endpoint = 0x0,
[1686292560.135297][33642:33644] CHIP:DMG: Cluster = 0x1f,
[1686292560.135372][33642:33644] CHIP:DMG: Attribute = 0x0000_0000,
[1686292560.135466][33642:33644] CHIP:DMG: ListIndex = Null,
[1686292560.135537][33642:33644] CHIP:DMG: }
[1686292560.135634][33642:33644] CHIP:DMG:
[1686292560.135701][33642:33644] CHIP:DMG: StatusIB =
[1686292560.135789][33642:33644] CHIP:DMG: {
[1686292560.135859][33642:33644] CHIP:DMG: status = 0x00 (SUCCESS),
[1686292560.135967][33642:33644] CHIP:DMG: },
[1686292560.136043][33642:33644] CHIP:DMG:
[1686292560.136102][33642:33644] CHIP:DMG: },
[1686292560.136210][33642:33644] CHIP:DMG:
[1686292560.136266][33642:33644] CHIP:DMG: AttributeStatusIB =
[1686292560.136349][33642:33644] CHIP:DMG: {
[1686292560.136409][33642:33644] CHIP:DMG: AttributePathIB =
[1686292560.136496][33642:33644] CHIP:DMG: {
[1686292560.136567][33642:33644] CHIP:DMG: Endpoint = 0x0,
[1686292560.136642][33642:33644] CHIP:DMG: Cluster = 0x1f,
[1686292560.136739][33642:33644] CHIP:DMG: Attribute = 0x0000_0000,
[1686292560.136811][33642:33644] CHIP:DMG: ListIndex = Null,
[1686292560.136900][33642:33644] CHIP:DMG: }
[1686292560.136979][33642:33644] CHIP:DMG:
[1686292560.137065][33642:33644] CHIP:DMG: StatusIB =
[1686292560.137134][33642:33644] CHIP:DMG: {
[1686292560.137201][33642:33644] CHIP:DMG: status = 0x00 (SUCCESS),
[1686292560.137295][33642:33644] CHIP:DMG: },
[1686292560.137366][33642:33644] CHIP:DMG:
[1686292560.137451][33642:33644] CHIP:DMG: },
[1686292560.137522][33642:33644] CHIP:DMG:
[1686292560.137630][33642:33644] CHIP:DMG: ],
[1686292560.137740][33642:33644] CHIP:DMG:
[1686292560.137816][33642:33644] CHIP:DMG: InteractionModelRevision = 1
[1686292560.137873][33642:33644] CHIP:DMG: }
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Enter 'y' after success"
- name: "expectedValue"
value: "y"
- label: "Step 28:TH1 reads AccessControl cluster ACL attribute"
PICS: ACL.S.A0000 && PICS_SKIP_SAMPLE_APP
verification: |
./chip-tool accesscontrol read acl 1 0
Via the TH (chip-tool), Verify that the AccessControlEntryStruct containing MAXENTRIES elements.
[1686292633.355733][33659:33661] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 2420291523
[1686292633.355957][33659:33661] CHIP:TOO: ACL: 4 entries
[1686292633.356089][33659:33661] CHIP:TOO: [1]: {
[1686292633.356177][33659:33661] CHIP:TOO: Privilege: 5
[1686292633.356262][33659:33661] CHIP:TOO: AuthMode: 2
[1686292633.356356][33659:33661] CHIP:TOO: Subjects: 1 entries
[1686292633.356450][33659:33661] CHIP:TOO: [1]: 112233
[1686292633.356510][33659:33661] CHIP:TOO: Targets: null
[1686292633.356599][33659:33661] CHIP:TOO: FabricIndex: 1
[1686292633.356652][33659:33661] CHIP:TOO: }
[1686292633.356726][33659:33661] CHIP:TOO: [2]: {
[1686292633.356803][33659:33661] CHIP:TOO: Privilege: 3
[1686292633.356855][33659:33661] CHIP:TOO: AuthMode: 2
[1686292633.356905][33659:33661] CHIP:TOO: Subjects: null
[1686292633.356977][33659:33661] CHIP:TOO: Targets: null
[1686292633.357024][33659:33661] CHIP:TOO: FabricIndex: 1
[1686292633.357073][33659:33661] CHIP:TOO: }
[1686292633.357166][33659:33661] CHIP:TOO: [3]: {
[1686292633.357221][33659:33661] CHIP:TOO: Privilege: 3
[1686292633.357272][33659:33661] CHIP:TOO: AuthMode: 2
[1686292633.357345][33659:33661] CHIP:TOO: Subjects: null
[1686292633.357395][33659:33661] CHIP:TOO: Targets: null
[1686292633.357446][33659:33661] CHIP:TOO: FabricIndex: 1
[1686292633.357513][33659:33661] CHIP:TOO: }
[1686292633.357659][33659:33661] CHIP:TOO: [4]: {
[1686292633.357717][33659:33661] CHIP:TOO: Privilege: 3
[1686292633.357793][33659:33661] CHIP:TOO: AuthMode: 2
[1686292633.357845][33659:33661] CHIP:TOO: Subjects: null
[1686292633.357895][33659:33661] CHIP:TOO: Targets: null
[1686292633.357963][33659:33661] CHIP:TOO: FabricIndex: 1
[1686292633.358021][33659:33661] CHIP:TOO: }
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Enter 'y' after success"
- name: "expectedValue"
value: "y"
- 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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 1,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
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: CurrentFabricIndexValue,
},
]
- 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: CurrentFabricIndexValue,
},
{
Privilege: 5,
AuthMode: 3,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
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: CurrentFabricIndexValue,
},
{
Privilege: AccessControlEntryPrivilegeEnum.UnknownEnumValue,
AuthMode: 2,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: AccessControlEntryAuthModeEnum.UnknownEnumValue,
Subjects: null,
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: [0],
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: ["18446744073709551615"],
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: ["18446744060824649728"],
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: ["18446744073709486080"],
Targets: null,
FabricIndex: CurrentFabricIndexValue,
},
]
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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets:
[{ Cluster: null, Endpoint: null, DeviceType: null }],
FabricIndex: CurrentFabricIndexValue,
},
]
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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets:
[
{
Cluster: 4294967295,
Endpoint: null,
DeviceType: null,
},
],
FabricIndex: CurrentFabricIndexValue,
},
]
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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets:
[
{
Cluster: null,
Endpoint: 65535,
DeviceType: null,
},
],
FabricIndex: CurrentFabricIndexValue,
},
]
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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets:
[
{
Cluster: null,
Endpoint: null,
DeviceType: 4294967295,
},
],
FabricIndex: CurrentFabricIndexValue,
},
]
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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets:
[{ Cluster: null, Endpoint: 22, DeviceType: 33 }],
FabricIndex: CurrentFabricIndexValue,
},
]
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: CurrentFabricIndexValue,
},
{
Privilege: 3,
AuthMode: 2,
Subjects: null,
Targets: [{ Cluster: 11, Endpoint: 22, DeviceType: 33 }],
FabricIndex: CurrentFabricIndexValue,
},
]
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: [
{
FabricIndex: 1,
Privilege: 5, # administer
AuthMode: 2, # case
Subjects: [CommissionerNodeId],
Targets: null,
},
]