diff --git a/src/app/tests/suites/certification/Test_TC_ACE_1_5.yaml b/src/app/tests/suites/certification/Test_TC_ACE_1_5.yaml
index ff6b06f..bd1b171 100644
--- a/src/app/tests/suites/certification/Test_TC_ACE_1_5.yaml
+++ b/src/app/tests/suites/certification/Test_TC_ACE_1_5.yaml
@@ -53,24 +53,25 @@
           saveAs: th1FabricIndex
 
     - label:
-          "Step 3 & 4: TH1 puts DUT into commissioning mode, TH2 commissions DUT
+          "Step 2 & 3: TH1 puts DUT into commissioning mode, TH2 commissions DUT
           using admin node ID N2"
       verification: |
-          Open a commissioning window On TH1(Chiptool)using below command
+          ./chip-tool pairing open-commissioning-window 1 1 400 2000 3841
 
-          ./chip-tool  pairing open-commissioning-window 1 1 400 2000 3841
+          On TH1(chip-tool) note the manual pairing code for commissioning the TH2
 
-          [1657186324.710951][10820:10825] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0000 Status=0x0
-          [1657186324.710980][10820:10825] CHIP:CTL: Successfully opened pairing window On TH(Chiptool)e device
-          [1657186324.711048][10820:10825] CHIP:CTL: Manual pairing code: [36253605617]
-          [1657186324.711108][10820:10825] CHIP:CTL: SetupQRCode: [MT:-24J0IRV01A7TB7E700]
+          [1684416077.831754][118314:118316] CHIP:CTL: Successfully opened pairing window on the device
+          [1684416077.831763][118314:118316] CHIP:CTL: Manual pairing code: [36283142515]
+          [1684416077.831771][118314:118316] CHIP:CTL: SetupQRCode: [MT:-24J0IRV010UJE7ZH10]
+          [1684416077.831791][118314:118316] CHIP:DMG: ICR moving to [AwaitingDe]
 
+          ./chip-tool pairing code 2 36283142515 --commissioner-name beta
 
-          Commission TH2(Chiptool) to DUT using manualcode generated in TH1 using open commission window
+          On TH2 (chip-tool) verify the commissioning completed with success
 
-          ./chip-tool pairing code 2 36253605617 --commissioner-name beta --commissioner-nodeid 223344
-          [1657186359.584672][3509:3514] CHIP:CTL: Successfully finished commissioning step 'Cleanup'
-          [1657186359.584743][3509:3514] CHIP:TOO: Device commissioning completed with success
+          [1684416247.482777][118352:118354] CHIP:CTL: Successfully finished commissioning step 'Cleanup'
+          [1684416247.482789][118352:118354] CHIP:TOO: Device commissioning completed with success
+          [1684416247.482823][118352:118354] CHIP:DMG: ICR moving to [AwaitingDe]
       cluster: "LogCommands"
       command: "UserPrompt"
       PICS: PICS_SKIP_SAMPLE_APP
@@ -132,12 +133,33 @@
 
     - label: "TH2 reads the fabric index"
       identity: "beta"
+      PICS: PICS_SDK_CI_ONLY
       cluster: "Operational Credentials"
       command: "readAttribute"
       attribute: "CurrentFabricIndex"
       response:
           saveAs: th2FabricIndex
 
+    #Issue https://github.com/CHIP-Specifications/chip-certification-tool/issues/768
+    - label: "TH2 reads the fabric index"
+      verification: |
+          ./chip-tool operationalcredentials read current-fabric-index 2 0 --commissioner-name beta
+
+          On TH2 (chip-tool) note the CurrentFabricIndex for the further use
+
+          [1684416368.885484][118383:118385] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0005 DataVersion: 3654336520
+          [1684416368.885511][118383:118385] CHIP:TOO:   CurrentFabricIndex: 2
+          [1684416368.885577][118383:118385] CHIP:EM: <<< [E:65212i S:18077 M:83303022 (Ack:184536262)] (S) Msg TX to 2:0000000000000002 [C33E] --- Type 0000:10 (SecureChannel:StandaloneAck)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      PICS: PICS_SKIP_SAMPLE_APP
+      arguments:
+          values:
+              - name: "message"
+                value: "Enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
     - label: "Read the commissioner node ID from the alpha fabric"
       identity: "alpha"
       cluster: "CommissionerCommands"
@@ -171,6 +193,7 @@
               ]
 
     - label: "Read the commissioner node ID from the beta fabric"
+      PICS: PICS_SDK_CI_ONLY
       identity: "beta"
       cluster: "CommissionerCommands"
       command: "GetCommissionerNodeId"
@@ -181,6 +204,7 @@
 
     - label: "TH2 writes ACL giving view privilge for basic cluster"
       identity: beta
+      PICS: PICS_SDK_CI_ONLY
       command: "writeAttribute"
       attribute: "ACL"
       arguments:
@@ -203,6 +227,28 @@
                   },
               ]
 
+    #Issue https://github.com/CHIP-Specifications/chip-certification-tool/issues/768
+    - label: "TH2 writes ACL giving view privilge for basic cluster"
+      verification: |
+          ./chip-tool accesscontrol write acl '[{"fabricIndex": 2, "privilege": 5, "authMode": 2, "subjects": [223344], "targets": [{ "cluster": 31, "endpoint": 0, "deviceType": null }]}, {"fabricIndex": 2, "privilege": 1, "authMode": 2, "subjects": null, "targets": [{ "cluster": 40, "endpoint": 0, "deviceType": null }]}]' 2 0 --commissioner-name beta
+
+          On TH2 (chip-tool) verify the success response for the write function
+
+          [1684416510.660175][118418:118420] CHIP:DMG:                         StatusIB =
+          [1684416510.660184][118418:118420] CHIP:DMG:                         {
+          [1684416510.660192][118418:118420] CHIP:DMG:                                 status = 0x00 (SUCCESS),
+          [1684416510.660201][118418:118420] CHIP:DMG:                         },
+          [1684416510.660211][118418:118420] CHIP:DMG:
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      PICS: PICS_SKIP_SAMPLE_APP
+      arguments:
+          values:
+              - name: "message"
+                value: "Enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
     - label: "TH1 reads descriptor cluster - expect SUCCESS"
       command: "readAttribute"
       cluster: "Descriptor"
@@ -217,18 +263,61 @@
 
     - label: "TH2 reads descriptor cluster - expect UNSUPPORTED_ACCESS"
       identity: "beta"
+      PICS: PICS_SDK_CI_ONLY
       command: "readAttribute"
       cluster: "Descriptor"
       attribute: "DeviceTypeList"
       response:
           error: UNSUPPORTED_ACCESS
 
+    #Issue https://github.com/CHIP-Specifications/chip-certification-tool/issues/768
+    - label: "TH2 reads descriptor cluster - expect UNSUPPORTED_ACCESS"
+      verification: |
+          ./chip-tool descriptor read device-type-list 2 0 --commissioner-name beta
+
+          On TH2(chip-tool) verify the UNSUPPORTED_ACCESS (0x7e) response
+
+          [1684416700.274460][118482:118484] CHIP:DMG:                                 StatusIB =
+          [1684416700.274467][118482:118484] CHIP:DMG:                                 {
+          [1684416700.274475][118482:118484] CHIP:DMG:                                         status = 0x7e (UNSUPPORTED_ACCESS),
+          [1684416700.274482][118482:118484] CHIP:DMG:                                 },
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      PICS: PICS_SKIP_SAMPLE_APP
+      arguments:
+          values:
+              - name: "message"
+                value: "Enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
     - label: "TH2 reads basic cluster - expect SUCCESS"
       identity: "beta"
+      PICS: PICS_SDK_CI_ONLY
       command: "readAttribute"
       cluster: "Basic Information"
       attribute: "VendorID"
 
+    #Issue https://github.com/CHIP-Specifications/chip-certification-tool/issues/768
+    - label: "TH2 writes Extension attribute value as empty list"
+      verification: |
+          ./chip-tool basicinformation read vendor-id 2 0 --commissioner-name beta
+
+          On TH2(chip-tool) verify the success with the Vendor-id
+
+          [1684416789.682243][118505:118507] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0002 DataVersion: 2033462723
+          [1684416789.682271][118505:118507] CHIP:TOO:   VendorID: 65521
+          [1684416789.682327][118505:118507] CHIP:EM: <<< [E:11340i S:29188 M:208193949 (Ack:232576417)] (S) Msg TX to 2:0000000000000002 [C33E] --- Type 0000:10 (SecureChannel:StandaloneAck)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      PICS: PICS_SKIP_SAMPLE_APP
+      arguments:
+          values:
+              - name: "message"
+                value: "Enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
     - label: "TH1 resets ACL to default"
       command: "writeAttribute"
       attribute: "ACL"
@@ -245,8 +334,33 @@
 
     - label: "TH1 sends RemoveFabric command for TH2"
       cluster: "Operational Credentials"
+      PICS: PICS_SDK_CI_ONLY
       command: "RemoveFabric"
       arguments:
           values:
               - name: "FabricIndex"
                 value: th2FabricIndex
