diff --git a/src/app/tests/suites/certification/Test_TC_BR_2.yaml b/src/app/tests/suites/certification/Test_TC_BR_2.yaml
index a515357fea095b..2c13bfdddbe5bb 100644
--- a/src/app/tests/suites/certification/Test_TC_BR_2.yaml
+++ b/src/app/tests/suites/certification/Test_TC_BR_2.yaml
@@ -122,44 +122,50 @@ tests:
           ./chip-tool descriptor read parts-list 1 8
 
           Verify in TH(chip-tool) Log
+          [1663236558.589003][5550:5555] CHIP:TOO: Endpoint: 8 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 310844624
+          [1663236558.589059][5550:5555] CHIP:TOO:   PartsList: 0 entries
 
-          [1657014071.347535][5854:5859] CHIP:TOO: Endpoint: 7 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 1352552269
-          [1657014071.347611][5854:5859] CHIP:TOO:   parts list: 0 entries
 
           ./chip-tool descriptor read parts-list 1 9
 
           Verify in TH(chip-tool) Log
+          [1663236593.607523][5556:5561] CHIP:TOO: Endpoint: 9 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 3304459819
+          [1663236593.607583][5556:5561] CHIP:TOO:   PartsList: 0 entries
 
-          [1657014071.347535][5854:5859] CHIP:TOO: Endpoint: 7 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 1352552269
-          [1657014071.347611][5854:5859] CHIP:TOO:   parts list: 0 entries
 
           ./chip-tool descriptor read parts-list 1 10
 
           Verify in TH(chip-tool) Log
 
-          [1657014071.347535][5854:5859] CHIP:TOO: Endpoint: 7 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 1352552269
-          [1657014071.347611][5854:5859] CHIP:TOO:   parts list: 0 entries
+
+          [1663236642.682033][5565:5570] CHIP:TOO: Endpoint: 10 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 2389378730
+          [1663236642.682091][5565:5570] CHIP:TOO:   PartsList: 0 entries
+
 
           ./chip-tool descriptor read parts-list 1 11
 
           Verify in TH(chip-tool) Log
 
-          [1657014071.347535][5854:5859] CHIP:TOO: Endpoint: 7 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 1352552269
-          [1657014071.347611][5854:5859] CHIP:TOO:   parts list: 0 entries
+
+          [1663236682.900934][5573:5578] CHIP:TOO: Endpoint: 11 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 3007496001
+          [1663236682.900988][5573:5578] CHIP:TOO:   PartsList: 0 entries
+
 
           ./chip-tool descriptor read parts-list 1 12
 
           Verify in TH(chip-tool) Log
 
-          [1657014071.347535][5854:5859] CHIP:TOO: Endpoint: 7 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 1352552269
-          [1657014071.347611][5854:5859] CHIP:TOO:   parts list: 0 entries
+          [1663236715.610271][5579:5584] CHIP:TOO: Endpoint: 12 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 2445783348
+          [1663236715.610328][5579:5584] CHIP:TOO:   PartsList: 0 entries
+
 
           ./chip-tool descriptor read parts-list 1 13
 
           Verify in TH(chip-tool) Log
 
-          [1657014071.347535][5854:5859] CHIP:TOO: Endpoint: 7 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 1352552269
-          [1657014071.347611][5854:5859] CHIP:TOO:   parts list: 0 entries
+          [1663236752.985450][5590:5595] CHIP:TOO: Endpoint: 13 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 4223376445
+          [1663236752.985512][5590:5595] CHIP:TOO:   PartsList: 0 entries
+
 
 
 
@@ -670,39 +676,41 @@ tests:
 
           ./chip-tool descriptor read parts-list 1 8
           Verify in TH(chip-tool) Log
+          [1663236927.299795][5601:5606] CHIP:TOO: Endpoint: 8 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 310
+          [1663236927.299849][5601:5606] CHIP:TOO:   PartsList: 0 entries
 
-          [1657014071.347535][5854:5859] CHIP:TOO: Endpoint: 7 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 1352552269
-          [1657014071.347611][5854:5859] CHIP:TOO:   parts list: 0 entries
 
           ./chip-tool descriptor read parts-list 1 9
           Verify in TH(chip-tool) Log
 
-          [1657014071.347535][5854:5859] CHIP:TOO: Endpoint: 7 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 1352552269
-          [1657014071.347611][5854:5859] CHIP:TOO:   parts list: 0 entries
+
+          [1663236962.433335][5608:5613] CHIP:TOO: Endpoint: 9 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 3304459819
+          [1663236962.433395][5608:5613] CHIP:TOO:   PartsList: 0 entries
 
           ./chip-tool descriptor read parts-list 1 10
           Verify in TH(chip-tool) Log
 
-          [1657014071.347535][5854:5859] CHIP:TOO: Endpoint: 7 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 1352552269
-          [1657014071.347611][5854:5859] CHIP:TOO:   parts list: 0 entries
+          [1663236993.718577][5615:5620] CHIP:TOO: Endpoint: 10 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 2389378730
+          [1663236993.718639][5615:5620] CHIP:TOO:   PartsList: 0 entries
+
 
           ./chip-tool descriptor read parts-list 1 11
           Verify in TH(chip-tool) Log
-
-          [1657014071.347535][5854:5859] CHIP:TOO: Endpoint: 7 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 1352552269
-          [1657014071.347611][5854:5859] CHIP:TOO:   parts list: 0 entries
+          1663237029.086031][5627:5632] CHIP:TOO: Endpoint: 11 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 3007496001
+          [1663237029.086097][5627:5632] CHIP:TOO:   PartsList: 0 entries
+          [
 
           ./chip-tool descriptor read parts-list 1 12
           Verify in TH(chip-tool) Log
+          [1663237048.194842][5636:5641] CHIP:TOO: Endpoint: 12 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 2445783348
+          [1663237048.194910][5636:5641] CHIP:TOO:   PartsList: 0 entries
 
-          [1657014071.347535][5854:5859] CHIP:TOO: Endpoint: 7 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 1352552269
-          [1657014071.347611][5854:5859] CHIP:TOO:   parts list: 0 entries
 
           ./chip-tool descriptor read parts-list 1 13
           Verify in TH(chip-tool) Log
+          1663237070.228529][5642:5647] CHIP:TOO: Endpoint: 13 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 4223376445
+          [1663237070.228588][5642:5647] CHIP:TOO:   PartsList: 0 entries
 
-          [1657014071.347535][5854:5859] CHIP:TOO: Endpoint: 7 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 1352552269
-          [1657014071.347611][5854:5859] CHIP:TOO:   parts list: 0 entries
 
           ./chip-tool  descriptor read parts-list 1 14
           Verify in TH(chip-tool) Log
@@ -740,31 +748,33 @@ tests:
           ./chip-tool descriptor read device-list 1 4
           Verify in TH(chip-tool) Log
 
-          [1657004014.927308][4678:4683] CHIP:TOO: Endpoint: 4 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 1398882309
-          [1657004014.927387][4678:4683] CHIP:TOO:   device list: 2 entries
-          [1657004014.927460][4678:4683] CHIP:TOO:     [1]: {
-          [1657004014.927514][4678:4683] CHIP:TOO:       Type: 259
-          [1657004014.927551][4678:4683] CHIP:TOO:       Revision: 1
-          [1657004014.927585][4678:4683] CHIP:TOO:      }
-          [1657004014.927622][4678:4683] CHIP:TOO:     [2]: {
-          [1657004014.927650][4678:4683] CHIP:TOO:       Type: 19
-          [1657004014.927678][4678:4683] CHIP:TOO:       Revision: 1
-          [1657004014.927705][4678:4683] CHIP:TOO:      }
+          [1663237341.014887][5658:5663] CHIP:TOO: Endpoint: 4 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 2509692936
+          [1663237341.014959][5658:5663] CHIP:TOO:   DeviceTypeList: 2 entries
+          [1663237341.015014][5658:5663] CHIP:TOO:     [1]: {
+          [1663237341.015044][5658:5663] CHIP:TOO:       Type: 770
+          [1663237341.015072][5658:5663] CHIP:TOO:       Revision: 1
+          [1663237341.015098][5658:5663] CHIP:TOO:      }
+          [1663237341.015130][5658:5663] CHIP:TOO:     [2]: {
+          [1663237341.015158][5658:5663] CHIP:TOO:       Type: 19
+          [1663237341.015184][5658:5663] CHIP:TOO:       Revision: 1
+          [1663237341.015210][5658:5663] CHIP:TOO:      }
+
 
 
           ./chip-tool descriptor read device-list 1 5
           Verify in TH(chip-tool) Log
 
-          [1657004035.789404][4690:4695] CHIP:TOO: Endpoint: 5 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 130458766
-          [1657004035.789470][4690:4695] CHIP:TOO:   device list: 2 entries
-          [1657004035.789526][4690:4695] CHIP:TOO:     [1]: {
-          [1657004035.789571][4690:4695] CHIP:TOO:       Type: 259
-          [1657004035.789601][4690:4695] CHIP:TOO:       Revision: 1
-          [1657004035.789629][4690:4695] CHIP:TOO:      }
-          [1657004035.789663][4690:4695] CHIP:TOO:     [2]: {
-          [1657004035.789691][4690:4695] CHIP:TOO:       Type: 19
-          [1657004035.789717][4690:4695] CHIP:TOO:       Revision: 1
-          [1657004035.789744][4690:4695] CHIP:TOO:      }
+          [[1663237406.574050][5670:5675] CHIP:DMG: }
+          [1663237406.574405][5670:5675] CHIP:TOO: Endpoint: 5 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 1669202494
+          [1663237406.574473][5670:5675] CHIP:TOO:   DeviceTypeList: 2 entries
+          [1663237406.574528][5670:5675] CHIP:TOO:     [1]: {
+          [1663237406.574559][5670:5675] CHIP:TOO:       Type: 770
+          [1663237406.574587][5670:5675] CHIP:TOO:       Revision: 1
+          [1663237406.574612][5670:5675] CHIP:TOO:      }
+          [1663237406.574643][5670:5675] CHIP:TOO:     [2]: {
+          [1663237406.574670][5670:5675] CHIP:TOO:       Type: 19
+          [1663237406.574695][5670:5675] CHIP:TOO:       Revision: 1
+          [1663237406.574721][5670:5675] CHIP:TOO:      }
 
 
           ./chip-tool descriptor read device-list 1 6
diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_10.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_10.yaml
index 0650c984e995a9..dfa1dbcf72fcc1 100644
--- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_10.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_10.yaml
@@ -81,6 +81,28 @@ tests:
               - name: "CommissioningTimeout"
                 value: 900
 
+    #Check for DNS-SD advertisement CM is not possible in YAML
+    - label: "Verify that the DNS-SD advertisement shows CM=1"
+      verification: |
+          On TH_CR1 send the below command
+
+          ubuntu@ubuntu:~/may16_cntrl/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matterc._udp
+          +   eth0 IPv6 2664ED6939FC373C                              _matterc._udp        local
+          =   eth0 IPv6 2664ED6939FC373C                              _matterc._udp        local
+            hostname = [E45F010F27530000.local]
+            address = [fe80::e65f:1ff:fe0f:2753]
+            port = [5540]
+            txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"]
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      PICS: PICS_SKIP_SAMPLE_APP
+      arguments:
+          values:
+              - name: "message"
+                value: "enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
     - label:
           "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
           code"
diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_11.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_11.yaml
index dc14a5d8cd358b..9d570dd06336b1 100644
--- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_11.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_11.yaml
@@ -87,6 +87,35 @@ tests:
               - name: "salt"
                 value: "SPAKE2P Key Salt"
 