+
+    #Issue https://github.com/CHIP-Specifications/chip-certification-tool/issues/768
+    - label: "TH1 sends RemoveFabric command for TH2"
+      verification: |
+          ./chip-tool operationalcredentials remove-fabric 2 1 0
+
+          On TH1(chip-tool) verify the success with the nocresponse with statuscode is success(0)
+
+          [1684416866.004187][118527:118529] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008
+          [1684416866.004214][118527:118529] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Command 0x0000_0008
+          [1684416866.004236][118527:118529] CHIP:TOO:   NOCResponse: {
+          [1684416866.004250][118527:118529] CHIP:TOO:     statusCode: 0
+          [1684416866.004255][118527:118529] CHIP:TOO:     fabricIndex: 2
+          [1684416866.004259][118527:118529] CHIP:TOO:    }
+          [1684416866.004270][118527:118529] CHIP:DMG: ICR moving to [AwaitingDe]
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      PICS: PICS_SKIP_SAMPLE_APP
+      arguments:
+          values:
+              - name: "message"
+                value: "Enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
diff --git a/src/app/tests/suites/certification/Test_TC_ACE_1_6.yaml b/src/app/tests/suites/certification/Test_TC_ACE_1_6.yaml
new file mode 100644
index 0000000..d241d40
--- /dev/null
+++ b/src/app/tests/suites/certification/Test_TC_ACE_1_6.yaml
@@ -0,0 +1,672 @@
+# 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: 42.1.6. [TC-ACE-1.6] Group auth mode
+
+PICS:
+    - MCORE.ROLE.COMMISSIONEE
+    - G.S
+
+config:
+    nodeId: 0x12344321
+    cluster: "Basic Information"
+    endpoint: 0
+
+tests:
+    - label: "PreCondition"
+      verification: |
+          N1 is the node ID of TH1
+
+          PIXIT.G.ENDPOINT is an endpoint with a groups cluster
+      disabled: true
+
+    - label:
+          "TH sends KeySetWrite command in the GroupKeyManagement cluster to DUT
+          using a key that is pre-installed on the TH. GroupKeySet fields are as
+          follows: GroupKeySetID: 0x01a3 GroupKeySecurityPolicy: TrustFirst (0)
+          EpochKey0: d0d1d2d3d4d5d6d7d8d9dadbdcdddedf EpochStartTime0: 2220000
+          EpochKey1: d1d1d2d3d4d5d6d7d8d9dadbdcdddedf EpochStartTime1: 2220001
+          EpochKey2: d2d1d2d3d4d5d6d7d8d9dadbdcdddedf EpochStartTime2: 2220002"
+      verification: |
+          ./chip-tool groupkeymanagement key-set-write '{"groupKeySetID": 419,"groupKeySecurityPolicy": 0, "epochKey0":"d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 2220000,"epochKey1":"d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 2220001,"epochKey2":"d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }' 1 0
+          Verify DUT sends SUCCESS(0x00) response on TH(chip-tool) Logs:
+
+          [1685009144.716477][39659:39661] CHIP:DMG: ICR moving to [ResponseRe]
+          [1685009144.716485][39659:39661] CHIP:DMG: InvokeResponseMessage =
+          [1685009144.716487][39659:39661] CHIP:DMG: {
+          [1685009144.716489][39659:39661] CHIP:DMG: suppressResponse = false,
+          [1685009144.716491][39659:39661] CHIP:DMG: InvokeResponseIBs =
+          [1685009144.716495][39659:39661] CHIP:DMG: [
+          [1685009144.716497][39659:39661] CHIP:DMG: InvokeResponseIB =
+          [1685009144.716500][39659:39661] CHIP:DMG: {
+          [1685009144.716502][39659:39661] CHIP:DMG: CommandStatusIB =
+          [1685009144.716505][39659:39661] CHIP:DMG: {
+          [1685009144.716507][39659:39661] CHIP:DMG: CommandPathIB =
+          [1685009144.716510][39659:39661] CHIP:DMG: {
+          [1685009144.716512][39659:39661] CHIP:DMG: EndpointId = 0x0,
+          [1685009144.716515][39659:39661] CHIP:DMG: ClusterId = 0x3f,
+          [1685009144.716517][39659:39661] CHIP:DMG: CommandId = 0x0,
+          [1685009144.716519][39659:39661] CHIP:DMG: },
+          [1685009144.716523][39659:39661] CHIP:DMG:
+          [1685009144.716525][39659:39661] CHIP:DMG: StatusIB =
+          [1685009144.716527][39659:39661] CHIP:DMG: {
+          [1685009144.716530][39659:39661] CHIP:DMG: status = 0x00 (SUCCESS),
+          [1685009144.716532][39659:39661] CHIP:DMG: },
+          [1685009144.716534][39659:39661] CHIP:DMG:
+          [1685009144.716537][39659:39661] CHIP:DMG: },
+          [1685009144.716539][39659:39661] CHIP:DMG:
+          [1685009144.716541][39659:39661] CHIP:DMG: },
+          [1685009144.716545][39659:39661] CHIP:DMG:
+          [1685009144.716546][39659:39661] CHIP:DMG: ],
+          [1685009144.716550][39659:39661] CHIP:DMG:
+          [1685009144.716552][39659:39661] CHIP:DMG: InteractionModelRevision = 1
+          [1685009144.716554][39659:39661] CHIP:DMG: },
+          [1685009144.716563][39659:39661] CHIP:DMG: R
+      disabled: true
+
+    - label:
+          "TH binds GroupIds 0x0103, 0x0104, 0x0105 with GroupKeySetID 0x01a3 in
+          the GroupKeyMap attribute list on GroupKeyManagement cluster by
+          writing the GroupKeyMap attribute with three entries as follows: List
+          item 1: GroupId: 0x0103 GroupKeySetId: 0x01a3 List item 2: GroupId:
+          0x0104 GroupKeySetId: 0x01a3 List item 3: GroupId: 0x0105
+          GroupKeySetId: 0x01a3"
+      verification: |
+          ./chip-tool groupkeymanagement write group-key-map '[{"groupId": 259, "groupKeySetID": 419, "fabricIndex": 1},{"groupId": 260, "groupKeySetID": 419, "fabricIndex": 1},{"groupId": 261, "groupKeySetID": 419, "fabricIndex": 1}]' 1 0
+          Verify DUT sends SUCCESS(0x00) response on TH(chip-tool) Logs:
+
+          [1685009176.921320][39681:39683] CHIP:EM: Rxd Ack; Removing MessageCounter:177869766 from Retrans Table on exchange 12527i
+          [1685009176.921325][39681:39683] CHIP:DMG: WriteClient moving to [ResponseRe]
+          [1685009176.921337][39681:39683] CHIP:DMG: WriteResponseMessage =
+          [1685009176.921339][39681:39683] CHIP:DMG: {
+          [1685009176.921341][39681:39683] CHIP:DMG: AttributeStatusIBs =
+          [1685009176.921344][39681:39683] CHIP:DMG: [
+          [1685009176.921346][39681:39683] CHIP:DMG: AttributeStatusIB =
+          [1685009176.921349][39681:39683] CHIP:DMG: {
+          [1685009176.921351][39681:39683] CHIP:DMG: AttributePathIB =
+          [1685009176.921354][39681:39683] CHIP:DMG: {
+          [1685009176.921356][39681:39683] CHIP:DMG: Endpoint = 0x0,
+          [1685009176.921359][39681:39683] CHIP:DMG: Cluster = 0x3f,
+          [1685009176.921361][39681:39683] CHIP:DMG: Attribute = 0x0000_0000,
+          [1685009176.921365][39681:39683] CHIP:DMG: }
+          [1685009176.921368][39681:39683] CHIP:DMG:
+          [1685009176.921370][39681:39683] CHIP:DMG: StatusIB =
+          [1685009176.921373][39681:39683] CHIP:DMG: {
+          [1685009176.921375][39681:39683] CHIP:DMG: status = 0x00 (SUCCESS),
+          [1685009176.921377][39681:39683] CHIP:DMG: },
+          [1685009176.921380][39681:39683] CHIP:DMG:
+          [1685009176.921381][39681:39683] CHIP:DMG: },
+          [1685009176.921385][39681:39683] CHIP:DMG:
+          [1685009176.921387][39681:39683] CHIP:DMG: AttributeStatusIB =
+          [1685009176.921389][39681:39683] CHIP:DMG: {
+          [1685009176.921391][39681:39683] CHIP:DMG: AttributePathIB =
+          [1685009176.921393][39681:39683] CHIP:DMG: {
+          [1685009176.921396][39681:39683] CHIP:DMG: Endpoint = 0x0,
+          [1685009176.921399][39681:39683] CHIP:DMG: Cluster = 0x3f,
+          [1685009176.921401][39681:39683] CHIP:DMG: Attribute = 0x0000_0000,
+          [1685009176.921403][39681:39683] CHIP:DMG: ListIndex = Null,
+          [1685009176.921405][39681:39683] CHIP:DMG: }
+          [1685009176.921409][39681:39683] CHIP:DMG:
+          [1685009176.921411][39681:39683] CHIP:DMG: StatusIB =
+          [1685009176.921413][39681:39683] CHIP:DMG: {
+          [1685009176.921416][39681:39683] CHIP:DMG: status = 0x00 (SUCCESS),
+          [1685009176.921418][39681:39683] CHIP:DMG: },
+          [1685009176.921421][39681:39683] CHIP:DMG:
+          [1685009176.921423][39681:39683] CHIP:DMG: },
+          [1685009176.921428][39681:39683] CHIP:DMG:
+          [1685009176.921430][39681:39683] CHIP:DMG: AttributeStatusIB =
+          [1685009176.921432][39681:39683] CHIP:DMG: {
+          [1685009176.921434][39681:39683] CHIP:DMG: AttributePathIB =
+          [1685009176.921436][39681:39683] CHIP:DMG: {
+          [1685009176.921438][39681:39683] CHIP:DMG: Endpoint = 0x0,
+          [1685009176.921440][39681:39683] CHIP:DMG: Cluster = 0x3f,
+          [1685009176.921443][39681:39683] CHIP:DMG: Attribute = 0x0000_0000,
+          [1685009176.921445][39681:39683] CHIP:DMG: ListIndex = Null,
+          [1685009176.921447][39681:39683] CHIP:DMG: }
+          [1685009176.921450][39681:39683] CHIP:DMG:
+          [1685009176.921452][39681:39683] CHIP:DMG: StatusIB =
+          [1685009176.921456][39681:39683] CHIP:DMG: {
+          [1685009176.921458][39681:39683] CHIP:DMG: status = 0x00 (SUCCESS),
+          [1685009176.921462][39681:39683] CHIP:DMG: },
+          [1685009176.921464][39681:39683] CHIP:DMG:
+          [1685009176.921466][39681:39683] CHIP:DMG: },
+          [1685009176.921470][39681:39683] CHIP:DMG:
+          [1685009176.921472][39681:39683] CHIP:DMG: AttributeStatusIB =
+          [1685009176.921475][39681:39683] CHIP:DMG: {
+          [1685009176.921477][39681:39683] CHIP:DMG: AttributePathIB =
+          [1685009176.921479][39681:39683] CHIP:DMG: {
+          [1685009176.921481][39681:39683] CHIP:DMG: Endpoint = 0x0,
+          [1685009176.921483][39681:39683] CHIP:DMG: Cluster = 0x3f,
+          [1685009176.921485][39681:39683] CHIP:DMG: Attribute = 0x0000_0000,
+          [1685009176.921488][39681:39683] CHIP:DMG: ListIndex = Null,
+          [1685009176.921491][39681:39683] CHIP:DMG: }
+          [1685009176.921494][39681:39683] CHIP:DMG:
+          [1685009176.921496][39681:39683] CHIP:DMG: StatusIB =
+          [1685009176.921499][39681:39683] CHIP:DMG: {
+          [1685009176.921501][39681:39683] CHIP:DMG: status = 0x00 (SUCCESS),
+          [1685009176.921503][39681:39683] CHIP:DMG: },
+          [1685009176.921506][39681:39683] CHIP:DMG:
+          [1685009176.921508][39681:39683] CHIP:DMG: },
+          [1685009176.921511][39681:39683] CHIP:DMG:
+          [1685009176.921513][39681:39683] CHIP:DMG: ],
+          [1685009176.921519][39681:39683] CHIP:DMG:
+          [1685009176.921521][39681:39683] CHIP:DMG: InteractionModelRevision = 1
+          [1685009176.921523][39681:39683] CHIP:DMG: }
+          [1685009176.921551][39681:39683] CHIP:DMG: WriteClient moving to [AwaitingDe]
+      disabled: true
+
+    - label:
+          "TH sends a AddGroup Command to the Groups cluster on Endpoint
+          PIXIT.G.ENDPOINT over CASE with the GroupID field set to 0x0103 and
+          the GroupName set to an empty string"
+      verification: |
+          ./chip-tool groups add-group 259 'grp1' 1 0
+
+          Verify DUT sends a AddGroupResponse with Status is set to SUCCESS and GroupID is set to 0x0103(Decimal 259) on TH(chip-tool) Logs:
+
+          [1685009217.899494][39693:39695] CHIP:DMG: ICR moving to [ResponseRe]
+          [1685009217.899525][39693:39695] CHIP:DMG: InvokeResponseMessage =
+          [1685009217.899534][39693:39695] CHIP:DMG: {
+          [1685009217.899546][39693:39695] CHIP:DMG: suppressResponse = false,
+          [1685009217.899558][39693:39695] CHIP:DMG: InvokeResponseIBs =
+          [1685009217.899571][39693:39695] CHIP:DMG: [
+          [1685009217.899578][39693:39695] CHIP:DMG: InvokeResponseIB =
+          [1685009217.899599][39693:39695] CHIP:DMG: {
+          [1685009217.899606][39693:39695] CHIP:DMG: CommandDataIB =
+          [1685009217.899616][39693:39695] CHIP:DMG: {
+          [1685009217.899625][39693:39695] CHIP:DMG: CommandPathIB =
+          [1685009217.899644][39693:39695] CHIP:DMG: {
+          [1685009217.899654][39693:39695] CHIP:DMG: EndpointId = 0x0,
+          [1685009217.899665][39693:39695] CHIP:DMG: ClusterId = 0x4,
+          [1685009217.899674][39693:39695] CHIP:DMG: CommandId = 0x0,
+          [1685009217.899689][39693:39695] CHIP:DMG: },
+          [1685009217.899701][39693:39695] CHIP:DMG:
+          [1685009217.899713][39693:39695] CHIP:DMG: CommandFields =
+          [1685009217.899725][39693:39695] CHIP:DMG: {
+          [1685009217.899736][39693:39695] CHIP:DMG: 0x0 = 0,
+          [1685009217.899745][39693:39695] CHIP:DMG: 0x1 = 259,
+          [1685009217.899759][39693:39695] CHIP:DMG: },
+          [1685009217.899766][39693:39695] CHIP:DMG: },
+          [1685009217.899778][39693:39695] CHIP:DMG:
+          [1685009217.899785][39693:39695] CHIP:DMG: },
+          [1685009217.899797][39693:39695] CHIP:DMG:
+          [1685009217.899804][39693:39695] CHIP:DMG: ],
+          [1685009217.899816][39693:39695] CHIP:DMG:
+          [1685009217.899824][39693:39695] CHIP:DMG: InteractionModelRevision = 1
+          [1685009217.899831][39693:39695] CHIP:DMG: },
+          [1685009217.899865][39693:39695] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0000
+          [1685009217.899888][39693:39695] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000
+          [1685009217.899919][39693:39695] CHIP:TOO: AddGroupResponse: {
+          [1685009217.899930][39693:39695] CHIP:TOO: status: 0
+          [1685009217.899938][39693:39695] CHIP:TOO: groupID: 259
+          [1685009217.899946][39693:39695] CHIP:TOO: }
+      disabled: true
+
+    - label:
+          "TH writes The ACL attribute in the Access Control cluster to add
+          Manage privileges for group 0x0103 and maintain the current
+          administrative privileges for the TH on the Access Control cluster.
+          The following access control list shall be used: List item 1 (TH
+          admin): Privilege: Administer (5) AuthMode: CASE (2) Subjects: [N1]
+          Targets: [{Cluster: AccessControl (0x001f), Endpoint: 0}] List item 2
+          (group Manage access): Privilege: Manage (4) AuthMode: Group (3)
+          Subjects: group 0x0103 ([0x0103]) Targets: {Cluster: Groups (0x001d),
+          Endpoint: PIXIT.G.ENDPOINT}"
+      verification: |
+          ./chip-tool accesscontrol write acl '[{ "privilege": 5, "authMode": 2, "subjects": [112233], "targets": [{ "cluster": 31, "endpoint": 0, "deviceType": null }]},{ "privilege": 4, "authMode": 3, "subjects": [259], "targets": [{ "cluster": 4, "endpoint": 0, "deviceType": null }]}]' 1 0
+
+          Verify DUT sends SUCCESS(0x00) response on TH(chip-tool) Logs:
+
+          [1685009242.316884][39710:39712] CHIP:EM: Rxd Ack; Removing MessageCounter:79745670 from Retrans Table on exchange 23078i
+          [1685009242.316900][39710:39712] CHIP:DMG: WriteClient moving to [ResponseRe]
+          [1685009242.316933][39710:39712] CHIP:DMG: WriteResponseMessage =
+          [1685009242.316942][39710:39712] CHIP:DMG: {
+          [1685009242.316947][39710:39712] CHIP:DMG: AttributeStatusIBs =
+          [1685009242.316962][39710:39712] CHIP:DMG: [
+          [1685009242.316970][39710:39712] CHIP:DMG: AttributeStatusIB =
+          [1685009242.316993][39710:39712] CHIP:DMG: {
+          [1685009242.317002][39710:39712] CHIP:DMG: AttributePathIB =
+          [1685009242.317016][39710:39712] CHIP:DMG: {
+          [1685009242.317031][39710:39712] CHIP:DMG: Endpoint = 0x0,
+          [1685009242.317045][39710:39712] CHIP:DMG: Cluster = 0x1f,
+          [1685009242.317054][39710:39712] CHIP:DMG: Attribute = 0x0000_0000,
+          [1685009242.317064][39710:39712] CHIP:DMG: }
+          [1685009242.317079][39710:39712] CHIP:DMG:
+          [1685009242.317087][39710:39712] CHIP:DMG: StatusIB =
+          [1685009242.317099][39710:39712] CHIP:DMG: {
+          [1685009242.317109][39710:39712] CHIP:DMG: status = 0x00 (SUCCESS),
+          [1685009242.317120][39710:39712] CHIP:DMG: },
+          [1685009242.317131][39710:39712] CHIP:DMG:
+          [1685009242.317140][39710:39712] CHIP:DMG: },
+          [1685009242.317159][39710:39712] CHIP:DMG:
+          [1685009242.317167][39710:39712] CHIP:DMG: AttributeStatusIB =
+          [1685009242.317175][39710:39712] CHIP:DMG: {
+          [1685009242.317185][39710:39712] CHIP:DMG: AttributePathIB =
+          [1685009242.317195][39710:39712] CHIP:DMG: {
+          [1685009242.317206][39710:39712] CHIP:DMG: Endpoint = 0x0,
+          [1685009242.317218][39710:39712] CHIP:DMG: Cluster = 0x1f,
+          [1685009242.317229][39710:39712] CHIP:DMG: Attribute = 0x0000_0000,
+          [1685009242.317243][39710:39712] CHIP:DMG: ListIndex = Null,
+          [1685009242.317251][39710:39712] CHIP:DMG: }
+          [1685009242.317265][39710:39712] CHIP:DMG:
+          [1685009242.317272][39710:39712] CHIP:DMG: StatusIB =
+          [1685009242.317281][39710:39712] CHIP:DMG: {
+          [1685009242.317291][39710:39712] CHIP:DMG: status = 0x00 (SUCCESS),
+          [1685009242.317301][39710:39712] CHIP:DMG: },
+          [1685009242.317310][39710:39712] CHIP:DMG:
+          [1685009242.317320][39710:39712] CHIP:DMG: },
+          [1685009242.317336][39710:39712] CHIP:DMG:
+          [1685009242.317342][39710:39712] CHIP:DMG: AttributeStatusIB =
+          [1685009242.317353][39710:39712] CHIP:DMG: {
+          [1685009242.317362][39710:39712] CHIP:DMG: AttributePathIB =
+          [1685009242.317373][39710:39712] CHIP:DMG: {
+          [1685009242.317384][39710:39712] CHIP:DMG: Endpoint = 0x0,
+          [1685009242.317398][39710:39712] CHIP:DMG: Cluster = 0x1f,
+          [1685009242.317406][39710:39712] CHIP:DMG: Attribute = 0x0000_0000,
+          [1685009242.317417][39710:39712] CHIP:DMG: ListIndex = Null,
+          [1685009242.317427][39710:39712] CHIP:DMG: }
+          [1685009242.317441][39710:39712] CHIP:DMG:
+          [1685009242.317449][39710:39712] CHIP:DMG: StatusIB =
+          [1685009242.317460][39710:39712] CHIP:DMG: {
+          [1685009242.317471][39710:39712] CHIP:DMG: status = 0x00 (SUCCESS),
+          [1685009242.317481][39710:39712] CHIP:DMG: },
+          [1685009242.317491][39710:39712] CHIP:DMG:
+          [1685009242.317502][39710:39712] CHIP:DMG: },
+          [1685009242.317515][39710:39712] CHIP:DMG:
+          [1685009242.317523][39710:39712] CHIP:DMG: ],
+          [1685009242.317544][39710:39712] CHIP:DMG:
+          [1685009242.317551][39710:39712] CHIP:DMG: InteractionModelRevision = 1
+          [1685009242.317558][39710:39712] CHIP:DMG: }
+          [1685009242.317637][39710:39712] CHIP:DMG: WriteClient moving to [AwaitingDe]
+      disabled: true
+
+    - label:
+          "TH sends a AddGroup Command to the Groups cluster on Endpoint
+          PIXIT.G.ENDPOINT over CASE with the GroupID field set to 0x0104 and
+          the GroupName set to an empty string"
+      verification: |
+          ./chip-tool groups add-group 260 '' 1 0
+          Verify DUT sends 0x7e (UNSUPPORTED_ACCESS) response on TH(chip-tool) Logs:
+
+          [1685009266.594913][39716:39718] CHIP:EM: Rxd Ack; Removing MessageCounter:18030850 from Retrans Table on exchange 59871i
+          [1685009266.594918][39716:39718] CHIP:DMG: ICR moving to [ResponseRe]
+          [1685009266.594926][39716:39718] CHIP:DMG: InvokeResponseMessage =
+          [1685009266.594928][39716:39718] CHIP:DMG: {
+          [1685009266.594930][39716:39718] CHIP:DMG: suppressResponse = false,
+          [1685009266.594932][39716:39718] CHIP:DMG: InvokeResponseIBs =
+          [1685009266.594935][39716:39718] CHIP:DMG: [
+          [1685009266.594937][39716:39718] CHIP:DMG: InvokeResponseIB =
+          [1685009266.594941][39716:39718] CHIP:DMG: {
+          [1685009266.594944][39716:39718] CHIP:DMG: CommandStatusIB =
+          [1685009266.594947][39716:39718] CHIP:DMG: {
+          [1685009266.594949][39716:39718] CHIP:DMG: CommandPathIB =
+          [1685009266.594951][39716:39718] CHIP:DMG: {
+          [1685009266.594954][39716:39718] CHIP:DMG: EndpointId = 0x0,
+          [1685009266.594956][39716:39718] CHIP:DMG: ClusterId = 0x4,
+          [1685009266.594959][39716:39718] CHIP:DMG: CommandId = 0x0,
+          [1685009266.594961][39716:39718] CHIP:DMG: },
+          [1685009266.594964][39716:39718] CHIP:DMG:
+          [1685009266.594966][39716:39718] CHIP:DMG: StatusIB =
+          [1685009266.594969][39716:39718] CHIP:DMG: {
+          [1685009266.594971][39716:39718] CHIP:DMG: status = 0x7e (UNSUPPORTED_ACCESS),
+          [1685009266.594973][39716:39718] CHIP:DMG: },
+          [1685009266.594976][39716:39718] CHIP:DMG:
+          [1685009266.594978][39716:39718] CHIP:DMG: },
+          [1685009266.594980][39716:39718] CHIP:DMG:
+          [1685009266.594982][39716:39718] CHIP:DMG: },
+          [1685009266.594985][39716:39718] CHIP:DMG:
+          [1685009266.594987][39716:39718] CHIP:DMG: ],
+          [1685009266.594990][39716:39718] CHIP:DMG:
+          [1685009266.594992][39716:39718] CHIP:DMG: InteractionModelRevision = 1
+          [1685009266.594994][39716:39718] CHIP:DMG: }
+      disabled: true
+
+    - label:
+          "TH sends a AddGroup Command to the Groups cluster with the GroupID
+          field set to 0x0104 and the GroupName set to an empty string. The
+          command is sent as a group command using GroupID 0x0103"
+      verification: |
+          ./chip-tool groups add-group 260 '' 0xffffffffffff0103 0
+      disabled: true
+
+    - label:
+          "TH sends a AddGroup Command to the Groups cluster with the GroupID
+          field set to 0x0105 and the GroupName set to an empty string. The
+          command is sent as a group command using GroupID 0x0104"
+      verification: |
+          ./chip-tool groups add-group 261 '' 0xffffffffffff0104 1
+      disabled: true
+
+    - label:
+          "TH writes The ACL attribute in the Access Control cluster to revoke
+          groups Management access and restore full access over CASE by setting
+          the following ACL list items: List item 1 (TH admin): Privilege:
+          Administer (5) AuthMode: CASE (2) Subjects: [N1] Targets: null"
+      verification: |
+          ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null }]' 1 0
+
+          Verify DUT sends SUCCESS(0x00) response on TH(chip-tool) Logs:
+
+          1685009349.509571][39773:39775] CHIP:DMG: WriteResponseMessage =
+          [1685009349.509581][39773:39775] CHIP:DMG: {
+          [1685009349.509588][39773:39775] CHIP:DMG: AttributeStatusIBs =
+          [1685009349.509602][39773:39775] CHIP:DMG: [
+          [1685009349.509610][39773:39775] CHIP:DMG: AttributeStatusIB =
+          [1685009349.509620][39773:39775] CHIP:DMG: {
+          [1685009349.509628][39773:39775] CHIP:DMG: AttributePathIB =
+          [1685009349.509642][39773:39775] CHIP:DMG: {
+          [1685009349.509652][39773:39775] CHIP:DMG: Endpoint = 0x0,
+          [1685009349.509662][39773:39775] CHIP:DMG: Cluster = 0x1f,
+          [1685009349.509672][39773:39775] CHIP:DMG: Attribute = 0x0000_0000,
+          [1685009349.509684][39773:39775] CHIP:DMG: }
+          [1685009349.509696][39773:39775] CHIP:DMG:
+          [1685009349.509704][39773:39775] CHIP:DMG: StatusIB =
+          [1685009349.509713][39773:39775] CHIP:DMG: {
+          [1685009349.509721][39773:39775] CHIP:DMG: status = 0x00 (SUCCESS),
+          [1685009349.509733][39773:39775] CHIP:DMG: },
+          [1685009349.509742][39773:39775] CHIP:DMG:
+          [1685009349.509750][39773:39775] CHIP:DMG: },
+          [1685009349.509771][39773:39775] CHIP:DMG:
+          [1685009349.509778][39773:39775] CHIP:DMG: AttributeStatusIB =
+          [1685009349.509786][39773:39775] CHIP:DMG: {
+          [1685009349.509794][39773:39775] CHIP:DMG: AttributePathIB =
+          [1685009349.509802][39773:39775] CHIP:DMG: {
+          [1685009349.509811][39773:39775] CHIP:DMG: Endpoint = 0x0,
+          [1685009349.509820][39773:39775] CHIP:DMG: Cluster = 0x1f,
+          [1685009349.509829][39773:39775] CHIP:DMG: Attribute = 0x0000_0000,
+          [1685009349.509838][39773:39775] CHIP:DMG: ListIndex = Null,
+          [1685009349.509846][39773:39775] CHIP:DMG: }
+          [1685009349.509858][39773:39775] CHIP:DMG:
+          [1685009349.509866][39773:39775] CHIP:DMG: StatusIB =
+          [1685009349.509873][39773:39775] CHIP:DMG: {
+          [1685009349.509882][39773:39775] CHIP:DMG: status = 0x00 (SUCCESS),
+          [1685009349.509890][39773:39775] CHIP:DMG: },
+          [1685009349.509900][39773:39775] CHIP:DMG:
+          [1685009349.509907][39773:39775] CHIP:DMG: },
+          [1685009349.509919][39773:39775] CHIP:DMG:
+          [1685009349.509926][39773:39775] CHIP:DMG: ],
+          [1685009349.509942][39773:39775] CHIP:DMG:
+          [1685009349.509949][39773:39775] CHIP:DMG: InteractionModelRevision = 1
+          [1685009349.509959][39773:39775] CHIP:DMG: }
+      disabled: true
+
+    - label:
+          "TH sends a ViewGroup Command to the Groups cluster on Endpoint
+          PIXIT.G.ENDPOINT over CASE with the GroupID set to 0x0104 to confirm
+          that the AddGroup command from step 6 was successful"
+      verification: |
+          ./chip-tool groups view-group 0x0104 1 0
+
+          Verify DUT sends a ViewGroupResponse with Status is set to SUCCESS and GroupID is set to 0x0104(Decimal 260) on TH(chip-tool) Logs:
+
+          [1685009378.715933][39785:39787] CHIP:EM: Rxd Ack; Removing MessageCounter:100204976 from Retrans Table on exchange 10510i
+          [1685009378.715944][39785:39787] CHIP:DMG: ICR moving to [ResponseRe]
+          [1685009378.715968][39785:39787] CHIP:DMG: InvokeResponseMessage =
+          [1685009378.715977][39785:39787] CHIP:DMG: {
+          [1685009378.715985][39785:39787] CHIP:DMG: suppressResponse = false,
+          [1685009378.715994][39785:39787] CHIP:DMG: InvokeResponseIBs =
+          [1685009378.716007][39785:39787] CHIP:DMG: [
+          [1685009378.716015][39785:39787] CHIP:DMG: InvokeResponseIB =
+          [1685009378.716027][39785:39787] CHIP:DMG: {
+          [1685009378.716035][39785:39787] CHIP:DMG: CommandDataIB =
+          [1685009378.716044][39785:39787] CHIP:DMG: {
+          [1685009378.716051][39785:39787] CHIP:DMG: CommandPathIB =
+          [1685009378.716061][39785:39787] CHIP:DMG: {
+          [1685009378.716070][39785:39787] CHIP:DMG: EndpointId = 0x0,
+          [1685009378.716080][39785:39787] CHIP:DMG: ClusterId = 0x4,
+          [1685009378.716088][39785:39787] CHIP:DMG: CommandId = 0x1,
+          [1685009378.716097][39785:39787] CHIP:DMG: },
+          [1685009378.716107][39785:39787] CHIP:DMG:
+          [1685009378.716115][39785:39787] CHIP:DMG: CommandFields =
+          [1685009378.716124][39785:39787] CHIP:DMG: {
+          [1685009378.716134][39785:39787] CHIP:DMG: 0x0 = 0,
+          [1685009378.716143][39785:39787] CHIP:DMG: 0x1 = 260,
+          [1685009378.716154][39785:39787] CHIP:DMG: 0x2 = "" (0 chars),
+          [1685009378.716164][39785:39787] CHIP:DMG: },
+          [1685009378.716172][39785:39787] CHIP:DMG: },
+          [1685009378.716184][39785:39787] CHIP:DMG:
+          [1685009378.716191][39785:39787] CHIP:DMG: },
+          [1685009378.716203][39785:39787] CHIP:DMG:
+          [1685009378.716210][39785:39787] CHIP:DMG: ],
+          [1685009378.716224][39785:39787] CHIP:DMG:
+          [1685009378.716231][39785:39787] CHIP:DMG: InteractionModelRevision = 1
+          [1685009378.716238][39785:39787] CHIP:DMG: },
+          [1685009378.716275][39785:39787] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0001
+          [1685009378.716295][39785:39787] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0001
+          [1685009378.716326][39785:39787] CHIP:TOO: ViewGroupResponse: {
+          [1685009378.716337][39785:39787] CHIP:TOO: status: 0
+          [1685009378.716349][39785:39787] CHIP:TOO: groupID: 260
+          [1685009378.716356][39785:39787] CHIP:TOO: groupName:
+          [1685009378.716365][39785:39787] CHIP:TOO: }
+      disabled: true
+
+    - label:
+          "TH sends a ViewGroup Command to the Groups cluster on Endpoint
+          PIXIT.G.ENDPOINT over CASE with the GroupID set to 0x0105 to confirm
+          that the AddGroup command from step 7 was not successful"
+      verification: |
+          ./chip-tool groups view-group 0x0105 1 0
+
+          [1685009398.600826][39795:39797] CHIP:DMG: InvokeResponseMessage =
+          [1685009398.600828][39795:39797] CHIP:DMG: {
+          [1685009398.600831][39795:39797] CHIP:DMG: suppressResponse = false,
+          [1685009398.600833][39795:39797] CHIP:DMG: InvokeResponseIBs =
+          [1685009398.600838][39795:39797] CHIP:DMG: [
+          [1685009398.600840][39795:39797] CHIP:DMG: InvokeResponseIB =
+          [1685009398.600845][39795:39797] CHIP:DMG: {
+          [1685009398.600847][39795:39797] CHIP:DMG: CommandDataIB =
+          [1685009398.600850][39795:39797] CHIP:DMG: {
+          [1685009398.600853][39795:39797] CHIP:DMG: CommandPathIB =
+          [1685009398.600856][39795:39797] CHIP:DMG: {
+          [1685009398.600859][39795:39797] CHIP:DMG: EndpointId = 0x0,
+          [1685009398.600862][39795:39797] CHIP:DMG: ClusterId = 0x4,
+          [1685009398.600865][39795:39797] CHIP:DMG: CommandId = 0x1,
+          [1685009398.600867][39795:39797] CHIP:DMG: },
+          [1685009398.600871][39795:39797] CHIP:DMG:
+          [1685009398.600874][39795:39797] CHIP:DMG: CommandFields =
+          [1685009398.600876][39795:39797] CHIP:DMG: {
+          [1685009398.600880][39795:39797] CHIP:DMG: 0x0 = 139,
+          [1685009398.600883][39795:39797] CHIP:DMG: 0x1 = 261,
+          [1685009398.600886][39795:39797] CHIP:DMG: 0x2 = "" (0 chars),
+          [1685009398.600889][39795:39797] CHIP:DMG: },
+          [1685009398.600892][39795:39797] CHIP:DMG: },
+          [1685009398.600896][39795:39797] CHIP:DMG:
+          [1685009398.600898][39795:39797] CHIP:DMG: },
+          [1685009398.600902][39795:39797] CHIP:DMG:
+          [1685009398.600904][39795:39797] CHIP:DMG: ],
+          [1685009398.600908][39795:39797] CHIP:DMG:
+          [1685009398.600911][39795:39797] CHIP:DMG: InteractionModelRevision = 1
+          [1685009398.600913][39795:39797] CHIP:DMG: },
+          [1685009398.600925][39795:39797] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0001
+          [1685009398.600932][39795:39797] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0001
+          [1685009398.600944][39795:39797] CHIP:TOO: ViewGroupResponse: {
+          [1685009398.600949][39795:39797] CHIP:TOO: status: 139
+          [1685009398.600952][39795:39797] CHIP:TOO: groupID: 261
+          [1685009398.600955][39795:39797] CHIP:TOO: groupName:
+          [1685009398.600957][39795:39797] CHIP:TOO: }
+          [1685009398.600964][39795:39797] CHIP:DMG: ICR moving to [AwaitingDe]
+      disabled: true
+
+    - label:
+          "TH sends a AddGroup Command to the Groups cluster with the GroupID
+          field set to 0x0105 and the GroupName set to an empty string. The
+          command is sent as a group command using GroupID 0x0103"
+      verification: |
+          ./chip-tool groups add-group 261 '' 0xffffffffffff0103 0
+      disabled: true
+
+    - label:
+          "TH sends a ViewGroup Command to the Groups cluster on Endpoint
+          PIXIT.G.ENDPOINT over CASE with the GroupID set to 0x0105 to confirm
+          that the AddGroup command from step 11 was not successful"
+      verification: |
+          ./chip-tool groups view-group 261 1 0
+          Verify DUT sends a ViewGroupResponse with Status is set to NOT_FOUND and GroupID is set to 0x0105(Decimal 261) on TH(chip-tool) Logs:
+
+          [1685009503.554279][40130:40132] CHIP:DMG: InvokeResponseMessage =
+          [1685009503.554289][40130:40132] CHIP:DMG: {
+          [1685009503.554295][40130:40132] CHIP:DMG: suppressResponse = false,
+          [1685009503.554303][40130:40132] CHIP:DMG: InvokeResponseIBs =
+          [1685009503.554315][40130:40132] CHIP:DMG: [
+          [1685009503.554321][40130:40132] CHIP:DMG: InvokeResponseIB =
+          [1685009503.554331][40130:40132] CHIP:DMG: {
+          [1685009503.554340][40130:40132] CHIP:DMG: CommandDataIB =
+          [1685009503.554346][40130:40132] CHIP:DMG: {
+          [1685009503.554351][40130:40132] CHIP:DMG: CommandPathIB =
+          [1685009503.554361][40130:40132] CHIP:DMG: {
+          [1685009503.554370][40130:40132] CHIP:DMG: EndpointId = 0x0,
+          [1685009503.554380][40130:40132] CHIP:DMG: ClusterId = 0x4,
+          [1685009503.554389][40130:40132] CHIP:DMG: CommandId = 0x1,
+          [1685009503.554397][40130:40132] CHIP:DMG: },
+          [1685009503.554407][40130:40132] CHIP:DMG:
+          [1685009503.554416][40130:40132] CHIP:DMG: CommandFields =
+          [1685009503.554425][40130:40132] CHIP:DMG: {
+          [1685009503.554436][40130:40132] CHIP:DMG: 0x0 = 139,
+          [1685009503.554445][40130:40132] CHIP:DMG: 0x1 = 261,
+          [1685009503.554456][40130:40132] CHIP:DMG: 0x2 = "" (0 chars),
+          [1685009503.554466][40130:40132] CHIP:DMG: },
+          [1685009503.554474][40130:40132] CHIP:DMG: },
+          [1685009503.554486][40130:40132] CHIP:DMG:
+          [1685009503.554493][40130:40132] CHIP:DMG: },
+          [1685009503.554506][40130:40132] CHIP:DMG:
+          [1685009503.554513][40130:40132] CHIP:DMG: ],
+          [1685009503.554526][40130:40132] CHIP:DMG:
+          [1685009503.554534][40130:40132] CHIP:DMG: InteractionModelRevision = 1
+          [1685009503.554541][40130:40132] CHIP:DMG: },
+          [1685009503.554583][40130:40132] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0001
+          [1685009503.554604][40130:40132] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0001
+          [1685009503.554637][40130:40132] CHIP:TOO: ViewGroupResponse: {
+          [1685009503.554653][40130:40132] CHIP:TOO: status: 139
+          [1685009503.554662][40130:40132] CHIP:TOO: groupID: 261
+          [1685009503.554670][40130:40132] CHIP:TOO: groupName:
+          [1685009503.554678][40130:40132] CHIP:TOO: }
+          [1685009503.554698][40130:40132] CHIP:DMG: ICR moving
+      disabled: true
+
+    - label:
+          "TH sends the RemoveAllGroups Command to the Groups cluster on
+          Endpoint PIXIT.G.ENDPOINT over CASE"
+      verification: |
+          ./chip-tool groups remove-all-groups 1 0
+
+
+          Verify DUT sends SUCCESS(0x00) response on TH(chip-tool) Logs:
+
+          [1685009534.554583][40143:40145] CHIP:DMG: InvokeResponseMessage =
+          [1685009534.554585][40143:40145] CHIP:DMG: {
+          [1685009534.554588][40143:40145] CHIP:DMG: suppressResponse = false,
+          [1685009534.554590][40143:40145] CHIP:DMG: InvokeResponseIBs =
+          [1685009534.554594][40143:40145] CHIP:DMG: [
+          [1685009534.554596][40143:40145] CHIP:DMG: InvokeResponseIB =
+          [1685009534.554600][40143:40145] CHIP:DMG: {
+          [1685009534.554602][40143:40145] CHIP:DMG: CommandStatusIB =
+          [1685009534.554605][40143:40145] CHIP:DMG: {
+          [1685009534.554607][40143:40145] CHIP:DMG: CommandPathIB =
+          [1685009534.554610][40143:40145] CHIP:DMG: {
+          [1685009534.554613][40143:40145] CHIP:DMG: EndpointId = 0x0,
+          [1685009534.554616][40143:40145] CHIP:DMG: ClusterId = 0x4,
+          [1685009534.554618][40143:40145] CHIP:DMG: CommandId = 0x4,
+          [1685009534.554620][40143:40145] CHIP:DMG: },
+          [1685009534.554624][40143:40145] CHIP:DMG:
+          [1685009534.554626][40143:40145] CHIP:DMG: StatusIB =
+          [1685009534.554628][40143:40145] CHIP:DMG: {
+          [1685009534.554631][40143:40145] CHIP:DMG: status = 0x00 (SUCCESS),
+          [1685009534.554633][40143:40145] CHIP:DMG: },
+          [1685009534.554637][40143:40145] CHIP:DMG:
+          [1685009534.554640][40143:40145] CHIP:DMG: },
+          [1685009534.554644][40143:40145] CHIP:DMG:
+          [1685009534.554646][40143:40145] CHIP:DMG: },
+          [1685009534.554650][40143:40145] CHIP:DMG:
+          [1685009534.554652][40143:40145] CHIP:DMG: ],
+          [1685009534.554656][40143:40145] CHIP:DMG:
+          [1685009534.554658][40143:40145] CHIP:DMG: InteractionModelRevision = 1
+          [1685009534.554660][40143:40145] CHIP:DMG: },
+      disabled: true
+
+    - label:
+          "TH resets the GroupKeyMap attribute list on GroupKeyManagement
+          cluster by writing the GroupKeyMap attribute with an empty list"
+      verification: |
+          ./chip-tool groupkeymanagement write group-key-map '[ ]' 1 0
+
+          Verify DUT sends SUCCESS(0x00) response on TH(chip-tool) Logs:
+
+          [1685010006.001015][40429:40431] CHIP:DMG: WriteClient moving to [ResponseRe]
+          [1685010006.001022][40429:40431] CHIP:DMG: WriteResponseMessage =
+          [1685010006.001025][40429:40431] CHIP:DMG: {
+          [1685010006.001026][40429:40431] CHIP:DMG: AttributeStatusIBs =
+          [1685010006.001030][40429:40431] CHIP:DMG: [
+          [1685010006.001032][40429:40431] CHIP:DMG: AttributeStatusIB =
+          [1685010006.001034][40429:40431] CHIP:DMG: {
+          [1685010006.001037][40429:40431] CHIP:DMG: AttributePathIB =
+          [1685010006.001039][40429:40431] CHIP:DMG: {
+          [1685010006.001043][40429:40431] CHIP:DMG: Endpoint = 0x0,
+          [1685010006.001045][40429:40431] CHIP:DMG: Cluster = 0x3f,
+          [1685010006.001047][40429:40431] CHIP:DMG: Attribute = 0x0000_0000,
+          [1685010006.001050][40429:40431] CHIP:DMG: }
+          [1685010006.001053][40429:40431] CHIP:DMG:
+          [1685010006.001055][40429:40431] CHIP:DMG: StatusIB =
+          [1685010006.001057][40429:40431] CHIP:DMG: {
+          [1685010006.001059][40429:40431] CHIP:DMG: status = 0x00 (SUCCESS),
+          [1685010006.001061][40429:40431] CHIP:DMG: },
+          [1685010006.001064][40429:40431] CHIP:DMG:
+          [1685010006.001066][40429:40431] CHIP:DMG: },
+          [1685010006.001068][40429:40431] CHIP:DMG:
+          [1685010006.001070][40429:40431] CHIP:DMG: ],
+          [1685010006.001073][40429:40431] CHIP:DMG:
+          [1685010006.001075][40429:40431] CHIP:DMG: InteractionModelRevision = 1
+          [1685010006.001077][40429:40431] CHIP:DMG: }
+      disabled: true
+
+    - label:
+          "TH resets the key set by sending the KeySetRemove command to the
+          GroupKeyManagement cluster over CASE with the following fields:
+          GroupKeySetID: 0x01a3"
+      verification: |
+          ./chip-tool groupkeymanagement key-set-remove "0x01a3" 1 0
+
+          Verify DUT sends SUCCESS(0x00) response on TH(chip-tool) Logs:
+
+          [1685009579.433397][40206:40208] CHIP:DMG: InvokeResponseMessage =
+          [1685009579.433405][40206:40208] CHIP:DMG: {
+          [1685009579.433413][40206:40208] CHIP:DMG: suppressResponse = false,
+          [1685009579.433420][40206:40208] CHIP:DMG: InvokeResponseIBs =
+          [1685009579.433434][40206:40208] CHIP:DMG: [
+          [1685009579.433441][40206:40208] CHIP:DMG: InvokeResponseIB =
+          [1685009579.433453][40206:40208] CHIP:DMG: {
+          [1685009579.433461][40206:40208] CHIP:DMG: CommandStatusIB =
+          [1685009579.433470][40206:40208] CHIP:DMG: {
+          [1685009579.433478][40206:40208] CHIP:DMG: CommandPathIB =
+          [1685009579.433493][40206:40208] CHIP:DMG: {
+          [1685009579.433503][40206:40208] CHIP:DMG: EndpointId = 0x0,
+          [1685009579.433519][40206:40208] CHIP:DMG: ClusterId = 0x3f,
+          [1685009579.433528][40206:40208] CHIP:DMG: CommandId = 0x3,
+          [1685009579.433536][40206:40208] CHIP:DMG: },
+          [1685009579.433549][40206:40208] CHIP:DMG:
+          [1685009579.433557][40206:40208] CHIP:DMG: StatusIB =
+          [1685009579.433567][40206:40208] CHIP:DMG: {
+          [1685009579.433576][40206:40208] CHIP:DMG: status = 0x00 (SUCCESS),
+          [1685009579.433594][40206:40208] CHIP:DMG: },
+          [1685009579.433603][40206:40208] CHIP:DMG:
+          [1685009579.433614][40206:40208] CHIP:DMG: },
+          [1685009579.433625][40206:40208] CHIP:DMG:
+          [1685009579.433632][40206:40208] CHIP:DMG: },
+          [1685009579.433641][40206:40208] CHIP:DMG:
+          [1685009579.433649][40206:40208] CHIP:DMG: ],
+          [1685009579.433661][40206:40208] CHIP:DMG:
+          [1685009579.433668][40206:40208] CHIP:DMG: InteractionModelRevision = 1
+          [1685009579.433676][40206:40208] CHIP:DMG: },
+          [1685009579.433713][40206:40208] CHIP:DMG: Rece
+      disabled: true
diff --git a/src/app/tests/suites/certification/Test_TC_SC_5_3.yaml b/src/app/tests/suites/certification/Test_TC_SC_5_3.yaml
index 4827111..24b8e69 100644
--- a/src/app/tests/suites/certification/Test_TC_SC_5_3.yaml
+++ b/src/app/tests/suites/certification/Test_TC_SC_5_3.yaml
@@ -13,10 +13,11 @@
 # 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: 19.1.3. [TC-SC-5.3] Sending a group message - DUT to TH
+name: 18.1.3. [TC-SC-5.3] Sending a group message - DUT to TH
 
 PICS:
     - MCORE.ROLE.COMMISSIONER
+    - GRPKEY.C
 
 config:
     nodeId: 0x12344321
@@ -33,92 +34,265 @@
       verification: |
           DUT and TH are commissioned.
 
-          DUT and TH are part of a common group. - Run TC-SC-6.1 to establish this precondition.
+          DUT supports Groups Cluster
       disabled: true
 
     - label: "TH should have the ACL entry with the AuthMode as Group by DUT"
       verification: |
+          ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null },{"fabricIndex": 1, "privilege": 4, "authMode": 3, "subjects": [259], "targets": null }]' 1 0
+
           ./chip-tool accesscontrol read  acl 1 0
 
-          Verify the Read Request Message for the data sent in the above command on TH(Reference app)log
+          Verify  that  ACL entry with the AuthMode as Group is present on TH(Reference app)log:
 
-          [1653571830.010685][3949:3949] CHIP:IM: Received Read request
-          [1653571830.010772][3949:3949] CHIP:DMG: ReadRequestMessage =
-          [1653571830.010822][3949:3949] CHIP:DMG: {
-          [1653571830.010863][3949:3949] CHIP:DMG:        AttributePathIBs =
-          [1653571830.010911][3949:3949] CHIP:DMG:        [
-          [1653571830.010957][3949:3949] CHIP:DMG:                AttributePathIB =
-          [1653571830.011020][3949:3949] CHIP:DMG:                {
-          [1653571830.011072][3949:3949] CHIP:DMG:                        Endpoint = 0x0,
-          [1653571830.011132][3949:3949] CHIP:DMG:                        Cluster = 0x1f,
-          [1653571830.011191][3949:3949] CHIP:DMG:                        Attribute = 0x0000_0000,
-          [1653571830.011246][3949:3949] CHIP:DMG:                }
-          [1653571830.011299][3949:3949] CHIP:DMG:
-          [1653571830.011350][3949:3949] CHIP:DMG:        ],
-          [1653571830.011401][3949:3949] CHIP:DMG:
-          [1653571830.011451][3949:3949] CHIP:DMG:        isFabricFiltered = true,
-          [1653571830.011499][3949:3949] CHIP:DMG:        InteractionModelRevision = 1
-          [1653571830.011543][3949:3949] CHIP:DMG: },
-          [1653571830.011711][3949:3949] CHIP:DMG: IM RH moving to [GeneratingReports]
-          [1653571830.011855][3949:3949] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0
-          [1653571830.011907][3949:3949] CHIP:DMG: <RE:Run> Cluster 1f, Attribute 0 is dirty
-          [1653571830.011947][3949:3949] CHIP:DMG: Reading attribute: Cluster=0x0000_001F Endpoint=0 AttributeId=0x0000_0000 (expanded=0)
-          [1653571830.011995][3949:3949] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_001F e=0 p=a
-          [1653571830.012053][3949:3949] CHIP:DMG: AccessControl: allowed
+          [1684162707.651064][28541:28543] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_0000 DataVersion: 1331379855
+          [1684162707.651080][28541:28543] CHIP:TOO:   ACL: 2 entries
+          [1684162707.651089][28541:28543] CHIP:TOO:     [1]: {
+          [1684162707.651095][28541:28543] CHIP:TOO:       Privilege: 5
+          [1684162707.651097][28541:28543] CHIP:TOO:       AuthMode: 2
+          [1684162707.651100][28541:28543] CHIP:TOO:       Subjects: 1 entries
+          [1684162707.651103][28541:28543] CHIP:TOO:         [1]: 112233
+          [1684162707.651105][28541:28543] CHIP:TOO:       Targets: null
+          [1684162707.651107][28541:28543] CHIP:TOO:       FabricIndex: 1
+          [1684162707.651109][28541:28543] CHIP:TOO:      }
+          [1684162707.651113][28541:28543] CHIP:TOO:     [2]: {
+          [1684162707.651115][28541:28543] CHIP:TOO:       Privilege: 4
+          [1684162707.651117][28541:28543] CHIP:TOO:       AuthMode: 3
+          [1684162707.651119][28541:28543] CHIP:TOO:       Subjects: 1 entries
+          [1684162707.651122][28541:28543] CHIP:TOO:         [1]: 259
+          [1684162707.651124][28541:28543] CHIP:TOO:       Targets: null
+          [1684162707.651126][28541:28543] CHIP:TOO:       FabricIndex: 1
+          [1684162707.651128][28541:28543] CHIP:TOO:      }
       disabled: true
 
     - label:
-          "DUT operator initiates transmission of multicast message to TH (by
-          interacting with DUT)"
+          "DUT generates fabric-unique GroupID, GroupName, random key, EpochKey0
+          and GroupKeySetID. Save the GroupID as GroupID_1, GroupName as
+          GroupName_1 and GroupSetID"
+      PICS: GRPKEY.C.C00.Tx
       verification: |
-          ./chip-tool groupsettings add-group grp1 0x0001
+          GroupKeySetID = 419
+          GroupID_1 = 259
+          GroupName_1 = "grp1"
+      disabled: true
 
-          ./chip-tool groupsettings add-keysets 0x0042 0 0x000000000021dfe0 hex:d0d1d2d3d4d5d6d7d8d9dadbdcdddedf
+    - label:
+          "DUT sends KeySetWrite command to GroupKeyManagement cluster to TH on
+          EP0"
+      PICS: GRPKEY.C.C00.Tx
+      verification: |
+          ./chip-tool groupkeymanagement key-set-write '{"groupKeySetID": 419,"groupKeySecurityPolicy": 0, "epochKey0":"d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 2220000,"epochKey1":"d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 2220001,"epochKey2":"d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }' 1 0
 
-          ./chip-tool groupsettings bind-keyset 0x0001 0x0042
+          Verify that  KeySetWrite with Group Set ID as 419 is present on TH(Reference app)log:
 