+    #Check for DNS-SD advertisement CM is not possible in YAML
+    - label: "Verify that the DNS-SD advertisement shows CM=2"
+      verification: |
+          On TH_CR1 send the below command
+
+          grl@grl-ThinkPad-L480:~/2nd_cntrl/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matterc._udp
+          + wlp5s0 IPv6 C326228BDB082BF4                              _matterc._udp        local
+          + wlp5s0 IPv6 7B6545A75C5330BE                              _matterc._udp        local
+          = wlp5s0 IPv6 7B6545A75C5330BE                              _matterc._udp        local
+            hostname = [E45F010F27530000.local]
+            address = [fe80::e65f:1ff:fe0f:2755]
+            port = [5540]
+            txt = ["PI=" "PH=33" "CM=1" "D=3841" "T=1" "CRA=300" "CRI=5000" "VP=65521+32769"]
+          = wlp5s0 IPv6 C326228BDB082BF4                              _matterc._udp        local
+            hostname = [E45F010F27530000.local]
+            address = [fe80::e65f:1ff:fe0f:2755]
+            port = [5540]
+            txt = ["PI=" "PH=36" "CM=2" "D=3840" "T=1" "CRA=300" "CRI=5000" "VP=65521+32769"]
+          grl@grl-ThinkPad-L480:~/2nd_cntrl/connectedhomeip/examples/chip-tool/out/debug$ On TH_CR1 send the below command
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      PICS: PICS_SKIP_SAMPLE_APP
+      arguments:
+          values:
+              - name: "message"
+                value: "enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
     - label: "TH_CR3 starts a commissioning process with DUT_CE"
       PICS: CADMIN.S
       identity: "gamma"
@@ -230,6 +259,28 @@ tests:
               - name: "discriminator"
                 value: discriminator
 
+    #Check for DNS-SD advertisement CM is not possible in YAML
+    - label: "Verify that the DNS-SD advertisement shows CM=1"
+      verification: |
+          On TH_CR1 send the below command
+          ubuntu@ubuntu:~/may16_cntrl/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matterc._udp
+          +   eth0 IPv6 2664ED6939FC373C                              _matterc._udp        local
+          =   eth0 IPv6 2664ED6939FC373C                              _matterc._udp        local
+            hostname = [E45F010F27530000.local]
+            address = [fe80::e65f:1ff:fe0f:2753]
+            port = [5540]
+            txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"]
+          ubuntu@ubuntu:~/may16_cntrl/connectedhomeip/examples/chip-tool/out/debug$
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      PICS: PICS_SKIP_SAMPLE_APP
+      arguments:
+          values:
+              - name: "message"
+                value: "enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
     - label:
           "Before the expiration of PIXIT.CADMIN.CwDuration seconds that was set
           in step 10, TH_CR3 opens a 2nd commissioning window on DUT_CE using a
diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_13.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_13.yaml
index 259282d72f511e..4beb09e1e4c35a 100644
--- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_13.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_13.yaml
@@ -185,6 +185,29 @@ tests:
               - name: "expectedValue"
                 value: "y"
 
+    #Check for DNS-SD advertisement CM is not possible in YAML
+    - label: "Verify that the DNS-SD advertisement shows CM=1"
+      verification: |
+          On TH_CR1 send the below command
+          grl@grl-ThinkPad-L480:~/2nd_cntrl/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matterc._udp
+          + wlp5s0 IPv6 C326228BDB082BF4                              _matterc._udp        local
+          + wlp5s0 IPv6 7B6545A75C5330BE                              _matterc._udp        local
+          = wlp5s0 IPv6 7B6545A75C5330BE                              _matterc._udp        local
+            hostname = [E45F010F27530000.local]
+            address = [fe80::e65f:1ff:fe0f:2755]
+            port = [5540]
+            txt = ["PI=" "PH=33" "CM=1" "D=3841" "T=1" "CRA=300" "CRI=5000" "VP=65521+32769"]
+          grl@grl-ThinkPad-L480:~/2nd_cntrl/connectedhomeip/examples/chip-tool/out/debug$
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      PICS: PICS_SKIP_SAMPLE_APP
+      arguments:
+          values:
+              - name: "message"
+                value: "enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
     - label: "TH_CR3 starts a commissioning process with DUT_CE"
       identity: "gamma"
       cluster: "CommissionerCommands"
@@ -325,6 +348,34 @@ tests:
       response:
           value: 1
 
+    #Check for DNS-SD advertisement CM is not possible in YAML
+    - label: "Verify that the DNS-SD advertisement shows CM=2"
+      verification: |
+          On TH_CR1 send the below command
+          grl@grl-ThinkPad-L480:~/2nd_cntrl/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matterc._udp
+          + wlp5s0 IPv6 C326228BDB082BF4                              _matterc._udp        local
+          + wlp5s0 IPv6 7B6545A75C5330BE                              _matterc._udp        local
+          = wlp5s0 IPv6 7B6545A75C5330BE                              _matterc._udp        local
+            hostname = [E45F010F27530000.local]
+            address = [fe80::e65f:1ff:fe0f:2755]
+            port = [5540]
+            txt = ["PI=" "PH=33" "CM=1" "D=3841" "T=1" "CRA=300" "CRI=5000" "VP=65521+32769"]
+          = wlp5s0 IPv6 C326228BDB082BF4                              _matterc._udp        local
+            hostname = [E45F010F27530000.local]
+            address = [fe80::e65f:1ff:fe0f:2755]
+            port = [5540]
+            txt = ["PI=" "PH=36" "CM=2" "D=3840" "T=1" "CRA=300" "CRI=5000" "VP=65521+32769"]
+          grl@grl-ThinkPad-L480:~/2nd_cntrl/connectedhomeip/examples/chip-tool/out/debug$
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      PICS: PICS_SKIP_SAMPLE_APP
+      arguments:
+          values:
+              - name: "message"
+                value: "enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
     - label: "TH_CR3 opens a 2nd commissioning window on DUT_CE"
       identity: "gamma"
       cluster: "AdministratorCommissioning"
diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_3.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_3.yaml
index 4206dbdaaacab9..8e05248e7dd524 100644
--- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_3.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_3.yaml
@@ -81,6 +81,29 @@ tests:
               - name: "salt"
                 value: "SPAKE2P Key Salt"
 