-          ./chip-tool groupsettings show-groups
+          [1684162878.418032][28333:28333] CHIP:DMG: {
+          [1684162878.418034][28333:28333] CHIP:DMG:         suppressResponse = false,
+          [1684162878.418038][28333:28333] CHIP:DMG:         timedRequest = false,
+          [1684162878.418040][28333:28333] CHIP:DMG:         InvokeRequests =
+          [1684162878.418044][28333:28333] CHIP:DMG:         [
+          [1684162878.418046][28333:28333] CHIP:DMG:                 CommandDataIB =
+          [1684162878.418048][28333:28333] CHIP:DMG:                 {
+          [1684162878.418050][28333:28333] CHIP:DMG:                         CommandPathIB =
+          [1684162878.418054][28333:28333] CHIP:DMG:                         {
+          [1684162878.418057][28333:28333] CHIP:DMG:                                 EndpointId = 0x0,
+          [1684162878.418059][28333:28333] CHIP:DMG:                                 ClusterId = 0x3f,
+          [1684162878.418062][28333:28333] CHIP:DMG:                                 CommandId = 0x0,
+          [1684162878.418065][28333:28333] CHIP:DMG:                         },
+          [1684162878.418068][28333:28333] CHIP:DMG:
+          [1684162878.418071][28333:28333] CHIP:DMG:                         CommandFields =
+          [1684162878.418074][28333:28333] CHIP:DMG:                         {
+          [1684162878.418077][28333:28333] CHIP:DMG:                                 0x0 =
+          [1684162878.418079][28333:28333] CHIP:DMG:                                 {
+          [1684162878.418083][28333:28333] CHIP:DMG:                                         0x0 = 419,
+          [1684162878.418087][28333:28333] CHIP:DMG:                                         0x1 = 0,
+          [1684162878.418090][28333:28333] CHIP:DMG:                                         0x2 = [
+          [1684162878.418094][28333:28333] CHIP:DMG:                                                         0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
+          [1684162878.418099][28333:28333] CHIP:DMG:                                         ] (16 bytes)
+          [1684162878.418102][28333:28333] CHIP:DMG:                                         0x3 = 2220000,
+          [1684162878.418105][28333:28333] CHIP:DMG:                                         0x4 = [
+          [1684162878.418110][28333:28333] CHIP:DMG:                                                         0xd1, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
+          [1684162878.418115][28333:28333] CHIP:DMG:                                         ] (16 bytes)
+          [1684162878.418135][28333:28333] CHIP:DMG:                                         0x5 = 2220001,
+          [1684162878.418138][28333:28333] CHIP:DMG:                                         0x6 = [
+          [1684162878.418143][28333:28333] CHIP:DMG:                                                         0xd2, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
+          [1684162878.418146][28333:28333] CHIP:DMG:                                         ] (16 bytes)
+          [1684162878.418150][28333:28333] CHIP:DMG:                                         0x7 = 2220002,
+          [1684162878.418153][28333:28333] CHIP:DMG:                                 },
+          [1684162878.418155][28333:28333] CHIP:DMG:                         },
+          [1684162878.418157][28333:28333] CHIP:DMG:                 },
+          [1684162878.418161][28333:28333] CHIP:DMG:
+          [1684162878.418169][28333:28333] CHIP:DMG:         ],
+          [1684162878.418173][28333:28333] CHIP:DMG:
+          [1684162878.418174][28333:28333] CHIP:DMG:         InteractionModelRevision = 1
+          [1684162878.418176][28333:28333] CHIP:DMG: },
+          [1684162878.418190][28333:28333] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_003F e=0 p=a
+          [1684162878.418196][28333:28333] CHIP:DMG: AccessControl: allowed
+          [1684162878.418199][28333:28333] CHIP:DMG: Received command for Endpoint=0 Cluster=0x0000_003F Command=0x0000_0000
+      disabled: true
 
-          ./chip-tool identify identify 0x0078 0xffffffffffff0001 1
+    - label:
+          "DUT binds GroupId with GroupKeySetID in the GroupKeyMap attribute
+          list on GroupKeyManagement cluster"
+      PICS: GRPKEY.C.A0000
+      verification: |
+          ./chip-tool groupkeymanagement write group-key-map '[{"groupId": 259, "groupKeySetID": 419, "fabricIndex": 1},{"groupId": 257, "groupKeySetID": 419, "fabricIndex": 1}]' 1 0
 
-          Verify Destination Node ID matches the GroupID on TH(Reference app)log :
+          Verify that  group-key-map attribute with GroupID_1 as 259, GroupID_2 as 257 and Group Set ID as 419 is present on TH(Reference app)log:
+          [1684166126.545563][29258:29258] CHIP:DMG: WriteRequestMessage =
+          [1684166126.545565][29258:29258] CHIP:DMG: {
+          [1684166126.545567][29258:29258] CHIP:DMG:         suppressResponse = false,
+          [1684166126.545569][29258:29258] CHIP:DMG:         timedRequest = false,
+          [1684166126.545571][29258:29258] CHIP:DMG:         AttributeDataIBs =
+          [1684166126.545575][29258:29258] CHIP:DMG:         [
+          [1684166126.545577][29258:29258] CHIP:DMG:                 AttributeDataIB =
+          [1684166126.545579][29258:29258] CHIP:DMG:                 {
+          [1684166126.545581][29258:29258] CHIP:DMG:                         AttributePathIB =
+          [1684166126.545583][29258:29258] CHIP:DMG:                         {
+          [1684166126.545586][29258:29258] CHIP:DMG:                                 Endpoint = 0x0,
+          [1684166126.545590][29258:29258] CHIP:DMG:                                 Cluster = 0x3f,
+          [1684166126.545593][29258:29258] CHIP:DMG:                                 Attribute = 0x0000_0000,
+          [1684166126.545595][29258:29258] CHIP:DMG:                         }
+          [1684166126.545597][29258:29258] CHIP:DMG:
+          [1684166126.545600][29258:29258] CHIP:DMG:                         Data = [
+          [1684166126.545602][29258:29258] CHIP:DMG:
+          [1684166126.545606][29258:29258] CHIP:DMG:                         ],
+          [1684166126.545608][29258:29258] CHIP:DMG:                 },
+          [1684166126.545612][29258:29258] CHIP:DMG:
+          [1684166126.545614][29258:29258] CHIP:DMG:                 AttributeDataIB =
+          [1684166126.545616][29258:29258] CHIP:DMG:                 {
+          [1684166126.545618][29258:29258] CHIP:DMG:                         AttributePathIB =
+          [1684166126.545620][29258:29258] CHIP:DMG:                         {
+          [1684166126.545622][29258:29258] CHIP:DMG:                                 Endpoint = 0x0,
+          [1684166126.545624][29258:29258] CHIP:DMG:                                 Cluster = 0x3f,
+          [1684166126.545626][29258:29258] CHIP:DMG:                                 Attribute = 0x0000_0000,
+          [1684166126.545629][29258:29258] CHIP:DMG:                                 ListIndex = Null,
+          [1684166126.545631][29258:29258] CHIP:DMG:                         }
+          [1684166126.545634][29258:29258] CHIP:DMG:
+          [1684166126.545636][29258:29258] CHIP:DMG:                         Data =
+          [1684166126.545638][29258:29258] CHIP:DMG:                         {
+          [1684166126.545641][29258:29258] CHIP:DMG:                                 0x1 = 259,
+          [1684166126.545643][29258:29258] CHIP:DMG:                                 0x2 = 419,
+          [1684166126.545646][29258:29258] CHIP:DMG:                         },
+          [1684166126.545647][29258:29258] CHIP:DMG:                 },
+          [1684166126.545652][29258:29258] CHIP:DMG:
+          [1684166126.545654][29258:29258] CHIP:DMG:                 AttributeDataIB =
+          [1684166126.545656][29258:29258] CHIP:DMG:                 {
+          [1684166126.545658][29258:29258] CHIP:DMG:                         AttributePathIB =
+          [1684166126.545661][29258:29258] CHIP:DMG:                         {
+          [1684166126.545663][29258:29258] CHIP:DMG:                                 Endpoint = 0x0,
+          [1684166126.545665][29258:29258] CHIP:DMG:                                 Cluster = 0x3f,
+          [1684166126.545668][29258:29258] CHIP:DMG:                                 Attribute = 0x0000_0000,
+          [1684166126.545671][29258:29258] CHIP:DMG:                                 ListIndex = Null,
+          [1684166126.545675][29258:29258] CHIP:DMG:                         }
+          [1684166126.545677][29258:29258] CHIP:DMG:
+          [1684166126.545680][29258:29258] CHIP:DMG:                         Data =
+          [1684166126.545683][29258:29258] CHIP:DMG:                         {
+          [1684166126.545686][29258:29258] CHIP:DMG:                                 0x1 = 257,
+          [1684166126.545689][29258:29258] CHIP:DMG:                                 0x2 = 419,
+          [1684166126.545692][29258:29258] CHIP:DMG:                         },
+          [1684166126.545694][29258:29258] CHIP:DMG:                 },
+          [1684166126.545698][29258:29258] CHIP:DMG:
+          [1684166126.545700][29258:29258] CHIP:DMG:         ],
+          [1684166126.545706][29258:29258] CHIP:DMG:
+          [1684166126.545708][29258:29258] CHIP:DMG:         moreChunkedMessages = false,
+          [1684166126.545711][29258:29258] CHIP:DMG:         InteractionModelRevision = 1
+          [1684166126.545713][29258:29258] CHIP:DMG: },
+          [1684166126.545732][29258:29258] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_003F e=0 p=m
+      disabled: true
 
-          [1657785422.721911][2083:2083] CHIP:EM: Received Groupcast Message with GroupId of 1
-          [1657785422.721988][2083:2083] CHIP:EM: Handling via exchange: 53995r, Delegate: 0xaaaac81b1430
-          [1657785422.722098][2083:2083] CHIP:DMG: InvokeRequestMessage =
-          [1657785422.722161][2083:2083] CHIP:DMG: {
-          [1657785422.722220][2083:2083] CHIP:DMG:        suppressResponse = false,
-          [1657785422.722317][2083:2083] CHIP:DMG:        timedRequest = false,
-          [1657785422.722379][2083:2083] CHIP:DMG:        InvokeRequests =
-          [1657785422.722475][2083:2083] CHIP:DMG:        [
-          [1657785422.722536][2083:2083] CHIP:DMG:                CommandDataIB =
-          [1657785422.722636][2083:2083] CHIP:DMG:                {
-          [1657785422.722726][2083:2083] CHIP:DMG:                        CommandPathIB =
-          [1657785422.722834][2083:2083] CHIP:DMG:                        {
-          [1657785422.722913][2083:2083] CHIP:DMG:                                ClusterId = 0x3,
-          [1657785422.723011][2083:2083] CHIP:DMG:                                CommandId = 0x0,
-          [1657785422.723095][2083:2083] CHIP:DMG:                        },
-          [1657785422.723173][2083:2083] CHIP:DMG:
-          [1657785422.723242][2083:2083] CHIP:DMG:                        CommandFields =
-          [1657785422.723318][2083:2083] CHIP:DMG:                        {
-          [1657785422.723395][2083:2083] CHIP:DMG:                                0x0 = 120,
-          [1657785422.723483][2083:2083] CHIP:DMG:                        },
-          [1657785422.723555][2083:2083] CHIP:DMG:                },
-          [1657785422.723627][2083:2083] CHIP:DMG:
-          [1657785422.723685][2083:2083] CHIP:DMG:        ],
-          [1657785422.723756][2083:2083] CHIP:DMG:
-          [1657785422.723814][2083:2083] CHIP:DMG:        InteractionModelRevision = 1
-          [1657785422.723872][2083:2083] CHIP:DMG: },
-          [1657785422.723988][2083:2083] CHIP:DMG: Received group command for Group=1 Cluster=0x0000_0003 Command=0x0000_0000
-          [1657785422.724688][2083:2083] CHIP:DMG: Processing group command for Endpoint=1 Cluster=0x0000_0003 Command=0x0000_0000
-          [1657785422.724770][2083:2083] CHIP:DMG: AccessControl: checking f=1 a=g s=0xFFFFFFFFFFFF0001 t= c=0x0000_0003 e=1 p=m
-          [1657785422.724846][2083:2083] CHIP:DMG: AccessControl: allowed
-          [1657785422.724929][2083:2083] CHIP:DMG: Endpoint 1, Cluster 0x0000_0003 update version to 435c9140
+    - label:
+          "DUT sends AddGroup Command to DUT on EP0 with the the following
+          settings  GroupID: GroupID_1  GroupName: GroupName_1"
+      PICS: G.C.C00.Tx
+      verification: |
+          ./chip-tool groups add-group 259 'grp1' 1 1
 
+          Verify that  AddGroup command with GroupID as 259 and group name as "grp1" is present on TH(Reference app)log:
+          [1684166282.551829][29258:29258] CHIP:DMG: InvokeRequestMessage =
+          [1684166282.551837][29258:29258] CHIP:DMG: {
+          [1684166282.551844][29258:29258] CHIP:DMG:         suppressResponse = false,
+          [1684166282.551853][29258:29258] CHIP:DMG:         timedRequest = false,
+          [1684166282.551859][29258:29258] CHIP:DMG:         InvokeRequests =
+          [1684166282.551872][29258:29258] CHIP:DMG:         [
+          [1684166282.551879][29258:29258] CHIP:DMG:                 CommandDataIB =
+          [1684166282.551887][29258:29258] CHIP:DMG:                 {
+          [1684166282.551894][29258:29258] CHIP:DMG:                         CommandPathIB =
+          [1684166282.551903][29258:29258] CHIP:DMG:                         {
+          [1684166282.551912][29258:29258] CHIP:DMG:                                 EndpointId = 0x1,
+          [1684166282.551920][29258:29258] CHIP:DMG:                                 ClusterId = 0x4,
+          [1684166282.551928][29258:29258] CHIP:DMG:                                 CommandId = 0x0,
+          [1684166282.551935][29258:29258] CHIP:DMG:                         },
+          [1684166282.551944][29258:29258] CHIP:DMG:
+          [1684166282.551951][29258:29258] CHIP:DMG:                         CommandFields =
+          [1684166282.551960][29258:29258] CHIP:DMG:                         {
+          [1684166282.551970][29258:29258] CHIP:DMG:                                 0x0 = 259,
+          [1684166282.551980][29258:29258] CHIP:DMG:                                 0x1 = "grp1" (4 chars),
+          [1684166282.551989][29258:29258] CHIP:DMG:                         },
+          [1684166282.551996][29258:29258] CHIP:DMG:                 },
+          [1684166282.552007][29258:29258] CHIP:DMG:
+          [1684166282.552013][29258:29258] CHIP:DMG:         ],
+          [1684166282.552024][29258:29258] CHIP:DMG:
+          [1684166282.552032][29258:29258] CHIP:DMG:         InteractionModelRevision = 1
+          [1684166282.552038][29258:29258] CHIP:DMG: },
+          [1684166282.552074][29258:29258] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0004 e=1 p=m
+          [1684166282.552089][29258:29258] CHIP:DMG: AccessControl: allowed
+          [1684166282.552100][29258:29258] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0004 Command=0x0000_0000
+      disabled: true
 
-          Verify the Multicast address follows the format "FF35:0040:FD<Fabric ID>00:<Group ID> and UDP port is 5540   on DUT(chip-tool)log
+    - label:
+          "DUT generates fabric-unique GroupID, GroupName.  Save the GroupID as
+          GroupID_2, GroupName as GroupName_2"
+      verification: |
+          refer to log in step 3
+          GroupID_2 = 257
+          GroupName_2 = "grp2"
+      disabled: true
 
-          <<< [E:15304i M:15000] (G) Msg TX to 1:FFFFFFFFFFFF0001 [D5AE] --- Type 0001:08 (IM:InvokeCommandRequest)
-          [1670395515.064662][14427:14429] CHIP:IN: (G) Sending msg 15000 to Multicast IPV6 address 'UDP:[ff35:40:fd00::100:1]:5540'
-          [1670395515.067533][14427:14429] CHIP:IN: Interface eth0 has a link local address
+    - label:
+          "DUT sends a AddGroup Command to the Groups cluster with the GroupID
+          field set to GroupID_2 and the GroupName set to an GroupName_2. The
+          command is sent as a group command using GroupID_1"
+      verification: |
+          ./chip-tool groups add-group 257 '' 0xffffffffffff0103 1
+          Verify that  AddGroup command with GroupID as 257 and group name as "grp2" is generated as groupcast message from GroupID 259 is present on TH(Reference app)log:
+          1684167429.420171][29723:29723] CHIP:EM: Received Groupcast Message with GroupId 0x0103 (259)
+          [1684167429.420179][29723:29723] CHIP:EM: Handling via exchange: 1950r, Delegate: 0x56422560dca8
+          [1684166549.863617][29708:29710] CHIP:DMG: InvokeResponseMessage =
+          [1684166549.863619][29708:29710] CHIP:DMG: {
+          [1684166549.863621][29708:29710] CHIP:DMG:         suppressResponse = false,
+          [1684166549.863623][29708:29710] CHIP:DMG:         InvokeResponseIBs =
+          [1684166549.863627][29708:29710] CHIP:DMG:         [
+          [1684166549.863629][29708:29710] CHIP:DMG:                 InvokeResponseIB =
+          [1684166549.863632][29708:29710] CHIP:DMG:                 {
+          [1684166549.863634][29708:29710] CHIP:DMG:                         CommandDataIB =
+          [1684166549.863637][29708:29710] CHIP:DMG:                         {
+          [1684166549.863639][29708:29710] CHIP:DMG:                                 CommandPathIB =
+          [1684166549.863641][29708:29710] CHIP:DMG:                                 {
+          [1684166549.863644][29708:29710] CHIP:DMG:                                         EndpointId = 0x1,
+          [1684166549.863646][29708:29710] CHIP:DMG:                                         ClusterId = 0x4,
+          [1684166549.863649][29708:29710] CHIP:DMG:                                         CommandId = 0x1,
+          [1684166549.863651][29708:29710] CHIP:DMG:                                 },
+          [1684166549.863653][29708:29710] CHIP:DMG:
+          [1684166549.863656][29708:29710] CHIP:DMG:                                 CommandFields =
+          [1684166549.863658][29708:29710] CHIP:DMG:                                 {
+          [1684166549.863661][29708:29710] CHIP:DMG:                                         0x0 = 0,
+          [1684166549.863664][29708:29710] CHIP:DMG:                                         0x1 = 257,
+          [1684166549.863667][29708:29710] CHIP:DMG:                                         0x2 = "grp2" (4 chars),
+          [1684166549.863669][29708:29710] CHIP:DMG:                                 },
+          [1684166549.863671][29708:29710] CHIP:DMG:                         },
+          [1684166549.863674][29708:29710] CHIP:DMG:
+          [1684166549.863676][29708:29710] CHIP:DMG:                 },
+          [1684166549.863679][29708:29710] CHIP:DMG:
+          [1684166549.863681][29708:29710] CHIP:DMG:         ],
+          [1684166549.863685][29708:29710] CHIP:DMG:
+          [1684166549.863687][29708:29710] CHIP:DMG:         InteractionModelRevision = 1
+          [1684166549.863688][29708:29710] CHIP:DMG: },
+
+          [1684167429.420308][29723:29723] CHIP:DMG: Received group command for Group=259 Cluster=0x0000_0004 Command=0x0000_0000
+          [1684167429.420390][29723:29723] CHIP:DMG: Processing group command for Endpoint=1 Cluster=0x0000_0004 Command=0x0000_0000
+          [1684167429.420398][29723:29723] CHIP:DMG: AccessControl: checking f=1 a=g s=0xFFFFFFFFFFFF0103 t= c=0x0000_0004 e=1 p=m
+          [1684167429.420406][29723:29723] CHIP:DMG: AccessControl: allowed
+
+          [1684167429.421010][29723:29723] CHIP:IN: Joining Multicast Group with address UDP:[ff35:40:fd00::100:101]:5540
+          [1684167429.421129][29723:29723] CHIP:IN:   Joined multicast group on interface wlp0s20f3
       disabled: true
diff --git a/src/app/tests/suites/certification/Test_TC_SC_6_1.yaml b/src/app/tests/suites/certification/Test_TC_SC_6_1.yaml
index bd8ba4c..2e36ed9 100644
--- a/src/app/tests/suites/certification/Test_TC_SC_6_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_SC_6_1.yaml
@@ -14,7 +14,7 @@
 # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default
 
 name:
-    19.2.1. [TC-SC-6.1] Adding member to a group - DUT as Admin and TH as Group
+    18.2.1. [TC-SC-6.1] Adding member to a group - DUT as Admin and TH as Group
     Member [DUT-Client]
 
 PICS:
@@ -118,11 +118,7 @@
           and GroupKeySetID. Admin sets GroupKeySecurityPolicy = TrustFirst (0)
           EpochStartTime0 = 0"
       verification: |
-          ./chip-tool groupkeymanagement key-set-write '{"groupKeySetID": 42,
-          "groupKeySecurityPolicy": 0, "epochKey0":
-          "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 2220000,"epochKey1":
-          "d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 2220001,"epochKey2":
-          "d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }' 1 0
+
       disabled: true
 
     - label:
@@ -130,6 +126,12 @@
           EP0"
       PICS: GRPKEY.C.C00.Tx
       verification: |
+          ./chip-tool groupkeymanagement key-set-write '{"groupKeySetID": 42,
+          "groupKeySecurityPolicy": 0, "epochKey0":
+          "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 2220000,"epochKey1":
+          "d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 2220001,"epochKey2":
+          "d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }' 1 0
+
           Verify TH recieves KeySetWrite command on TH(Reference app)log:
 
           [1651471040.120912][4012:4012] CHIP:EM: Received message of type 0x8 with protocolId (0, 1) and MessageCounter:2398599 on exchange 35559r
diff --git a/src/app/tests/suites/manualTests.json b/src/app/tests/suites/manualTests.json
index d988b42..b7e47c4 100644
--- a/src/app/tests/suites/manualTests.json
+++ b/src/app/tests/suites/manualTests.json
@@ -293,7 +293,7 @@
         "Test_TC_BRBINFO_2_2",
         "Test_TC_BRBINFO_2_3"
     ],
-    "AccessControlEnforcement": ["Test_TC_ACE_1_2"],
+    "AccessControlEnforcement": ["Test_TC_ACE_1_2", "Test_TC_ACE_1_6"],
     "collection": [
         "DeviceDiscovery",
         "Groups",
diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h
index 50ff8f1..e5cd38f 100644
--- a/zzz_generated/chip-tool/zap-generated/test/Commands.h
+++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h
@@ -543,6 +543,7 @@
         printf("Test_TC_BRBINFO_2_2\n");
         printf("Test_TC_BRBINFO_2_3\n");
         printf("Test_TC_ACE_1_2\n");
+        printf("Test_TC_ACE_1_6\n");
 
         return CHIP_NO_ERROR;
     }
@@ -8905,7 +8906,7 @@
 class Test_TC_ACE_1_5Suite : public TestCommand
 {
 public:
-    Test_TC_ACE_1_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ACE_1_5", 18, credsIssuerConfig)
+    Test_TC_ACE_1_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ACE_1_5", 23, credsIssuerConfig)
     {
         AddArgument("nodeId", 0, UINT64_MAX, &mNodeId);
         AddArgument("cluster", &mCluster);
@@ -8992,6 +8993,10 @@
             break;
         case 8:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            shouldContinue = true;
+            break;
+        case 9:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::Clusters::CommissionerCommands::Commands::GetCommissionerNodeIdResponse::DecodableType value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
@@ -8999,10 +9004,10 @@
             }
             shouldContinue = true;
             break;
-        case 9:
+        case 10:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 10:
+        case 11:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::Clusters::CommissionerCommands::Commands::GetCommissionerNodeIdResponse::DecodableType value;
@@ -9011,10 +9016,14 @@
             }
             shouldContinue = true;
             break;
-        case 11:
+        case 12:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 12:
+        case 13:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            shouldContinue = true;
+            break;
+        case 14:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::DataModel::DecodableList<chip::app::Clusters::Descriptor::Structs::DeviceTypeStruct::DecodableType>
@@ -9022,29 +9031,41 @@
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
             }
             break;
-        case 13:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_ACCESS));
-            break;
-        case 14:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_ACCESS));
-            break;
         case 15:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_ACCESS));
+            break;
+        case 16:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_ACCESS));
+            break;
+        case 17:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            shouldContinue = true;
+            break;
+        case 18:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::VendorId value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
             }
             break;
-        case 16:
+        case 19:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            shouldContinue = true;
+            break;
+        case 20:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 17:
+        case 21:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::Clusters::OperationalCredentials::Commands::NOCResponse::DecodableType value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
             }
             break;
+        case 22:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            shouldContinue = true;
+            break;
         default:
             LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT));
         }
@@ -9073,7 +9094,7 @@
                                  OperationalCredentials::Attributes::CurrentFabricIndex::Id, true, chip::NullOptional);
         }
         case 2: {
-            LogStep(2, "Step 3 & 4: TH1 puts DUT into commissioning mode, TH2 commissions DUT using admin node ID N2");
+            LogStep(2, "Step 2 & 3: TH1 puts DUT into commissioning mode, TH2 commissions DUT using admin node ID N2");
             VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
@@ -9133,17 +9154,28 @@
         }
         case 7: {
             LogStep(7, "TH2 reads the fabric index");
+            VerifyOrDo(!ShouldSkip("PICS_SDK_CI_ONLY"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityBeta, GetEndpoint(0), OperationalCredentials::Id,
                                  OperationalCredentials::Attributes::CurrentFabricIndex::Id, true, chip::NullOptional);
         }
         case 8: {
-            LogStep(8, "Read the commissioner node ID from the alpha fabric");
+            LogStep(8, "TH2 reads the fabric index");
+            VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            ListFreer listFreer;
+            chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
+            value.message = chip::Span<const char>("Enter 'y' after successgarbage: not in length on purpose", 23);
+            value.expectedValue.Emplace();
+            value.expectedValue.Value() = chip::Span<const char>("ygarbage: not in length on purpose", 1);
+            return UserPrompt(kIdentityAlpha, value);
+        }
+        case 9: {
+            LogStep(9, "Read the commissioner node ID from the alpha fabric");
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::GetCommissionerNodeId::Type value;
             return GetCommissionerNodeId(kIdentityAlpha, value);
         }
-        case 9: {
-            LogStep(9, "TH1 writes ACL giving view privilege for descriptor cluster");
+        case 10: {
+            LogStep(10, "TH1 writes ACL giving view privilege for descriptor cluster");
             ListFreer listFreer;
             chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
@@ -9213,14 +9245,16 @@
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
                                   chip::NullOptional, chip::NullOptional);
         }
-        case 10: {
-            LogStep(10, "Read the commissioner node ID from the beta fabric");
+        case 11: {
+            LogStep(11, "Read the commissioner node ID from the beta fabric");
+            VerifyOrDo(!ShouldSkip("PICS_SDK_CI_ONLY"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::GetCommissionerNodeId::Type value;
             return GetCommissionerNodeId(kIdentityBeta, value);
         }
-        case 11: {
-            LogStep(11, "TH2 writes ACL giving view privilge for basic cluster");
+        case 12: {
+            LogStep(12, "TH2 writes ACL giving view privilge for basic cluster");
+            VerifyOrDo(!ShouldSkip("PICS_SDK_CI_ONLY"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
@@ -9290,28 +9324,60 @@
             return WriteAttribute(kIdentityBeta, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
                                   chip::NullOptional, chip::NullOptional);
         }
-        case 12: {
-            LogStep(12, "TH1 reads descriptor cluster - expect SUCCESS");
+        case 13: {
+            LogStep(13, "TH2 writes ACL giving view privilge for basic cluster");
+            VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            ListFreer listFreer;
+            chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
+            value.message = chip::Span<const char>("Enter 'y' after successgarbage: not in length on purpose", 23);
+            value.expectedValue.Emplace();
+            value.expectedValue.Value() = chip::Span<const char>("ygarbage: not in length on purpose", 1);
+            return UserPrompt(kIdentityAlpha, value);
+        }
+        case 14: {
+            LogStep(14, "TH1 reads descriptor cluster - expect SUCCESS");
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::DeviceTypeList::Id, true,
                                  chip::NullOptional);
         }
-        case 13: {
-            LogStep(13, "TH1 reads basic cluster - expect UNSUPPORTED_ACCESS");
+        case 15: {
+            LogStep(15, "TH1 reads basic cluster - expect UNSUPPORTED_ACCESS");
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::VendorID::Id,
                                  true, chip::NullOptional);
         }
-        case 14: {
-            LogStep(14, "TH2 reads descriptor cluster - expect UNSUPPORTED_ACCESS");
+        case 16: {
+            LogStep(16, "TH2 reads descriptor cluster - expect UNSUPPORTED_ACCESS");
+            VerifyOrDo(!ShouldSkip("PICS_SDK_CI_ONLY"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityBeta, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::DeviceTypeList::Id, true,
                                  chip::NullOptional);
         }
-        case 15: {
-            LogStep(15, "TH2 reads basic cluster - expect SUCCESS");
+        case 17: {
+            LogStep(17, "TH2 reads descriptor cluster - expect UNSUPPORTED_ACCESS");
+            VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            ListFreer listFreer;
+            chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
+            value.message = chip::Span<const char>("Enter 'y' after successgarbage: not in length on purpose", 23);
+            value.expectedValue.Emplace();
+            value.expectedValue.Value() = chip::Span<const char>("ygarbage: not in length on purpose", 1);
+            return UserPrompt(kIdentityAlpha, value);
+        }
+        case 18: {
+            LogStep(18, "TH2 reads basic cluster - expect SUCCESS");
+            VerifyOrDo(!ShouldSkip("PICS_SDK_CI_ONLY"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityBeta, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::VendorID::Id,
                                  true, chip::NullOptional);
         }
-        case 16: {
-            LogStep(16, "TH1 resets ACL to default");
+        case 19: {
+            LogStep(19, "TH2 writes Extension attribute value as empty list");
+            VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            ListFreer listFreer;
+            chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
+            value.message = chip::Span<const char>("Enter 'y' after successgarbage: not in length on purpose", 23);
+            value.expectedValue.Emplace();
+            value.expectedValue.Value() = chip::Span<const char>("ygarbage: not in length on purpose", 1);
+            return UserPrompt(kIdentityAlpha, value);
+        }
+        case 20: {
+            LogStep(20, "TH1 resets ACL to default");
             ListFreer listFreer;
             chip::app::DataModel::List<const chip::app::Clusters::AccessControl::Structs::AccessControlEntryStruct::Type> value;
 
@@ -9341,8 +9407,9 @@
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::Acl::Id, value,
                                   chip::NullOptional, chip::NullOptional);
         }
-        case 17: {
-            LogStep(17, "TH1 sends RemoveFabric command for TH2");
+        case 21: {
+            LogStep(21, "TH1 sends RemoveFabric command for TH2");
+            VerifyOrDo(!ShouldSkip("PICS_SDK_CI_ONLY"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::OperationalCredentials::Commands::RemoveFabric::Type value;
             value.fabricIndex = th2FabricIndex;
@@ -9351,6 +9418,16 @@
 
             );
         }
+        case 22: {
+            LogStep(22, "TH1 sends RemoveFabric command for TH2");
+            VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            ListFreer listFreer;
+            chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
+            value.message = chip::Span<const char>("Enter 'y' after successgarbage: not in length on purpose", 23);
+            value.expectedValue.Emplace();
+            value.expectedValue.Value() = chip::Span<const char>("ygarbage: not in length on purpose", 1);
+            return UserPrompt(kIdentityAlpha, value);
+        }
         }
         return CHIP_NO_ERROR;
     }
@@ -118444,6 +118521,61 @@
     }
 };
 
+class Test_TC_ACE_1_6Suite : public TestCommand
+{
+public:
+    Test_TC_ACE_1_6Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ACE_1_6", 0, credsIssuerConfig)
+    {
+        AddArgument("nodeId", 0, UINT64_MAX, &mNodeId);
+        AddArgument("cluster", &mCluster);
+        AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint);
+        AddArgument("timeout", 0, UINT16_MAX, &mTimeout);
+    }
+
+    ~Test_TC_ACE_1_6Suite() {}
+
+    chip::System::Clock::Timeout GetWaitDuration() const override
+    {
+        return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds));
+    }
+
+private:
+    chip::Optional<chip::NodeId> mNodeId;
+    chip::Optional<chip::CharSpan> mCluster;
+    chip::Optional<chip::EndpointId> mEndpoint;
+    chip::Optional<uint16_t> mTimeout;
+
+    chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; }
+
+    //
+    // Tests methods
+    //
+
+    void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override
+    {
+        bool shouldContinue = false;
+
+        switch (mTestIndex - 1)
+        {
+        default:
+            LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT));
+        }
+
+        if (shouldContinue)
+        {
+            ContinueOnChipMainThread(CHIP_NO_ERROR);
+        }
+    }
+
+    CHIP_ERROR DoTestStep(uint16_t testIndex) override
+    {
+        using namespace chip::app::Clusters;
+        switch (testIndex)
+        {}
+        return CHIP_NO_ERROR;
+    }
+};
+
 #endif // CONFIG_ENABLE_YAML_TESTS
 
 void registerCommandsTests(Commands & commands, CredentialIssuerCommands * credsIssuerConfig)
@@ -118951,6 +119083,7 @@
         make_unique<Test_TC_BRBINFO_2_2Suite>(credsIssuerConfig),
         make_unique<Test_TC_BRBINFO_2_3Suite>(credsIssuerConfig),
         make_unique<Test_TC_ACE_1_2Suite>(credsIssuerConfig),
+        make_unique<Test_TC_ACE_1_6Suite>(credsIssuerConfig),
 #endif // CONFIG_ENABLE_YAML_TESTS
     };
 
diff --git a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
index 0c5f225..bd85d91 100644
--- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
+++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
@@ -5696,13 +5696,13 @@
             break;
         case 2:
             ChipLogProgress(chipTool,
-                " ***** Test Step 2 : Step 3 & 4: TH1 puts DUT into commissioning mode, TH2 commissions DUT using admin node ID "
+                " ***** Test Step 2 : Step 2 & 3: TH1 puts DUT into commissioning mode, TH2 commissions DUT using admin node ID "
                 "N2\n");
             if (ShouldSkip("PICS_SKIP_SAMPLE_APP")) {
                 NextTest();
                 return;
             }
-            err = TestStep34Th1PutsDutIntoCommissioningModeTh2CommissionsDutUsingAdminNodeIdN2_2();
+            err = TestStep23Th1PutsDutIntoCommissioningModeTh2CommissionsDutUsingAdminNodeIdN2_2();
             break;
         case 3:
             ChipLogProgress(chipTool, " ***** Test Step 3 : Open Commissioning Window from alpha\n");
@@ -5738,47 +5738,111 @@
             break;
         case 7:
             ChipLogProgress(chipTool, " ***** Test Step 7 : TH2 reads the fabric index\n");
+            if (ShouldSkip("PICS_SDK_CI_ONLY")) {
+                NextTest();
+                return;
+            }
             err = TestTh2ReadsTheFabricIndex_7();
             break;
         case 8:
-            ChipLogProgress(chipTool, " ***** Test Step 8 : Read the commissioner node ID from the alpha fabric\n");
-            err = TestReadTheCommissionerNodeIdFromTheAlphaFabric_8();
+            ChipLogProgress(chipTool, " ***** Test Step 8 : TH2 reads the fabric index\n");
+            if (ShouldSkip("PICS_SKIP_SAMPLE_APP")) {
+                NextTest();
+                return;
+            }
+            err = TestTh2ReadsTheFabricIndex_8();
             break;
         case 9:
-            ChipLogProgress(chipTool, " ***** Test Step 9 : TH1 writes ACL giving view privilege for descriptor cluster\n");
-            err = TestTh1WritesAclGivingViewPrivilegeForDescriptorCluster_9();
+            ChipLogProgress(chipTool, " ***** Test Step 9 : Read the commissioner node ID from the alpha fabric\n");
+            err = TestReadTheCommissionerNodeIdFromTheAlphaFabric_9();
             break;
         case 10:
-            ChipLogProgress(chipTool, " ***** Test Step 10 : Read the commissioner node ID from the beta fabric\n");
-            err = TestReadTheCommissionerNodeIdFromTheBetaFabric_10();
+            ChipLogProgress(chipTool, " ***** Test Step 10 : TH1 writes ACL giving view privilege for descriptor cluster\n");
+            err = TestTh1WritesAclGivingViewPrivilegeForDescriptorCluster_10();
             break;
         case 11:
-            ChipLogProgress(chipTool, " ***** Test Step 11 : TH2 writes ACL giving view privilge for basic cluster\n");
-            err = TestTh2WritesAclGivingViewPrivilgeForBasicCluster_11();
+            ChipLogProgress(chipTool, " ***** Test Step 11 : Read the commissioner node ID from the beta fabric\n");
+            if (ShouldSkip("PICS_SDK_CI_ONLY")) {
+                NextTest();
+                return;
+            }
+            err = TestReadTheCommissionerNodeIdFromTheBetaFabric_11();
             break;
         case 12:
-            ChipLogProgress(chipTool, " ***** Test Step 12 : TH1 reads descriptor cluster - expect SUCCESS\n");
-            err = TestTh1ReadsDescriptorClusterExpectSuccess_12();
+            ChipLogProgress(chipTool, " ***** Test Step 12 : TH2 writes ACL giving view privilge for basic cluster\n");
+            if (ShouldSkip("PICS_SDK_CI_ONLY")) {
+                NextTest();
+                return;
+            }
+            err = TestTh2WritesAclGivingViewPrivilgeForBasicCluster_12();
             break;
         case 13:
-            ChipLogProgress(chipTool, " ***** Test Step 13 : TH1 reads basic cluster - expect UNSUPPORTED_ACCESS\n");
-            err = TestTh1ReadsBasicClusterExpectUnsupportedAccess_13();
+            ChipLogProgress(chipTool, " ***** Test Step 13 : TH2 writes ACL giving view privilge for basic cluster\n");
+            if (ShouldSkip("PICS_SKIP_SAMPLE_APP")) {
+                NextTest();
+                return;
+            }
+            err = TestTh2WritesAclGivingViewPrivilgeForBasicCluster_13();
             break;
         case 14:
-            ChipLogProgress(chipTool, " ***** Test Step 14 : TH2 reads descriptor cluster - expect UNSUPPORTED_ACCESS\n");
-            err = TestTh2ReadsDescriptorClusterExpectUnsupportedAccess_14();
+            ChipLogProgress(chipTool, " ***** Test Step 14 : TH1 reads descriptor cluster - expect SUCCESS\n");
+            err = TestTh1ReadsDescriptorClusterExpectSuccess_14();
             break;
         case 15:
-            ChipLogProgress(chipTool, " ***** Test Step 15 : TH2 reads basic cluster - expect SUCCESS\n");
-            err = TestTh2ReadsBasicClusterExpectSuccess_15();
+            ChipLogProgress(chipTool, " ***** Test Step 15 : TH1 reads basic cluster - expect UNSUPPORTED_ACCESS\n");
+            err = TestTh1ReadsBasicClusterExpectUnsupportedAccess_15();
             break;
         case 16:
-            ChipLogProgress(chipTool, " ***** Test Step 16 : TH1 resets ACL to default\n");
-            err = TestTh1ResetsAclToDefault_16();
+            ChipLogProgress(chipTool, " ***** Test Step 16 : TH2 reads descriptor cluster - expect UNSUPPORTED_ACCESS\n");
+            if (ShouldSkip("PICS_SDK_CI_ONLY")) {
+                NextTest();
+                return;
+            }
+            err = TestTh2ReadsDescriptorClusterExpectUnsupportedAccess_16();
             break;
         case 17:
-            ChipLogProgress(chipTool, " ***** Test Step 17 : TH1 sends RemoveFabric command for TH2\n");
-            err = TestTh1SendsRemoveFabricCommandForTh2_17();
+            ChipLogProgress(chipTool, " ***** Test Step 17 : TH2 reads descriptor cluster - expect UNSUPPORTED_ACCESS\n");
+            if (ShouldSkip("PICS_SKIP_SAMPLE_APP")) {
+                NextTest();
+                return;
+            }
+            err = TestTh2ReadsDescriptorClusterExpectUnsupportedAccess_17();
+            break;
+        case 18:
+            ChipLogProgress(chipTool, " ***** Test Step 18 : TH2 reads basic cluster - expect SUCCESS\n");
+            if (ShouldSkip("PICS_SDK_CI_ONLY")) {
+                NextTest();
+                return;
+            }
+            err = TestTh2ReadsBasicClusterExpectSuccess_18();
+            break;
+        case 19:
+            ChipLogProgress(chipTool, " ***** Test Step 19 : TH2 writes Extension attribute value as empty list\n");
+            if (ShouldSkip("PICS_SKIP_SAMPLE_APP")) {
+                NextTest();
+                return;
+            }
+            err = TestTh2WritesExtensionAttributeValueAsEmptyList_19();
+            break;
+        case 20:
+            ChipLogProgress(chipTool, " ***** Test Step 20 : TH1 resets ACL to default\n");
+            err = TestTh1ResetsAclToDefault_20();
+            break;
+        case 21:
+            ChipLogProgress(chipTool, " ***** Test Step 21 : TH1 sends RemoveFabric command for TH2\n");
+            if (ShouldSkip("PICS_SDK_CI_ONLY")) {
+                NextTest();
+                return;
+            }
+            err = TestTh1SendsRemoveFabricCommandForTh2_21();
+            break;
+        case 22:
+            ChipLogProgress(chipTool, " ***** Test Step 22 : TH1 sends RemoveFabric command for TH2\n");
+            if (ShouldSkip("PICS_SKIP_SAMPLE_APP")) {
+                NextTest();
+                return;
+            }
+            err = TestTh1SendsRemoveFabricCommandForTh2_22();
             break;
         }
 
@@ -5831,20 +5895,35 @@
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
         case 13:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_ACCESS));
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
         case 14:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_ACCESS));
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
         case 15:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_ACCESS));
             break;
         case 16:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_UNSUPPORTED_ACCESS));
             break;
         case 17:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