+    #Check for DNS-SD advertisement CM is not possible in YAML
+    - label: "Verify that the DNS-SD advertisement shows CM=2"
+      verification: |
+          On TH_CR1 send the below command
+
+          avahi-browse -rt _matterc._udp
+
+          +   eth0 IPv6 4D0262FE51384D5A                              _matterc._udp        local
+          =   eth0 IPv6 4D0262FE51384D5A                              _matterc._udp        local
+            hostname = [E45F010F27530000.local]
+            address = [fe80::e65f:1ff:fe0f:2753]
+            port = [5540]
+            txt = ["PI=" "PH=36" "CM=2" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"]
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      PICS: PICS_SKIP_SAMPLE_APP
+      arguments:
+          values:
+              - name: "message"
+                value: "enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
     - label:
           "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory
           attribute of DUT_CE"
diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml
index 0a06f5345c60dc..8e97818764bb3f 100644
--- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_4.yaml
@@ -72,6 +72,28 @@ tests:
               - name: "discriminator"
                 value: discriminator
 
+    #Check for DNS-SD advertisement CM is not possible in YAML
+    - label: "Verify that the DNS-SD advertisement shows CM=1"
+      verification: |
+          On TH_CR1 send the below command
+
+          ubuntu@ubuntu:~/may16_cntrl/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matterc._udp
+          +   eth0 IPv6 B2822245F1F43570                              _matterc._udp        local
+          =   eth0 IPv6 B2822245F1F43570                              _matterc._udp        local
+            hostname = [E45F010F27530000.local]
+            address = [fe80::e65f:1ff:fe0f:2753]
+            port = [5540]
+            txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"]
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      PICS: PICS_SKIP_SAMPLE_APP
+      arguments:
+          values:
+              - name: "message"
+                value: "enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
     - label:
           "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory
           attribute of DUT_CE"
diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_5.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_5.yaml
index 9f47616362ded0..39ba2ff40487cb 100644
--- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_5.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_5.yaml
@@ -92,6 +92,28 @@ tests:
               - name: "salt"
                 value: "SPAKE2P Key Salt"
 
+    #Check for DNS-SD advertisement CM is not possible in YAML
+    - label: "Verify that the DNS-SD advertisement shows CM=2"
+      verification: |
+          On TH_CR1 send the below command
+
+          ubuntu@ubuntu:~/may16_cntrl/connectedhomeip/examples/chip-tool/out/debug$  avahi-browse -rt _matterc._udp
+          +   eth0 IPv6 B755245DE9E5E186                              _matterc._udp        local
+          =   eth0 IPv6 B755245DE9E5E186                              _matterc._udp        local
+            hostname = [E45F010F27530000.local]
+            address = [fe80::e65f:1ff:fe0f:2753]
+            port = [5540]
+            txt = ["PI=" "PH=36" "CM=2" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"]
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      PICS: PICS_SKIP_SAMPLE_APP
+      arguments:
+          values:
+              - name: "message"
+                value: "enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
     - label: "Wait for PIXIT.CADMIN.CwDuration + 10 seconds"
       cluster: "DelayCommands"
       command: "WaitForMs"
diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_6.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_6.yaml
index dad518be8125d1..50f37c402ac0a9 100644
--- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_6.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_6.yaml
@@ -79,6 +79,34 @@ tests:
               - name: "CommissioningTimeout"
                 value: 180
 
+    #Check for DNS-SD advertisement CM is not possible in YAML
+    - label: "Verify that the DNS-SD advertisement shows CM=1"
+      verification: |
+          On TH_CR1 send the below command
+
+          ubuntu@ubuntu:~/may16_cntrl/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matterc._udp
+          +   eth0 IPv6 05EB1D3652D2F544                              _matterc._udp        local
+          +   eth0 IPv6 7869CD25CBF12D42                              _matterc._udp        local
+          =   eth0 IPv6 7869CD25CBF12D42                              _matterc._udp        local
+            hostname = [E45F010F27530000.local]
+            address = [fe80::e65f:1ff:fe0f:2753]
+            port = [5540]
+            txt = ["PI=" "PH=33" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"]
+          =   eth0 IPv6 05EB1D3652D2F544                              _matterc._udp        local
+            hostname = [E45F010F27530000.local]
+            address = [fe80::e65f:1ff:fe0f:2753]
+            port = [5540]
+            txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"]
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      PICS: PICS_SKIP_SAMPLE_APP
+      arguments:
+          values:
+              - name: "message"
+                value: "enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
     - label: "Wait for PIXIT.CADMIN.CwDuration + 10"
       cluster: "DelayCommands"
       command: "WaitForMs"
diff --git a/src/app/tests/suites/certification/Test_TC_CADMIN_1_9.yaml b/src/app/tests/suites/certification/Test_TC_CADMIN_1_9.yaml
index f94bc01492c435..55f52efdecb13b 100644
--- a/src/app/tests/suites/certification/Test_TC_CADMIN_1_9.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CADMIN_1_9.yaml
@@ -91,6 +91,28 @@ tests:
               - name: "salt"
                 value: "SPAKE2P Key Salt"
 
+    #Check for DNS-SD advertisement CM is not possible in YAML
+    - label: "Verify that the DNS-SD advertisement shows CM=2"
+      verification: |
+          On TH_CR1 send the below command
+
+          "ubuntu@ubuntu:~/may16_cntrl/connectedhomeip/examples/chip-tool/out/debug$  avahi-browse -rt _matterc._udp
+          +   eth0 IPv6 B755245DE9E5E186                              _matterc._udp        local
+          =   eth0 IPv6 B755245DE9E5E186                              _matterc._udp        local
+            hostname = [E45F010F27530000.local]
+            address = [fe80::e65f:1ff:fe0f:2753]
+            port = [5540]
+            txt = [""PI="" ""PH=36"" ""CM=2"" ""D=3840"" ""T=1"" ""SAI=300"" ""SII=5000"" ""VP=65521+32769""]"
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      PICS: PICS_SKIP_SAMPLE_APP
+      arguments:
+          values:
+              - name: "message"
+                value: "enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
     - label:
           "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup
           code"
diff --git a/src/app/tests/suites/certification/Test_TC_DGGEN_2_1.yaml b/src/app/tests/suites/certification/Test_TC_DGGEN_2_1.yaml
index 288434637e8088..f2cba95fa0385f 100644
--- a/src/app/tests/suites/certification/Test_TC_DGGEN_2_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_DGGEN_2_1.yaml
@@ -154,6 +154,7 @@ tests:
     - label: "TH reads ActiveHardwareFaults attribute value from DUT."
       verification: |
           ./chip-tool generaldiagnostics read active-hardware-faults 1 0
+
           On TH(chip-tool), verify that ActiveHardwareFaults attribute the attribute response should be empty. But when a hardware fault occurs, the return attribute value must match the value listed in the HardwareFault ENUM table 11.11.6.1
 
           [1654682785.894724][33006:33011] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_0005 DataVersion: 804003636
@@ -164,6 +165,8 @@ tests:
           Please use Interactive mode to Verify subscription test cases
           Here the command to enter interactive mode:--   ./chip-tool interactive start
 
+          generaldiagnostics subscribe  active-hardware-faults 0 100 1 0
+
           Verify in TH(chip-tool) log
 
           [1657539676.878976][10068:10073] CHIP:DMG: ReportDataMessage =
diff --git a/src/app/tests/suites/certification/Test_TC_LVL_4_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_4_1.yaml
index 03536c8b70d36d..ec6c1d08f387a1 100644
--- a/src/app/tests/suites/certification/Test_TC_LVL_4_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_LVL_4_1.yaml
@@ -220,22 +220,20 @@ tests:
               minValue: 170
               maxValue: 230
 
-    - label: "Wait 13s"
+    - label: "Wait 19s"
       cluster: "DelayCommands"
       command: "WaitForMs"
       arguments:
           values:
               - name: "ms"
-                value: 13000
+                value: 19000
 
     - label: "TH reads CurrentLevel attribute from DUT"
       PICS: LVL.S.C01.Rsp && LVL.S.A0000
       command: "readAttribute"
       attribute: "CurrentLevel"
       response:
-          constraints:
-              minValue: 216
-              maxValue: 254
+          value: 254
 
     - label: "Precondition send Off Command"
       cluster: "On/Off"
diff --git a/src/app/tests/suites/certification/Test_TC_OO_2_3.yaml b/src/app/tests/suites/certification/Test_TC_OO_2_3.yaml
index e5366185f25621..c43a0ceacc8e61 100644
--- a/src/app/tests/suites/certification/Test_TC_OO_2_3.yaml
+++ b/src/app/tests/suites/certification/Test_TC_OO_2_3.yaml
@@ -80,14 +80,14 @@ tests:
     - label: "3b:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C40.Rsp
       response:
           value: 0
 
     - label: "3b:Reads GlobalSceneControl attribute from DUT"
       command: "readAttribute"
       attribute: "GlobalSceneControl"
-      PICS: OO.S.A4000
+      PICS: OO.S.A4000 && OO.S.C40.Rsp
       response:
           value: 0
 
@@ -106,14 +106,14 @@ tests:
     - label: "4b:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C41.Rsp
       response:
           value: 1
 
     - label: "4b:Reads GlobalSceneControl attribute from DUT"
       command: "readAttribute"
       attribute: "GlobalSceneControl"
-      PICS: OO.S.A4000
+      PICS: OO.S.A4000 && OO.S.C41.Rsp
       response:
           value: 1
 
@@ -138,14 +138,14 @@ tests:
     - label: "5b:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 &&  OO.S.C40.Rsp
       response:
           value: 0
 
     - label: "5b:Reads GlobalSceneControl attribute from DUT"
       command: "readAttribute"
       attribute: "GlobalSceneControl"
-      PICS: OO.S.A4000
+      PICS: OO.S.A4000 && OO.S.C40.Rsp
       response:
           value: 0
 
@@ -164,14 +164,14 @@ tests:
     - label: "5d:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C01.Rsp
       response:
           value: 1
 
     - label: "5d:Reads GlobalSceneControl attribute from DUT"
       command: "readAttribute"
       attribute: "GlobalSceneControl"
-      PICS: OO.S.A4000
+      PICS: OO.S.A4000 && OO.S.C01.Rsp
       response:
           value: 1
 
@@ -196,14 +196,14 @@ tests:
     - label: "6b:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C40.Rsp
       response:
           value: 0
 
     - label: "6b:Reads GlobalSceneControl attribute from DUT"
       command: "readAttribute"
       attribute: "GlobalSceneControl"
-      PICS: OO.S.A4000
+      PICS: OO.S.A4000 && OO.S.C40.Rsp
       response:
           value: 0
 
@@ -222,14 +222,14 @@ tests:
     - label: "7b:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C01.Rsp
       response:
           value: 1
 
     - label: "7b:Reads GlobalSceneControl attribute from DUT"
       command: "readAttribute"
       attribute: "GlobalSceneControl"
-      PICS: OO.S.A4000
+      PICS: OO.S.A4000 && OO.S.C01.Rsp
       response:
           value: 1
 
@@ -248,14 +248,14 @@ tests:
     - label: "7d:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C41.Rsp
       response:
           value: 1
 
     - label: "7d:Reads GlobalSceneControl attribute from DUT"
       command: "readAttribute"
       attribute: "GlobalSceneControl"
-      PICS: OO.S.A4000
+      PICS: OO.S.A4000 && OO.S.C41.Rsp
       response:
           value: 1
 
@@ -288,14 +288,14 @@ tests:
     - label: "9b:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C42.Rsp
       response:
           value: 1
 
     - label: "9b:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C42.Rsp
       response:
           constraints:
               minValue: 255
@@ -304,7 +304,7 @@ tests:
     - label: "9b:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C42.Rsp
       response:
           value: 300
 
@@ -383,14 +383,14 @@ tests:
     - label: "10e:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C42.Rsp
       response:
           value: 1
 
     - label: "10e:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C42.Rsp
       response:
           constraints:
               minValue: 255
@@ -399,7 +399,7 @@ tests:
     - label: "10e:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C42.Rsp
       response:
           value: 300
 
@@ -424,21 +424,21 @@ tests:
     - label: "11b:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C40.Rsp
       response:
           value: 0
 
     - label: "11b:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C40.Rsp
       response:
           value: 0
 
     - label: "11b:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C40.Rsp
       response:
           constraints:
               minValue: 255
@@ -467,21 +467,21 @@ tests:
     - label: "12b:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C42.Rsp
       response:
           value: 0
 
     - label: "12b:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C42.Rsp
       response:
           value: 0
 
     - label: "12b:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C42.Rsp
       response:
           constraints:
               minValue: 170
@@ -502,21 +502,21 @@ tests:
     - label: "13b:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C01.Rsp
       response:
           value: 1
 
     - label: "13b:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C01.Rsp
       response:
           value: 0
 
     - label: "13b:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C01.Rsp
       response:
           value: 0
 
@@ -555,21 +555,21 @@ tests:
     - label: "14c:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C00.Rsp
       response:
           value: 0
 
     - label: "14c:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C00.Rsp
       response:
           value: 0
 
     - label: "14c:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C00.Rsp
       response:
           constraints:
               minValue: 255
@@ -627,21 +627,21 @@ tests:
     - label: "16b:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C42.Rsp
       response:
           value: 0
 
     - label: "16b:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C42.Rsp
       response:
           value: 0
 
     - label: "16b:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C42.Rsp
       response:
           value: 0
 
@@ -672,14 +672,14 @@ tests:
     - label: "17c:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C42.Rsp
       response:
           value: 1
 
     - label: "17c:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C42.Rsp
       response:
           constraints:
               minValue: 255
@@ -688,7 +688,7 @@ tests:
     - label: "17c:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C42.Rsp
       response:
           value: 300
 
@@ -703,21 +703,21 @@ tests:
     - label: "17d:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C42.Rsp
       response:
           value: 0
 
     - label: "17d:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C42.Rsp
       response:
           value: 0
 
     - label: "17d:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C42.Rsp
       response:
           value: 0
 
@@ -744,14 +744,14 @@ tests:
     - label: "18b:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C42.Rsp
       response:
           value: 1
 
     - label: "18b:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C42.Rsp
       response:
           constraints:
               minValue: 255
@@ -760,7 +760,7 @@ tests:
     - label: "18b:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C42.Rsp
       response:
           value: 300
 
@@ -807,14 +807,14 @@ tests:
     - label: "19c:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C42.Rsp
       response:
           value: 1
 
     - label: "19c:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C42.Rsp
       response:
           constraints:
               minValue: 170
@@ -823,7 +823,7 @@ tests:
     - label: "19c:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C42.Rsp
       response:
           value: 300
 
@@ -834,21 +834,21 @@ tests:
     - label: "20b:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C00.Rsp
       response:
           value: 0
 
     - label: "20b:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C00.Rsp
       response:
           value: 0
 
     - label: "20b:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C00.Rsp
       response:
           constraints:
               minValue: 255
@@ -877,21 +877,21 @@ tests:
     - label: "21b:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C42.Rsp
       response:
           value: 0
 
     - label: "21b:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C42.Rsp
       response:
           value: 0
 
     - label: "21b:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002 && PICS_SKIP_SAMPLE_APP
+      PICS: OO.S.A4002 && PICS_SKIP_SAMPLE_APP && OO.S.C42.Rsp
       response:
           constraints:
               minValue: 170
@@ -904,21 +904,21 @@ tests:
     - label: "22b:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C01.Rsp
       response:
           value: 1
 
     - label: "22b:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C01.Rsp
       response:
           value: 0
 
     - label: "22b:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C01.Rsp
       response:
           value: 0
 
@@ -949,21 +949,21 @@ tests:
     - label: "23c:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C00.Rsp
       response:
           value: 0
 
     - label: "23c:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C00.Rsp
       response:
           value: 0
 
     - label: "23c:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C00.Rsp
       response:
           constraints:
               minValue: 255
@@ -980,21 +980,21 @@ tests:
     - label: "23d:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C00.Rsp
       response:
           value: 0
 
     - label: "23d:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C00.Rsp
       response:
           value: 0
 
     - label: "23d:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C00.Rsp
       response:
           value: 0
 
@@ -1013,14 +1013,14 @@ tests:
     - label: "24b:Reads OnOff attribute from DUT"
       command: "readAttribute"
       attribute: "OnOff"
-      PICS: OO.S.A0000
+      PICS: OO.S.A0000 && OO.S.C42.Rsp
       response:
           value: 1
 
     - label: "24b:Reads OnTime attribute from DUT"
       command: "readAttribute"
       attribute: "OnTime"
-      PICS: OO.S.A4001
+      PICS: OO.S.A4001 && OO.S.C42.Rsp
       response:
           constraints:
               minValue: 255
@@ -1029,7 +1029,7 @@ tests:
     - label: "24b:Reads OffWaitTime attribute from DUT"
       command: "readAttribute"
       attribute: "OffWaitTime"
-      PICS: OO.S.A4002
+      PICS: OO.S.A4002 && OO.S.C42.Rsp
       response:
           value: 300
 
diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h
index 7d0d30f40c99e8..c690fecc5261c7 100644
--- a/zzz_generated/chip-tool/zap-generated/test/Commands.h
+++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h
@@ -19591,8 +19591,8 @@ class Test_TC_LVL_4_1Suite : public TestCommand
             {
                 chip::app::DataModel::Nullable<uint8_t> value;
                 VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value)));
-                VerifyOrReturn(CheckConstraintMinValue("value", value, 216U));
-                VerifyOrReturn(CheckConstraintMaxValue("value", value, 254U));
+                VerifyOrReturn(CheckValueNonNull("currentLevel", value));
+                VerifyOrReturn(CheckValue("currentLevel.Value()", value.Value(), 254U));
             }
             break;
         case 24:
@@ -19799,10 +19799,10 @@ class Test_TC_LVL_4_1Suite : public TestCommand
                                  chip::NullOptional);
         }
         case 22: {
-            LogStep(22, "Wait 13s");
+            LogStep(22, "Wait 19s");
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
-            value.ms = 13000UL;
+            value.ms = 19000UL;
             return WaitForMs(kIdentityAlpha, value);
         }
         case 23: {
@@ -83590,7 +83590,7 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand
 {
 public:
     Test_TC_CADMIN_1_11Suite(CredentialIssuerCommands * credsIssuerConfig) :
-        TestCommand("Test_TC_CADMIN_1_11", 19, credsIssuerConfig)
+        TestCommand("Test_TC_CADMIN_1_11", 21, credsIssuerConfig)
     {
         AddArgument("nodeId", 0, UINT64_MAX, &mNodeId);
         AddArgument("timeout", 0, UINT16_MAX, &mTimeout);
@@ -83653,10 +83653,10 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand
             break;
         case 6:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            shouldContinue = true;
             break;
         case 7:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
-            shouldContinue = true;
             break;
         case 8:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
@@ -83664,11 +83664,15 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand
             break;
         case 9:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            shouldContinue = true;
             break;
         case 10:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
         case 11:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            break;
+        case 12:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::DataModel::DecodableList<
@@ -83688,21 +83692,25 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand
                 VerifyOrReturn(CheckConstraintType("value", "list", "list"));
             }
             break;
-        case 12:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
-            shouldContinue = true;
-            break;
         case 13:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            shouldContinue = true;
             break;
         case 14:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
         case 15:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
         case 16:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            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::app::DataModel::DecodableList<
@@ -83722,10 +83730,10 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand
                 VerifyOrReturn(CheckConstraintType("value", "list", "list"));
             }
             break;
-        case 17:
+        case 19:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 18:
+        case 20:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             break;
         default:
@@ -83793,7 +83801,17 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand
             );
         }
         case 4: {
-            LogStep(4, "TH_CR3 starts a commissioning process with DUT_CE");
+            LogStep(4, "Verify that the DNS-SD advertisement shows CM=2");
+            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 5: {
+            LogStep(5, "TH_CR3 starts a commissioning process with DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
@@ -83801,16 +83819,16 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand
             value.payload = mPayload.HasValue() ? mPayload.Value() : chip::Span<const char>("MT:-24J0AFN00KA0648G00", 22);
             return PairWithCode(kIdentityGamma, value);
         }
-        case 5: {
-            LogStep(5, "DUT_CE is commissioned to TH_CR3 on Fabric ID3 with Node ID3");
+        case 6: {
+            LogStep(6, "DUT_CE is commissioned to TH_CR3 on Fabric ID3 with Node ID3");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
             value.nodeId = mNodeId3.HasValue() ? mNodeId3.Value() : 12586990ULL;
             return WaitForCommissionee(kIdentityGamma, value);
         }
-        case 6: {
-            LogStep(6, "TH_CR1 opens a commissioning window on DUT_CE using ECM");
+        case 7: {
+            LogStep(7, "TH_CR1 opens a commissioning window on DUT_CE using ECM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value;
@@ -83832,8 +83850,8 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand
 
             );
         }
-        case 7: {
-            LogStep(7, "TH_CR2 starts a commissioning process with DUT_CE");
+        case 8: {
+            LogStep(8, "TH_CR2 starts a commissioning process with DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
@@ -83841,16 +83859,16 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand
             value.payload = mPayload.HasValue() ? mPayload.Value() : chip::Span<const char>("MT:-24J0AFN00KA0648G00", 22);
             return PairWithCode(kIdentityBeta, value);
         }
-        case 8: {
-            LogStep(8, "DUT_CE is commissioned to TH_CR2");
+        case 9: {
+            LogStep(9, "DUT_CE is commissioned to TH_CR2");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
             value.nodeId = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL;
             return WaitForCommissionee(kIdentityBeta, value);
         }
-        case 9: {
-            LogStep(9, "TH_CR1 opens a commissioning window on DUT_CE using ECM");
+        case 10: {
+            LogStep(10, "TH_CR1 opens a commissioning window on DUT_CE using ECM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value;
@@ -83872,8 +83890,8 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand
 
             );
         }
-        case 10: {
-            LogStep(10,
+        case 11: {
+            LogStep(11,
                     "Before the expiration of PIXIT.CADMIN.CwDuration seconds which was set in step 5, TH_CR1 opens a 2nd "
                     "commissioning window on DUT_CE using a commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
@@ -83897,21 +83915,21 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand
 
             );
         }
-        case 11: {
-            LogStep(11, "TH_CR1 reads the list of Fabrics on DUT_CE");
+        case 12: {
+            LogStep(12, "TH_CR1 reads the list of Fabrics on DUT_CE");
             VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id,
                                  OperationalCredentials::Attributes::Fabrics::Id, false, chip::NullOptional);
         }
-        case 12: {
-            LogStep(12, "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that was set in step 6");
+        case 13: {
+            LogStep(13, "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that was set in step 6");
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
             value.ms = 180000UL;
             return WaitForMs(kIdentityAlpha, value);
         }
-        case 13: {
-            LogStep(13,
+        case 14: {
+            LogStep(14,
                     "TH_CR1 re-opens a commissioning window on DUT_CE using a commissioning timeout of PIXIT.CADMIN.CwDuration "
                     "seconds using BCM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
@@ -83924,8 +83942,18 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand
 
             );
         }
-        case 14: {
-            LogStep(14,
+        case 15: {
+            LogStep(15, "Verify that the DNS-SD advertisement shows CM=1");
+            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 16: {
+            LogStep(16,
                     "Before the expiration of PIXIT.CADMIN.CwDuration seconds that was set in step 10, TH_CR3 opens a 2nd "
                     "commissioning window on DUT_CE using a commissioning timeout of PIXIT.CADMIN.CwDuration seconds using BCM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
@@ -83938,21 +83966,21 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand
 
             );
         }
-        case 15: {
-            LogStep(15, "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that was set in step 11");
+        case 17: {
+            LogStep(17, "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that was set in step 11");
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
             value.ms = 180000UL;
             return WaitForMs(kIdentityAlpha, value);
         }
-        case 16: {
-            LogStep(16, "TH_CR1 reads the list of Fabrics on DUT_CE");
+        case 18: {
+            LogStep(18, "TH_CR1 reads the list of Fabrics on DUT_CE");
             VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id,
                                  OperationalCredentials::Attributes::Fabrics::Id, false, chip::NullOptional);
         }
-        case 17: {
-            LogStep(17, "TH_CR1 opens a commissioning window on DUT_CE using BCM");
+        case 19: {
+            LogStep(19, "TH_CR1 opens a commissioning window on DUT_CE using BCM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value;
@@ -83963,8 +83991,8 @@ class Test_TC_CADMIN_1_11Suite : public TestCommand
 
             );
         }
-        case 18: {
-            LogStep(18,
+        case 20: {
+            LogStep(20,
                     "Before the expiration of PIXIT.CADMIN.CwDuration seconds that was set in step 14, TH_CR2 opens a second "
                     "commissioning window on DUT_CE using a commissioning timeout of PIXIT.CADMIN.CwDuration seconds using BCM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
@@ -85408,7 +85436,7 @@ class Test_TC_CADMIN_1_22Suite : public TestCommand
 class Test_TC_CADMIN_1_3Suite : public TestCommand
 {
 public:
-    Test_TC_CADMIN_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_3", 19, credsIssuerConfig)
+    Test_TC_CADMIN_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_3", 20, credsIssuerConfig)
     {
         AddArgument("nodeId", 0, UINT64_MAX, &mNodeId);
         AddArgument("timeout", 0, UINT16_MAX, &mTimeout);
@@ -85461,8 +85489,12 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand
             break;
         case 4:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            shouldContinue = true;
             break;
         case 5:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 6:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::CharSpan value;
@@ -85472,15 +85504,15 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand
                 VerifyOrReturn(CheckConstraintMaxLength("value", value, 32));
             }
             break;
-        case 6:
+        case 7:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
-        case 7:
+        case 8:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
-        case 8:
+        case 9:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::DataModel::DecodableList<
@@ -85496,7 +85528,7 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand
                 VerifyOrReturn(CheckConstraintType("value", "list", "list"));
             }
             break;
-        case 9:
+        case 10:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::DataModel::DecodableList<
@@ -85514,10 +85546,10 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand
                 VerifyOrReturn(CheckConstraintType("value", "list", "list"));
             }
             break;
-        case 10:
+        case 11:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 11:
+        case 12:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::CharSpan value;
@@ -85527,10 +85559,10 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand
                 VerifyOrReturn(CheckConstraintMaxLength("value", value, 32));
             }
             break;
-        case 12:
+        case 13:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 13:
+        case 14:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::CharSpan value;
@@ -85540,14 +85572,14 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand
                 VerifyOrReturn(CheckConstraintMaxLength("value", value, 32));
             }
             break;
-        case 14:
+        case 15:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 15:
+        case 16:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
-        case 16:
+        case 17:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::Clusters::AdministratorCommissioning::CommissioningWindowStatus value;
@@ -85555,10 +85587,10 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand
                 VerifyOrReturn(CheckValue("windowStatus", value, 0U));
             }
             break;
-        case 17:
+        case 18:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 18:
+        case 19:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             shouldContinue = true;
             break;
@@ -85627,7 +85659,17 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand
             );
         }
         case 4: {
-            LogStep(4, "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
+            LogStep(4, "Verify that the DNS-SD advertisement shows CM=2");
+            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 5: {
+            LogStep(5, "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
             VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::CharSpan value;
@@ -85635,14 +85677,14 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, value,
                                   chip::NullOptional, chip::NullOptional);
         }
-        case 5: {
-            LogStep(5, "TH_CR1 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
+        case 6: {
+            LogStep(6, "TH_CR1 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
             VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, true,
                                  chip::NullOptional);
         }
-        case 6: {
-            LogStep(6, "TH_CR2 starts a commissioning process with DUT_CE");
+        case 7: {
+            LogStep(7, "TH_CR2 starts a commissioning process with DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
@@ -85650,28 +85692,28 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand
             value.payload = mPayload.HasValue() ? mPayload.Value() : chip::Span<const char>("MT:-24J0AFN00KA0648G00", 22);
             return PairWithCode(kIdentityBeta, value);
         }
-        case 7: {
-            LogStep(7, "DUT_CE is commissioned by TH_CR2 on Fabric ID2");
+        case 8: {
+            LogStep(8, "DUT_CE is commissioned by TH_CR2 on Fabric ID2");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
             value.nodeId = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL;
             return WaitForCommissionee(kIdentityBeta, value);
         }
-        case 8: {
-            LogStep(8, "TH_CR1 reads the list of Fabrics on DUT_CE");
+        case 9: {
+            LogStep(9, "TH_CR1 reads the list of Fabrics on DUT_CE");
             VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id,
                                  OperationalCredentials::Attributes::Fabrics::Id, true, chip::NullOptional);
         }
-        case 9: {
-            LogStep(9, "TH_CR2 reads the list of Fabrics on DUT_CE");
+        case 10: {
+            LogStep(10, "TH_CR2 reads the list of Fabrics on DUT_CE");
             VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityBeta, GetEndpoint(0), OperationalCredentials::Id,
                                  OperationalCredentials::Attributes::Fabrics::Id, false, chip::NullOptional);
         }
-        case 10: {
-            LogStep(10, "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
+        case 11: {
+            LogStep(11, "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
             VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::CharSpan value;
@@ -85679,14 +85721,14 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, value,
                                   chip::NullOptional, chip::NullOptional);
         }
-        case 11: {
-            LogStep(11, "TH_CR1 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
+        case 12: {
+            LogStep(12, "TH_CR1 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
             VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, true,
                                  chip::NullOptional);
         }
-        case 12: {
-            LogStep(12, "TH_CR2 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
+        case 13: {
+            LogStep(13, "TH_CR2 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
             VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::CharSpan value;
@@ -85694,14 +85736,14 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand
             return WriteAttribute(kIdentityBeta, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, value,
                                   chip::NullOptional, chip::NullOptional);
         }
-        case 13: {
-            LogStep(13, "TH_CR2 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
+        case 14: {
+            LogStep(14, "TH_CR2 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
             VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityBeta, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, true,
                                  chip::NullOptional);
         }
-        case 14: {
-            LogStep(14, "TH_CR2 opens a commissioning window on DUT_CE using ECM");
+        case 15: {
+            LogStep(15, "TH_CR2 opens a commissioning window on DUT_CE using ECM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value;
@@ -85723,21 +85765,21 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand
 
             );
         }
-        case 15: {
-            LogStep(15, "Wait for the commissioning window in step 13 to timeout");
+        case 16: {
+            LogStep(16, "Wait for the commissioning window in step 13 to timeout");
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
             value.ms = 180000UL;
             return WaitForMs(kIdentityAlpha, value);
         }
-        case 16: {
-            LogStep(16, "TH_CR2 reads the window status to verify the DUT_CE window is closed");
+        case 17: {
+            LogStep(17, "TH_CR2 reads the window status to verify the DUT_CE window is closed");
             VerifyOrDo(!ShouldSkip("CADMIN.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id,
                                  AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional);
         }
-        case 17: {
-            LogStep(17, "TH_CR2 opens a commissioning window on DUT_CE using ECM");
+        case 18: {
+            LogStep(18, "TH_CR2 opens a commissioning window on DUT_CE using ECM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value;
@@ -85759,8 +85801,8 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand
 
             );
         }
-        case 18: {
-            LogStep(18, "TH_CR1 starts a commissioning process with DUT_CE before the timeout from step 12");
+        case 19: {
+            LogStep(19, "TH_CR1 starts a commissioning process with DUT_CE before the timeout from step 12");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
@@ -85776,7 +85818,7 @@ class Test_TC_CADMIN_1_3Suite : public TestCommand
 class Test_TC_CADMIN_1_4Suite : public TestCommand
 {
 public:
-    Test_TC_CADMIN_1_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_4", 19, credsIssuerConfig)
+    Test_TC_CADMIN_1_4Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_4", 20, credsIssuerConfig)
     {
         AddArgument("nodeId", 0, UINT64_MAX, &mNodeId);
         AddArgument("timeout", 0, UINT16_MAX, &mTimeout);
@@ -85827,8 +85869,12 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand
             break;
         case 4:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            shouldContinue = true;
             break;
         case 5:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 6:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::CharSpan value;
@@ -85837,15 +85883,15 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand
                 VerifyOrReturn(CheckConstraintMaxLength("value", value, 32));
             }
             break;
-        case 6:
+        case 7:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
-        case 7:
+        case 8:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
-        case 8:
+        case 9:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::DataModel::DecodableList<
@@ -85861,7 +85907,7 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand
                 VerifyOrReturn(CheckConstraintType("value", "list", "list"));
             }
             break;
-        case 9:
+        case 10:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::DataModel::DecodableList<
@@ -85877,10 +85923,10 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand
                 VerifyOrReturn(CheckConstraintType("value", "list", "list"));
             }
             break;
-        case 10:
+        case 11:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 11:
+        case 12:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::CharSpan value;
@@ -85890,10 +85936,10 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand
                 VerifyOrReturn(CheckConstraintMaxLength("value", value, 32));
             }
             break;
-        case 12:
+        case 13:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 13:
+        case 14:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::CharSpan value;
@@ -85903,14 +85949,14 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand
                 VerifyOrReturn(CheckConstraintMaxLength("value", value, 32));
             }
             break;
-        case 14:
+        case 15:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 15:
+        case 16:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
-        case 16:
+        case 17:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::Clusters::AdministratorCommissioning::CommissioningWindowStatus value;
@@ -85918,10 +85964,10 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand
                 VerifyOrReturn(CheckValue("windowStatus", value, 0U));
             }
             break;
-        case 17:
+        case 18:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 18:
+        case 19:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             shouldContinue = true;
             break;
@@ -85979,7 +86025,17 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand
             );
         }
         case 4: {
-            LogStep(4, "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
+            LogStep(4, "Verify that the DNS-SD advertisement shows CM=1");
+            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 5: {
+            LogStep(5, "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
             VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::CharSpan value;
@@ -85987,14 +86043,14 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, value,
                                   chip::NullOptional, chip::NullOptional);
         }
-        case 5: {
-            LogStep(5, "TH_CR1 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
+        case 6: {
+            LogStep(6, "TH_CR1 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
             VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, true,
                                  chip::NullOptional);
         }
-        case 6: {
-            LogStep(6, "TH_CR2 starts a commissioning process with DUT_CE");
+        case 7: {
+            LogStep(7, "TH_CR2 starts a commissioning process with DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
@@ -86002,28 +86058,28 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand
             value.payload = mPayload.HasValue() ? mPayload.Value() : chip::Span<const char>("MT:-24J0AFN00KA0648G00", 22);
             return PairWithCode(kIdentityBeta, value);
         }
-        case 7: {
-            LogStep(7, "DUT_CE is commissioned by TH_CR2 on Fabric ID2 ");
+        case 8: {
+            LogStep(8, "DUT_CE is commissioned by TH_CR2 on Fabric ID2 ");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
             value.nodeId = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL;
             return WaitForCommissionee(kIdentityBeta, value);
         }
-        case 8: {
-            LogStep(8, "TH_CR1 reads the list of Fabrics on DUT_CE");
+        case 9: {
+            LogStep(9, "TH_CR1 reads the list of Fabrics on DUT_CE");
             VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id,
                                  OperationalCredentials::Attributes::Fabrics::Id, true, chip::NullOptional);
         }
-        case 9: {
-            LogStep(9, "TH_CR2 reads the list of Fabrics on DUT_CE");
+        case 10: {
+            LogStep(10, "TH_CR2 reads the list of Fabrics on DUT_CE");
             VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityBeta, GetEndpoint(0), OperationalCredentials::Id,
                                  OperationalCredentials::Attributes::Fabrics::Id, true, chip::NullOptional);
         }
-        case 10: {
-            LogStep(10, "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
+        case 11: {
+            LogStep(11, "TH_CR1 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
             VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::CharSpan value;
@@ -86031,14 +86087,14 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, value,
                                   chip::NullOptional, chip::NullOptional);
         }
-        case 11: {
-            LogStep(11, "TH_CR1 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
+        case 12: {
+            LogStep(12, "TH_CR1 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
             VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, true,
                                  chip::NullOptional);
         }
-        case 12: {
-            LogStep(12, "TH_CR2 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
+        case 13: {
+            LogStep(13, "TH_CR2 writes the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
             VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::CharSpan value;
@@ -86046,14 +86102,14 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand
             return WriteAttribute(kIdentityBeta, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, value,
                                   chip::NullOptional, chip::NullOptional);
         }
-        case 13: {
-            LogStep(13, "TH_CR2 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
+        case 14: {
+            LogStep(14, "TH_CR2 reads the Basic Information Clusters NodeLabel mandatory attribute of DUT_CE");
             VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityBeta, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, true,
                                  chip::NullOptional);
         }
-        case 14: {
-            LogStep(14, "TH_CR2 opens a commissioning window on DUT_CE using BCM");
+        case 15: {
+            LogStep(15, "TH_CR2 opens a commissioning window on DUT_CE using BCM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value;
@@ -86064,21 +86120,21 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand
 
             );
         }
-        case 15: {
-            LogStep(15, "Wait for the commissioning window in step 13 to timeout");
+        case 16: {
+            LogStep(16, "Wait for the commissioning window in step 13 to timeout");
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
             value.ms = 180000UL;
             return WaitForMs(kIdentityAlpha, value);
         }
-        case 16: {
-            LogStep(16, "TH_CR2 reads the window status to verify the DUT_CE window is closed");
+        case 17: {
+            LogStep(17, "TH_CR2 reads the window status to verify the DUT_CE window is closed");
             VerifyOrDo(!ShouldSkip("CADMIN.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id,
                                  AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional);
         }
-        case 17: {
-            LogStep(17, "TH_CR2 opens a commissioning window on DUT_CE using BCM");
+        case 18: {
+            LogStep(18, "TH_CR2 opens a commissioning window on DUT_CE using BCM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value;
@@ -86089,8 +86145,8 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand
 
             );
         }
-        case 18: {
-            LogStep(18, "TH_CR1 starts a commissioning process with DUT_CE before the timeout from step 12");
+        case 19: {
+            LogStep(19, "TH_CR1 starts a commissioning process with DUT_CE before the timeout from step 12");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
@@ -86106,7 +86162,7 @@ class Test_TC_CADMIN_1_4Suite : public TestCommand
 class Test_TC_CADMIN_1_5Suite : public TestCommand
 {
 public:
-    Test_TC_CADMIN_1_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_5", 18, credsIssuerConfig)
+    Test_TC_CADMIN_1_5Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_5", 19, credsIssuerConfig)
     {
         AddArgument("nodeId", 0, UINT64_MAX, &mNodeId);
         AddArgument("timeout", 0, UINT16_MAX, &mTimeout);
@@ -86168,26 +86224,30 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand
             shouldContinue = true;
             break;
         case 5:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
         case 6:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            shouldContinue = true;
             break;
         case 7:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
         case 8:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
-            shouldContinue = true;
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
         case 9:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            shouldContinue = true;
             break;
         case 10:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             break;
         case 11:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 12:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::CharSpan value;
@@ -86195,27 +86255,27 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand
                 VerifyOrReturn(CheckValueAsString("nodeLabel", value, chip::CharSpan("chiptest", 8)));
             }
             break;
-        case 12:
+        case 13:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             break;
-        case 13:
+        case 14:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 14:
+        case 15:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.HasValue(), true));
             VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.Value(), 2));
             break;
-        case 15:
+        case 16:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
-        case 16:
+        case 17:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.HasValue(), true));
             VerifyOrReturn(CheckValue("clusterStatus", status.mClusterStatus.Value(), 4));
             break;
-        case 17:
+        case 18:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             shouldContinue = true;
             break;
@@ -86284,14 +86344,24 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand
             );
         }
         case 4: {
-            LogStep(4, "Wait for PIXIT.CADMIN.CwDuration + 10 seconds");
+            LogStep(4, "Verify that the DNS-SD advertisement shows CM=2");
+            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 5: {
+            LogStep(5, "Wait for PIXIT.CADMIN.CwDuration + 10 seconds");
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
             value.ms = 190000UL;
             return WaitForMs(kIdentityAlpha, value);
         }
-        case 5: {
-            LogStep(5, "TH_CR2 starts a commissioning process with DUT_CE");
+        case 6: {
+            LogStep(6, "TH_CR2 starts a commissioning process with DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
@@ -86299,8 +86369,8 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand
             value.payload = mPayload.HasValue() ? mPayload.Value() : chip::Span<const char>("MT:-24J0AFN00KA0648G00", 22);
             return PairWithCode(kIdentityBeta, value);
         }
-        case 6: {
-            LogStep(6, "TH_CR1 opens a new commissioning window on DUT_CE using ECM");
+        case 7: {
+            LogStep(7, "TH_CR1 opens a new commissioning window on DUT_CE using ECM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value;
@@ -86322,8 +86392,8 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand
 
             );
         }
-        case 7: {
-            LogStep(7, "TH_CR1 revokes the commissioning window on DUT_CE");
+        case 8: {
+            LogStep(8, "TH_CR1 revokes the commissioning window on DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::RevokeCommissioning::Type value;
@@ -86333,8 +86403,8 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand
 
             );
         }
-        case 8: {
-            LogStep(8, "TH_CR2 starts a commissioning process with DUT_CE");
+        case 9: {
+            LogStep(9, "TH_CR2 starts a commissioning process with DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
@@ -86342,8 +86412,8 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand
             value.payload = mPayload.HasValue() ? mPayload.Value() : chip::Span<const char>("MT:-24J0AFN00KA0648G00", 22);
             return PairWithCode(kIdentityBeta, value);
         }
-        case 9: {
-            LogStep(9, "TH_CR1 revokes the commissioning window on DUT_CE");
+        case 10: {
+            LogStep(10, "TH_CR1 revokes the commissioning window on DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::RevokeCommissioning::Type value;
@@ -86353,8 +86423,8 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand
 
             );
         }
-        case 10: {
-            LogStep(10, "TH_CR1 writes the mandatory attribute NodeLabel of DUT_CE");
+        case 11: {
+            LogStep(11, "TH_CR1 writes the mandatory attribute NodeLabel of DUT_CE");
             VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::CharSpan value;
@@ -86362,14 +86432,14 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, value,
                                   chip::NullOptional, chip::NullOptional);
         }
-        case 11: {
-            LogStep(11, "TH_CR1 read the mandatory attribute NodeLabel of DUT_CE");
+        case 12: {
+            LogStep(12, "TH_CR1 read the mandatory attribute NodeLabel of DUT_CE");
             VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, true,
                                  chip::NullOptional);
         }
-        case 12: {
-            LogStep(12, "TH_CR1 opens a new commissioning window on DUT_CE using wrong PakeVerifier value using ECM");
+        case 13: {
+            LogStep(13, "TH_CR1 opens a new commissioning window on DUT_CE using wrong PakeVerifier value using ECM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value;
@@ -86391,8 +86461,8 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand
 
             );
         }
-        case 13: {
-            LogStep(13, "TH_CR1 opens a new commissioning window on DUT_CE using ECM");
+        case 14: {
+            LogStep(14, "TH_CR1 opens a new commissioning window on DUT_CE using ECM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value;
@@ -86414,8 +86484,8 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand
 
             );
         }
-        case 14: {
-            LogStep(14, "TH_CR1 opens another commissioning window on DUT_CE using ECM");
+        case 15: {
+            LogStep(15, "TH_CR1 opens another commissioning window on DUT_CE using ECM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value;
@@ -86437,8 +86507,8 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand
 
             );
         }
-        case 15: {
-            LogStep(15, "TH_CR2 starts a commissioning process with DUT_CE");
+        case 16: {
+            LogStep(16, "TH_CR2 starts a commissioning process with DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
@@ -86446,8 +86516,8 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand
             value.payload = mPayload.HasValue() ? mPayload.Value() : chip::Span<const char>("MT:-24J0AFN00KA0648G00", 22);
             return PairWithCode(kIdentityBeta, value);
         }
-        case 16: {
-            LogStep(16, "TH_CR1 tries to revoke the commissioning window on DUT_CE using RevokeCommissioning command");
+        case 17: {
+            LogStep(17, "TH_CR1 tries to revoke the commissioning window on DUT_CE using RevokeCommissioning command");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::RevokeCommissioning::Type value;
@@ -86457,8 +86527,8 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand
 
             );
         }
-        case 17: {
-            LogStep(17, "TH_CR3 starts a commissioning process with DUT_CE");
+        case 18: {
+            LogStep(18, "TH_CR3 starts a commissioning process with DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
@@ -86474,7 +86544,7 @@ class Test_TC_CADMIN_1_5Suite : public TestCommand
 class Test_TC_CADMIN_1_6Suite : public TestCommand
 {
 public:
-    Test_TC_CADMIN_1_6Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_6", 18, credsIssuerConfig)
+    Test_TC_CADMIN_1_6Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_6", 19, credsIssuerConfig)
     {
         AddArgument("nodeId", 0, UINT64_MAX, &mNodeId);
         AddArgument("timeout", 0, UINT16_MAX, &mTimeout);
@@ -86532,26 +86602,30 @@ class Test_TC_CADMIN_1_6Suite : public TestCommand
             shouldContinue = true;
             break;
         case 5:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
         case 6:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            shouldContinue = true;
             break;
         case 7:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
         case 8:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
-            shouldContinue = true;
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
         case 9:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            shouldContinue = true;
             break;
         case 10:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             break;
         case 11:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 12:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::CharSpan value;
@@ -86559,24 +86633,24 @@ class Test_TC_CADMIN_1_6Suite : public TestCommand
                 VerifyOrReturn(CheckValueAsString("nodeLabel", value, chip::CharSpan("chiptest", 8)));
             }
             break;
-        case 12:
+        case 13:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 13:
+        case 14:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             break;
-        case 14:
+        case 15:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
-        case 15:
+        case 16:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
-        case 16:
+        case 17:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             break;
-        case 17:
+        case 18:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             shouldContinue = true;
             break;
@@ -86634,14 +86708,24 @@ class Test_TC_CADMIN_1_6Suite : public TestCommand
             );
         }
         case 4: {
-            LogStep(4, "Wait for PIXIT.CADMIN.CwDuration + 10");
+            LogStep(4, "Verify that the DNS-SD advertisement shows CM=1");
+            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 5: {
+            LogStep(5, "Wait for PIXIT.CADMIN.CwDuration + 10");
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
             value.ms = 190000UL;
             return WaitForMs(kIdentityAlpha, value);
         }
-        case 5: {
-            LogStep(5, "TH_CR2 starts a commissioning process with DUT_CE");
+        case 6: {
+            LogStep(6, "TH_CR2 starts a commissioning process with DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
@@ -86649,8 +86733,8 @@ class Test_TC_CADMIN_1_6Suite : public TestCommand
             value.payload = mPayload.HasValue() ? mPayload.Value() : chip::Span<const char>("MT:-24J0AFN00KA0648G00", 22);
             return PairWithCode(kIdentityBeta, value);
         }
-        case 6: {
-            LogStep(6, "TH_CR1 opens a commissioning window on DUT_CE");
+        case 7: {
+            LogStep(7, "TH_CR1 opens a commissioning window on DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value;
@@ -86661,8 +86745,8 @@ class Test_TC_CADMIN_1_6Suite : public TestCommand
 
             );
         }
-        case 7: {
-            LogStep(7, "TH_CR1 revokes the commissioning window on DUT_CE");
+        case 8: {
+            LogStep(8, "TH_CR1 revokes the commissioning window on DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::RevokeCommissioning::Type value;
@@ -86672,16 +86756,16 @@ class Test_TC_CADMIN_1_6Suite : public TestCommand
 
             );
         }
-        case 8: {
-            LogStep(8, "TH_CR2 starts a commissioning process with DUT_CE");
+        case 9: {
+            LogStep(9, "TH_CR2 starts a commissioning process with DUT_CE");
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
             value.nodeId  = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL;
             value.payload = mPayload.HasValue() ? mPayload.Value() : chip::Span<const char>("MT:-24J0AFN00KA0648G00", 22);
             return PairWithCode(kIdentityBeta, value);
         }
-        case 9: {
-            LogStep(9, "TH_CR1 revokes the commissioning window on DUT_CE");
+        case 10: {
+            LogStep(10, "TH_CR1 revokes the commissioning window on DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::RevokeCommissioning::Type value;
@@ -86691,8 +86775,8 @@ class Test_TC_CADMIN_1_6Suite : public TestCommand
 
             );
         }
-        case 10: {
-            LogStep(10, "TH_CR1 writes the mandatory attribute NodeLabel of DUT_CE");
+        case 11: {
+            LogStep(11, "TH_CR1 writes the mandatory attribute NodeLabel of DUT_CE");
             VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::CharSpan value;
@@ -86700,14 +86784,14 @@ class Test_TC_CADMIN_1_6Suite : public TestCommand
             return WriteAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, value,
                                   chip::NullOptional, chip::NullOptional);
         }
-        case 11: {
-            LogStep(11, "TH_CR1 read the mandatory attribute NodeLabel of DUT_CE");
+        case 12: {
+            LogStep(12, "TH_CR1 read the mandatory attribute NodeLabel of DUT_CE");
             VerifyOrDo(!ShouldSkip("BINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Basic::Id, Basic::Attributes::NodeLabel::Id, true,
                                  chip::NullOptional);
         }
-        case 12: {
-            LogStep(12, "TH_CR1 opens a commissioning window on DUT_CE");
+        case 13: {
+            LogStep(13, "TH_CR1 opens a commissioning window on DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value;
@@ -86718,8 +86802,8 @@ class Test_TC_CADMIN_1_6Suite : public TestCommand
 
             );
         }
-        case 13: {
-            LogStep(13, "TH_CR1 opens another commissioning window on DUT_CE");
+        case 14: {
+            LogStep(14, "TH_CR1 opens another commissioning window on DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value;
@@ -86730,24 +86814,24 @@ class Test_TC_CADMIN_1_6Suite : public TestCommand
 
             );
         }
-        case 14: {
-            LogStep(14, "TH_CR2 starts a commissioning process on DUT_CE");
+        case 15: {
+            LogStep(15, "TH_CR2 starts a commissioning process on DUT_CE");
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
             value.nodeId  = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL;
             value.payload = mPayload.HasValue() ? mPayload.Value() : chip::Span<const char>("MT:-24J0AFN00KA0648G00", 22);
             return PairWithCode(kIdentityBeta, value);
         }
-        case 15: {
-            LogStep(15, "DUT_CE is commissioned by TH_CR2");
+        case 16: {
+            LogStep(16, "DUT_CE is commissioned by TH_CR2");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
             value.nodeId = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL;
             return WaitForCommissionee(kIdentityBeta, value);
         }
-        case 16: {
-            LogStep(16, "TH_CR1 tries to revoke the commissioning window on DUT_CE using RevokeCommissioning command");
+        case 17: {
+            LogStep(17, "TH_CR1 tries to revoke the commissioning window on DUT_CE using RevokeCommissioning command");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::RevokeCommissioning::Type value;
@@ -86757,8 +86841,8 @@ class Test_TC_CADMIN_1_6Suite : public TestCommand
 
             );
         }
-        case 17: {
-            LogStep(17, "TH_CR3 starts a commissioning process with DUT_CE");
+        case 18: {
+            LogStep(18, "TH_CR3 starts a commissioning process with DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
@@ -86774,7 +86858,7 @@ class Test_TC_CADMIN_1_6Suite : public TestCommand
 class Test_TC_CADMIN_1_9Suite : public TestCommand
 {
 public:
-    Test_TC_CADMIN_1_9Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_9", 26, credsIssuerConfig)
+    Test_TC_CADMIN_1_9Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CADMIN_1_9", 27, credsIssuerConfig)
     {
         AddArgument("nodeId", 0, UINT64_MAX, &mNodeId);
         AddArgument("timeout", 0, UINT16_MAX, &mTimeout);
@@ -86832,7 +86916,7 @@ class Test_TC_CADMIN_1_9Suite : public TestCommand
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
         case 4:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
         case 5:
@@ -86919,6 +87003,10 @@ class Test_TC_CADMIN_1_9Suite : public TestCommand
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             shouldContinue = true;
             break;
+        case 26:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            shouldContinue = true;
+            break;
         default:
             LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT));
         }
@@ -86984,14 +87072,14 @@ class Test_TC_CADMIN_1_9Suite : public TestCommand
             );
         }
         case 4: {
-            LogStep(4, "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup code");
-            VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            LogStep(4, "Verify that the DNS-SD advertisement shows CM=2");
+            VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
-            chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
-            value.nodeId  = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL;
-            value.payload = mIncorrectSetupCodePayload.HasValue() ? mIncorrectSetupCodePayload.Value()
-                                                                  : chip::Span<const char>("MT:-24J0AFN00I.0648G00", 22);
-            return PairWithCode(kIdentityBeta, value);
+            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 5: {
             LogStep(5, "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup code");
@@ -87184,7 +87272,17 @@ class Test_TC_CADMIN_1_9Suite : public TestCommand
             return PairWithCode(kIdentityBeta, value);
         }
         case 24: {
-            LogStep(24, "TH_CR2 starts a commissioning process with DUT_CE using valid setup code");
+            LogStep(24, "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup code");
+            VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            ListFreer listFreer;
+            chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
+            value.nodeId  = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL;
+            value.payload = mIncorrectSetupCodePayload.HasValue() ? mIncorrectSetupCodePayload.Value()
+                                                                  : chip::Span<const char>("MT:-24J0AFN00I.0648G00", 22);
+            return PairWithCode(kIdentityBeta, value);
+        }
+        case 25: {
+            LogStep(25, "TH_CR2 starts a commissioning process with DUT_CE using valid setup code");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
@@ -87193,8 +87291,8 @@ class Test_TC_CADMIN_1_9Suite : public TestCommand
                 mCorrectPayload.HasValue() ? mCorrectPayload.Value() : chip::Span<const char>("MT:-24J0AFN00I31506010", 22);
             return PairWithCode(kIdentityBeta, value);
         }
-        case 25: {
-            LogStep(25, "TH_CR3 starts a commissioning process with DUT_CE");
+        case 26: {
+            LogStep(26, "TH_CR3 starts a commissioning process with DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
@@ -87212,7 +87310,7 @@ class Test_TC_CADMIN_1_10Suite : public TestCommand
 {
 public:
     Test_TC_CADMIN_1_10Suite(CredentialIssuerCommands * credsIssuerConfig) :
-        TestCommand("Test_TC_CADMIN_1_10", 25, credsIssuerConfig)
+        TestCommand("Test_TC_CADMIN_1_10", 26, credsIssuerConfig)
     {
         AddArgument("nodeId", 0, UINT64_MAX, &mNodeId);
         AddArgument("timeout", 0, UINT16_MAX, &mTimeout);
@@ -87268,7 +87366,7 @@ class Test_TC_CADMIN_1_10Suite : public TestCommand
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
         case 4:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
         case 5:
@@ -87351,6 +87449,10 @@ class Test_TC_CADMIN_1_10Suite : public TestCommand
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             shouldContinue = true;
             break;
+        case 25:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            shouldContinue = true;
+            break;
         default:
             LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT));
         }
@@ -87405,14 +87507,14 @@ class Test_TC_CADMIN_1_10Suite : public TestCommand
             );
         }
         case 4: {
-            LogStep(4, "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup code");
-            VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            LogStep(4, "Verify that the DNS-SD advertisement shows CM=1");
+            VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
-            chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
-            value.nodeId  = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL;
-            value.payload = mIncorrectSetupCodePayload.HasValue() ? mIncorrectSetupCodePayload.Value()
-                                                                  : chip::Span<const char>("MT:-24J0AFN00I.0648G00", 22);
-            return PairWithCode(kIdentityBeta, value);
+            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 5: {
             LogStep(5, "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup code");
@@ -87496,6 +87598,7 @@ class Test_TC_CADMIN_1_10Suite : public TestCommand
         }
         case 13: {
             LogStep(13, "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup code");
+            VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
             value.nodeId  = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL;
@@ -87505,7 +87608,6 @@ class Test_TC_CADMIN_1_10Suite : public TestCommand
         }
         case 14: {
             LogStep(14, "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup code");
-            VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
             value.nodeId  = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL;
@@ -87604,7 +87706,17 @@ class Test_TC_CADMIN_1_10Suite : public TestCommand
             return PairWithCode(kIdentityBeta, value);
         }
         case 24: {
-            LogStep(24, "TH_CR2 attempts to do PASE to DUT_CE using the correct onboarding payload");
+            LogStep(24, "TH_CR2 starts a commissioning process with DUT_CE using Invalid setup code");
+            VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            ListFreer listFreer;
+            chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
+            value.nodeId  = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL;
+            value.payload = mIncorrectSetupCodePayload.HasValue() ? mIncorrectSetupCodePayload.Value()
+                                                                  : chip::Span<const char>("MT:-24J0AFN00I.0648G00", 22);
+            return PairWithCode(kIdentityBeta, value);
+        }
+        case 25: {
+            LogStep(25, "TH_CR2 attempts to do PASE to DUT_CE using the correct onboarding payload");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
@@ -87622,7 +87734,7 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
 {
 public:
     Test_TC_CADMIN_1_13Suite(CredentialIssuerCommands * credsIssuerConfig) :
-        TestCommand("Test_TC_CADMIN_1_13", 27, credsIssuerConfig)
+        TestCommand("Test_TC_CADMIN_1_13", 29, credsIssuerConfig)
     {
         AddArgument("nodeId", 0, UINT64_MAX, &mNodeId);
         AddArgument("timeout", 0, UINT16_MAX, &mTimeout);
@@ -87703,10 +87815,10 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
             break;
         case 9:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            shouldContinue = true;
             break;
         case 10:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
-            shouldContinue = true;
             break;
         case 11:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
@@ -87714,11 +87826,15 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
             break;
         case 12:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            shouldContinue = true;
             break;
         case 13:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
         case 14:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
+            break;
+        case 15:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::DataModel::DecodableList<
@@ -87738,14 +87854,14 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
                 VerifyOrReturn(CheckConstraintType("value", "list", "list"));
             }
             break;
-        case 15:
+        case 16:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
-        case 16:
+        case 17:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 17:
+        case 18:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::Clusters::AdministratorCommissioning::CommissioningWindowStatus value;
@@ -87753,10 +87869,14 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
                 VerifyOrReturn(CheckValue("windowStatus", value, 1U));
             }
             break;
-        case 18:
+        case 19:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            shouldContinue = true;
+            break;
+        case 20:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             break;
-        case 19:
+        case 21:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::DataModel::DecodableList<
@@ -87776,21 +87896,21 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
                 VerifyOrReturn(CheckConstraintType("value", "list", "list"));
             }
             break;
-        case 20:
+        case 22:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
-        case 21:
+        case 23:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 22:
+        case 24:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_FAILURE));
             break;
-        case 23:
+        case 25:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             shouldContinue = true;
             break;
-        case 24:
+        case 26:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::Clusters::AdministratorCommissioning::CommissioningWindowStatus value;
@@ -87798,7 +87918,7 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
                 VerifyOrReturn(CheckValue("windowStatus", value, 0U));
             }
             break;
-        case 25:
+        case 27:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::DataModel::Nullable<chip::FabricIndex> value;
@@ -87806,7 +87926,7 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
                 VerifyOrReturn(CheckValueNull("adminFabricIndex", value));
             }
             break;
-        case 26:
+        case 28:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             {
                 chip::app::DataModel::Nullable<uint16_t> value;
@@ -87899,23 +88019,33 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
             return UserPrompt(kIdentityAlpha, value);
         }
         case 7: {
-            LogStep(7, "TH_CR3 starts a commissioning process with DUT_CE");
+            LogStep(7, "Verify that the DNS-SD advertisement shows CM=1");
+            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 8: {
+            LogStep(8, "TH_CR3 starts a commissioning process with DUT_CE");
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
             value.nodeId  = mNodeId3.HasValue() ? mNodeId3.Value() : 12586990ULL;
             value.payload = mPayload.HasValue() ? mPayload.Value() : chip::Span<const char>("MT:-24J0AFN00KA0648G00", 22);
             return PairWithCode(kIdentityGamma, value);
         }
-        case 8: {
-            LogStep(8, "DUT_CE is commissioned to TH_CR3 on Fabric ID3 with Node ID3");
+        case 9: {
+            LogStep(9, "DUT_CE is commissioned to TH_CR3 on Fabric ID3 with Node ID3");
             VerifyOrDo(!ShouldSkip("CADMIN.S"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
             value.nodeId = mNodeId3.HasValue() ? mNodeId3.Value() : 12586990ULL;
             return WaitForCommissionee(kIdentityGamma, value);
         }
-        case 9: {
-            LogStep(9, "TH_CR1 opens a commissioning window on DUT_CE");
+        case 10: {
+            LogStep(10, "TH_CR1 opens a commissioning window on DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value;
@@ -87926,23 +88056,23 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
 
             );
         }
-        case 10: {
-            LogStep(10, "TH_CR2 starts a commissioning process with DUT_CE");
+        case 11: {
+            LogStep(11, "TH_CR2 starts a commissioning process with DUT_CE");
             ListFreer listFreer;
             chip::app::Clusters::CommissionerCommands::Commands::PairWithCode::Type value;
             value.nodeId  = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL;
             value.payload = mPayload.HasValue() ? mPayload.Value() : chip::Span<const char>("MT:-24J0AFN00KA0648G00", 22);
             return PairWithCode(kIdentityBeta, value);
         }
-        case 11: {
-            LogStep(11, "DUT_CE is commissioned to TH_CR2 on Fabric ID2 with Node ID2");
+        case 12: {
+            LogStep(12, "DUT_CE is commissioned to TH_CR2 on Fabric ID2 with Node ID2");
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
             value.nodeId = mNodeId2.HasValue() ? mNodeId2.Value() : 51966ULL;
             return WaitForCommissionee(kIdentityBeta, value);
         }
-        case 12: {
-            LogStep(12, "TH_CR1 opens a commissioning window on DUT_CE");
+        case 13: {
+            LogStep(13, "TH_CR1 opens a commissioning window on DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenBasicCommissioningWindow::Type value;
@@ -87953,8 +88083,8 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
 
             );
         }
-        case 13: {
-            LogStep(13, "TH_CR1 opens a 2nd commissioning window on DUT_CE");
+        case 14: {
+            LogStep(14, "TH_CR1 opens a 2nd commissioning window on DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value;
@@ -87976,21 +88106,21 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
 
             );
         }
-        case 14: {
-            LogStep(14, "TH_CR1 reads the list of Fabrics on DUT_CE");
+        case 15: {
+            LogStep(15, "TH_CR1 reads the list of Fabrics on DUT_CE");
             VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id,
                                  OperationalCredentials::Attributes::Fabrics::Id, false, chip::NullOptional);
         }
-        case 15: {
-            LogStep(15, "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds");
+        case 16: {
+            LogStep(16, "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds");
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
             value.ms = 180000UL;
             return WaitForMs(kIdentityAlpha, value);
         }
-        case 16: {
-            LogStep(16, "TH_CR1 re-opens new commissioning window on DUT_CE using ECM");
+        case 17: {
+            LogStep(17, "TH_CR1 re-opens new commissioning window on DUT_CE using ECM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value;
@@ -88012,14 +88142,24 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
 
             );
         }
-        case 17: {
-            LogStep(17, "TH_CR1 reads WindowStatus attribute from DUT_CE");
+        case 18: {
+            LogStep(18, "TH_CR1 reads WindowStatus attribute from DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id,
                                  AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional);
         }
-        case 18: {
-            LogStep(18, "TH_CR3 opens a 2nd commissioning window on DUT_CE");
+        case 19: {
+            LogStep(19, "Verify that the DNS-SD advertisement shows CM=2");
+            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, "TH_CR3 opens a 2nd commissioning window on DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value;
@@ -88041,21 +88181,21 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
 
             );
         }
-        case 19: {
-            LogStep(19, "TH_CR1 reads the list of Fabrics on DUT_CE");
+        case 21: {
+            LogStep(21, "TH_CR1 reads the list of Fabrics on DUT_CE");
             VerifyOrDo(!ShouldSkip("OPCREDS.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id,
                                  OperationalCredentials::Attributes::Fabrics::Id, false, chip::NullOptional);
         }
-        case 20: {
-            LogStep(20, "Wait for the expiration of PIXIT_COMM_WIN seconds");
+        case 22: {
+            LogStep(22, "Wait for the expiration of PIXIT_COMM_WIN seconds");
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
             value.ms = 180000UL;
             return WaitForMs(kIdentityAlpha, value);
         }
-        case 21: {
-            LogStep(21, "TH_CR1 opens a new commissioning window on DUT_CE");
+        case 23: {
+            LogStep(23, "TH_CR1 opens a new commissioning window on DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value;
@@ -88077,8 +88217,8 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
 
             );
         }
-        case 22: {
-            LogStep(22, "TH_CR2 opens a 2nd commissioning window on DUT_CE using ECM");
+        case 24: {
+            LogStep(24, "TH_CR2 opens a 2nd commissioning window on DUT_CE using ECM");
             VerifyOrDo(!ShouldSkip("CADMIN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             ListFreer listFreer;
             chip::app::Clusters::AdministratorCommissioning::Commands::OpenCommissioningWindow::Type value;
@@ -88100,27 +88240,27 @@ class Test_TC_CADMIN_1_13Suite : public TestCommand
 
             );
         }
-        case 23: {
-            LogStep(23, "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds");
+        case 25: {
+            LogStep(25, "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds");
             ListFreer listFreer;
             chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
             value.ms = 180000UL;
             return WaitForMs(kIdentityAlpha, value);
         }
-        case 24: {
-            LogStep(24, "TH_CR1 reads WindowStatus attribute from DUT_CE");
+        case 26: {
+            LogStep(26, "TH_CR1 reads WindowStatus attribute from DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id,
                                  AdministratorCommissioning::Attributes::WindowStatus::Id, true, chip::NullOptional);
         }
-        case 25: {
-            LogStep(25, "TH_CR1 reads AdminFabricIndex attribute from DUT_CE");
+        case 27: {
+            LogStep(27, "TH_CR1 reads AdminFabricIndex attribute from DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id,
                                  AdministratorCommissioning::Attributes::AdminFabricIndex::Id, true, chip::NullOptional);
         }
-        case 26: {
-            LogStep(26, "TH_CR1 reads AdminVendorId attribute from DUT_CE");
+        case 28: {
+            LogStep(28, "TH_CR1 reads AdminVendorId attribute from DUT_CE");
             VerifyOrDo(!ShouldSkip("CADMIN.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AdministratorCommissioning::Id,
                                  AdministratorCommissioning::Attributes::AdminVendorId::Id, true, chip::NullOptional);
@@ -98310,12 +98450,12 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 7: {
             LogStep(7, "3b:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 8: {
             LogStep(8, "3b:Reads GlobalSceneControl attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4000 && OO.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::GlobalSceneControl::Id, true,
                                  chip::NullOptional);
         }
@@ -98338,12 +98478,12 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 11: {
             LogStep(11, "4b:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 12: {
             LogStep(12, "4b:Reads GlobalSceneControl attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4000 && OO.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::GlobalSceneControl::Id, true,
                                  chip::NullOptional);
         }
@@ -98368,12 +98508,12 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 15: {
             LogStep(15, "5b:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 &&  OO.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 16: {
             LogStep(16, "5b:Reads GlobalSceneControl attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4000 && OO.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::GlobalSceneControl::Id, true,
                                  chip::NullOptional);
         }
@@ -98395,12 +98535,12 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 19: {
             LogStep(19, "5d:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 20: {
             LogStep(20, "5d:Reads GlobalSceneControl attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4000 && OO.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::GlobalSceneControl::Id, true,
                                  chip::NullOptional);
         }
@@ -98425,12 +98565,12 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 23: {
             LogStep(23, "6b:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 24: {
             LogStep(24, "6b:Reads GlobalSceneControl attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4000 && OO.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::GlobalSceneControl::Id, true,
                                  chip::NullOptional);
         }
@@ -98452,12 +98592,12 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 27: {
             LogStep(27, "7b:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 28: {
             LogStep(28, "7b:Reads GlobalSceneControl attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4000 && OO.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::GlobalSceneControl::Id, true,
                                  chip::NullOptional);
         }
@@ -98480,12 +98620,12 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 31: {
             LogStep(31, "7d:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 32: {
             LogStep(32, "7d:Reads GlobalSceneControl attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4000 && OO.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::GlobalSceneControl::Id, true,
                                  chip::NullOptional);
         }
@@ -98516,18 +98656,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 36: {
             LogStep(36, "9b:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 37: {
             LogStep(37, "9b:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 38: {
             LogStep(38, "9b:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -98606,18 +98746,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 46: {
             LogStep(46, "10e:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 47: {
             LogStep(47, "10e:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 48: {
             LogStep(48, "10e:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -98642,18 +98782,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 51: {
             LogStep(51, "11b:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 52: {
             LogStep(52, "11b:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 53: {
             LogStep(53, "11b:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -98679,18 +98819,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 56: {
             LogStep(56, "12b:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 57: {
             LogStep(57, "12b:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 58: {
             LogStep(58, "12b:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -98712,18 +98852,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 61: {
             LogStep(61, "13b:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 62: {
             LogStep(62, "13b:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 63: {
             LogStep(63, "13b:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -98765,18 +98905,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 68: {
             LogStep(68, "14c:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 69: {
             LogStep(69, "14c:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 70: {
             LogStep(70, "14c:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -98826,18 +98966,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 77: {
             LogStep(77, "16b:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 78: {
             LogStep(78, "16b:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 79: {
             LogStep(79, "16b:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -98872,18 +99012,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 83: {
             LogStep(83, "17c:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 84: {
             LogStep(84, "17c:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 85: {
             LogStep(85, "17c:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -98896,18 +99036,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 87: {
             LogStep(87, "17d:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 88: {
             LogStep(88, "17d:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 89: {
             LogStep(89, "17d:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -98933,18 +99073,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 92: {
             LogStep(92, "18b:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 93: {
             LogStep(93, "18b:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 94: {
             LogStep(94, "18b:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -98990,18 +99130,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 99: {
             LogStep(99, "19c:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 100: {
             LogStep(100, "19c:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 101: {
             LogStep(101, "19c:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -99016,18 +99156,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 103: {
             LogStep(103, "20b:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 104: {
             LogStep(104, "20b:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 105: {
             LogStep(105, "20b:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -99053,18 +99193,19 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 108: {
             LogStep(108, "21b:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 109: {
             LogStep(109, "21b:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 110: {
             LogStep(110, "21b:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002 && PICS_SKIP_SAMPLE_APP"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && PICS_SKIP_SAMPLE_APP && OO.S.C42.Rsp"),
+                       return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -99079,18 +99220,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 112: {
             LogStep(112, "22b:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 113: {
             LogStep(113, "22b:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 114: {
             LogStep(114, "22b:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -99125,18 +99266,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 118: {
             LogStep(118, "23c:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 119: {
             LogStep(119, "23c:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 120: {
             LogStep(120, "23c:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -99149,18 +99290,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 122: {
             LogStep(122, "23d:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 123: {
             LogStep(123, "23d:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 124: {
             LogStep(124, "23d:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
@@ -99179,18 +99320,18 @@ class Test_TC_OO_2_3Suite : public TestCommand
         }
         case 126: {
             LogStep(126, "24b:Reads OnOff attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A0000 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnOff::Id, true, chip::NullOptional);
         }
         case 127: {
             LogStep(127, "24b:Reads OnTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4001"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4001 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OnTime::Id, true,
                                  chip::NullOptional);
         }
         case 128: {
             LogStep(128, "24b:Reads OffWaitTime attribute from DUT");
-            VerifyOrDo(!ShouldSkip("OO.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
+            VerifyOrDo(!ShouldSkip("OO.S.A4002 && OO.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR));
             return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::OffWaitTime::Id, true,
                                  chip::NullOptional);
         }
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 9db41eefa5797c..6936b07102317a 100644
--- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
+++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
@@ -29126,8 +29126,8 @@ class Test_TC_LVL_4_1 : public TestCommandBridge {
             err = TestThReadsCurrentLevelAttributeFromDut_21();
             break;
         case 22:
-            ChipLogProgress(chipTool, " ***** Test Step 22 : Wait 13s\n");
-            err = TestWait13s_22();
+            ChipLogProgress(chipTool, " ***** Test Step 22 : Wait 19s\n");
+            err = TestWait19s_22();
             break;
         case 23:
             ChipLogProgress(chipTool, " ***** Test Step 23 : TH reads CurrentLevel attribute from DUT\n");
@@ -29691,10 +29691,10 @@ class Test_TC_LVL_4_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestWait13s_22()
+    CHIP_ERROR TestWait19s_22()
     {
         chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value;
-        value.ms = 13000UL;
+        value.ms = 19000UL;
         return WaitForMs("alpha", value);
     }
 
@@ -29711,10 +29711,10 @@ class Test_TC_LVL_4_1 : public TestCommandBridge {
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
 
-            if (value != nil) {
-
-                VerifyOrReturn(CheckConstraintMinValue<uint8_t>("currentLevel", [value unsignedCharValue], 216U));
-                VerifyOrReturn(CheckConstraintMaxValue<uint8_t>("currentLevel", [value unsignedCharValue], 254U));
+            {
+                id actualValue = value;
+                VerifyOrReturn(CheckValueNonNull("CurrentLevel", actualValue));
+                VerifyOrReturn(CheckValue("CurrentLevel", actualValue, 254U));
             }
 
             NextTest();