+        case 18:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 19:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 20:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 21:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 22:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
         }
 
         // Go on to the next test.
@@ -5858,7 +5937,7 @@
 
 private:
     std::atomic_uint16_t mTestIndex;
-    const uint16_t mTestCount = 18;
+    const uint16_t mTestCount = 23;
 
     chip::Optional<chip::NodeId> mNodeId;
     chip::Optional<chip::CharSpan> mCluster;
@@ -5902,7 +5981,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep34Th1PutsDutIntoCommissioningModeTh2CommissionsDutUsingAdminNodeIdN2_2()
+    CHIP_ERROR TestStep23Th1PutsDutIntoCommissioningModeTh2CommissionsDutUsingAdminNodeIdN2_2()
     {
 
         chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
@@ -5996,9 +6075,19 @@
 
         return CHIP_NO_ERROR;
     }
+
+    CHIP_ERROR TestTh2ReadsTheFabricIndex_8()
+    {
+
+        chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
+        value.message = chip::Span<const char>("Enter 'y' after successgarbage: not in length on purpose", 23);
+        value.expectedValue.Emplace();
+        value.expectedValue.Value() = chip::Span<const char>("ygarbage: not in length on purpose", 1);
+        return UserPrompt("alpha", value);
+    }
     NSNumber * _Nonnull commissionerNodeIdAlpha;
 
-    CHIP_ERROR TestReadTheCommissionerNodeIdFromTheAlphaFabric_8()
+    CHIP_ERROR TestReadTheCommissionerNodeIdFromTheAlphaFabric_9()
     {
 
         chip::app::Clusters::CommissionerCommands::Commands::GetCommissionerNodeId::Type value;
@@ -6010,7 +6099,7 @@
         });
     }
 
-    CHIP_ERROR TestTh1WritesAclGivingViewPrivilegeForDescriptorCluster_9()
+    CHIP_ERROR TestTh1WritesAclGivingViewPrivilegeForDescriptorCluster_10()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -6069,7 +6158,7 @@
     }
     NSNumber * _Nonnull commissionerNodeIdBeta;
 
-    CHIP_ERROR TestReadTheCommissionerNodeIdFromTheBetaFabric_10()
+    CHIP_ERROR TestReadTheCommissionerNodeIdFromTheBetaFabric_11()
     {
 
         chip::app::Clusters::CommissionerCommands::Commands::GetCommissionerNodeId::Type value;
@@ -6081,7 +6170,7 @@
         });
     }
 
-    CHIP_ERROR TestTh2WritesAclGivingViewPrivilgeForBasicCluster_11()
+    CHIP_ERROR TestTh2WritesAclGivingViewPrivilgeForBasicCluster_12()
     {
 
         MTRBaseDevice * device = GetDevice("beta");
@@ -6139,7 +6228,17 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestTh1ReadsDescriptorClusterExpectSuccess_12()
+    CHIP_ERROR TestTh2WritesAclGivingViewPrivilgeForBasicCluster_13()
+    {
+
+        chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
+        value.message = chip::Span<const char>("Enter 'y' after successgarbage: not in length on purpose", 23);
+        value.expectedValue.Emplace();
+        value.expectedValue.Value() = chip::Span<const char>("ygarbage: not in length on purpose", 1);
+        return UserPrompt("alpha", value);
+    }
+
+    CHIP_ERROR TestTh1ReadsDescriptorClusterExpectSuccess_14()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -6157,7 +6256,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestTh1ReadsBasicClusterExpectUnsupportedAccess_13()
+    CHIP_ERROR TestTh1ReadsBasicClusterExpectUnsupportedAccess_15()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -6176,7 +6275,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestTh2ReadsDescriptorClusterExpectUnsupportedAccess_14()
+    CHIP_ERROR TestTh2ReadsDescriptorClusterExpectUnsupportedAccess_16()
     {
 
         MTRBaseDevice * device = GetDevice("beta");
@@ -6195,7 +6294,17 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestTh2ReadsBasicClusterExpectSuccess_15()
+    CHIP_ERROR TestTh2ReadsDescriptorClusterExpectUnsupportedAccess_17()
+    {
+
+        chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
+        value.message = chip::Span<const char>("Enter 'y' after successgarbage: not in length on purpose", 23);
+        value.expectedValue.Emplace();
+        value.expectedValue.Value() = chip::Span<const char>("ygarbage: not in length on purpose", 1);
+        return UserPrompt("alpha", value);
+    }
+
+    CHIP_ERROR TestTh2ReadsBasicClusterExpectSuccess_18()
     {
 
         MTRBaseDevice * device = GetDevice("beta");
@@ -6213,7 +6322,17 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestTh1ResetsAclToDefault_16()
+    CHIP_ERROR TestTh2WritesExtensionAttributeValueAsEmptyList_19()
+    {
+
+        chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
+        value.message = chip::Span<const char>("Enter 'y' after successgarbage: not in length on purpose", 23);
+        value.expectedValue.Emplace();
+        value.expectedValue.Value() = chip::Span<const char>("ygarbage: not in length on purpose", 1);
+        return UserPrompt("alpha", value);
+    }
+
+    CHIP_ERROR TestTh1ResetsAclToDefault_20()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -6248,7 +6367,7 @@
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestTh1SendsRemoveFabricCommandForTh2_17()
+    CHIP_ERROR TestTh1SendsRemoveFabricCommandForTh2_21()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -6271,6 +6390,16 @@
 
         return CHIP_NO_ERROR;
     }
+
+    CHIP_ERROR TestTh1SendsRemoveFabricCommandForTh2_22()
+    {
+
+        chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
+        value.message = chip::Span<const char>("Enter 'y' after successgarbage: not in length on purpose", 23);
+        value.expectedValue.Emplace();
+        value.expectedValue.Value() = chip::Span<const char>("ygarbage: not in length on purpose", 1);
+        return UserPrompt("alpha", value);
+    }
 };
 
 class Test_TC_BOOL_1_1 : public TestCommandBridge {
