From 793b089324a41edd78ec3efaa6e2e6f8d1c7d11e Mon Sep 17 00:00:00 2001
From: manjunath-grl <102359958+manjunath-grl@users.noreply.github.com>
Date: Fri, 8 Dec 2023 03:28:22 +0530
Subject: [PATCH] Fix YAML scripts Dec 07 (#30869)

* Fixes issue: 8, 21, 70, 71, 72, 75, 76
Modified tests:
TC_BIND_2_1
TC_CC_1_1
TC_CC_2_1
TC_CC_3_2
TC_CC_3_3
TC_CC_8_1
TC_FLABEL_1_1
TC_G_2_2
TC_G_2_3
TC_LTIME_1_2
TC_MOD_1_1
TC_OCC_1_1
TC_OCC_2_1
TC_OO_1_1
TC_SC_5_2

* Auto generated files

* Restyled by whitespace

---------

Co-authored-by: Restyled.io <commits@restyled.io>
---
 src/app/tests/suites/certification/PICS.yaml  |    6 +
 .../certification/Test_TC_BIND_2_1.yaml       |    2 +
 .../suites/certification/Test_TC_CC_1_1.yaml  |  284 +--
 .../suites/certification/Test_TC_CC_2_1.yaml  |    2 +-
 .../suites/certification/Test_TC_CC_3_2.yaml  |   29 +-
 .../suites/certification/Test_TC_CC_3_3.yaml  |   54 +-
 .../suites/certification/Test_TC_CC_8_1.yaml  |   53 +-
 .../certification/Test_TC_FLABEL_1_1.yaml     |    2 +-
 .../suites/certification/Test_TC_G_2_2.yaml   |   31 +
 .../suites/certification/Test_TC_G_2_3.yaml   |   18 +-
 .../certification/Test_TC_LTIME_1_2.yaml      |   10 +-
 .../suites/certification/Test_TC_MOD_1_1.yaml |    6 +-
 .../suites/certification/Test_TC_OCC_1_1.yaml |  123 +-
 .../suites/certification/Test_TC_OCC_2_1.yaml |   53 +-
 .../suites/certification/Test_TC_OO_1_1.yaml  |    4 +-
 .../suites/certification/Test_TC_SC_5_2.yaml  |   67 +-
 .../tests/suites/certification/ci-pics-values |    2 +
 .../zap-generated/test/Commands.h             | 1539 ++++++++++-------
 18 files changed, 1411 insertions(+), 874 deletions(-)

diff --git a/src/app/tests/suites/certification/PICS.yaml b/src/app/tests/suites/certification/PICS.yaml
index 996883dd700d28..c54661aae78564 100644
--- a/src/app/tests/suites/certification/PICS.yaml
+++ b/src/app/tests/suites/certification/PICS.yaml
@@ -7133,6 +7133,12 @@ PICS:
     - label: "Does the DUT (Client) support 24 Hr Hour Format ?"
       id: LTIME.C.A0000.24HR
 
+    #Features
+    - label:
+          "Can the device be configured to use different calendar formats when
+          conveying values to a user ?"
+      id: LTIME.S.F00
+
     # Unit Localization Cluster Test Plan
     - label: "Does the device implement the Unit Localization as a server?"
       id: LUNIT.S
diff --git a/src/app/tests/suites/certification/Test_TC_BIND_2_1.yaml b/src/app/tests/suites/certification/Test_TC_BIND_2_1.yaml
index 4abaa89d9844b9..25e3e7825cd7ac 100644
--- a/src/app/tests/suites/certification/Test_TC_BIND_2_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_BIND_2_1.yaml
@@ -17,6 +17,8 @@ name: 119.2.1. [TC-BIND-2.1] Binding Cluster Attributes-Node [DUT-Controller]
 
 PICS:
     - BIND.C
+    - MCORE.ROLE.CONTROLLER
+    - "!MCORE.DT_SW_COMP"
 
 config:
     nodeId: 0x12344321
diff --git a/src/app/tests/suites/certification/Test_TC_CC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_1_1.yaml
index 0b8780331b8f13..b80e541799ba32 100644
--- a/src/app/tests/suites/certification/Test_TC_CC_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CC_1_1.yaml
@@ -23,7 +23,7 @@ config:
     endpoint: 1
 
 tests:
-    - label: "Step 1: Wait for the commissioned device to be retrieved"
+    - label: "Step 1: Commission DUT to TH"
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -31,7 +31,8 @@ tests:
               - name: "nodeId"
                 value: nodeId
 
-    - label: "Step 2: read the global attribute: ClusterRevision"
+    - label:
+          "Step 2: TH reads from the DUT the (0xFFFD) ClusterRevision attribute"
       command: "readAttribute"
       attribute: "ClusterRevision"
       response:
@@ -39,7 +40,7 @@ tests:
           constraints:
               type: int16u
 
-    - label: "Step 3a: Read the global attribute: FeatureMap"
+    - label: "Step 3a: TH reads from the DUT the (0xFFFC) FeatureMap attribute"
       PICS: ( !CC.S.F00 && !CC.S.F01 && !CC.S.F02 && !CC.S.F03 && !CC.S.F04 )
       command: "readAttribute"
       attribute: "FeatureMap"
@@ -99,7 +100,8 @@ tests:
               type: bitmap32
               hasMasksSet: [0x10]
 
-    - label: "Step 4a: Read the global attribute: AttributeList"
+    - label:
+          "Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute"
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "AttributeList"
@@ -110,6 +112,7 @@ tests:
                   [
                       8,
                       15,
+                      16,
                       16385,
                       16394,
                       65528,
@@ -120,17 +123,21 @@ tests:
                       65533,
                   ]
 
-    - label: "Step 4a: Read the global attribute: AttributeList"
+    - label:
+          "Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute"
       PICS: "!PICS_EVENT_LIST_ENABLED"
       command: "readAttribute"
       attribute: "AttributeList"
       response:
           constraints:
               type: list
-              contains: [8, 15, 16385, 16394, 65528, 65529, 65531, 65532, 65533]
+              contains:
+                  [8, 15, 16, 16385, 16394, 65528, 65529, 65531, 65532, 65533]
 
-    - label: "Step 4b: Read the optional attribute(CurrentHue) in AttributeList"
-      PICS: CC.S.A0000
+    - label:
+          "Step 4b: TH reads feature dependent attribute (CurrentHue) in
+          AttributeList"
+      PICS: CC.S.F00 && CC.S.A0000
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -139,9 +146,9 @@ tests:
               contains: [0]
 
     - label:
-          "Step 4c: Read the optional attribute(CurrentSaturation) in
+          "Step 4c: TH reads feature dependent attribute (CurrentSaturation) in
           AttributeList"
-      PICS: CC.S.A0001
+      PICS: CC.S.F00 && CC.S.A0001
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -150,7 +157,8 @@ tests:
               contains: [1]
 
     - label:
-          "Step 4d: Read the optional attribute(RemainingTime) in AttributeList"
+          "Step 4d: TH reads the optional attribute(RemainingTime) in
+          AttributeList"
       PICS: CC.S.A0002
       command: "readAttribute"
       attribute: "AttributeList"
@@ -159,8 +167,10 @@ tests:
               type: list
               contains: [2]
 
-    - label: "Step 4e: Read the optional attribute(CurrentX) in AttributeList"
-      PICS: CC.S.A0003
+    - label:
+          "Step 4e:  TH reads feature dependent attribute (CurrentX) in
+          AttributeList"
+      PICS: CC.S.F03 && CC.S.A0003
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -168,8 +178,10 @@ tests:
               type: list
               contains: [3]
 
-    - label: "Step 4f: Read the optional attribute(CurrentY) in AttributeList"
-      PICS: CC.S.A0004
+    - label:
+          "Step 4f: TH reads feature dependent attribute (CurrentY) in
+          AttributeList"
+      PICS: CC.S.F03 && CC.S.A0004
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -178,7 +190,7 @@ tests:
               contains: [4]
 
     - label:
-          "Step 4g: Read the optional attribute(DriftCompensation) in
+          "Step 4g: TH reads the optional attribute(DriftCompensation) in
           AttributeList"
       PICS: CC.S.A0005
       command: "readAttribute"
@@ -189,7 +201,7 @@ tests:
               contains: [5]
 
     - label:
-          "Step 4h: Read the optional attribute(CompensationText) in
+          "Step 4h: TH reads the optional attribute(CompensationText) in
           AttributeList"
       PICS: CC.S.A0006
       command: "readAttribute"
@@ -200,9 +212,9 @@ tests:
               contains: [6]
 
     - label:
-          "Step 4i: Read the optional attribute(ColorTemperatureMireds) in
-          AttributeList"
-      PICS: CC.S.A0007
+          "Step 4i: TH reads feature dependent attribute
+          (ColorTemperatureMireds) in AttributeList"
+      PICS: CC.S.F04 && CC.S.A0007
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -210,18 +222,7 @@ tests:
               type: list
               contains: [7]
 
-    - label:
-          "Step 4j: Read the optional attribute(NumberOfPrimaries) in
-          AttributeList"
-      PICS: CC.S.A0010
-      command: "readAttribute"
-      attribute: "AttributeList"
-      response:
-          constraints:
-              type: list
-              contains: [16]
-
-    - label: "Step 4k: Read the optional attribute(Primary1X) in AttributeList"
+    - label: "Step 4j: TH reads the Primary1X attribute in AttributeList"
       PICS: CC.S.A0011
       command: "readAttribute"
       attribute: "AttributeList"
@@ -230,7 +231,7 @@ tests:
               type: list
               contains: [17]
 
-    - label: "Step 4l: Read the optional attribute(Primary1Y) in AttributeList"
+    - label: "Step 4k: TH reads the Primary1Y attribute in AttributeList"
       PICS: CC.S.A0012
       command: "readAttribute"
       attribute: "AttributeList"
@@ -240,8 +241,7 @@ tests:
               contains: [18]
 
     - label:
-          "Step 4m: Read the optional attribute(Primary1Intensity) in
-          AttributeList"
+          "Step 4l: TH reads the Primary1Intensity attribute in AttributeList"
       PICS: CC.S.A0013
       command: "readAttribute"
       attribute: "AttributeList"
@@ -250,7 +250,7 @@ tests:
               type: list
               contains: [19]
 
-    - label: "Step 4n: Read the optional attribute(Primary2X) in AttributeList"
+    - label: "Step 4m: TH reads the Primary2X attribute in AttributeList"
       PICS: CC.S.A0015
       command: "readAttribute"
       attribute: "AttributeList"
@@ -259,7 +259,7 @@ tests:
               type: list
               contains: [21]
 
-    - label: "Step 4o: Read the optional attribute(Primary2Y) in AttributeList"
+    - label: "Step 4n: TH reads the Primary2Y attribute in AttributeList"
       PICS: CC.S.A0016
       command: "readAttribute"
       attribute: "AttributeList"
@@ -269,8 +269,7 @@ tests:
               contains: [22]
 
     - label:
-          "Step 4p: Read the optional attribute(Primary2Intensity) in
-          AttributeList"
+          "Step 4o: TH reads the Primary2Intensity attribute in AttributeList"
       PICS: CC.S.A0017
       command: "readAttribute"
       attribute: "AttributeList"
@@ -279,7 +278,7 @@ tests:
               type: list
               contains: [23]
 
-    - label: "Step 4q: Read the optional attribute(Primary3X) in AttributeList"
+    - label: "Step 4p: TH reads the Primary3X attribute in AttributeList"
       PICS: CC.S.A0019
       command: "readAttribute"
       attribute: "AttributeList"
@@ -288,7 +287,7 @@ tests:
               type: list
               contains: [25]
 
-    - label: "Step 4r: Read the optional attribute(Primary3Y) in AttributeList"
+    - label: "Step 4q: TH reads the Primary3Y attribute in AttributeList"
       PICS: CC.S.A001a
       command: "readAttribute"
       attribute: "AttributeList"
@@ -298,8 +297,7 @@ tests:
               contains: [26]
 
     - label:
-          "Step 4s: Read the optional attribute(Primary3Intensity) in
-          AttributeList"
+          "Step 4r: TH reads the Primary3Intensity attribute in AttributeList"
       PICS: CC.S.A001b
       command: "readAttribute"
       attribute: "AttributeList"
@@ -308,7 +306,7 @@ tests:
               type: list
               contains: [27]
 
-    - label: "Step 4t: Read the optional attribute(Primary4X) in AttributeList"
+    - label: "Step 4s: TH reads the Primary4X attribute in AttributeList"
       PICS: CC.S.A0020
       command: "readAttribute"
       attribute: "AttributeList"
@@ -317,7 +315,7 @@ tests:
               type: list
               contains: [32]
 
-    - label: "Step 4u: Read the optional attribute(Primary4Y) in AttributeList"
+    - label: "Step 4t: TH reads the Primary4Y attribute in AttributeList"
       PICS: CC.S.A0021
       command: "readAttribute"
       attribute: "AttributeList"
@@ -327,8 +325,7 @@ tests:
               contains: [33]
 
     - label:
-          "Step 4v: Read the optional attribute(Primary4Intensity) in
-          AttributeList"
+          "Step 4u: TH reads the Primary4Intensity attribute in AttributeList"
       PICS: CC.S.A0022
       command: "readAttribute"
       attribute: "AttributeList"
@@ -337,7 +334,7 @@ tests:
               type: list
               contains: [34]
 
-    - label: "Step 4w: Read the optional attribute(Primary5X) in AttributeList"
+    - label: "Step 4v: TH reads the Primary5X attribute in AttributeList"
       PICS: CC.S.A0024
       command: "readAttribute"
       attribute: "AttributeList"
@@ -346,7 +343,7 @@ tests:
               type: list
               contains: [36]
 
-    - label: "Step 4x: Read the optional attribute(Primary5Y) in AttributeList"
+    - label: "Step 4w: TH reads the Primary5Y attribute in AttributeList"
       PICS: CC.S.A0025
       command: "readAttribute"
       attribute: "AttributeList"
@@ -356,8 +353,7 @@ tests:
               contains: [37]
 
     - label:
-          "Step 4y: Read the optional attribute(Primary5Intensity) in
-          AttributeList"
+          "Step 4x: TH reads the Primary5Intensity attribute in AttributeList"
       PICS: CC.S.A0026
       command: "readAttribute"
       attribute: "AttributeList"
@@ -366,7 +362,7 @@ tests:
               type: list
               contains: [38]
 
-    - label: "Step 4z: Read the optional attribute(Primary6X) in AttributeList"
+    - label: "Step 4y: TH reads the Primary6X attribute in AttributeList"
       PICS: CC.S.A0028
       command: "readAttribute"
       attribute: "AttributeList"
@@ -375,7 +371,7 @@ tests:
               type: list
               contains: [40]
 
-    - label: "Step 4a1: Read the optional attribute(Primary6Y) in AttributeList"
+    - label: "Step 4z: TH reads the Primary6Y attribute in AttributeList"
       PICS: CC.S.A0029
       command: "readAttribute"
       attribute: "AttributeList"
@@ -385,8 +381,7 @@ tests:
               contains: [41]
 
     - label:
-          "Step 4a2: Read the optional attribute(Primary6Intensity) in
-          AttributeList"
+          "Step 4a1: TH reads the Primary6Intensity attribute in AttributeList"
       PICS: CC.S.A002a
       command: "readAttribute"
       attribute: "AttributeList"
@@ -396,7 +391,8 @@ tests:
               contains: [42]
 
     - label:
-          "Step 4a3: Read the optional attribute(WhitePointX) in AttributeList"
+          "Step 4a2: TH reads the optional attribute(WhitePointX) in
+          AttributeList"
       PICS: CC.S.A0030
       command: "readAttribute"
       attribute: "AttributeList"
@@ -406,7 +402,8 @@ tests:
               contains: [48]
 
     - label:
-          "Step 4a4: Read the optional attribute(WhitePointY) in AttributeList"
+          "Step 4a3: TH reads the optional attribute(WhitePointY) in
+          AttributeList"
       PICS: CC.S.A0031
       command: "readAttribute"
       attribute: "AttributeList"
@@ -416,7 +413,8 @@ tests:
               contains: [49]
 
     - label:
-          "Step 4a5: Read the optional attribute(ColorPointRX) in AttributeList"
+          "Step 4a4: TH reads the optional attribute(ColorPointRX) in
+          AttributeList"
       PICS: CC.S.A0032
       command: "readAttribute"
       attribute: "AttributeList"
@@ -426,7 +424,8 @@ tests:
               contains: [50]
 
     - label:
-          "Step 4a6: Read the optional attribute(ColorPointRY) in AttributeList"
+          "Step 4a5: TH reads the optional attribute(ColorPointRY) in
+          AttributeList"
       PICS: CC.S.A0033
       command: "readAttribute"
       attribute: "AttributeList"
@@ -436,7 +435,7 @@ tests:
               contains: [51]
 
     - label:
-          "Step 4a7: Read the optional attribute(ColorPointRIntensity) in
+          "Step 4a6: TH reads the optional attribute(ColorPointRIntensity) in
           AttributeList"
       PICS: CC.S.A0034
       command: "readAttribute"
@@ -447,7 +446,8 @@ tests:
               contains: [52]
 
     - label:
-          "Step 4a8: Read the optional attribute(ColorPointGX) in AttributeList"
+          "Step 4a7: TH reads the optional attribute(ColorPointGX) in
+          AttributeList"
       PICS: CC.S.A0036
       command: "readAttribute"
       attribute: "AttributeList"
@@ -457,7 +457,8 @@ tests:
               contains: [54]
 
     - label:
-          "Step 4a9: Read the optional attribute(ColorPointGY) in AttributeList"
+          "Step 4a8: TH reads the optional attribute(ColorPointGY) in
+          AttributeList"
       PICS: CC.S.A0037
       command: "readAttribute"
       attribute: "AttributeList"
@@ -467,7 +468,7 @@ tests:
               contains: [55]
 
     - label:
-          "Step 4a10: Read the optional attribute(ColorPointGIntensity) in
+          "Step 4a9: TH reads the optional attribute(ColorPointGIntensity) in
           AttributeList"
       PICS: CC.S.A0038
       command: "readAttribute"
@@ -478,7 +479,8 @@ tests:
               contains: [56]
 
     - label:
-          "Step 4a11: Read the optional attribute(ColorPointBX) in AttributeList"
+          "Step 4a10: TH reads the optional attribute(ColorPointBX) in
+          AttributeList"
       PICS: CC.S.A003a
       command: "readAttribute"
       attribute: "AttributeList"
@@ -488,7 +490,8 @@ tests:
               contains: [58]
 
     - label:
-          "Step 4a12: Read the optional attribute(ColorPointBY) in AttributeList"
+          "Step 4a11: TH reads the optional attribute(ColorPointBY) in
+          AttributeList"
       PICS: CC.S.A003b
       command: "readAttribute"
       attribute: "AttributeList"
@@ -498,7 +501,7 @@ tests:
               contains: [59]
 
     - label:
-          "Step 4a13: Read the optional attribute(ColorPointBIntensity) in
+          "Step 4a12: TH reads the optional attribute(ColorPointBIntensity) in
           AttributeList"
       PICS: CC.S.A003c
       command: "readAttribute"
@@ -509,9 +512,9 @@ tests:
               contains: [60]
 
     - label:
-          "Step 4a14: Read the optional attribute(EnhancedCurrentHue) in
-          AttributeList"
-      PICS: CC.S.A4000
+          "Step 4a13: TH reads feature dependent attribute (EnhancedCurrentHue)
+          in AttributeList"
+      PICS: CC.S.F01 && CC.S.A4000
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -520,9 +523,9 @@ tests:
               contains: [16384]
 
     - label:
-          "Step 4a15: Read the optional attribute(ColorLoopActive) in
+          "Step 4a14: TH reads feature dependent attribute (ColorLoopActive) in
           AttributeList"
-      PICS: CC.S.A4002
+      PICS: CC.S.F02 && CC.S.A4002
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -531,9 +534,9 @@ tests:
               contains: [16386]
 
     - label:
-          "Step 4a16: Read the optional attribute(ColorLoopDirection) in
-          AttributeList"
-      PICS: CC.S.A4003
+          "Step 4a15: TH reads feature dependent attribute (ColorLoopDirection)
+          in AttributeList"
+      PICS: CC.S.F02 && CC.S.A4003
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -542,9 +545,9 @@ tests:
               contains: [16387]
 
     - label:
-          "Step 4a17: Read the optional attribute(ColorLoopTime) in
+          "Step 4a16: TH reads feature dependent attribute (ColorLoopTime) in
           AttributeList"
-      PICS: CC.S.A4004
+      PICS: CC.S.F02 && CC.S.A4004
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -553,9 +556,9 @@ tests:
               contains: [16388]
 
     - label:
-          "Step 4a18: Read the optional attribute(ColorLoopStartEnhancedHue) in
-          AttributeList"
-      PICS: CC.S.A4005
+          "Step 4a17: TH reads feature dependent attribute
+          (ColorLoopStartEnhancedHue) in AttributeList"
+      PICS: CC.S.F02 && CC.S.A4005
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -564,9 +567,9 @@ tests:
               contains: [16389]
 
     - label:
-          "Step 4a19: Read the optional attribute(ColorLoopStoredEnhancedHue) in
-          AttributeList"
-      PICS: CC.S.A4006
+          "Step 4a18: TH reads feature dependent attribute
+          (ColorLoopStoredEnhancedHue) in AttributeList"
+      PICS: CC.S.F02 && CC.S.A4006
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -575,9 +578,9 @@ tests:
               contains: [16390]
 
     - label:
-          "Step 4a20: Read the optional attribute(ColorTempPhysicalMinMireds) in
-          AttributeList"
-      PICS: CC.S.A400b
+          "Step 4a19: TH reads feature dependent attribute
+          (ColorTempPhysicalMinMireds) in AttributeList"
+      PICS: CC.S.F04 && CC.S.A400b
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -586,9 +589,9 @@ tests:
               contains: [16395]
 
     - label:
-          "Step 4a21: Read the optional attribute(ColorTempPhysicalMaxMireds) in
-          AttributeList"
-      PICS: CC.S.A400c
+          "Step 4a20: TH reads feature dependent attribute
+          (ColorTempPhysicalMaxMireds) in AttributeList"
+      PICS: CC.S.F04 && CC.S.A400c
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -597,9 +600,9 @@ tests:
               contains: [16396]
 
     - label:
-          "Step 4a22: Read the optional
-          attribute(CoupleColorTempToLevelMinMireds) in AttributeList"
-      PICS: CC.S.A400d
+          "Step 4a21:TH reads feature dependent attribute
+          (CoupleColorTempToLevelMinMireds) in AttributeList"
+      PICS: CC.S.F04 && CC.S.A400d
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -608,9 +611,9 @@ tests:
               contains: [16397]
 
     - label:
-          "Step 4a23: Read the optional attribute(StartUpColorTemperatureMireds)
-          in AttributeList"
-      PICS: CC.S.A4010
+          "Step 4a22: TH reads feature dependent attribute
+          (StartUpColorTemperatureMireds) in AttributeList"
+      PICS: CC.S.F04 && CC.S.A4010
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -618,7 +621,7 @@ tests:
               type: list
               contains: [16400]
 
-    - label: "Step 5: Read the global attribute: EventList"
+    - label: "Step 5: TH reads from the DUT the (0xFFFA) EventList attribute"
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "EventList"
@@ -628,8 +631,9 @@ tests:
               type: list
 
     - label:
-          "Step 6a: Read the optional command(MoveToHue) in AcceptedCommandList"
-      PICS: CC.S.C00.Rsp
+          "Step 6a: TH reads feature dependent command(MoveToHue) in
+          AcceptedCommandList"
+      PICS: CC.S.F00 && CC.S.C00.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -638,8 +642,9 @@ tests:
               contains: [0]
 
     - label:
-          "Step 6b: Read the optional command(MoveHue) in AcceptedCommandList"
-      PICS: CC.S.C01.Rsp
+          "Step 6b: TH reads feature dependent command(MoveHue) in
+          AcceptedCommandList"
+      PICS: CC.S.F00 && CC.S.C01.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -648,8 +653,9 @@ tests:
               contains: [1]
 
     - label:
-          "Step 6c: Read the optional command(StepHue) in AcceptedCommandList"
-      PICS: CC.S.C02.Rsp
+          "Step 6c: TH reads feature dependent command(StepHue) in
+          AcceptedCommandList"
+      PICS: CC.S.F00 && CC.S.C02.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -658,9 +664,9 @@ tests:
               contains: [2]
 
     - label:
-          "Step 6d: Read the optional command(MoveToSaturation) in
+          "Step 6d: TH reads feature dependent command(MoveToSaturation) in
           AcceptedCommandList"
-      PICS: CC.S.C03.Rsp
+      PICS: CC.S.F00 && CC.S.C03.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -669,9 +675,9 @@ tests:
               contains: [3]
 
     - label:
-          "Step 6e: Read the optional command(MoveSaturation) in
+          "Step 6e: TH reads feature dependent command(MoveSaturation) in
           AcceptedCommandList"
-      PICS: CC.S.C04.Rsp
+      PICS: CC.S.F00 && CC.S.C04.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -680,9 +686,9 @@ tests:
               contains: [4]
 
     - label:
-          "Step 6f: Read the optional command(StepSaturation) in
+          "Step 6f: TH reads feature dependent command(StepSaturation) in
           AcceptedCommandList"
-      PICS: CC.S.C05.Rsp
+      PICS: CC.S.F00 && CC.S.C05.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -691,9 +697,9 @@ tests:
               contains: [5]
 
     - label:
-          "Step 6g: Read the optional command(MoveToHueAndSaturation) in
-          AcceptedCommandList"
-      PICS: CC.S.C06.Rsp
+          "Step 6g: TH reads feature dependent command(MoveToHueAndSaturation)
+          in AcceptedCommandList"
+      PICS: CC.S.F00 && CC.S.C06.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -702,9 +708,9 @@ tests:
               contains: [6]
 
     - label:
-          "Step 6h: Read the optional command(MoveToColor) in
+          "Step 6h:  TH reads feature dependent command(MoveToColor) in
           AcceptedCommandList"
-      PICS: CC.S.C07.Rsp
+      PICS: CC.S.F03 && CC.S.C07.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -713,8 +719,9 @@ tests:
               contains: [7]
 
     - label:
-          "Step 6i: Read the optional command(MoveColor) in AcceptedCommandList"
-      PICS: CC.S.C08.Rsp
+          "Step 6i: TH reads feature dependent command(MoveColor) in
+          AcceptedCommandList"
+      PICS: CC.S.F03 && CC.S.C08.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -723,8 +730,9 @@ tests:
               contains: [8]
 
     - label:
-          "Step 6j: Read the optional command(StepColor) in AcceptedCommandList"
-      PICS: CC.S.C09.Rsp
+          "Step 6j: TH reads feature dependent command(StepColor) in
+          AcceptedCommandList"
+      PICS: CC.S.F03 && CC.S.C09.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -733,9 +741,9 @@ tests:
               contains: [9]
 
     - label:
-          "Step 6k: Read the optional command(MoveToColorTemperature) in
-          AcceptedCommandList"
-      PICS: CC.S.C0a.Rsp
+          "Step 6k: TH reads feature dependent command(MoveToColorTemperature)
+          in AcceptedCommandList"
+      PICS: CC.S.F04 && CC.S.C0a.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -744,9 +752,9 @@ tests:
               contains: [10]
 
     - label:
-          "Step 6l: Read the optional command(EnhancedMoveToHue) in
+          "Step 6l: TH reads feature dependent command(EnhancedMoveToHue) in
           AcceptedCommandList"
-      PICS: CC.S.C40.Rsp
+      PICS: CC.S.F01 && CC.S.C40.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -755,9 +763,9 @@ tests:
               contains: [64]
 
     - label:
-          "Step 6m: Read the optional command(EnhancedMoveHue) in
+          "Step 6m: TH reads feature dependent command(EnhancedMoveHue) in
           AcceptedCommandList"
-      PICS: CC.S.C41.Rsp
+      PICS: CC.S.F01 && CC.S.C41.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -766,9 +774,9 @@ tests:
               contains: [65]
 
     - label:
-          "Step 6n: Read the optional command(EnhancedStepHue) in
+          "Step 6n: TH reads feature dependent command(EnhancedStepHue) in
           AcceptedCommandList"
-      PICS: CC.S.C42.Rsp
+      PICS: CC.S.F01 && CC.S.C42.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -777,9 +785,9 @@ tests:
               contains: [66]
 
     - label:
-          "Step 6o: Read the optional command(EnhancedMoveToHueAndSaturation) in
-          AcceptedCommandList"
-      PICS: CC.S.C43.Rsp
+          "Step 6o:TH reads feature dependent
+          command(EnhancedMoveToHueAndSaturation) in AcceptedCommandList"
+      PICS: CC.S.F01 && CC.S.C43.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -788,9 +796,9 @@ tests:
               contains: [67]
 
     - label:
-          "Step 6p: Read the optional command(ColorLoopSet) in
+          "Step 6p: TH reads feature dependent command(ColorLoopSet) in
           AcceptedCommandList"
-      PICS: CC.S.C44.Rsp
+      PICS: CC.S.F02 && CC.S.C44.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -799,9 +807,9 @@ tests:
               contains: [68]
 
     - label:
-          "Step 6q: Read the optional command(StopMoveStep) in
+          "Step 6q: TH reads feature dependent command(StopMoveStep) in
           AcceptedCommandList"
-      PICS: CC.S.C47.Rsp
+      PICS: CC.S.F00 && CC.S.F03 && CC.S.F04 && CC.S.C47.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -810,9 +818,9 @@ tests:
               contains: [71]
 
     - label:
-          "Step 6r: Read the optional command(MoveColorTemperature) in
+          "Step 6r: TH reads feature dependent command(StopMoveStep) in
           AcceptedCommandList"
-      PICS: CC.S.C4b.Rsp
+      PICS: CC.S.F04 && CC.S.C4b.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -821,9 +829,9 @@ tests:
               contains: [75]
 
     - label:
-          "Step 6s: Read the optional command(StepColorTemperature) in
+          "Step 6s: TH reads feature dependent command(StepColorTemperature) in
           AcceptedCommandList"
-      PICS: CC.S.C4c.Rsp
+      PICS: CC.S.F04 && CC.S.C4c.Rsp
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -831,7 +839,9 @@ tests:
               type: list
               contains: [76]
 
-    - label: "Step 7: Read the global attribute: GeneratedCommandList"
+    - label:
+          "Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList
+          attribute"
       command: "readAttribute"
       attribute: "GeneratedCommandList"
       response:
diff --git a/src/app/tests/suites/certification/Test_TC_CC_2_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_2_1.yaml
index a3b9531ab59c37..22416e7b4991d8 100644
--- a/src/app/tests/suites/certification/Test_TC_CC_2_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CC_2_1.yaml
@@ -178,7 +178,7 @@ tests:
           constraints:
               type: int16u
               minValue: 0
-              maxValue: 65534
+              maxValue: 65535
 
     - label: "Step 17: TH reads ColorLoopStartEnhancedHue attribute from DUT"
       PICS: CC.S.A4005
diff --git a/src/app/tests/suites/certification/Test_TC_CC_3_2.yaml b/src/app/tests/suites/certification/Test_TC_CC_3_2.yaml
index e431b2b9872510..f27e9dc762ead0 100644
--- a/src/app/tests/suites/certification/Test_TC_CC_3_2.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CC_3_2.yaml
@@ -95,14 +95,29 @@ tests:
               - name: "ms"
                 value: 10000
 
+    #Tolerance to be computed from the range
+    #Start value 200, expected value 250, 200 - 250 = -50, 50 % 15 = 8 , So 250+/-8 We need two range here as 254 is the max value
+    #242...254...0...4
+    #Multiple range not supported in YAML: https://github.com/project-chip/connectedhomeip/issues/23197
     - label: "Step 2c: TH reads CurrentHue attribute from DUT"
-      PICS: CC.S.F00 && CC.S.A0000
-      command: "readAttribute"
-      attribute: "CurrentHue"
-      response:
-          constraints:
-              minValue: 215
-              maxValue: 255
+      PICS: CC.S.F00 && CC.S.A0000 && PICS_SKIP_SAMPLE_APP
+      verification: |
+          ./chip-tool colorcontrol read current-hue 1 1
+
+          After 10 seconds, Verify that CurrentHue attribute  value is 250 On TH(chip-tool)  Logs and below is the sample log provided for the raspi platform
+
+          [1649662328.012887][8447:8452] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0000 DataVersion: 4087279986
+          [1649662328.012957][8447:8452] CHIP:TOO:   Current hue: 250
+          [1649662328.013055][8447:8452] CHIP:EM: Sending Standalone Ack for MessageCounter:8634142 on exchange 13871i
+          (Value can vary)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
 
     - label: "Wait 10s"
       PICS: CC.S.F00
diff --git a/src/app/tests/suites/certification/Test_TC_CC_3_3.yaml b/src/app/tests/suites/certification/Test_TC_CC_3_3.yaml
index 32e3a4fd6d8d6c..9bf07a69c99e66 100644
--- a/src/app/tests/suites/certification/Test_TC_CC_3_3.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CC_3_3.yaml
@@ -115,14 +115,29 @@ tests:
               - name: "ms"
                 value: 10000
 
+    #Tolerance to be computed from the range
+    #Start value 230, expected value 5, 230 - 5 = 225, 225 % 15 = 34 , So 5+/-34 We need two range here as 254 is the max value
+    #Range will be: 230...254...0...39
+    #Multiple range not supported in YAML: https://github.com/project-chip/connectedhomeip/issues/23197
     - label: "Step 2d: TH reads CurrentHue attribute from DUT"
-      PICS: CC.S.F00 && CC.S.A0000
-      command: "readAttribute"
-      attribute: "CurrentHue"
-      response:
-          constraints:
-              minValue: 4
-              maxValue: 6
+      PICS: CC.S.F00 && CC.S.A0000 && PICS_SKIP_SAMPLE_APP
+      verification: |
+          ./chip-tool colorcontrol read current-hue 1 1
+
+          After another 10 seconds , Verify that CurrentHue value is 5 On  TH(chip-tool)  Logs and below is the sample log provided for the raspi platform
+
+          [1649662328.012887][8447:8452] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0000 DataVersion: 4087279986
+          [1649662328.012957][8447:8452] CHIP:TOO:   Current hue: 5
+          [1649662328.013055][8447:8452] CHIP:EM: Sending Standalone Ack for MessageCounter:8634142 on exchange 13871i
+          (Value can vary)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
 
     - label: "Wait 5s"
       PICS: CC.S.F00
@@ -133,14 +148,25 @@ tests:
               - name: "ms"
                 value: 5000
 
+    #Multiple range not supported in YAML: https://github.com/project-chip/connectedhomeip/issues/23197
     - label: "Step 2e: TH reads CurrentHue attribute from DUT"
-      PICS: CC.S.F00 && CC.S.A0000
-      command: "readAttribute"
-      attribute: "CurrentHue"
-      response:
-          constraints:
-              minValue: 4
-              maxValue: 6
+      PICS: CC.S.F00 && CC.S.A0000 PICS_SKIP_SAMPLE_APP
+      verification: |
+          ./chip-tool colorcontrol read current-hue 1 1
+
+          After another 5 seconds , Verify that CurrentHue value is 5 On  TH(chip-tool)  Logs and below is the sample log provided for the raspi platform
+
+          [1649662328.012887][8447:8452] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0000 DataVersion: 4087279986
+          [1649662328.012957][8447:8452] CHIP:TOO:   Current hue: 5
+          [1649662328.013055][8447:8452] CHIP:EM: Sending Standalone Ack for MessageCounter:8634142 on exchange 13871i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
 
     - label:
           "Step 3a: TH sends MoveToHue command to DUT with Hue=50,
diff --git a/src/app/tests/suites/certification/Test_TC_CC_8_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_8_1.yaml
index 4406b0a35b6a98..f1b1e560cd2c58 100644
--- a/src/app/tests/suites/certification/Test_TC_CC_8_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_CC_8_1.yaml
@@ -44,7 +44,7 @@ tests:
       command: "On"
 
     - label:
-          "Step 2a: H sends MoveToHue command to DUT with Hue=200,
+          "Step 2a: TH sends MoveToHue command to DUT with Hue=200,
           Direction=0x00 (shortest distance) and TransitionTime=0 (immediately)."
       PICS: CC.S.C00.Rsp
       command: "MoveToHue"
@@ -103,14 +103,27 @@ tests:
               - name: "OptionsOverride"
                 value: 0
 
+    #Tolerance to be computed from the range
+    #Start value 200, expected value 250, 200 - 250 = -50, 50 % 15 = 8 , So 250+/-8 We need two range here as 254 is the max value
+    #242...254...0...4
+    #Multiple range not supported in YAML: https://github.com/project-chip/connectedhomeip/issues/23197
     - label: "Step 2d: TH reads CurrentHue attribute from DUT"
-      PICS: CC.S.A0000 && CC.S.C01.Rsp
-      command: "readAttribute"
-      attribute: "CurrentHue"
-      response:
-          constraints:
-              minValue: 216
-              maxValue: 254
+      PICS: CC.S.A0000 && CC.S.C01.Rsp && PICS_SKIP_SAMPLE_APP
+      verification: |
+          ./chip-tool colorcontrol read current-hue 1 1
+
+          Verify CurrentHue attribute is 250 on TH(chip-tool) Log and below is the sample log provided for the raspi platform
+
+          [1686057413.567938][20912:20914] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0000 DataVersion: 1835932678
+          [1686057413.567958][20912:20914] CHIP:TOO:   CurrentHue: 250
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
 
     - label: "Wait 2s"
       cluster: "DelayCommands"
@@ -120,14 +133,24 @@ tests:
               - name: "ms"
                 value: 2000
 
+    #Multiple range not supported in YAML: https://github.com/project-chip/connectedhomeip/issues/23197
     - label: "Step 2e: TH reads CurrentHue attribute from DUT"
-      PICS: CC.S.A0000 && CC.S.C01.Rsp
-      command: "readAttribute"
-      attribute: "CurrentHue"
-      response:
-          constraints:
-              minValue: 216
-              maxValue: 254
+      PICS: CC.S.A0000 && CC.S.C01.Rsp && PICS_SKIP_SAMPLE_APP
+      verification: |
+          ./chip-tool colorcontrol read current-hue 1 1
+
+          After another 2 seconds, Verify CurrentHue value is stabilized at 250 on TH(chip-tool) Log and below is the sample log provided for the raspi platform
+
+          [1686057413.567938][20912:20914] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0300 Attribute 0x0000_0000 DataVersion: 1835932678
+          [1686057413.567958][20912:20914] CHIP:TOO:   CurrentHue: 250
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
 
     - label:
           "Step 3a: TH sends MoveToSaturation command to DUT with Saturation=150
diff --git a/src/app/tests/suites/certification/Test_TC_FLABEL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_FLABEL_1_1.yaml
index 907b2208da6d7f..60c7800c7f5a68 100644
--- a/src/app/tests/suites/certification/Test_TC_FLABEL_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_FLABEL_1_1.yaml
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-name: 98.1.1. [TC-FLABEL-1.1] Global Attributes [DUT-server]
+name: 110.1.1. [TC-FLABEL-1.1] Global Attributes with DUT as Server
 
 PICS:
     - FLABEL.S
diff --git a/src/app/tests/suites/certification/Test_TC_G_2_2.yaml b/src/app/tests/suites/certification/Test_TC_G_2_2.yaml
index 4c8c353439a308..24cd8809f0f1ff 100644
--- a/src/app/tests/suites/certification/Test_TC_G_2_2.yaml
+++ b/src/app/tests/suites/certification/Test_TC_G_2_2.yaml
@@ -1160,3 +1160,34 @@ tests:
           [1656332191.739327][27032:27037] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 3761602970
           [1656332191.739391][27032:27037] CHIP:TOO:   GroupTable: 0 entries
       disabled: true
+
+    - label:
+          "Step 23: TH sends AddGroup command to DUT on PIXIT.G.ENDPOINT as
+          unicast with the following fields: GroupID as 0x0001, GroupName as
+          Gp123456789123456, Note: GroupName length > 16"
+      PICS: G.S.C00.Rsp && G.S.C00.Tx && G.S.F00
+      verification: |
+          ./chip-tool groups add-group 0x0001 Gp123456789123456 1 0
+
+          Verify the status is CONSTRAINT_ERROR (when GroupName is of length greater than 16) on the TH(Chip-tool)  Log and below is the sample log provided for the raspi platform:
+
+          [1701784321.750191][14898:14900] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0000
+          [1701784321.750198][14898:14900] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000
+          [1701784321.750215][14898:14900] CHIP:TOO:   AddGroupResponse: {
+          [1701784321.750219][14898:14900] CHIP:TOO:     status: 135
+          [1701784321.750222][14898:14900] CHIP:TOO:     groupID: 1
+          [1701784321.750225][14898:14900] CHIP:TOO:    }
+      disabled: true
+
+    - label:
+          "Step 24: TH reads GroupTable attribute from the GroupKeyManagement
+          cluster from DUT on EP0"
+      PICS: GRPKEY.S.A0001 && G.S.F00
+      verification: |
+          ./chip-tool groupkeymanagement read group-table 1 0
+
+          Verify that there is no entry with GroupId 0x0001 in GroupTable entries  on the TH(Chip-tool)  Log and below is the sample log provided for the raspi platform:
+
+          [1656332191.739327][27032:27037] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 3761602970
+          [1656332191.739391][27032:27037] CHIP:TOO:   GroupTable: 0 entries
+      disabled: true
diff --git a/src/app/tests/suites/certification/Test_TC_G_2_3.yaml b/src/app/tests/suites/certification/Test_TC_G_2_3.yaml
index c5a28ddcdfc0e1..e2f77bc6401c3a 100644
--- a/src/app/tests/suites/certification/Test_TC_G_2_3.yaml
+++ b/src/app/tests/suites/certification/Test_TC_G_2_3.yaml
@@ -1140,7 +1140,7 @@ tests:
       disabled: true
 
     - label:
-          "Step 19: TH sends AddGroupIfIdentifying command to DUT on
+          "Step 19a: TH sends AddGroupIfIdentifying command to DUT on
           PIXIT.G.ENDPOINT as unicast method with the following fields: GroupID
           as 0x0000 GroupName as Gp45"
       PICS: G.S.C05.Rsp
@@ -1155,6 +1155,22 @@ tests:
           [1658307266.719573][3251:3256] CHIP:DMG:                                },
       disabled: true
 
+    - label:
+          "Step 19b: TH sends AddGroupIfIdentifying command to DUT on
+          PIXIT.G.ENDPOINT as unicast method with the following fields: GroupID
+          as 0x0006 + maxgroups, GroupName as Gp123456789123456"
+      PICS: G.S.C05.Rsp && G.S.F00
+      verification: |
+          ./chip-tool groups  add-group-if-identifying 0x0012 Gp123456789123456 1 0
+
+          Verify the status is CONSTRAINT_ERROR (when GroupName is of length greater than 16) on the TH(Chip-tool)  Log and below is the sample log provided for the raspi platform:
+
+          [1701784815.714772][15290:15292] CHIP:DMG:                                 StatusIB =
+          [1701784815.714776][15290:15292] CHIP:DMG:                                 {
+          [1701784815.714779][15290:15292] CHIP:DMG:                                         status = 0x87 (CONSTRAINT_ERROR),
+          [1701784815.714782][15290:15292] CHIP:DMG:                                 },
+      disabled: true
+
     - label:
           "Step 20: TH sends AddGroupIfIdentifying command to DUT on
           PIXIT.G.ENDPOINT as unicast method with the following fields: GroupId
diff --git a/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml b/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml
index 57fe0341318cfc..abf70d8f657e87 100644
--- a/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml
+++ b/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml
@@ -67,9 +67,9 @@ tests:
               contains: [0, 65528, 65529, 65531, 65532, 65533]
 
     - label:
-          "Step 4b: TH reads optional attribute(ActiveCalendarType) in
+          "Step 4b: TH reads feature dependent attribute(ActiveCalendarType) in
           AttributeList from DUT"
-      PICS: LTIME.S.A0001
+      PICS: LTIME.S.F00 && LTIME.S.A0001
       command: "readAttribute"
       attribute: "AttributeList"
       response:
@@ -78,9 +78,9 @@ tests:
               contains: [1]
 
     - label:
-          "Step 4c: TH reads optional attribute(SupportedCalendarTypes) in
-          AttributeList from DUT"
-      PICS: LTIME.S.A0002
+          "Step 4c: TH reads feature dependent attribute(SupportedCalendarTypes)
+          in AttributeList from DUT"
+      PICS: LTIME.S.F00 && LTIME.S.A0002
       command: "readAttribute"
       attribute: "AttributeList"
       response:
diff --git a/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml b/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml
index c49d1158d8e60a..e741451e4f215c 100644
--- a/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml
@@ -87,9 +87,9 @@ tests:
               contains: [4]
 
     - label:
-          "Step 4c: TH reads the optional attribute(OnMode) in AttributeList
-          from the DUT"
-      PICS: MOD.S.A0005
+          "Step 4c: TH reads the feature dependent attribute(OnMode) in
+          AttributeList from the DUT"
+      PICS: MOD.S.F00 && MOD.S.A0005
       command: "readAttribute"
       attribute: "AttributeList"
       response:
diff --git a/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml
index ae73ecbd1b2307..e2f5949e6aa456 100644
--- a/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml
@@ -23,7 +23,7 @@ config:
     endpoint: 1
 
 tests:
-    - label: "Step 1: Wait for the commissioned device to be retrieved"
+    - label: "Step 1: Commission DUT to TH"
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -31,7 +31,8 @@ tests:
               - name: "nodeId"
                 value: nodeId
 
-    - label: "Step 2: Read the global attribute: ClusterRevision"
+    - label:
+          "Step 2: TH reads from the DUT the (0xFFFD) ClusterRevision attribute"
       command: "readAttribute"
       attribute: "ClusterRevision"
       response:
@@ -39,7 +40,7 @@ tests:
           constraints:
               type: int16u
 
-    - label: "Step 3: Read the global attribute: FeatureMap"
+    - label: "Step 3: TH reads from the DUT the (0xFFFC) FeatureMap attribute"
       command: "readAttribute"
       attribute: "FeatureMap"
       response:
@@ -47,7 +48,8 @@ tests:
           constraints:
               type: bitmap32
 
-    - label: "Step 4: Read the global attribute: AttributeList"
+    - label:
+          "Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute"
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "AttributeList"
@@ -56,7 +58,8 @@ tests:
               type: list
               contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533]
 
-    - label: "Step 4: Read the global attribute: AttributeList"
+    - label:
+          "Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute"
       PICS: "!PICS_EVENT_LIST_ENABLED"
       command: "readAttribute"
       attribute: "AttributeList"
@@ -65,7 +68,107 @@ tests:
               type: list
               contains: [0, 1, 2, 65528, 65529, 65531, 65532, 65533]
 
-    - label: "Step 5: Read the global attribute: EventList"
+    - label:
+          "Step 4b: TH reads optional attribute(PIROccupiedToUnoccupiedDelay) in
+          AttributeList"
+      PICS: OCC.S.A0010
+      command: "readAttribute"
+      attribute: "AttributeList"
+      response:
+          constraints:
+              type: list
+              contains: [16]
+
+    - label:
+          "Step 4c: TH reads optional attribute(PIRUnoccupiedToOccupiedDelay) in
+          AttributeList"
+      PICS: OCC.S.A0011
+      command: "readAttribute"
+      attribute: "AttributeList"
+      response:
+          constraints:
+              type: list
+              contains: [17]
+
+    - label:
+          "Step 4d: TH reads optional
+          attribute(PIRUnoccupiedToOccupiedThreshold) in AttributeList"
+      PICS: OCC.S.A0012
+      command: "readAttribute"
+      attribute: "AttributeList"
+      response:
+          constraints:
+              type: list
+              contains: [18]
+
+    - label:
+          "Step 4e: TH reads optional
+          attribute(UltrasonicOccupiedToUnoccupiedDelay) in AttributeList"
+      PICS: OCC.S.A0020
+      command: "readAttribute"
+      attribute: "AttributeList"
+      response:
+          constraints:
+              type: list
+              contains: [32]
+
+    - label:
+          "Step 4f: TH reads optional
+          attribute(UltrasonicUnoccupiedToOccupiedDelay) in AttributeList"
+      PICS: OCC.S.A0021
+      command: "readAttribute"
+      attribute: "AttributeList"
+      response:
+          constraints:
+              type: list
+              contains: [33]
+
+    - label:
+          "Step 4g: TH reads optional
+          attribute(UltrasonicUnoccupiedToOccupiedThreshold) in AttributeList"
+      PICS: OCC.S.A0022
+      command: "readAttribute"
+      attribute: "AttributeList"
+      response:
+          constraints:
+              type: list
+              contains: [34]
+
+    - label:
+          "Step 4h: TH reads optional
+          attribute(PhysicalContactOccupiedToUnoccupiedDelay) in AttributeList"
+      PICS: OCC.S.A0030
+      command: "readAttribute"
+      attribute: "AttributeList"
+      response:
+          constraints:
+              type: list
+              contains: [48]
+
+    - label:
+          "Step 4i: TH reads the optional
+          attribute(PhysicalContactUnoccupiedToOccupiedDelay) in AttributeList"
+      PICS: OCC.S.A0031
+      command: "readAttribute"
+      attribute: "AttributeList"
+      response:
+          constraints:
+              type: list
+              contains: [49]
+
+    - label:
+          "Step 4j: TH reads optional
+          attribute(PhysicalContactUnoccupiedToOccupiedThreshold) in
+          AttributeList"
+      PICS: OCC.S.A0032
+      command: "readAttribute"
+      attribute: "AttributeList"
+      response:
+          constraints:
+              type: list
+              contains: [50]
+
+    - label: "Step 5: TH reads from the DUT the (0xFFFA) EventList attribute"
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
       attribute: "EventList"
@@ -74,7 +177,9 @@ tests:
           constraints:
               type: list
 
-    - label: "Step 6: Read the global attribute: AcceptedCommandList"
+    - label:
+          "Step 6: TH reads from the DUT the (0xFFF9) AcceptedCommandList
+          attribute"
       command: "readAttribute"
       attribute: "AcceptedCommandList"
       response:
@@ -82,7 +187,9 @@ tests:
           constraints:
               type: list
 
-    - label: "Step 7: Read the global attribute: GeneratedCommandList"
+    - label:
+          "Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList
+          attribute"
       command: "readAttribute"
       attribute: "GeneratedCommandList"
       response:
diff --git a/src/app/tests/suites/certification/Test_TC_OCC_2_1.yaml b/src/app/tests/suites/certification/Test_TC_OCC_2_1.yaml
index ad46576b959a1b..fba27160989231 100644
--- a/src/app/tests/suites/certification/Test_TC_OCC_2_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_OCC_2_1.yaml
@@ -23,7 +23,7 @@ config:
     endpoint: 1
 
 tests:
-    - label: "Step 1: Wait for the commissioned device to be retrieved"
+    - label: "Step 1: Commission DUT to TH"
       cluster: "DelayCommands"
       command: "WaitForCommissionee"
       arguments:
@@ -31,7 +31,7 @@ tests:
               - name: "nodeId"
                 value: nodeId
 
-    - label: "Step 2: Reads mandatory attribute constrains: Occupancy"
+    - label: "Step 2: TH reads from the DUT the (0x0000) Occupancy attribute"
       PICS: OCC.S.A0000
       command: "readAttribute"
       attribute: "Occupancy"
@@ -41,7 +41,9 @@ tests:
               minValue: 0
               maxValue: 1
 
-    - label: "Step 3: Reads mandatory attribute constrains: OccupancySensorType"
+    - label:
+          "Step 3: TH reads from the DUT the (0x0001) OccupancySensorType
+          attribute"
       PICS: OCC.S.A0001
       command: "readAttribute"
       attribute: "OccupancySensorType"
@@ -52,8 +54,8 @@ tests:
               maxValue: 3
 
     - label:
-          "Step 4: Reads mandatory attribute constrains:
-          OccupancySensorTypeBitmap"
+          "Step 4:TH reads from the DUT the (0x0002) OccupancySensorTypeBitmap
+          attribute"
       PICS: OCC.S.A0002
       command: "readAttribute"
       attribute: "OccupancySensorTypeBitmap"
@@ -63,7 +65,9 @@ tests:
               minValue: 1
               maxValue: 7
 
-    - label: "Step 5: Reads optional attribute: PIROccupiedToUnoccupiedDelay"
+    - label:
+          "Step 5: TH reads from the DUT the (0x0010)
+          PIROccupiedToUnoccupiedDelay optional attribute, if PIR sensor"
       PICS: OCC.S.A0010
       command: "readAttribute"
       attribute: "PIROccupiedToUnoccupiedDelay"
@@ -74,8 +78,8 @@ tests:
               maxValue: 65535
 
     - label:
-          "Step 6: Reads optional attribute constrains:
-          PIRUnoccupiedToOccupiedDelay"
+          "Step 6: TH reads from the DUT the (0x0011)
+          PIRUnoccupiedToOccupiedDelay optional attribute, if PIR sensor"
       PICS: OCC.S.A0011
       command: "readAttribute"
       attribute: "PIRUnoccupiedToOccupiedDelay"
@@ -86,8 +90,8 @@ tests:
               maxValue: 65535
 
     - label:
-          "Step 7: Reads optional attribute constrains:
-          PIRUnoccupiedToOccupiedThreshold"
+          "Step 7: TH reads from the DUT the (0x0012)
+          PIRUnoccupiedToOccupiedThreshold optional attribute, if PIR sensor"
       PICS: OCC.S.A0012
       command: "readAttribute"
       attribute: "PIRUnoccupiedToOccupiedThreshold"
@@ -98,7 +102,9 @@ tests:
               maxValue: 254
 
     - label:
-          "Step 8: Read optional attribute: UltrasonicOccupiedToUnoccupiedDelay"
+          "Step 8: TH reads from the DUT the (0x0020)
+          UltrasonicOccupiedToUnoccupiedDelay optional attribute, if ultrasonic
+          sensor"
       PICS: OCC.S.A0020
       command: "readAttribute"
       attribute: "UltrasonicOccupiedToUnoccupiedDelay"
@@ -108,7 +114,10 @@ tests:
               minValue: 0
               maxValue: 65535
 
-    - label: "Step 9: Read attribute: UltrasonicUnoccupiedToOccupiedDelay"
+    - label:
+          "Step 9: TH reads from the DUT the (0x0021)
+          UltrasonicUnoccupiedToOccupiedDelay optional attribute, if ultrasonic
+          sensor"
       PICS: OCC.S.A0021
       command: "readAttribute"
       attribute: "UltrasonicUnoccupiedToOccupiedDelay"
@@ -118,7 +127,10 @@ tests:
               minValue: 0
               maxValue: 65535
 
-    - label: "Step 10: Read attribute: UltrasonicUnoccupiedToOccupiedThreshold"
+    - label:
+          "Step 10: TH reads from the DUT the (0x0022)
+          UltrasonicUnoccupiedToOccupiedThreshold optional attribute, if
+          ultrasonic sensor"
       PICS: OCC.S.A0022
       command: "readAttribute"
       attribute: "UltrasonicUnoccupiedToOccupiedThreshold"
@@ -129,8 +141,9 @@ tests:
               maxValue: 254
 
     - label:
-          "Step 11: Reads optional attribute constrains:
-          PhysicalContactOccupiedToUnoccupiedDelay"
+          "Step 11:TH reads from the DUT the (0x0030)
+          PhysicalContactOccupiedToUnoccupiedDelay optional attribute, if
+          Physical Contact sensor"
       PICS: OCC.S.A0030
       command: "readAttribute"
       attribute: "PhysicalContactOccupiedToUnoccupiedDelay"
@@ -141,8 +154,9 @@ tests:
               maxValue: 65535
 
     - label:
-          "Step 12: Reads optional attribute constrains:
-          PhysicalContactUnoccupiedToOccupiedDelay"
+          "Step 12: TH reads from the DUT the (0x0031)
+          PhysicalContactUnoccupiedToOccupiedDelay optional attribute, if
+          Physical Contact sensor"
       PICS: OCC.S.A0031
       command: "readAttribute"
       attribute: "PhysicalContactUnoccupiedToOccupiedDelay"
@@ -153,8 +167,9 @@ tests:
               maxValue: 65535
 
     - label:
-          "Step 13: Reads optional attribute constrains:
-          PhysicalContactUnoccupiedToOccupiedThreshold"
+          "Step 13: TH reads from the DUT the (0x0032)
+          PhysicalContactUnoccupiedToOccupiedThreshold optional attribute, if
+          Physical Contact sensor"
       PICS: OCC.S.A0032
       command: "readAttribute"
       attribute: "PhysicalContactUnoccupiedToOccupiedThreshold"
diff --git a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml
index b055e4b2461d11..8673de5a78012e 100644
--- a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml
@@ -37,8 +37,8 @@ tests:
       response:
           constraints:
               type: int16u
-              minValue: 4
-              maxValue: 5
+              minValue: 5
+              maxValue: 6
 
     - label: "Step 3a: Read the global attribute: FeatureMap"
       command: "readAttribute"
diff --git a/src/app/tests/suites/certification/Test_TC_SC_5_2.yaml b/src/app/tests/suites/certification/Test_TC_SC_5_2.yaml
index 2e138b9cac6680..83a3dd76adb12e 100644
--- a/src/app/tests/suites/certification/Test_TC_SC_5_2.yaml
+++ b/src/app/tests/suites/certification/Test_TC_SC_5_2.yaml
@@ -42,7 +42,15 @@ tests:
               - name: "nodeId"
                 saveAs: commissionerNodeId
 
-    - label: "Step 1: TH adds ACL Operate privileges for Group 0x0103"
+    - label:
+          "Step 1: TH writes the ACL attribute in the Access Control cluster to
+          add Manage privileges for group 0x0103 and maintain the current
+          administrative privileges for the TH. The following access control
+          list shall be used : List item 1 (TH admin): a)Privilege: Administer
+          (5) b)AuthMode: CASE (2) c)Subjects: TH node id ([N1]) d)Targets: all
+          (null) List item 2 (group operate access): a)Privilege: Manage (4)
+          b)AuthMode: Group (3) c)Subjects: group 0x0103 ([0x0103]) d)Targets:
+          all (null) "
       cluster: "Access Control"
       command: "writeAttribute"
       attribute: "ACL"
@@ -65,7 +73,14 @@ tests:
                   },
               ]
 
-    - label: "Step 2: TH sends KeySetWrite command with TH key"
+    - label:
+          "Step 2: TH sends KeySetWrite command in the GroupKeyManagement
+          cluster to DUT using a key that is pre-installed on the TH.
+          GroupKeySet fields are as follows : a)GroupKeySetID: 0x01a3
+          b)GroupKeySecurityPolicy: TrustFirst (0) c)EpochStartTime0:1
+          d)EpochKey1:d1d1d2d3d4d5d6d7d8d9dadbdcdddedf e)EpochStartTime1:
+          18446744073709551613 f)EpochKey2: d2d1d2d3d4d5d6d7d8d9dadbdcdddedf
+          g)EpochStartTime2: 18446744073709551614 "
       cluster: "Group Key Management"
       command: "KeySetWrite"
       arguments:
@@ -83,7 +98,12 @@ tests:
                         EpochStartTime2: 18446744073709551614,
                     }
 
-    - label: "Step 3: TH binds GroupId to GroupKeySet"
+    - label:
+          "Step 3: TH binds GroupId 0x0103 and 0x0101 with GroupKeySetID 0x01a3
+          in the GroupKeyMap attribute list on GroupKeyManagement cluster by
+          writing the GroupKeyMap attribute with 2 entries as follows : List
+          item 1 :  a)GroupId: 0x0103  b)GroupKeySetId: 0x01a3   List item 2:
+          a)GroupId: 0x0101  b)GroupKeySetId: 0x01a3"
       cluster: "Group Key Management"
       command: "writeAttribute"
       attribute: "GroupKeyMap"
@@ -95,12 +115,15 @@ tests:
               ]
 
     - label:
-          "Step 4: TH sends RemoveAllGroups command to the DUT on
-          PIXIT.G.ENDPOINT"
+          "Step 4: TH cleans up the groups by sending the RemoveAllGroups
+          command to the DUT on PIXIT.G.ENDPOINT"
       endpoint: Groups.Endpoint
       command: "RemoveAllGroups"
 
-    - label: "Step 5: TH sends AddGroup command to the DUT on PIXIT.G.ENDPOINT"
+    - label:
+          "Step 5: TH sends AddGroup Command to DUT on PIXIT.G.ENDPOINT with the
+          the following settings 1)GroupID: 0x0103 2)GroupName: 'Test Group
+          0103'"
       endpoint: Groups.Endpoint
       command: "AddGroup"
       arguments:
@@ -117,8 +140,9 @@ tests:
                 value: 0x0103
 
     - label:
-          "Step 6: TH sends AddGroup command again but using group messaging
-          (0x0103)"
+          "Step 6: TH sends a AddGroup Command to the Groups cluster with the
+          GroupID field set to 0x0101 and the GroupName set to an 'Test Group
+          0101'. The command is sent as a group command using GroupID 0x0103"
       groupId: 0x0103
       command: "AddGroup"
       arguments:
@@ -149,7 +173,10 @@ tests:
               - name: "expectedValue"
                 value: "y"
 
-    - label: "Step 7: TH sends ViewGroup command on Endpoint PIXIT.G.ENDPOINT "
+    - label:
+          "Step 7: TH sends a ViewGroup Command to the Groups cluster on
+          Endpoint PIXIT.G.ENDPOINT over CASE with the GroupID set to 0x0101 to
+          confirm that the AddGroup command from step 6 was successful "
       PICS: G.S.F00
       endpoint: Groups.Endpoint
       command: "ViewGroup"
@@ -166,7 +193,10 @@ tests:
               - name: GroupName
                 value: "Test Group 0101"
 
-    - label: "Step 8: TH sends ViewGroup command on Endpoint PIXIT.G.ENDPOINT "
+    - label:
+          "Step 8: TH sends a ViewGroup Command to the Groups cluster on
+          Endpoint PIXIT.G.ENDPOINT over CASE with the GroupID set to 0x0101 to
+          confirm that the AddGroup command from step 6 was successful "
       PICS: "!(G.S.F00)"
       endpoint: Groups.Endpoint
       command: "ViewGroup"
@@ -183,7 +213,10 @@ tests:
               - name: GroupName
                 value: ""
 
-    - label: "Step 9: TH removes the GroupKeySet"
+    - label:
+          "Step 9: TH removes the Group key set that was added by sending a
+          KeySetRemove command to the GroupKeyManagement cluster with the
+          GroupKeySetID field set to 0x01a3"
       cluster: "Group Key Management"
       command: "KeySetRemove"
       arguments:
@@ -192,12 +225,18 @@ tests:
                 value: 0x01a3
 
     - label:
-          "Step 10: TH cleans up groups using RemoveAllGroups command to the DUT
-          on PIXIT.G.ENDPOINT"
+          "Step 10: TH cleans up the groups by sending the RemoveAllGroups
+          command to the DUT on PIXIT.G.ENDPOINT"
       endpoint: Groups.Endpoint
       command: "RemoveAllGroups"
 
-    - label: "Step 11: TH removes ACL Operate privileges for Group 0x0103"
+    - label:
+          "Step 11: TH writes the ACL attribute in the Access Control cluster to
+          remove Manage privileges for group 0x0103 and maintain the current
+          administrative privileges for the TH. The following access control
+          list shall be used : List item 1 (TH admin): a)Privilege: Administer
+          (5)  b)AuthMode: CASE (2)  c)Subjects: TH node id ([N1])  d)Targets:
+          all (null)"
       cluster: "Access Control"
       command: "writeAttribute"
       attribute: "ACL"
diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values
index d5e5ceb7ba0c18..50aff04b195f72 100644
--- a/src/app/tests/suites/certification/ci-pics-values
+++ b/src/app/tests/suites/certification/ci-pics-values
@@ -772,6 +772,8 @@ LTIME.C.Afffd=1
 LTIME.C.A0000.12HR=1
 LTIME.C.A0000.24HR=1
 
+LTIME.S.F00=1
+
 # Unit Localization Cluster
 LUNIT.S=1
 LUNIT.S.F00=1
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 ca169c4b2c1e33..d67b62285f449e 100644
--- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
+++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h
@@ -8413,20 +8413,20 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         // incorrect mTestIndex value observed when we get the response.
         switch (mTestIndex++) {
         case 0:
-            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Wait for the commissioned device to be retrieved\n");
-            err = TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0();
+            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Commission DUT to TH\n");
+            err = TestStep1CommissionDutToTh_0();
             break;
         case 1:
-            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: read the global attribute: ClusterRevision\n");
-            err = TestStep2ReadTheGlobalAttributeClusterRevision_1();
+            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads from the DUT the (0xFFFD) ClusterRevision attribute\n");
+            err = TestStep2ThReadsFromTheDutThe0xFFFDClusterRevisionAttribute_1();
             break;
         case 2:
-            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3a: Read the global attribute: FeatureMap\n");
+            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3a: TH reads from the DUT the (0xFFFC) FeatureMap attribute\n");
             if (ShouldSkip("( !CC.S.F00 && !CC.S.F01 && !CC.S.F02 && !CC.S.F03 && !CC.S.F04 )")) {
                 NextTest();
                 return;
             }
-            err = TestStep3aReadTheGlobalAttributeFeatureMap_2();
+            err = TestStep3aThReadsFromTheDutThe0xFFFCFeatureMapAttribute_2();
             break;
         case 3:
             ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3b: Given CC.S.F00(HS) ensure featuremap has the correct bit set\n");
@@ -8469,568 +8469,560 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
             err = TestStep3fGivenCcsf04ctEnsureFeaturemapHasTheCorrectBitSet_7();
             break;
         case 8:
-            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4a: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4aReadTheGlobalAttributeAttributeList_8();
+            err = TestStep4aThReadsFromTheDutThe0xFFFBAttributeListAttribute_8();
             break;
         case 9:
-            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4a: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute\n");
             if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4aReadTheGlobalAttributeAttributeList_9();
+            err = TestStep4aThReadsFromTheDutThe0xFFFBAttributeListAttribute_9();
             break;
         case 10:
-            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4b: Read the optional attribute(CurrentHue) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0000")) {
+            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4b: TH reads feature dependent attribute (CurrentHue) in AttributeList\n");
+            if (ShouldSkip("CC.S.F00 && CC.S.A0000")) {
                 NextTest();
                 return;
             }
-            err = TestStep4bReadTheOptionalAttributeCurrentHueInAttributeList_10();
+            err = TestStep4bThReadsFeatureDependentAttributeCurrentHueInAttributeList_10();
             break;
         case 11:
-            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4c: Read the optional attribute(CurrentSaturation) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0001")) {
+            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4c: TH reads feature dependent attribute (CurrentSaturation) in AttributeList\n");
+            if (ShouldSkip("CC.S.F00 && CC.S.A0001")) {
                 NextTest();
                 return;
             }
-            err = TestStep4cReadTheOptionalAttributeCurrentSaturationInAttributeList_11();
+            err = TestStep4cThReadsFeatureDependentAttributeCurrentSaturationInAttributeList_11();
             break;
         case 12:
-            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 4d: Read the optional attribute(RemainingTime) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 4d: TH reads the optional attribute(RemainingTime) in AttributeList\n");
             if (ShouldSkip("CC.S.A0002")) {
                 NextTest();
                 return;
             }
-            err = TestStep4dReadTheOptionalAttributeRemainingTimeInAttributeList_12();
+            err = TestStep4dThReadsTheOptionalAttributeRemainingTimeInAttributeList_12();
             break;
         case 13:
-            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4e: Read the optional attribute(CurrentX) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0003")) {
+            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4e:  TH reads feature dependent attribute (CurrentX) in AttributeList\n");
+            if (ShouldSkip("CC.S.F03 && CC.S.A0003")) {
                 NextTest();
                 return;
             }
-            err = TestStep4eReadTheOptionalAttributeCurrentXInAttributeList_13();
+            err = TestStep4eThReadsFeatureDependentAttributeCurrentXInAttributeList_13();
             break;
         case 14:
-            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 4f: Read the optional attribute(CurrentY) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0004")) {
+            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 4f: TH reads feature dependent attribute (CurrentY) in AttributeList\n");
+            if (ShouldSkip("CC.S.F03 && CC.S.A0004")) {
                 NextTest();
                 return;
             }
-            err = TestStep4fReadTheOptionalAttributeCurrentYInAttributeList_14();
+            err = TestStep4fThReadsFeatureDependentAttributeCurrentYInAttributeList_14();
             break;
         case 15:
-            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4g: Read the optional attribute(DriftCompensation) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4g: TH reads the optional attribute(DriftCompensation) in AttributeList\n");
             if (ShouldSkip("CC.S.A0005")) {
                 NextTest();
                 return;
             }
-            err = TestStep4gReadTheOptionalAttributeDriftCompensationInAttributeList_15();
+            err = TestStep4gThReadsTheOptionalAttributeDriftCompensationInAttributeList_15();
             break;
         case 16:
-            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4h: Read the optional attribute(CompensationText) in AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4h: TH reads the optional attribute(CompensationText) in AttributeList\n");
             if (ShouldSkip("CC.S.A0006")) {
                 NextTest();
                 return;
             }
-            err = TestStep4hReadTheOptionalAttributeCompensationTextInAttributeList_16();
+            err = TestStep4hThReadsTheOptionalAttributeCompensationTextInAttributeList_16();
             break;
         case 17:
-            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4i: Read the optional attribute(ColorTemperatureMireds) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0007")) {
+            ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4i: TH reads feature dependent attribute (ColorTemperatureMireds) in AttributeList\n");
+            if (ShouldSkip("CC.S.F04 && CC.S.A0007")) {
                 NextTest();
                 return;
             }
-            err = TestStep4iReadTheOptionalAttributeColorTemperatureMiredsInAttributeList_17();
+            err = TestStep4iThReadsFeatureDependentAttributeColorTemperatureMiredsInAttributeList_17();
             break;
         case 18:
-            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 4j: Read the optional attribute(NumberOfPrimaries) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0010")) {
+            ChipLogProgress(chipTool, " ***** Test Step 18 : Step 4j: TH reads the Primary1X attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A0011")) {
                 NextTest();
                 return;
             }
-            err = TestStep4jReadTheOptionalAttributeNumberOfPrimariesInAttributeList_18();
+            err = TestStep4jThReadsThePrimary1XAttributeInAttributeList_18();
             break;
         case 19:
-            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 4k: Read the optional attribute(Primary1X) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0011")) {
+            ChipLogProgress(chipTool, " ***** Test Step 19 : Step 4k: TH reads the Primary1Y attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A0012")) {
                 NextTest();
                 return;
             }
-            err = TestStep4kReadTheOptionalAttributePrimary1XInAttributeList_19();
+            err = TestStep4kThReadsThePrimary1YAttributeInAttributeList_19();
             break;
         case 20:
-            ChipLogProgress(chipTool, " ***** Test Step 20 : Step 4l: Read the optional attribute(Primary1Y) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0012")) {
+            ChipLogProgress(chipTool, " ***** Test Step 20 : Step 4l: TH reads the Primary1Intensity attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A0013")) {
                 NextTest();
                 return;
             }
-            err = TestStep4lReadTheOptionalAttributePrimary1YInAttributeList_20();
+            err = TestStep4lThReadsThePrimary1IntensityAttributeInAttributeList_20();
             break;
         case 21:
-            ChipLogProgress(chipTool, " ***** Test Step 21 : Step 4m: Read the optional attribute(Primary1Intensity) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0013")) {
+            ChipLogProgress(chipTool, " ***** Test Step 21 : Step 4m: TH reads the Primary2X attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A0015")) {
                 NextTest();
                 return;
             }
-            err = TestStep4mReadTheOptionalAttributePrimary1IntensityInAttributeList_21();
+            err = TestStep4mThReadsThePrimary2XAttributeInAttributeList_21();
             break;
         case 22:
-            ChipLogProgress(chipTool, " ***** Test Step 22 : Step 4n: Read the optional attribute(Primary2X) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0015")) {
+            ChipLogProgress(chipTool, " ***** Test Step 22 : Step 4n: TH reads the Primary2Y attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A0016")) {
                 NextTest();
                 return;
             }
-            err = TestStep4nReadTheOptionalAttributePrimary2XInAttributeList_22();
+            err = TestStep4nThReadsThePrimary2YAttributeInAttributeList_22();
             break;
         case 23:
-            ChipLogProgress(chipTool, " ***** Test Step 23 : Step 4o: Read the optional attribute(Primary2Y) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0016")) {
+            ChipLogProgress(chipTool, " ***** Test Step 23 : Step 4o: TH reads the Primary2Intensity attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A0017")) {
                 NextTest();
                 return;
             }
-            err = TestStep4oReadTheOptionalAttributePrimary2YInAttributeList_23();
+            err = TestStep4oThReadsThePrimary2IntensityAttributeInAttributeList_23();
             break;
         case 24:
-            ChipLogProgress(chipTool, " ***** Test Step 24 : Step 4p: Read the optional attribute(Primary2Intensity) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0017")) {
+            ChipLogProgress(chipTool, " ***** Test Step 24 : Step 4p: TH reads the Primary3X attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A0019")) {
                 NextTest();
                 return;
             }
-            err = TestStep4pReadTheOptionalAttributePrimary2IntensityInAttributeList_24();
+            err = TestStep4pThReadsThePrimary3XAttributeInAttributeList_24();
             break;
         case 25:
-            ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4q: Read the optional attribute(Primary3X) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0019")) {
+            ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4q: TH reads the Primary3Y attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A001a")) {
                 NextTest();
                 return;
             }
-            err = TestStep4qReadTheOptionalAttributePrimary3XInAttributeList_25();
+            err = TestStep4qThReadsThePrimary3YAttributeInAttributeList_25();
             break;
         case 26:
-            ChipLogProgress(chipTool, " ***** Test Step 26 : Step 4r: Read the optional attribute(Primary3Y) in AttributeList\n");
-            if (ShouldSkip("CC.S.A001a")) {
+            ChipLogProgress(chipTool, " ***** Test Step 26 : Step 4r: TH reads the Primary3Intensity attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A001b")) {
                 NextTest();
                 return;
             }
-            err = TestStep4rReadTheOptionalAttributePrimary3YInAttributeList_26();
+            err = TestStep4rThReadsThePrimary3IntensityAttributeInAttributeList_26();
             break;
         case 27:
-            ChipLogProgress(chipTool, " ***** Test Step 27 : Step 4s: Read the optional attribute(Primary3Intensity) in AttributeList\n");
-            if (ShouldSkip("CC.S.A001b")) {
+            ChipLogProgress(chipTool, " ***** Test Step 27 : Step 4s: TH reads the Primary4X attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A0020")) {
                 NextTest();
                 return;
             }
-            err = TestStep4sReadTheOptionalAttributePrimary3IntensityInAttributeList_27();
+            err = TestStep4sThReadsThePrimary4XAttributeInAttributeList_27();
             break;
         case 28:
-            ChipLogProgress(chipTool, " ***** Test Step 28 : Step 4t: Read the optional attribute(Primary4X) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0020")) {
+            ChipLogProgress(chipTool, " ***** Test Step 28 : Step 4t: TH reads the Primary4Y attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A0021")) {
                 NextTest();
                 return;
             }
-            err = TestStep4tReadTheOptionalAttributePrimary4XInAttributeList_28();
+            err = TestStep4tThReadsThePrimary4YAttributeInAttributeList_28();
             break;
         case 29:
-            ChipLogProgress(chipTool, " ***** Test Step 29 : Step 4u: Read the optional attribute(Primary4Y) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0021")) {
+            ChipLogProgress(chipTool, " ***** Test Step 29 : Step 4u: TH reads the Primary4Intensity attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A0022")) {
                 NextTest();
                 return;
             }
-            err = TestStep4uReadTheOptionalAttributePrimary4YInAttributeList_29();
+            err = TestStep4uThReadsThePrimary4IntensityAttributeInAttributeList_29();
             break;
         case 30:
-            ChipLogProgress(chipTool, " ***** Test Step 30 : Step 4v: Read the optional attribute(Primary4Intensity) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0022")) {
+            ChipLogProgress(chipTool, " ***** Test Step 30 : Step 4v: TH reads the Primary5X attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A0024")) {
                 NextTest();
                 return;
             }
-            err = TestStep4vReadTheOptionalAttributePrimary4IntensityInAttributeList_30();
+            err = TestStep4vThReadsThePrimary5XAttributeInAttributeList_30();
             break;
         case 31:
-            ChipLogProgress(chipTool, " ***** Test Step 31 : Step 4w: Read the optional attribute(Primary5X) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0024")) {
+            ChipLogProgress(chipTool, " ***** Test Step 31 : Step 4w: TH reads the Primary5Y attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A0025")) {
                 NextTest();
                 return;
             }
-            err = TestStep4wReadTheOptionalAttributePrimary5XInAttributeList_31();
+            err = TestStep4wThReadsThePrimary5YAttributeInAttributeList_31();
             break;
         case 32:
-            ChipLogProgress(chipTool, " ***** Test Step 32 : Step 4x: Read the optional attribute(Primary5Y) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0025")) {
+            ChipLogProgress(chipTool, " ***** Test Step 32 : Step 4x: TH reads the Primary5Intensity attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A0026")) {
                 NextTest();
                 return;
             }
-            err = TestStep4xReadTheOptionalAttributePrimary5YInAttributeList_32();
+            err = TestStep4xThReadsThePrimary5IntensityAttributeInAttributeList_32();
             break;
         case 33:
-            ChipLogProgress(chipTool, " ***** Test Step 33 : Step 4y: Read the optional attribute(Primary5Intensity) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0026")) {
+            ChipLogProgress(chipTool, " ***** Test Step 33 : Step 4y: TH reads the Primary6X attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A0028")) {
                 NextTest();
                 return;
             }
-            err = TestStep4yReadTheOptionalAttributePrimary5IntensityInAttributeList_33();
+            err = TestStep4yThReadsThePrimary6XAttributeInAttributeList_33();
             break;
         case 34:
-            ChipLogProgress(chipTool, " ***** Test Step 34 : Step 4z: Read the optional attribute(Primary6X) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0028")) {
+            ChipLogProgress(chipTool, " ***** Test Step 34 : Step 4z: TH reads the Primary6Y attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A0029")) {
                 NextTest();
                 return;
             }
-            err = TestStep4zReadTheOptionalAttributePrimary6XInAttributeList_34();
+            err = TestStep4zThReadsThePrimary6YAttributeInAttributeList_34();
             break;
         case 35:
-            ChipLogProgress(chipTool, " ***** Test Step 35 : Step 4a1: Read the optional attribute(Primary6Y) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0029")) {
+            ChipLogProgress(chipTool, " ***** Test Step 35 : Step 4a1: TH reads the Primary6Intensity attribute in AttributeList\n");
+            if (ShouldSkip("CC.S.A002a")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a1ReadTheOptionalAttributePrimary6YInAttributeList_35();
+            err = TestStep4a1ThReadsThePrimary6IntensityAttributeInAttributeList_35();
             break;
         case 36:
-            ChipLogProgress(chipTool, " ***** Test Step 36 : Step 4a2: Read the optional attribute(Primary6Intensity) in AttributeList\n");
-            if (ShouldSkip("CC.S.A002a")) {
+            ChipLogProgress(chipTool, " ***** Test Step 36 : Step 4a2: TH reads the optional attribute(WhitePointX) in AttributeList\n");
+            if (ShouldSkip("CC.S.A0030")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a2ReadTheOptionalAttributePrimary6IntensityInAttributeList_36();
+            err = TestStep4a2ThReadsTheOptionalAttributeWhitePointXInAttributeList_36();
             break;
         case 37:
-            ChipLogProgress(chipTool, " ***** Test Step 37 : Step 4a3: Read the optional attribute(WhitePointX) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0030")) {
+            ChipLogProgress(chipTool, " ***** Test Step 37 : Step 4a3: TH reads the optional attribute(WhitePointY) in AttributeList\n");
+            if (ShouldSkip("CC.S.A0031")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a3ReadTheOptionalAttributeWhitePointXInAttributeList_37();
+            err = TestStep4a3ThReadsTheOptionalAttributeWhitePointYInAttributeList_37();
             break;
         case 38:
-            ChipLogProgress(chipTool, " ***** Test Step 38 : Step 4a4: Read the optional attribute(WhitePointY) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0031")) {
+            ChipLogProgress(chipTool, " ***** Test Step 38 : Step 4a4: TH reads the optional attribute(ColorPointRX) in AttributeList\n");
+            if (ShouldSkip("CC.S.A0032")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a4ReadTheOptionalAttributeWhitePointYInAttributeList_38();
+            err = TestStep4a4ThReadsTheOptionalAttributeColorPointRXInAttributeList_38();
             break;
         case 39:
-            ChipLogProgress(chipTool, " ***** Test Step 39 : Step 4a5: Read the optional attribute(ColorPointRX) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0032")) {
+            ChipLogProgress(chipTool, " ***** Test Step 39 : Step 4a5: TH reads the optional attribute(ColorPointRY) in AttributeList\n");
+            if (ShouldSkip("CC.S.A0033")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a5ReadTheOptionalAttributeColorPointRXInAttributeList_39();
+            err = TestStep4a5ThReadsTheOptionalAttributeColorPointRYInAttributeList_39();
             break;
         case 40:
-            ChipLogProgress(chipTool, " ***** Test Step 40 : Step 4a6: Read the optional attribute(ColorPointRY) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0033")) {
+            ChipLogProgress(chipTool, " ***** Test Step 40 : Step 4a6: TH reads the optional attribute(ColorPointRIntensity) in AttributeList\n");
+            if (ShouldSkip("CC.S.A0034")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a6ReadTheOptionalAttributeColorPointRYInAttributeList_40();
+            err = TestStep4a6ThReadsTheOptionalAttributeColorPointRIntensityInAttributeList_40();
             break;
         case 41:
-            ChipLogProgress(chipTool, " ***** Test Step 41 : Step 4a7: Read the optional attribute(ColorPointRIntensity) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0034")) {
+            ChipLogProgress(chipTool, " ***** Test Step 41 : Step 4a7: TH reads the optional attribute(ColorPointGX) in AttributeList\n");
+            if (ShouldSkip("CC.S.A0036")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a7ReadTheOptionalAttributeColorPointRIntensityInAttributeList_41();
+            err = TestStep4a7ThReadsTheOptionalAttributeColorPointGXInAttributeList_41();
             break;
         case 42:
-            ChipLogProgress(chipTool, " ***** Test Step 42 : Step 4a8: Read the optional attribute(ColorPointGX) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0036")) {
+            ChipLogProgress(chipTool, " ***** Test Step 42 : Step 4a8: TH reads the optional attribute(ColorPointGY) in AttributeList\n");
+            if (ShouldSkip("CC.S.A0037")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a8ReadTheOptionalAttributeColorPointGXInAttributeList_42();
+            err = TestStep4a8ThReadsTheOptionalAttributeColorPointGYInAttributeList_42();
             break;
         case 43:
-            ChipLogProgress(chipTool, " ***** Test Step 43 : Step 4a9: Read the optional attribute(ColorPointGY) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0037")) {
+            ChipLogProgress(chipTool, " ***** Test Step 43 : Step 4a9: TH reads the optional attribute(ColorPointGIntensity) in AttributeList\n");
+            if (ShouldSkip("CC.S.A0038")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a9ReadTheOptionalAttributeColorPointGYInAttributeList_43();
+            err = TestStep4a9ThReadsTheOptionalAttributeColorPointGIntensityInAttributeList_43();
             break;
         case 44:
-            ChipLogProgress(chipTool, " ***** Test Step 44 : Step 4a10: Read the optional attribute(ColorPointGIntensity) in AttributeList\n");
-            if (ShouldSkip("CC.S.A0038")) {
+            ChipLogProgress(chipTool, " ***** Test Step 44 : Step 4a10: TH reads the optional attribute(ColorPointBX) in AttributeList\n");
+            if (ShouldSkip("CC.S.A003a")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a10ReadTheOptionalAttributeColorPointGIntensityInAttributeList_44();
+            err = TestStep4a10ThReadsTheOptionalAttributeColorPointBXInAttributeList_44();
             break;
         case 45:
-            ChipLogProgress(chipTool, " ***** Test Step 45 : Step 4a11: Read the optional attribute(ColorPointBX) in AttributeList\n");
-            if (ShouldSkip("CC.S.A003a")) {
+            ChipLogProgress(chipTool, " ***** Test Step 45 : Step 4a11: TH reads the optional attribute(ColorPointBY) in AttributeList\n");
+            if (ShouldSkip("CC.S.A003b")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a11ReadTheOptionalAttributeColorPointBXInAttributeList_45();
+            err = TestStep4a11ThReadsTheOptionalAttributeColorPointBYInAttributeList_45();
             break;
         case 46:
-            ChipLogProgress(chipTool, " ***** Test Step 46 : Step 4a12: Read the optional attribute(ColorPointBY) in AttributeList\n");
-            if (ShouldSkip("CC.S.A003b")) {
+            ChipLogProgress(chipTool, " ***** Test Step 46 : Step 4a12: TH reads the optional attribute(ColorPointBIntensity) in AttributeList\n");
+            if (ShouldSkip("CC.S.A003c")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a12ReadTheOptionalAttributeColorPointBYInAttributeList_46();
+            err = TestStep4a12ThReadsTheOptionalAttributeColorPointBIntensityInAttributeList_46();
             break;
         case 47:
-            ChipLogProgress(chipTool, " ***** Test Step 47 : Step 4a13: Read the optional attribute(ColorPointBIntensity) in AttributeList\n");
-            if (ShouldSkip("CC.S.A003c")) {
+            ChipLogProgress(chipTool, " ***** Test Step 47 : Step 4a13: TH reads feature dependent attribute (EnhancedCurrentHue) in AttributeList\n");
+            if (ShouldSkip("CC.S.F01 && CC.S.A4000")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a13ReadTheOptionalAttributeColorPointBIntensityInAttributeList_47();
+            err = TestStep4a13ThReadsFeatureDependentAttributeEnhancedCurrentHueInAttributeList_47();
             break;
         case 48:
-            ChipLogProgress(chipTool, " ***** Test Step 48 : Step 4a14: Read the optional attribute(EnhancedCurrentHue) in AttributeList\n");
-            if (ShouldSkip("CC.S.A4000")) {
+            ChipLogProgress(chipTool, " ***** Test Step 48 : Step 4a14: TH reads feature dependent attribute (ColorLoopActive) in AttributeList\n");
+            if (ShouldSkip("CC.S.F02 && CC.S.A4002")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a14ReadTheOptionalAttributeEnhancedCurrentHueInAttributeList_48();
+            err = TestStep4a14ThReadsFeatureDependentAttributeColorLoopActiveInAttributeList_48();
             break;
         case 49:
-            ChipLogProgress(chipTool, " ***** Test Step 49 : Step 4a15: Read the optional attribute(ColorLoopActive) in AttributeList\n");
-            if (ShouldSkip("CC.S.A4002")) {
+            ChipLogProgress(chipTool, " ***** Test Step 49 : Step 4a15: TH reads feature dependent attribute (ColorLoopDirection) in AttributeList\n");
+            if (ShouldSkip("CC.S.F02 && CC.S.A4003")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a15ReadTheOptionalAttributeColorLoopActiveInAttributeList_49();
+            err = TestStep4a15ThReadsFeatureDependentAttributeColorLoopDirectionInAttributeList_49();
             break;
         case 50:
-            ChipLogProgress(chipTool, " ***** Test Step 50 : Step 4a16: Read the optional attribute(ColorLoopDirection) in AttributeList\n");
-            if (ShouldSkip("CC.S.A4003")) {
+            ChipLogProgress(chipTool, " ***** Test Step 50 : Step 4a16: TH reads feature dependent attribute (ColorLoopTime) in AttributeList\n");
+            if (ShouldSkip("CC.S.F02 && CC.S.A4004")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a16ReadTheOptionalAttributeColorLoopDirectionInAttributeList_50();
+            err = TestStep4a16ThReadsFeatureDependentAttributeColorLoopTimeInAttributeList_50();
             break;
         case 51:
-            ChipLogProgress(chipTool, " ***** Test Step 51 : Step 4a17: Read the optional attribute(ColorLoopTime) in AttributeList\n");
-            if (ShouldSkip("CC.S.A4004")) {
+            ChipLogProgress(chipTool, " ***** Test Step 51 : Step 4a17: TH reads feature dependent attribute (ColorLoopStartEnhancedHue) in AttributeList\n");
+            if (ShouldSkip("CC.S.F02 && CC.S.A4005")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a17ReadTheOptionalAttributeColorLoopTimeInAttributeList_51();
+            err = TestStep4a17ThReadsFeatureDependentAttributeColorLoopStartEnhancedHueInAttributeList_51();
             break;
         case 52:
-            ChipLogProgress(chipTool, " ***** Test Step 52 : Step 4a18: Read the optional attribute(ColorLoopStartEnhancedHue) in AttributeList\n");
-            if (ShouldSkip("CC.S.A4005")) {
+            ChipLogProgress(chipTool, " ***** Test Step 52 : Step 4a18: TH reads feature dependent attribute (ColorLoopStoredEnhancedHue) in AttributeList\n");
+            if (ShouldSkip("CC.S.F02 && CC.S.A4006")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a18ReadTheOptionalAttributeColorLoopStartEnhancedHueInAttributeList_52();
+            err = TestStep4a18ThReadsFeatureDependentAttributeColorLoopStoredEnhancedHueInAttributeList_52();
             break;
         case 53:
-            ChipLogProgress(chipTool, " ***** Test Step 53 : Step 4a19: Read the optional attribute(ColorLoopStoredEnhancedHue) in AttributeList\n");
-            if (ShouldSkip("CC.S.A4006")) {
+            ChipLogProgress(chipTool, " ***** Test Step 53 : Step 4a19: TH reads feature dependent attribute (ColorTempPhysicalMinMireds) in AttributeList\n");
+            if (ShouldSkip("CC.S.F04 && CC.S.A400b")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a19ReadTheOptionalAttributeColorLoopStoredEnhancedHueInAttributeList_53();
+            err = TestStep4a19ThReadsFeatureDependentAttributeColorTempPhysicalMinMiredsInAttributeList_53();
             break;
         case 54:
-            ChipLogProgress(chipTool, " ***** Test Step 54 : Step 4a20: Read the optional attribute(ColorTempPhysicalMinMireds) in AttributeList\n");
-            if (ShouldSkip("CC.S.A400b")) {
+            ChipLogProgress(chipTool, " ***** Test Step 54 : Step 4a20: TH reads feature dependent attribute (ColorTempPhysicalMaxMireds) in AttributeList\n");
+            if (ShouldSkip("CC.S.F04 && CC.S.A400c")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a20ReadTheOptionalAttributeColorTempPhysicalMinMiredsInAttributeList_54();
+            err = TestStep4a20ThReadsFeatureDependentAttributeColorTempPhysicalMaxMiredsInAttributeList_54();
             break;
         case 55:
-            ChipLogProgress(chipTool, " ***** Test Step 55 : Step 4a21: Read the optional attribute(ColorTempPhysicalMaxMireds) in AttributeList\n");
-            if (ShouldSkip("CC.S.A400c")) {
+            ChipLogProgress(chipTool, " ***** Test Step 55 : Step 4a21:TH reads feature dependent attribute (CoupleColorTempToLevelMinMireds) in AttributeList\n");
+            if (ShouldSkip("CC.S.F04 && CC.S.A400d")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a21ReadTheOptionalAttributeColorTempPhysicalMaxMiredsInAttributeList_55();
+            err = TestStep4a21THReadsFeatureDependentAttributeCoupleColorTempToLevelMinMiredsInAttributeList_55();
             break;
         case 56:
-            ChipLogProgress(chipTool, " ***** Test Step 56 : Step 4a22: Read the optional attribute(CoupleColorTempToLevelMinMireds) in AttributeList\n");
-            if (ShouldSkip("CC.S.A400d")) {
+            ChipLogProgress(chipTool, " ***** Test Step 56 : Step 4a22: TH reads feature dependent attribute (StartUpColorTemperatureMireds) in AttributeList\n");
+            if (ShouldSkip("CC.S.F04 && CC.S.A4010")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a22ReadTheOptionalAttributeCoupleColorTempToLevelMinMiredsInAttributeList_56();
+            err = TestStep4a22ThReadsFeatureDependentAttributeStartUpColorTemperatureMiredsInAttributeList_56();
             break;
         case 57:
-            ChipLogProgress(chipTool, " ***** Test Step 57 : Step 4a23: Read the optional attribute(StartUpColorTemperatureMireds) in AttributeList\n");
-            if (ShouldSkip("CC.S.A4010")) {
+            ChipLogProgress(chipTool, " ***** Test Step 57 : Step 5: TH reads from the DUT the (0xFFFA) EventList attribute\n");
+            if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4a23ReadTheOptionalAttributeStartUpColorTemperatureMiredsInAttributeList_57();
-            break;
+            NextTest();
+            return;
         case 58:
-            ChipLogProgress(chipTool, " ***** Test Step 58 : Step 5: Read the global attribute: EventList\n");
-            if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
+            ChipLogProgress(chipTool, " ***** Test Step 58 : Step 6a: TH reads feature dependent command(MoveToHue) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F00 && CC.S.C00.Rsp")) {
                 NextTest();
                 return;
             }
-            NextTest();
-            return;
+            err = TestStep6aThReadsFeatureDependentCommandMoveToHueInAcceptedCommandList_58();
+            break;
         case 59:
-            ChipLogProgress(chipTool, " ***** Test Step 59 : Step 6a: Read the optional command(MoveToHue) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C00.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 59 : Step 6b: TH reads feature dependent command(MoveHue) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F00 && CC.S.C01.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6aReadTheOptionalCommandMoveToHueInAcceptedCommandList_59();
+            err = TestStep6bThReadsFeatureDependentCommandMoveHueInAcceptedCommandList_59();
             break;
         case 60:
-            ChipLogProgress(chipTool, " ***** Test Step 60 : Step 6b: Read the optional command(MoveHue) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C01.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 60 : Step 6c: TH reads feature dependent command(StepHue) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F00 && CC.S.C02.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6bReadTheOptionalCommandMoveHueInAcceptedCommandList_60();
+            err = TestStep6cThReadsFeatureDependentCommandStepHueInAcceptedCommandList_60();
             break;
         case 61:
-            ChipLogProgress(chipTool, " ***** Test Step 61 : Step 6c: Read the optional command(StepHue) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C02.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 61 : Step 6d: TH reads feature dependent command(MoveToSaturation) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F00 && CC.S.C03.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6cReadTheOptionalCommandStepHueInAcceptedCommandList_61();
+            err = TestStep6dThReadsFeatureDependentCommandMoveToSaturationInAcceptedCommandList_61();
             break;
         case 62:
-            ChipLogProgress(chipTool, " ***** Test Step 62 : Step 6d: Read the optional command(MoveToSaturation) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C03.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 62 : Step 6e: TH reads feature dependent command(MoveSaturation) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F00 && CC.S.C04.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6dReadTheOptionalCommandMoveToSaturationInAcceptedCommandList_62();
+            err = TestStep6eThReadsFeatureDependentCommandMoveSaturationInAcceptedCommandList_62();
             break;
         case 63:
-            ChipLogProgress(chipTool, " ***** Test Step 63 : Step 6e: Read the optional command(MoveSaturation) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C04.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 63 : Step 6f: TH reads feature dependent command(StepSaturation) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F00 && CC.S.C05.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6eReadTheOptionalCommandMoveSaturationInAcceptedCommandList_63();
+            err = TestStep6fThReadsFeatureDependentCommandStepSaturationInAcceptedCommandList_63();
             break;
         case 64:
-            ChipLogProgress(chipTool, " ***** Test Step 64 : Step 6f: Read the optional command(StepSaturation) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C05.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 64 : Step 6g: TH reads feature dependent command(MoveToHueAndSaturation) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F00 && CC.S.C06.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6fReadTheOptionalCommandStepSaturationInAcceptedCommandList_64();
+            err = TestStep6gThReadsFeatureDependentCommandMoveToHueAndSaturationInAcceptedCommandList_64();
             break;
         case 65:
-            ChipLogProgress(chipTool, " ***** Test Step 65 : Step 6g: Read the optional command(MoveToHueAndSaturation) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C06.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 65 : Step 6h:  TH reads feature dependent command(MoveToColor) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F03 && CC.S.C07.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6gReadTheOptionalCommandMoveToHueAndSaturationInAcceptedCommandList_65();
+            err = TestStep6hThReadsFeatureDependentCommandMoveToColorInAcceptedCommandList_65();
             break;
         case 66:
-            ChipLogProgress(chipTool, " ***** Test Step 66 : Step 6h: Read the optional command(MoveToColor) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C07.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 66 : Step 6i: TH reads feature dependent command(MoveColor) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F03 && CC.S.C08.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6hReadTheOptionalCommandMoveToColorInAcceptedCommandList_66();
+            err = TestStep6iThReadsFeatureDependentCommandMoveColorInAcceptedCommandList_66();
             break;
         case 67:
-            ChipLogProgress(chipTool, " ***** Test Step 67 : Step 6i: Read the optional command(MoveColor) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C08.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 67 : Step 6j: TH reads feature dependent command(StepColor) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F03 && CC.S.C09.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6iReadTheOptionalCommandMoveColorInAcceptedCommandList_67();
+            err = TestStep6jThReadsFeatureDependentCommandStepColorInAcceptedCommandList_67();
             break;
         case 68:
-            ChipLogProgress(chipTool, " ***** Test Step 68 : Step 6j: Read the optional command(StepColor) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C09.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 68 : Step 6k: TH reads feature dependent command(MoveToColorTemperature) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F04 && CC.S.C0a.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6jReadTheOptionalCommandStepColorInAcceptedCommandList_68();
+            err = TestStep6kThReadsFeatureDependentCommandMoveToColorTemperatureInAcceptedCommandList_68();
             break;
         case 69:
-            ChipLogProgress(chipTool, " ***** Test Step 69 : Step 6k: Read the optional command(MoveToColorTemperature) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C0a.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 69 : Step 6l: TH reads feature dependent command(EnhancedMoveToHue) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F01 && CC.S.C40.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6kReadTheOptionalCommandMoveToColorTemperatureInAcceptedCommandList_69();
+            err = TestStep6lThReadsFeatureDependentCommandEnhancedMoveToHueInAcceptedCommandList_69();
             break;
         case 70:
-            ChipLogProgress(chipTool, " ***** Test Step 70 : Step 6l: Read the optional command(EnhancedMoveToHue) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C40.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 70 : Step 6m: TH reads feature dependent command(EnhancedMoveHue) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F01 && CC.S.C41.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6lReadTheOptionalCommandEnhancedMoveToHueInAcceptedCommandList_70();
+            err = TestStep6mThReadsFeatureDependentCommandEnhancedMoveHueInAcceptedCommandList_70();
             break;
         case 71:
-            ChipLogProgress(chipTool, " ***** Test Step 71 : Step 6m: Read the optional command(EnhancedMoveHue) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C41.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 71 : Step 6n: TH reads feature dependent command(EnhancedStepHue) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F01 && CC.S.C42.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6mReadTheOptionalCommandEnhancedMoveHueInAcceptedCommandList_71();
+            err = TestStep6nThReadsFeatureDependentCommandEnhancedStepHueInAcceptedCommandList_71();
             break;
         case 72:
-            ChipLogProgress(chipTool, " ***** Test Step 72 : Step 6n: Read the optional command(EnhancedStepHue) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C42.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 72 : Step 6o:TH reads feature dependent command(EnhancedMoveToHueAndSaturation) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F01 && CC.S.C43.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6nReadTheOptionalCommandEnhancedStepHueInAcceptedCommandList_72();
+            err = TestStep6oTHReadsFeatureDependentCommandEnhancedMoveToHueAndSaturationInAcceptedCommandList_72();
             break;
         case 73:
-            ChipLogProgress(chipTool, " ***** Test Step 73 : Step 6o: Read the optional command(EnhancedMoveToHueAndSaturation) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C43.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 73 : Step 6p: TH reads feature dependent command(ColorLoopSet) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F02 && CC.S.C44.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6oReadTheOptionalCommandEnhancedMoveToHueAndSaturationInAcceptedCommandList_73();
+            err = TestStep6pThReadsFeatureDependentCommandColorLoopSetInAcceptedCommandList_73();
             break;
         case 74:
-            ChipLogProgress(chipTool, " ***** Test Step 74 : Step 6p: Read the optional command(ColorLoopSet) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C44.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 74 : Step 6q: TH reads feature dependent command(StopMoveStep) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F00 && CC.S.F03 && CC.S.F04 && CC.S.C47.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6pReadTheOptionalCommandColorLoopSetInAcceptedCommandList_74();
+            err = TestStep6qThReadsFeatureDependentCommandStopMoveStepInAcceptedCommandList_74();
             break;
         case 75:
-            ChipLogProgress(chipTool, " ***** Test Step 75 : Step 6q: Read the optional command(StopMoveStep) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C47.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 75 : Step 6r: TH reads feature dependent command(StopMoveStep) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F04 && CC.S.C4b.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6qReadTheOptionalCommandStopMoveStepInAcceptedCommandList_75();
+            err = TestStep6rThReadsFeatureDependentCommandStopMoveStepInAcceptedCommandList_75();
             break;
         case 76:
-            ChipLogProgress(chipTool, " ***** Test Step 76 : Step 6r: Read the optional command(MoveColorTemperature) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C4b.Rsp")) {
+            ChipLogProgress(chipTool, " ***** Test Step 76 : Step 6s: TH reads feature dependent command(StepColorTemperature) in AcceptedCommandList\n");
+            if (ShouldSkip("CC.S.F04 && CC.S.C4c.Rsp")) {
                 NextTest();
                 return;
             }
-            err = TestStep6rReadTheOptionalCommandMoveColorTemperatureInAcceptedCommandList_76();
+            err = TestStep6sThReadsFeatureDependentCommandStepColorTemperatureInAcceptedCommandList_76();
             break;
         case 77:
-            ChipLogProgress(chipTool, " ***** Test Step 77 : Step 6s: Read the optional command(StepColorTemperature) in AcceptedCommandList\n");
-            if (ShouldSkip("CC.S.C4c.Rsp")) {
-                NextTest();
-                return;
-            }
-            err = TestStep6sReadTheOptionalCommandStepColorTemperatureInAcceptedCommandList_77();
-            break;
-        case 78:
-            ChipLogProgress(chipTool, " ***** Test Step 78 : Step 7: Read the global attribute: GeneratedCommandList\n");
-            err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_78();
+            ChipLogProgress(chipTool, " ***** Test Step 77 : Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute\n");
+            err = TestStep7ThReadsFromTheDutThe0xFFF8GeneratedCommandListAttribute_77();
             break;
         }
 
@@ -9277,9 +9269,6 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         case 77:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
-        case 78:
-            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
-            break;
         }
 
         // Go on to the next test.
@@ -9290,14 +9279,14 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
 private:
     std::atomic_uint16_t mTestIndex;
-    const uint16_t mTestCount = 79;
+    const uint16_t mTestCount = 78;
 
     chip::Optional<chip::NodeId> mNodeId;
     chip::Optional<chip::CharSpan> mCluster;
     chip::Optional<chip::EndpointId> mEndpoint;
     chip::Optional<uint16_t> mTimeout;
 
-    CHIP_ERROR TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0()
+    CHIP_ERROR TestStep1CommissionDutToTh_0()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
@@ -9305,7 +9294,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return WaitForCommissionee("alpha", value);
     }
 
-    CHIP_ERROR TestStep2ReadTheGlobalAttributeClusterRevision_1()
+    CHIP_ERROR TestStep2ThReadsFromTheDutThe0xFFFDClusterRevisionAttribute_1()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9314,9 +9303,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 2: read the global attribute: ClusterRevision: Error: %@", err);
+                NSLog(@"Step 2: TH reads from the DUT the (0xFFFD) ClusterRevision attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 2: read the global attribute: ClusterRevision: Success");
+                NSLog(@"Step 2: TH reads from the DUT the (0xFFFD) ClusterRevision attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9333,7 +9322,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3aReadTheGlobalAttributeFeatureMap_2()
+    CHIP_ERROR TestStep3aThReadsFromTheDutThe0xFFFCFeatureMapAttribute_2()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9342,9 +9331,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3a: Read the global attribute: FeatureMap: Error: %@", err);
+                NSLog(@"Step 3a: TH reads from the DUT the (0xFFFC) FeatureMap attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 3a: Read the global attribute: FeatureMap: Success");
+                NSLog(@"Step 3a: TH reads from the DUT the (0xFFFC) FeatureMap attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9476,7 +9465,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_8()
+    CHIP_ERROR TestStep4aThReadsFromTheDutThe0xFFFBAttributeListAttribute_8()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9485,9 +9474,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9495,6 +9484,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
             VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
             VerifyOrReturn(CheckConstraintContains("attributeList", value, 8UL));
             VerifyOrReturn(CheckConstraintContains("attributeList", value, 15UL));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 16UL));
             VerifyOrReturn(CheckConstraintContains("attributeList", value, 16385UL));
             VerifyOrReturn(CheckConstraintContains("attributeList", value, 16394UL));
             VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL));
@@ -9510,7 +9500,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_9()
+    CHIP_ERROR TestStep4aThReadsFromTheDutThe0xFFFBAttributeListAttribute_9()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9519,9 +9509,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 4a: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9529,6 +9519,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
             VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
             VerifyOrReturn(CheckConstraintContains("attributeList", value, 8UL));
             VerifyOrReturn(CheckConstraintContains("attributeList", value, 15UL));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 16UL));
             VerifyOrReturn(CheckConstraintContains("attributeList", value, 16385UL));
             VerifyOrReturn(CheckConstraintContains("attributeList", value, 16394UL));
             VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL));
@@ -9543,7 +9534,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4bReadTheOptionalAttributeCurrentHueInAttributeList_10()
+    CHIP_ERROR TestStep4bThReadsFeatureDependentAttributeCurrentHueInAttributeList_10()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9552,9 +9543,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4b: Read the optional attribute(CurrentHue) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4b: TH reads feature dependent attribute (CurrentHue) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4b: Read the optional attribute(CurrentHue) in AttributeList: Success");
+                NSLog(@"Step 4b: TH reads feature dependent attribute (CurrentHue) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9568,7 +9559,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4cReadTheOptionalAttributeCurrentSaturationInAttributeList_11()
+    CHIP_ERROR TestStep4cThReadsFeatureDependentAttributeCurrentSaturationInAttributeList_11()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9577,9 +9568,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4c: Read the optional attribute(CurrentSaturation) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4c: TH reads feature dependent attribute (CurrentSaturation) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4c: Read the optional attribute(CurrentSaturation) in AttributeList: Success");
+                NSLog(@"Step 4c: TH reads feature dependent attribute (CurrentSaturation) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9593,7 +9584,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4dReadTheOptionalAttributeRemainingTimeInAttributeList_12()
+    CHIP_ERROR TestStep4dThReadsTheOptionalAttributeRemainingTimeInAttributeList_12()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9602,9 +9593,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4d: Read the optional attribute(RemainingTime) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4d: TH reads the optional attribute(RemainingTime) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4d: Read the optional attribute(RemainingTime) in AttributeList: Success");
+                NSLog(@"Step 4d: TH reads the optional attribute(RemainingTime) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9618,7 +9609,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4eReadTheOptionalAttributeCurrentXInAttributeList_13()
+    CHIP_ERROR TestStep4eThReadsFeatureDependentAttributeCurrentXInAttributeList_13()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9627,9 +9618,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4e: Read the optional attribute(CurrentX) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4e:  TH reads feature dependent attribute (CurrentX) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4e: Read the optional attribute(CurrentX) in AttributeList: Success");
+                NSLog(@"Step 4e:  TH reads feature dependent attribute (CurrentX) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9643,7 +9634,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4fReadTheOptionalAttributeCurrentYInAttributeList_14()
+    CHIP_ERROR TestStep4fThReadsFeatureDependentAttributeCurrentYInAttributeList_14()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9652,9 +9643,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4f: Read the optional attribute(CurrentY) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4f: TH reads feature dependent attribute (CurrentY) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4f: Read the optional attribute(CurrentY) in AttributeList: Success");
+                NSLog(@"Step 4f: TH reads feature dependent attribute (CurrentY) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9668,7 +9659,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4gReadTheOptionalAttributeDriftCompensationInAttributeList_15()
+    CHIP_ERROR TestStep4gThReadsTheOptionalAttributeDriftCompensationInAttributeList_15()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9677,9 +9668,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4g: Read the optional attribute(DriftCompensation) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4g: TH reads the optional attribute(DriftCompensation) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4g: Read the optional attribute(DriftCompensation) in AttributeList: Success");
+                NSLog(@"Step 4g: TH reads the optional attribute(DriftCompensation) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9693,7 +9684,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4hReadTheOptionalAttributeCompensationTextInAttributeList_16()
+    CHIP_ERROR TestStep4hThReadsTheOptionalAttributeCompensationTextInAttributeList_16()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9702,9 +9693,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4h: Read the optional attribute(CompensationText) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4h: TH reads the optional attribute(CompensationText) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4h: Read the optional attribute(CompensationText) in AttributeList: Success");
+                NSLog(@"Step 4h: TH reads the optional attribute(CompensationText) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9718,7 +9709,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4iReadTheOptionalAttributeColorTemperatureMiredsInAttributeList_17()
+    CHIP_ERROR TestStep4iThReadsFeatureDependentAttributeColorTemperatureMiredsInAttributeList_17()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9727,9 +9718,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4i: Read the optional attribute(ColorTemperatureMireds) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4i: TH reads feature dependent attribute (ColorTemperatureMireds) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4i: Read the optional attribute(ColorTemperatureMireds) in AttributeList: Success");
+                NSLog(@"Step 4i: TH reads feature dependent attribute (ColorTemperatureMireds) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9743,7 +9734,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4jReadTheOptionalAttributeNumberOfPrimariesInAttributeList_18()
+    CHIP_ERROR TestStep4jThReadsThePrimary1XAttributeInAttributeList_18()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9752,34 +9743,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4j: Read the optional attribute(NumberOfPrimaries) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4j: TH reads the Primary1X attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4j: Read the optional attribute(NumberOfPrimaries) in AttributeList: Success");
-            }
-
-            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
-            VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
-            VerifyOrReturn(CheckConstraintContains("attributeList", value, 16UL));
-
-            NextTest();
-        }];
-
-        return CHIP_NO_ERROR;
-    }
-
-    CHIP_ERROR TestStep4kReadTheOptionalAttributePrimary1XInAttributeList_19()
-    {
-
-        MTRBaseDevice * device = GetDevice("alpha");
-        __auto_type * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
-        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
-        [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
-            if (err != nil) {
-                NSLog(@"Step 4k: Read the optional attribute(Primary1X) in AttributeList: Error: %@", err);
-            } else {
-                NSLog(@"Step 4k: Read the optional attribute(Primary1X) in AttributeList: Success");
+                NSLog(@"Step 4j: TH reads the Primary1X attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9793,7 +9759,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4lReadTheOptionalAttributePrimary1YInAttributeList_20()
+    CHIP_ERROR TestStep4kThReadsThePrimary1YAttributeInAttributeList_19()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9802,9 +9768,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4l: Read the optional attribute(Primary1Y) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4k: TH reads the Primary1Y attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4l: Read the optional attribute(Primary1Y) in AttributeList: Success");
+                NSLog(@"Step 4k: TH reads the Primary1Y attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9818,7 +9784,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4mReadTheOptionalAttributePrimary1IntensityInAttributeList_21()
+    CHIP_ERROR TestStep4lThReadsThePrimary1IntensityAttributeInAttributeList_20()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9827,9 +9793,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4m: Read the optional attribute(Primary1Intensity) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4l: TH reads the Primary1Intensity attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4m: Read the optional attribute(Primary1Intensity) in AttributeList: Success");
+                NSLog(@"Step 4l: TH reads the Primary1Intensity attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9843,7 +9809,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4nReadTheOptionalAttributePrimary2XInAttributeList_22()
+    CHIP_ERROR TestStep4mThReadsThePrimary2XAttributeInAttributeList_21()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9852,9 +9818,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4n: Read the optional attribute(Primary2X) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4m: TH reads the Primary2X attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4n: Read the optional attribute(Primary2X) in AttributeList: Success");
+                NSLog(@"Step 4m: TH reads the Primary2X attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9868,7 +9834,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4oReadTheOptionalAttributePrimary2YInAttributeList_23()
+    CHIP_ERROR TestStep4nThReadsThePrimary2YAttributeInAttributeList_22()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9877,9 +9843,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4o: Read the optional attribute(Primary2Y) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4n: TH reads the Primary2Y attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4o: Read the optional attribute(Primary2Y) in AttributeList: Success");
+                NSLog(@"Step 4n: TH reads the Primary2Y attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9893,7 +9859,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4pReadTheOptionalAttributePrimary2IntensityInAttributeList_24()
+    CHIP_ERROR TestStep4oThReadsThePrimary2IntensityAttributeInAttributeList_23()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9902,9 +9868,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4p: Read the optional attribute(Primary2Intensity) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4o: TH reads the Primary2Intensity attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4p: Read the optional attribute(Primary2Intensity) in AttributeList: Success");
+                NSLog(@"Step 4o: TH reads the Primary2Intensity attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9918,7 +9884,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4qReadTheOptionalAttributePrimary3XInAttributeList_25()
+    CHIP_ERROR TestStep4pThReadsThePrimary3XAttributeInAttributeList_24()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9927,9 +9893,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4q: Read the optional attribute(Primary3X) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4p: TH reads the Primary3X attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4q: Read the optional attribute(Primary3X) in AttributeList: Success");
+                NSLog(@"Step 4p: TH reads the Primary3X attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9943,7 +9909,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4rReadTheOptionalAttributePrimary3YInAttributeList_26()
+    CHIP_ERROR TestStep4qThReadsThePrimary3YAttributeInAttributeList_25()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9952,9 +9918,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4r: Read the optional attribute(Primary3Y) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4q: TH reads the Primary3Y attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4r: Read the optional attribute(Primary3Y) in AttributeList: Success");
+                NSLog(@"Step 4q: TH reads the Primary3Y attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9968,7 +9934,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4sReadTheOptionalAttributePrimary3IntensityInAttributeList_27()
+    CHIP_ERROR TestStep4rThReadsThePrimary3IntensityAttributeInAttributeList_26()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -9977,9 +9943,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4s: Read the optional attribute(Primary3Intensity) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4r: TH reads the Primary3Intensity attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4s: Read the optional attribute(Primary3Intensity) in AttributeList: Success");
+                NSLog(@"Step 4r: TH reads the Primary3Intensity attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -9993,7 +9959,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4tReadTheOptionalAttributePrimary4XInAttributeList_28()
+    CHIP_ERROR TestStep4sThReadsThePrimary4XAttributeInAttributeList_27()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10002,9 +9968,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4t: Read the optional attribute(Primary4X) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4s: TH reads the Primary4X attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4t: Read the optional attribute(Primary4X) in AttributeList: Success");
+                NSLog(@"Step 4s: TH reads the Primary4X attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10018,7 +9984,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4uReadTheOptionalAttributePrimary4YInAttributeList_29()
+    CHIP_ERROR TestStep4tThReadsThePrimary4YAttributeInAttributeList_28()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10027,9 +9993,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4u: Read the optional attribute(Primary4Y) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4t: TH reads the Primary4Y attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4u: Read the optional attribute(Primary4Y) in AttributeList: Success");
+                NSLog(@"Step 4t: TH reads the Primary4Y attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10043,7 +10009,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4vReadTheOptionalAttributePrimary4IntensityInAttributeList_30()
+    CHIP_ERROR TestStep4uThReadsThePrimary4IntensityAttributeInAttributeList_29()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10052,9 +10018,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4v: Read the optional attribute(Primary4Intensity) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4u: TH reads the Primary4Intensity attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4v: Read the optional attribute(Primary4Intensity) in AttributeList: Success");
+                NSLog(@"Step 4u: TH reads the Primary4Intensity attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10068,7 +10034,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4wReadTheOptionalAttributePrimary5XInAttributeList_31()
+    CHIP_ERROR TestStep4vThReadsThePrimary5XAttributeInAttributeList_30()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10077,9 +10043,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4w: Read the optional attribute(Primary5X) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4v: TH reads the Primary5X attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4w: Read the optional attribute(Primary5X) in AttributeList: Success");
+                NSLog(@"Step 4v: TH reads the Primary5X attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10093,7 +10059,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4xReadTheOptionalAttributePrimary5YInAttributeList_32()
+    CHIP_ERROR TestStep4wThReadsThePrimary5YAttributeInAttributeList_31()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10102,9 +10068,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4x: Read the optional attribute(Primary5Y) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4w: TH reads the Primary5Y attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4x: Read the optional attribute(Primary5Y) in AttributeList: Success");
+                NSLog(@"Step 4w: TH reads the Primary5Y attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10118,7 +10084,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4yReadTheOptionalAttributePrimary5IntensityInAttributeList_33()
+    CHIP_ERROR TestStep4xThReadsThePrimary5IntensityAttributeInAttributeList_32()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10127,9 +10093,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4y: Read the optional attribute(Primary5Intensity) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4x: TH reads the Primary5Intensity attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4y: Read the optional attribute(Primary5Intensity) in AttributeList: Success");
+                NSLog(@"Step 4x: TH reads the Primary5Intensity attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10143,7 +10109,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4zReadTheOptionalAttributePrimary6XInAttributeList_34()
+    CHIP_ERROR TestStep4yThReadsThePrimary6XAttributeInAttributeList_33()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10152,9 +10118,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4z: Read the optional attribute(Primary6X) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4y: TH reads the Primary6X attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4z: Read the optional attribute(Primary6X) in AttributeList: Success");
+                NSLog(@"Step 4y: TH reads the Primary6X attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10168,7 +10134,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a1ReadTheOptionalAttributePrimary6YInAttributeList_35()
+    CHIP_ERROR TestStep4zThReadsThePrimary6YAttributeInAttributeList_34()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10177,9 +10143,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a1: Read the optional attribute(Primary6Y) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4z: TH reads the Primary6Y attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a1: Read the optional attribute(Primary6Y) in AttributeList: Success");
+                NSLog(@"Step 4z: TH reads the Primary6Y attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10193,7 +10159,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a2ReadTheOptionalAttributePrimary6IntensityInAttributeList_36()
+    CHIP_ERROR TestStep4a1ThReadsThePrimary6IntensityAttributeInAttributeList_35()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10202,9 +10168,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a2: Read the optional attribute(Primary6Intensity) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a1: TH reads the Primary6Intensity attribute in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a2: Read the optional attribute(Primary6Intensity) in AttributeList: Success");
+                NSLog(@"Step 4a1: TH reads the Primary6Intensity attribute in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10218,7 +10184,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a3ReadTheOptionalAttributeWhitePointXInAttributeList_37()
+    CHIP_ERROR TestStep4a2ThReadsTheOptionalAttributeWhitePointXInAttributeList_36()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10227,9 +10193,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a3: Read the optional attribute(WhitePointX) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a2: TH reads the optional attribute(WhitePointX) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a3: Read the optional attribute(WhitePointX) in AttributeList: Success");
+                NSLog(@"Step 4a2: TH reads the optional attribute(WhitePointX) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10243,7 +10209,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a4ReadTheOptionalAttributeWhitePointYInAttributeList_38()
+    CHIP_ERROR TestStep4a3ThReadsTheOptionalAttributeWhitePointYInAttributeList_37()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10252,9 +10218,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a4: Read the optional attribute(WhitePointY) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a3: TH reads the optional attribute(WhitePointY) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a4: Read the optional attribute(WhitePointY) in AttributeList: Success");
+                NSLog(@"Step 4a3: TH reads the optional attribute(WhitePointY) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10268,7 +10234,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a5ReadTheOptionalAttributeColorPointRXInAttributeList_39()
+    CHIP_ERROR TestStep4a4ThReadsTheOptionalAttributeColorPointRXInAttributeList_38()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10277,9 +10243,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a5: Read the optional attribute(ColorPointRX) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a4: TH reads the optional attribute(ColorPointRX) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a5: Read the optional attribute(ColorPointRX) in AttributeList: Success");
+                NSLog(@"Step 4a4: TH reads the optional attribute(ColorPointRX) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10293,7 +10259,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a6ReadTheOptionalAttributeColorPointRYInAttributeList_40()
+    CHIP_ERROR TestStep4a5ThReadsTheOptionalAttributeColorPointRYInAttributeList_39()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10302,9 +10268,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a6: Read the optional attribute(ColorPointRY) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a5: TH reads the optional attribute(ColorPointRY) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a6: Read the optional attribute(ColorPointRY) in AttributeList: Success");
+                NSLog(@"Step 4a5: TH reads the optional attribute(ColorPointRY) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10318,7 +10284,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a7ReadTheOptionalAttributeColorPointRIntensityInAttributeList_41()
+    CHIP_ERROR TestStep4a6ThReadsTheOptionalAttributeColorPointRIntensityInAttributeList_40()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10327,9 +10293,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a7: Read the optional attribute(ColorPointRIntensity) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a6: TH reads the optional attribute(ColorPointRIntensity) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a7: Read the optional attribute(ColorPointRIntensity) in AttributeList: Success");
+                NSLog(@"Step 4a6: TH reads the optional attribute(ColorPointRIntensity) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10343,7 +10309,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a8ReadTheOptionalAttributeColorPointGXInAttributeList_42()
+    CHIP_ERROR TestStep4a7ThReadsTheOptionalAttributeColorPointGXInAttributeList_41()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10352,9 +10318,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a8: Read the optional attribute(ColorPointGX) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a7: TH reads the optional attribute(ColorPointGX) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a8: Read the optional attribute(ColorPointGX) in AttributeList: Success");
+                NSLog(@"Step 4a7: TH reads the optional attribute(ColorPointGX) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10368,7 +10334,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a9ReadTheOptionalAttributeColorPointGYInAttributeList_43()
+    CHIP_ERROR TestStep4a8ThReadsTheOptionalAttributeColorPointGYInAttributeList_42()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10377,9 +10343,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a9: Read the optional attribute(ColorPointGY) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a8: TH reads the optional attribute(ColorPointGY) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a9: Read the optional attribute(ColorPointGY) in AttributeList: Success");
+                NSLog(@"Step 4a8: TH reads the optional attribute(ColorPointGY) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10393,7 +10359,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a10ReadTheOptionalAttributeColorPointGIntensityInAttributeList_44()
+    CHIP_ERROR TestStep4a9ThReadsTheOptionalAttributeColorPointGIntensityInAttributeList_43()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10402,9 +10368,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a10: Read the optional attribute(ColorPointGIntensity) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a9: TH reads the optional attribute(ColorPointGIntensity) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a10: Read the optional attribute(ColorPointGIntensity) in AttributeList: Success");
+                NSLog(@"Step 4a9: TH reads the optional attribute(ColorPointGIntensity) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10418,7 +10384,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a11ReadTheOptionalAttributeColorPointBXInAttributeList_45()
+    CHIP_ERROR TestStep4a10ThReadsTheOptionalAttributeColorPointBXInAttributeList_44()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10427,9 +10393,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a11: Read the optional attribute(ColorPointBX) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a10: TH reads the optional attribute(ColorPointBX) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a11: Read the optional attribute(ColorPointBX) in AttributeList: Success");
+                NSLog(@"Step 4a10: TH reads the optional attribute(ColorPointBX) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10443,7 +10409,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a12ReadTheOptionalAttributeColorPointBYInAttributeList_46()
+    CHIP_ERROR TestStep4a11ThReadsTheOptionalAttributeColorPointBYInAttributeList_45()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10452,9 +10418,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a12: Read the optional attribute(ColorPointBY) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a11: TH reads the optional attribute(ColorPointBY) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a12: Read the optional attribute(ColorPointBY) in AttributeList: Success");
+                NSLog(@"Step 4a11: TH reads the optional attribute(ColorPointBY) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10468,7 +10434,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a13ReadTheOptionalAttributeColorPointBIntensityInAttributeList_47()
+    CHIP_ERROR TestStep4a12ThReadsTheOptionalAttributeColorPointBIntensityInAttributeList_46()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10477,9 +10443,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a13: Read the optional attribute(ColorPointBIntensity) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a12: TH reads the optional attribute(ColorPointBIntensity) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a13: Read the optional attribute(ColorPointBIntensity) in AttributeList: Success");
+                NSLog(@"Step 4a12: TH reads the optional attribute(ColorPointBIntensity) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10493,7 +10459,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a14ReadTheOptionalAttributeEnhancedCurrentHueInAttributeList_48()
+    CHIP_ERROR TestStep4a13ThReadsFeatureDependentAttributeEnhancedCurrentHueInAttributeList_47()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10502,9 +10468,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a14: Read the optional attribute(EnhancedCurrentHue) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a13: TH reads feature dependent attribute (EnhancedCurrentHue) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a14: Read the optional attribute(EnhancedCurrentHue) in AttributeList: Success");
+                NSLog(@"Step 4a13: TH reads feature dependent attribute (EnhancedCurrentHue) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10518,7 +10484,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a15ReadTheOptionalAttributeColorLoopActiveInAttributeList_49()
+    CHIP_ERROR TestStep4a14ThReadsFeatureDependentAttributeColorLoopActiveInAttributeList_48()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10527,9 +10493,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a15: Read the optional attribute(ColorLoopActive) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a14: TH reads feature dependent attribute (ColorLoopActive) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a15: Read the optional attribute(ColorLoopActive) in AttributeList: Success");
+                NSLog(@"Step 4a14: TH reads feature dependent attribute (ColorLoopActive) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10543,7 +10509,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a16ReadTheOptionalAttributeColorLoopDirectionInAttributeList_50()
+    CHIP_ERROR TestStep4a15ThReadsFeatureDependentAttributeColorLoopDirectionInAttributeList_49()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10552,9 +10518,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a16: Read the optional attribute(ColorLoopDirection) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a15: TH reads feature dependent attribute (ColorLoopDirection) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a16: Read the optional attribute(ColorLoopDirection) in AttributeList: Success");
+                NSLog(@"Step 4a15: TH reads feature dependent attribute (ColorLoopDirection) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10568,7 +10534,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a17ReadTheOptionalAttributeColorLoopTimeInAttributeList_51()
+    CHIP_ERROR TestStep4a16ThReadsFeatureDependentAttributeColorLoopTimeInAttributeList_50()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10577,9 +10543,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a17: Read the optional attribute(ColorLoopTime) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a16: TH reads feature dependent attribute (ColorLoopTime) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a17: Read the optional attribute(ColorLoopTime) in AttributeList: Success");
+                NSLog(@"Step 4a16: TH reads feature dependent attribute (ColorLoopTime) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10593,7 +10559,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a18ReadTheOptionalAttributeColorLoopStartEnhancedHueInAttributeList_52()
+    CHIP_ERROR TestStep4a17ThReadsFeatureDependentAttributeColorLoopStartEnhancedHueInAttributeList_51()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10602,9 +10568,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a18: Read the optional attribute(ColorLoopStartEnhancedHue) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a17: TH reads feature dependent attribute (ColorLoopStartEnhancedHue) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a18: Read the optional attribute(ColorLoopStartEnhancedHue) in AttributeList: Success");
+                NSLog(@"Step 4a17: TH reads feature dependent attribute (ColorLoopStartEnhancedHue) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10618,7 +10584,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a19ReadTheOptionalAttributeColorLoopStoredEnhancedHueInAttributeList_53()
+    CHIP_ERROR TestStep4a18ThReadsFeatureDependentAttributeColorLoopStoredEnhancedHueInAttributeList_52()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10627,9 +10593,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a19: Read the optional attribute(ColorLoopStoredEnhancedHue) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a18: TH reads feature dependent attribute (ColorLoopStoredEnhancedHue) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a19: Read the optional attribute(ColorLoopStoredEnhancedHue) in AttributeList: Success");
+                NSLog(@"Step 4a18: TH reads feature dependent attribute (ColorLoopStoredEnhancedHue) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10643,7 +10609,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a20ReadTheOptionalAttributeColorTempPhysicalMinMiredsInAttributeList_54()
+    CHIP_ERROR TestStep4a19ThReadsFeatureDependentAttributeColorTempPhysicalMinMiredsInAttributeList_53()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10652,9 +10618,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a20: Read the optional attribute(ColorTempPhysicalMinMireds) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a19: TH reads feature dependent attribute (ColorTempPhysicalMinMireds) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a20: Read the optional attribute(ColorTempPhysicalMinMireds) in AttributeList: Success");
+                NSLog(@"Step 4a19: TH reads feature dependent attribute (ColorTempPhysicalMinMireds) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10668,7 +10634,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a21ReadTheOptionalAttributeColorTempPhysicalMaxMiredsInAttributeList_55()
+    CHIP_ERROR TestStep4a20ThReadsFeatureDependentAttributeColorTempPhysicalMaxMiredsInAttributeList_54()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10677,9 +10643,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a21: Read the optional attribute(ColorTempPhysicalMaxMireds) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a20: TH reads feature dependent attribute (ColorTempPhysicalMaxMireds) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a21: Read the optional attribute(ColorTempPhysicalMaxMireds) in AttributeList: Success");
+                NSLog(@"Step 4a20: TH reads feature dependent attribute (ColorTempPhysicalMaxMireds) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10693,7 +10659,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a22ReadTheOptionalAttributeCoupleColorTempToLevelMinMiredsInAttributeList_56()
+    CHIP_ERROR TestStep4a21THReadsFeatureDependentAttributeCoupleColorTempToLevelMinMiredsInAttributeList_55()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10702,9 +10668,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a22: Read the optional attribute(CoupleColorTempToLevelMinMireds) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a21:TH reads feature dependent attribute (CoupleColorTempToLevelMinMireds) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a22: Read the optional attribute(CoupleColorTempToLevelMinMireds) in AttributeList: Success");
+                NSLog(@"Step 4a21:TH reads feature dependent attribute (CoupleColorTempToLevelMinMireds) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10718,7 +10684,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4a23ReadTheOptionalAttributeStartUpColorTemperatureMiredsInAttributeList_57()
+    CHIP_ERROR TestStep4a22ThReadsFeatureDependentAttributeStartUpColorTemperatureMiredsInAttributeList_56()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10727,9 +10693,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4a23: Read the optional attribute(StartUpColorTemperatureMireds) in AttributeList: Error: %@", err);
+                NSLog(@"Step 4a22: TH reads feature dependent attribute (StartUpColorTemperatureMireds) in AttributeList: Error: %@", err);
             } else {
-                NSLog(@"Step 4a23: Read the optional attribute(StartUpColorTemperatureMireds) in AttributeList: Success");
+                NSLog(@"Step 4a22: TH reads feature dependent attribute (StartUpColorTemperatureMireds) in AttributeList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10743,7 +10709,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6aReadTheOptionalCommandMoveToHueInAcceptedCommandList_59()
+    CHIP_ERROR TestStep6aThReadsFeatureDependentCommandMoveToHueInAcceptedCommandList_58()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10752,9 +10718,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6a: Read the optional command(MoveToHue) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6a: TH reads feature dependent command(MoveToHue) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6a: Read the optional command(MoveToHue) in AcceptedCommandList: Success");
+                NSLog(@"Step 6a: TH reads feature dependent command(MoveToHue) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10768,7 +10734,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6bReadTheOptionalCommandMoveHueInAcceptedCommandList_60()
+    CHIP_ERROR TestStep6bThReadsFeatureDependentCommandMoveHueInAcceptedCommandList_59()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10777,9 +10743,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6b: Read the optional command(MoveHue) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6b: TH reads feature dependent command(MoveHue) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6b: Read the optional command(MoveHue) in AcceptedCommandList: Success");
+                NSLog(@"Step 6b: TH reads feature dependent command(MoveHue) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10793,7 +10759,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6cReadTheOptionalCommandStepHueInAcceptedCommandList_61()
+    CHIP_ERROR TestStep6cThReadsFeatureDependentCommandStepHueInAcceptedCommandList_60()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10802,9 +10768,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6c: Read the optional command(StepHue) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6c: TH reads feature dependent command(StepHue) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6c: Read the optional command(StepHue) in AcceptedCommandList: Success");
+                NSLog(@"Step 6c: TH reads feature dependent command(StepHue) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10818,7 +10784,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6dReadTheOptionalCommandMoveToSaturationInAcceptedCommandList_62()
+    CHIP_ERROR TestStep6dThReadsFeatureDependentCommandMoveToSaturationInAcceptedCommandList_61()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10827,9 +10793,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6d: Read the optional command(MoveToSaturation) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6d: TH reads feature dependent command(MoveToSaturation) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6d: Read the optional command(MoveToSaturation) in AcceptedCommandList: Success");
+                NSLog(@"Step 6d: TH reads feature dependent command(MoveToSaturation) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10843,7 +10809,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6eReadTheOptionalCommandMoveSaturationInAcceptedCommandList_63()
+    CHIP_ERROR TestStep6eThReadsFeatureDependentCommandMoveSaturationInAcceptedCommandList_62()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10852,9 +10818,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6e: Read the optional command(MoveSaturation) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6e: TH reads feature dependent command(MoveSaturation) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6e: Read the optional command(MoveSaturation) in AcceptedCommandList: Success");
+                NSLog(@"Step 6e: TH reads feature dependent command(MoveSaturation) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10868,7 +10834,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6fReadTheOptionalCommandStepSaturationInAcceptedCommandList_64()
+    CHIP_ERROR TestStep6fThReadsFeatureDependentCommandStepSaturationInAcceptedCommandList_63()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10877,9 +10843,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6f: Read the optional command(StepSaturation) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6f: TH reads feature dependent command(StepSaturation) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6f: Read the optional command(StepSaturation) in AcceptedCommandList: Success");
+                NSLog(@"Step 6f: TH reads feature dependent command(StepSaturation) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10893,7 +10859,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6gReadTheOptionalCommandMoveToHueAndSaturationInAcceptedCommandList_65()
+    CHIP_ERROR TestStep6gThReadsFeatureDependentCommandMoveToHueAndSaturationInAcceptedCommandList_64()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10902,9 +10868,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6g: Read the optional command(MoveToHueAndSaturation) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6g: TH reads feature dependent command(MoveToHueAndSaturation) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6g: Read the optional command(MoveToHueAndSaturation) in AcceptedCommandList: Success");
+                NSLog(@"Step 6g: TH reads feature dependent command(MoveToHueAndSaturation) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10918,7 +10884,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6hReadTheOptionalCommandMoveToColorInAcceptedCommandList_66()
+    CHIP_ERROR TestStep6hThReadsFeatureDependentCommandMoveToColorInAcceptedCommandList_65()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10927,9 +10893,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6h: Read the optional command(MoveToColor) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6h:  TH reads feature dependent command(MoveToColor) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6h: Read the optional command(MoveToColor) in AcceptedCommandList: Success");
+                NSLog(@"Step 6h:  TH reads feature dependent command(MoveToColor) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10943,7 +10909,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6iReadTheOptionalCommandMoveColorInAcceptedCommandList_67()
+    CHIP_ERROR TestStep6iThReadsFeatureDependentCommandMoveColorInAcceptedCommandList_66()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10952,9 +10918,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6i: Read the optional command(MoveColor) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6i: TH reads feature dependent command(MoveColor) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6i: Read the optional command(MoveColor) in AcceptedCommandList: Success");
+                NSLog(@"Step 6i: TH reads feature dependent command(MoveColor) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10968,7 +10934,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6jReadTheOptionalCommandStepColorInAcceptedCommandList_68()
+    CHIP_ERROR TestStep6jThReadsFeatureDependentCommandStepColorInAcceptedCommandList_67()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -10977,9 +10943,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6j: Read the optional command(StepColor) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6j: TH reads feature dependent command(StepColor) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6j: Read the optional command(StepColor) in AcceptedCommandList: Success");
+                NSLog(@"Step 6j: TH reads feature dependent command(StepColor) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -10993,7 +10959,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6kReadTheOptionalCommandMoveToColorTemperatureInAcceptedCommandList_69()
+    CHIP_ERROR TestStep6kThReadsFeatureDependentCommandMoveToColorTemperatureInAcceptedCommandList_68()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -11002,9 +10968,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6k: Read the optional command(MoveToColorTemperature) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6k: TH reads feature dependent command(MoveToColorTemperature) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6k: Read the optional command(MoveToColorTemperature) in AcceptedCommandList: Success");
+                NSLog(@"Step 6k: TH reads feature dependent command(MoveToColorTemperature) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -11018,7 +10984,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6lReadTheOptionalCommandEnhancedMoveToHueInAcceptedCommandList_70()
+    CHIP_ERROR TestStep6lThReadsFeatureDependentCommandEnhancedMoveToHueInAcceptedCommandList_69()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -11027,9 +10993,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6l: Read the optional command(EnhancedMoveToHue) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6l: TH reads feature dependent command(EnhancedMoveToHue) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6l: Read the optional command(EnhancedMoveToHue) in AcceptedCommandList: Success");
+                NSLog(@"Step 6l: TH reads feature dependent command(EnhancedMoveToHue) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -11043,7 +11009,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6mReadTheOptionalCommandEnhancedMoveHueInAcceptedCommandList_71()
+    CHIP_ERROR TestStep6mThReadsFeatureDependentCommandEnhancedMoveHueInAcceptedCommandList_70()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -11052,9 +11018,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6m: Read the optional command(EnhancedMoveHue) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6m: TH reads feature dependent command(EnhancedMoveHue) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6m: Read the optional command(EnhancedMoveHue) in AcceptedCommandList: Success");
+                NSLog(@"Step 6m: TH reads feature dependent command(EnhancedMoveHue) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -11068,7 +11034,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6nReadTheOptionalCommandEnhancedStepHueInAcceptedCommandList_72()
+    CHIP_ERROR TestStep6nThReadsFeatureDependentCommandEnhancedStepHueInAcceptedCommandList_71()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -11077,9 +11043,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6n: Read the optional command(EnhancedStepHue) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6n: TH reads feature dependent command(EnhancedStepHue) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6n: Read the optional command(EnhancedStepHue) in AcceptedCommandList: Success");
+                NSLog(@"Step 6n: TH reads feature dependent command(EnhancedStepHue) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -11093,7 +11059,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6oReadTheOptionalCommandEnhancedMoveToHueAndSaturationInAcceptedCommandList_73()
+    CHIP_ERROR TestStep6oTHReadsFeatureDependentCommandEnhancedMoveToHueAndSaturationInAcceptedCommandList_72()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -11102,9 +11068,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6o: Read the optional command(EnhancedMoveToHueAndSaturation) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6o:TH reads feature dependent command(EnhancedMoveToHueAndSaturation) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6o: Read the optional command(EnhancedMoveToHueAndSaturation) in AcceptedCommandList: Success");
+                NSLog(@"Step 6o:TH reads feature dependent command(EnhancedMoveToHueAndSaturation) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -11118,7 +11084,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6pReadTheOptionalCommandColorLoopSetInAcceptedCommandList_74()
+    CHIP_ERROR TestStep6pThReadsFeatureDependentCommandColorLoopSetInAcceptedCommandList_73()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -11127,9 +11093,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6p: Read the optional command(ColorLoopSet) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6p: TH reads feature dependent command(ColorLoopSet) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6p: Read the optional command(ColorLoopSet) in AcceptedCommandList: Success");
+                NSLog(@"Step 6p: TH reads feature dependent command(ColorLoopSet) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -11143,7 +11109,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6qReadTheOptionalCommandStopMoveStepInAcceptedCommandList_75()
+    CHIP_ERROR TestStep6qThReadsFeatureDependentCommandStopMoveStepInAcceptedCommandList_74()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -11152,9 +11118,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6q: Read the optional command(StopMoveStep) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6q: TH reads feature dependent command(StopMoveStep) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6q: Read the optional command(StopMoveStep) in AcceptedCommandList: Success");
+                NSLog(@"Step 6q: TH reads feature dependent command(StopMoveStep) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -11168,7 +11134,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6rReadTheOptionalCommandMoveColorTemperatureInAcceptedCommandList_76()
+    CHIP_ERROR TestStep6rThReadsFeatureDependentCommandStopMoveStepInAcceptedCommandList_75()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -11177,9 +11143,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6r: Read the optional command(MoveColorTemperature) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6r: TH reads feature dependent command(StopMoveStep) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6r: Read the optional command(MoveColorTemperature) in AcceptedCommandList: Success");
+                NSLog(@"Step 6r: TH reads feature dependent command(StopMoveStep) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -11193,7 +11159,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6sReadTheOptionalCommandStepColorTemperatureInAcceptedCommandList_77()
+    CHIP_ERROR TestStep6sThReadsFeatureDependentCommandStepColorTemperatureInAcceptedCommandList_76()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -11202,9 +11168,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6s: Read the optional command(StepColorTemperature) in AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6s: TH reads feature dependent command(StepColorTemperature) in AcceptedCommandList: Error: %@", err);
             } else {
-                NSLog(@"Step 6s: Read the optional command(StepColorTemperature) in AcceptedCommandList: Success");
+                NSLog(@"Step 6s: TH reads feature dependent command(StepColorTemperature) in AcceptedCommandList: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -11218,7 +11184,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_78()
+    CHIP_ERROR TestStep7ThReadsFromTheDutThe0xFFF8GeneratedCommandListAttribute_77()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -11227,9 +11193,9 @@ class Test_TC_CC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 7: Read the global attribute: GeneratedCommandList: Error: %@", err);
+                NSLog(@"Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 7: Read the global attribute: GeneratedCommandList: Success");
+                NSLog(@"Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -12289,7 +12255,7 @@ class Test_TC_CC_2_1 : public TestCommandBridge {
 
             VerifyOrReturn(CheckConstraintType("colorLoopTime", "int16u", "int16u"));
             VerifyOrReturn(CheckConstraintMinValue<uint16_t>("colorLoopTime", [value unsignedShortValue], 0U));
-            VerifyOrReturn(CheckConstraintMaxValue<uint16_t>("colorLoopTime", [value unsignedShortValue], 65534U));
+            VerifyOrReturn(CheckConstraintMaxValue<uint16_t>("colorLoopTime", [value unsignedShortValue], 65535U));
 
             NextTest();
         }];
@@ -13113,7 +13079,7 @@ class Test_TC_CC_3_2 : public TestCommandBridge {
             break;
         case 7:
             ChipLogProgress(chipTool, " ***** Test Step 7 : Step 2c: TH reads CurrentHue attribute from DUT\n");
-            if (ShouldSkip("CC.S.F00 && CC.S.A0000")) {
+            if (ShouldSkip("CC.S.F00 && CC.S.A0000 && PICS_SKIP_SAMPLE_APP")) {
                 NextTest();
                 return;
             }
@@ -13565,26 +13531,11 @@ class Test_TC_CC_3_2 : public TestCommandBridge {
     CHIP_ERROR TestStep2cThReadsCurrentHueAttributeFromDut_7()
     {
 
-        MTRBaseDevice * device = GetDevice("alpha");
-        __auto_type * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
-        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
-        [cluster readAttributeCurrentHueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
-            if (err != nil) {
-                NSLog(@"Step 2c: TH reads CurrentHue attribute from DUT: Error: %@", err);
-            } else {
-                NSLog(@"Step 2c: TH reads CurrentHue attribute from DUT: Success");
-            }
-
-            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
-            VerifyOrReturn(CheckConstraintMinValue<uint8_t>("currentHue", [value unsignedCharValue], 215U));
-            VerifyOrReturn(CheckConstraintMaxValue<uint8_t>("currentHue", [value unsignedCharValue], 255U));
-
-            NextTest();
-        }];
-
-        return CHIP_NO_ERROR;
+        chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
+        value.message = chip::Span<const char>("Enter 'y' after successgarbage: not in length on purpose", 23);
+        value.expectedValue.Emplace();
+        value.expectedValue.Value() = chip::Span<const char>("ygarbage: not in length on purpose", 1);
+        return UserPrompt("alpha", value);
     }
 
     CHIP_ERROR TestWait10s_8()
@@ -14177,7 +14128,7 @@ class Test_TC_CC_3_3 : public TestCommandBridge {
             break;
         case 9:
             ChipLogProgress(chipTool, " ***** Test Step 9 : Step 2d: TH reads CurrentHue attribute from DUT\n");
-            if (ShouldSkip("CC.S.F00 && CC.S.A0000")) {
+            if (ShouldSkip("CC.S.F00 && CC.S.A0000 && PICS_SKIP_SAMPLE_APP")) {
                 NextTest();
                 return;
             }
@@ -14193,7 +14144,7 @@ class Test_TC_CC_3_3 : public TestCommandBridge {
             break;
         case 11:
             ChipLogProgress(chipTool, " ***** Test Step 11 : Step 2e: TH reads CurrentHue attribute from DUT\n");
-            if (ShouldSkip("CC.S.F00 && CC.S.A0000")) {
+            if (ShouldSkip("CC.S.F00 && CC.S.A0000 PICS_SKIP_SAMPLE_APP")) {
                 NextTest();
                 return;
             }
@@ -14582,26 +14533,11 @@ class Test_TC_CC_3_3 : public TestCommandBridge {
     CHIP_ERROR TestStep2dThReadsCurrentHueAttributeFromDut_9()
     {
 
-        MTRBaseDevice * device = GetDevice("alpha");
-        __auto_type * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
-        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
-        [cluster readAttributeCurrentHueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
-            if (err != nil) {
-                NSLog(@"Step 2d: TH reads CurrentHue attribute from DUT: Error: %@", err);
-            } else {
-                NSLog(@"Step 2d: TH reads CurrentHue attribute from DUT: Success");
-            }
-
-            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
-            VerifyOrReturn(CheckConstraintMinValue<uint8_t>("currentHue", [value unsignedCharValue], 4U));
-            VerifyOrReturn(CheckConstraintMaxValue<uint8_t>("currentHue", [value unsignedCharValue], 6U));
-
-            NextTest();
-        }];
-
-        return CHIP_NO_ERROR;
+        chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
+        value.message = chip::Span<const char>("Enter 'y' after successgarbage: not in length on purpose", 23);
+        value.expectedValue.Emplace();
+        value.expectedValue.Value() = chip::Span<const char>("ygarbage: not in length on purpose", 1);
+        return UserPrompt("alpha", value);
     }
 
     CHIP_ERROR TestWait5s_10()
@@ -14615,26 +14551,11 @@ class Test_TC_CC_3_3 : public TestCommandBridge {
     CHIP_ERROR TestStep2eThReadsCurrentHueAttributeFromDut_11()
     {
 
-        MTRBaseDevice * device = GetDevice("alpha");
-        __auto_type * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
-        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
-
-        [cluster readAttributeCurrentHueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
-            if (err != nil) {
-                NSLog(@"Step 2e: TH reads CurrentHue attribute from DUT: Error: %@", err);
-            } else {
-                NSLog(@"Step 2e: TH reads CurrentHue attribute from DUT: Success");
-            }
-
-            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
-
-            VerifyOrReturn(CheckConstraintMinValue<uint8_t>("currentHue", [value unsignedCharValue], 4U));
-            VerifyOrReturn(CheckConstraintMaxValue<uint8_t>("currentHue", [value unsignedCharValue], 6U));
-
-            NextTest();
-        }];
-
-        return CHIP_NO_ERROR;
+        chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value;
+        value.message = chip::Span<const char>("Enter 'y' after successgarbage: not in length on purpose", 23);
+        value.expectedValue.Emplace();
+        value.expectedValue.Value() = chip::Span<const char>("ygarbage: not in length on purpose", 1);
+        return UserPrompt("alpha", value);
     }
 
     CHIP_ERROR TestStep3aThSendsMoveToHueCommandToDutWithHue50Direction0x00ShortestDistanceAndTransitionTime0Immediately_12()
@@ -67326,20 +67247,20 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge {
             err = TestStep4aThReadsAttributeListFromDut_4();
             break;
         case 5:
-            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT\n");
-            if (ShouldSkip("LTIME.S.A0001")) {
+            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: TH reads feature dependent attribute(ActiveCalendarType) in AttributeList from DUT\n");
+            if (ShouldSkip("LTIME.S.F00 && LTIME.S.A0001")) {
                 NextTest();
                 return;
             }
-            err = TestStep4bThReadsOptionalAttributeActiveCalendarTypeInAttributeListFromDut_5();
+            err = TestStep4bThReadsFeatureDependentAttributeActiveCalendarTypeInAttributeListFromDut_5();
             break;
         case 6:
-            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4c: TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT\n");
-            if (ShouldSkip("LTIME.S.A0002")) {
+            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4c: TH reads feature dependent attribute(SupportedCalendarTypes) in AttributeList from DUT\n");
+            if (ShouldSkip("LTIME.S.F00 && LTIME.S.A0002")) {
                 NextTest();
                 return;
             }
-            err = TestStep4cThReadsOptionalAttributeSupportedCalendarTypesInAttributeListFromDut_6();
+            err = TestStep4cThReadsFeatureDependentAttributeSupportedCalendarTypesInAttributeListFromDut_6();
             break;
         case 7:
             ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5: TH reads EventList from DUT\n");
@@ -67538,7 +67459,7 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4bThReadsOptionalAttributeActiveCalendarTypeInAttributeListFromDut_5()
+    CHIP_ERROR TestStep4bThReadsFeatureDependentAttributeActiveCalendarTypeInAttributeListFromDut_5()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -67547,9 +67468,9 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4b: TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT: Error: %@", err);
+                NSLog(@"Step 4b: TH reads feature dependent attribute(ActiveCalendarType) in AttributeList from DUT: Error: %@", err);
             } else {
-                NSLog(@"Step 4b: TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT: Success");
+                NSLog(@"Step 4b: TH reads feature dependent attribute(ActiveCalendarType) in AttributeList from DUT: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -67563,7 +67484,7 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4cThReadsOptionalAttributeSupportedCalendarTypesInAttributeListFromDut_6()
+    CHIP_ERROR TestStep4cThReadsFeatureDependentAttributeSupportedCalendarTypesInAttributeListFromDut_6()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -67572,9 +67493,9 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4c: TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT: Error: %@", err);
+                NSLog(@"Step 4c: TH reads feature dependent attribute(SupportedCalendarTypes) in AttributeList from DUT: Error: %@", err);
             } else {
-                NSLog(@"Step 4c: TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT: Success");
+                NSLog(@"Step 4c: TH reads feature dependent attribute(SupportedCalendarTypes) in AttributeList from DUT: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -83978,12 +83899,12 @@ class Test_TC_MOD_1_1 : public TestCommandBridge {
             err = TestStep4bThReadsTheOptionalAttributeStartUpModeInAttributeListFromTheDut_6();
             break;
         case 7:
-            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4c: TH reads the optional attribute(OnMode) in AttributeList from the DUT\n");
-            if (ShouldSkip("MOD.S.A0005")) {
+            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4c: TH reads the feature dependent attribute(OnMode) in AttributeList from the DUT\n");
+            if (ShouldSkip("MOD.S.F00 && MOD.S.A0005")) {
                 NextTest();
                 return;
             }
-            err = TestStep4cThReadsTheOptionalAttributeOnModeInAttributeListFromTheDut_7();
+            err = TestStep4cThReadsTheFeatureDependentAttributeOnModeInAttributeListFromTheDut_7();
             break;
         case 8:
             ChipLogProgress(chipTool, " ***** Test Step 8 : Step 5: TH reads from the DUT the EventList attribute\n");
@@ -84246,7 +84167,7 @@ class Test_TC_MOD_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4cThReadsTheOptionalAttributeOnModeInAttributeListFromTheDut_7()
+    CHIP_ERROR TestStep4cThReadsTheFeatureDependentAttributeOnModeInAttributeListFromTheDut_7()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -84255,9 +84176,9 @@ class Test_TC_MOD_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4c: TH reads the optional attribute(OnMode) in AttributeList from the DUT: Error: %@", err);
+                NSLog(@"Step 4c: TH reads the feature dependent attribute(OnMode) in AttributeList from the DUT: Error: %@", err);
             } else {
-                NSLog(@"Step 4c: TH reads the optional attribute(OnMode) in AttributeList from the DUT: Success");
+                NSLog(@"Step 4c: TH reads the feature dependent attribute(OnMode) in AttributeList from the DUT: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -84706,48 +84627,120 @@ class Test_TC_OCC_1_1 : public TestCommandBridge {
         // incorrect mTestIndex value observed when we get the response.
         switch (mTestIndex++) {
         case 0:
-            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Wait for the commissioned device to be retrieved\n");
-            err = TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0();
+            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Commission DUT to TH\n");
+            err = TestStep1CommissionDutToTh_0();
             break;
         case 1:
-            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Read the global attribute: ClusterRevision\n");
-            err = TestStep2ReadTheGlobalAttributeClusterRevision_1();
+            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads from the DUT the (0xFFFD) ClusterRevision attribute\n");
+            err = TestStep2ThReadsFromTheDutThe0xFFFDClusterRevisionAttribute_1();
             break;
         case 2:
-            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: Read the global attribute: FeatureMap\n");
-            err = TestStep3ReadTheGlobalAttributeFeatureMap_2();
+            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TH reads from the DUT the (0xFFFC) FeatureMap attribute\n");
+            err = TestStep3ThReadsFromTheDutThe0xFFFCFeatureMapAttribute_2();
             break;
         case 3:
-            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4ReadTheGlobalAttributeAttributeList_3();
+            err = TestStep4aThReadsFromTheDutThe0xFFFBAttributeListAttribute_3();
             break;
         case 4:
-            ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: Read the global attribute: AttributeList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute\n");
             if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
-            err = TestStep4ReadTheGlobalAttributeAttributeList_4();
+            err = TestStep4aThReadsFromTheDutThe0xFFFBAttributeListAttribute_4();
             break;
         case 5:
-            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: EventList\n");
+            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: TH reads optional attribute(PIROccupiedToUnoccupiedDelay) in AttributeList\n");
+            if (ShouldSkip("OCC.S.A0010")) {
+                NextTest();
+                return;
+            }
+            err = TestStep4bThReadsOptionalAttributePIROccupiedToUnoccupiedDelayInAttributeList_5();
+            break;
+        case 6:
+            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4c: TH reads optional attribute(PIRUnoccupiedToOccupiedDelay) in AttributeList\n");
+            if (ShouldSkip("OCC.S.A0011")) {
+                NextTest();
+                return;
+            }
+            err = TestStep4cThReadsOptionalAttributePIRUnoccupiedToOccupiedDelayInAttributeList_6();
+            break;
+        case 7:
+            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4d: TH reads optional attribute(PIRUnoccupiedToOccupiedThreshold) in AttributeList\n");
+            if (ShouldSkip("OCC.S.A0012")) {
+                NextTest();
+                return;
+            }
+            err = TestStep4dThReadsOptionalAttributePIRUnoccupiedToOccupiedThresholdInAttributeList_7();
+            break;
+        case 8:
+            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4e: TH reads optional attribute(UltrasonicOccupiedToUnoccupiedDelay) in AttributeList\n");
+            if (ShouldSkip("OCC.S.A0020")) {
+                NextTest();
+                return;
+            }
+            err = TestStep4eThReadsOptionalAttributeUltrasonicOccupiedToUnoccupiedDelayInAttributeList_8();
+            break;
+        case 9:
+            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4f: TH reads optional attribute(UltrasonicUnoccupiedToOccupiedDelay) in AttributeList\n");
+            if (ShouldSkip("OCC.S.A0021")) {
+                NextTest();
+                return;
+            }
+            err = TestStep4fThReadsOptionalAttributeUltrasonicUnoccupiedToOccupiedDelayInAttributeList_9();
+            break;
+        case 10:
+            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4g: TH reads optional attribute(UltrasonicUnoccupiedToOccupiedThreshold) in AttributeList\n");
+            if (ShouldSkip("OCC.S.A0022")) {
+                NextTest();
+                return;
+            }
+            err = TestStep4gThReadsOptionalAttributeUltrasonicUnoccupiedToOccupiedThresholdInAttributeList_10();
+            break;
+        case 11:
+            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4h: TH reads optional attribute(PhysicalContactOccupiedToUnoccupiedDelay) in AttributeList\n");
+            if (ShouldSkip("OCC.S.A0030")) {
+                NextTest();
+                return;
+            }
+            err = TestStep4hThReadsOptionalAttributePhysicalContactOccupiedToUnoccupiedDelayInAttributeList_11();
+            break;
+        case 12:
+            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 4i: TH reads the optional attribute(PhysicalContactUnoccupiedToOccupiedDelay) in AttributeList\n");
+            if (ShouldSkip("OCC.S.A0031")) {
+                NextTest();
+                return;
+            }
+            err = TestStep4iThReadsTheOptionalAttributePhysicalContactUnoccupiedToOccupiedDelayInAttributeList_12();
+            break;
+        case 13:
+            ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4j: TH reads optional attribute(PhysicalContactUnoccupiedToOccupiedThreshold) in AttributeList\n");
+            if (ShouldSkip("OCC.S.A0032")) {
+                NextTest();
+                return;
+            }
+            err = TestStep4jThReadsOptionalAttributePhysicalContactUnoccupiedToOccupiedThresholdInAttributeList_13();
+            break;
+        case 14:
+            ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5: TH reads from the DUT the (0xFFFA) EventList attribute\n");
             if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) {
                 NextTest();
                 return;
             }
             NextTest();
             return;
-        case 6:
-            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read the global attribute: AcceptedCommandList\n");
-            err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_6();
+        case 15:
+            ChipLogProgress(chipTool, " ***** Test Step 15 : Step 6: TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute\n");
+            err = TestStep6ThReadsFromTheDutThe0xFFF9AcceptedCommandListAttribute_15();
             break;
-        case 7:
-            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: Read the global attribute: GeneratedCommandList\n");
-            err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_7();
+        case 16:
+            ChipLogProgress(chipTool, " ***** Test Step 16 : Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute\n");
+            err = TestStep7ThReadsFromTheDutThe0xFFF8GeneratedCommandListAttribute_16();
             break;
         }
 
@@ -84784,6 +84777,33 @@ class Test_TC_OCC_1_1 : public TestCommandBridge {
         case 7:
             VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
             break;
+        case 8:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 9:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 10:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 11:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 12:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 13:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 14:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 15:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
+        case 16:
+            VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0));
+            break;
         }
 
         // Go on to the next test.
@@ -84794,14 +84814,14 @@ class Test_TC_OCC_1_1 : public TestCommandBridge {
 
 private:
     std::atomic_uint16_t mTestIndex;
-    const uint16_t mTestCount = 8;
+    const uint16_t mTestCount = 17;
 
     chip::Optional<chip::NodeId> mNodeId;
     chip::Optional<chip::CharSpan> mCluster;
     chip::Optional<chip::EndpointId> mEndpoint;
     chip::Optional<uint16_t> mTimeout;
 
-    CHIP_ERROR TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0()
+    CHIP_ERROR TestStep1CommissionDutToTh_0()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
@@ -84809,7 +84829,7 @@ class Test_TC_OCC_1_1 : public TestCommandBridge {
         return WaitForCommissionee("alpha", value);
     }
 
-    CHIP_ERROR TestStep2ReadTheGlobalAttributeClusterRevision_1()
+    CHIP_ERROR TestStep2ThReadsFromTheDutThe0xFFFDClusterRevisionAttribute_1()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -84818,9 +84838,9 @@ class Test_TC_OCC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 2: Read the global attribute: ClusterRevision: Error: %@", err);
+                NSLog(@"Step 2: TH reads from the DUT the (0xFFFD) ClusterRevision attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 2: Read the global attribute: ClusterRevision: Success");
+                NSLog(@"Step 2: TH reads from the DUT the (0xFFFD) ClusterRevision attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -84837,7 +84857,7 @@ class Test_TC_OCC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3ReadTheGlobalAttributeFeatureMap_2()
+    CHIP_ERROR TestStep3ThReadsFromTheDutThe0xFFFCFeatureMapAttribute_2()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -84846,9 +84866,9 @@ class Test_TC_OCC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3: Read the global attribute: FeatureMap: Error: %@", err);
+                NSLog(@"Step 3: TH reads from the DUT the (0xFFFC) FeatureMap attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 3: Read the global attribute: FeatureMap: Success");
+                NSLog(@"Step 3: TH reads from the DUT the (0xFFFC) FeatureMap attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -84865,7 +84885,7 @@ class Test_TC_OCC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_3()
+    CHIP_ERROR TestStep4aThReadsFromTheDutThe0xFFFBAttributeListAttribute_3()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -84874,9 +84894,9 @@ class Test_TC_OCC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 4: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -84898,7 +84918,7 @@ class Test_TC_OCC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_4()
+    CHIP_ERROR TestStep4aThReadsFromTheDutThe0xFFFBAttributeListAttribute_4()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -84907,9 +84927,9 @@ class Test_TC_OCC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4: Read the global attribute: AttributeList: Error: %@", err);
+                NSLog(@"Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 4: Read the global attribute: AttributeList: Success");
+                NSLog(@"Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -84930,7 +84950,232 @@ class Test_TC_OCC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_6()
+    CHIP_ERROR TestStep4bThReadsOptionalAttributePIROccupiedToUnoccupiedDelayInAttributeList_5()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterOccupancySensing alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 4b: TH reads optional attribute(PIROccupiedToUnoccupiedDelay) in AttributeList: Error: %@", err);
+            } else {
+                NSLog(@"Step 4b: TH reads optional attribute(PIROccupiedToUnoccupiedDelay) in AttributeList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 16UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep4cThReadsOptionalAttributePIRUnoccupiedToOccupiedDelayInAttributeList_6()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterOccupancySensing alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 4c: TH reads optional attribute(PIRUnoccupiedToOccupiedDelay) in AttributeList: Error: %@", err);
+            } else {
+                NSLog(@"Step 4c: TH reads optional attribute(PIRUnoccupiedToOccupiedDelay) in AttributeList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 17UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep4dThReadsOptionalAttributePIRUnoccupiedToOccupiedThresholdInAttributeList_7()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterOccupancySensing alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 4d: TH reads optional attribute(PIRUnoccupiedToOccupiedThreshold) in AttributeList: Error: %@", err);
+            } else {
+                NSLog(@"Step 4d: TH reads optional attribute(PIRUnoccupiedToOccupiedThreshold) in AttributeList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 18UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep4eThReadsOptionalAttributeUltrasonicOccupiedToUnoccupiedDelayInAttributeList_8()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterOccupancySensing alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 4e: TH reads optional attribute(UltrasonicOccupiedToUnoccupiedDelay) in AttributeList: Error: %@", err);
+            } else {
+                NSLog(@"Step 4e: TH reads optional attribute(UltrasonicOccupiedToUnoccupiedDelay) in AttributeList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 32UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep4fThReadsOptionalAttributeUltrasonicUnoccupiedToOccupiedDelayInAttributeList_9()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterOccupancySensing alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 4f: TH reads optional attribute(UltrasonicUnoccupiedToOccupiedDelay) in AttributeList: Error: %@", err);
+            } else {
+                NSLog(@"Step 4f: TH reads optional attribute(UltrasonicUnoccupiedToOccupiedDelay) in AttributeList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 33UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep4gThReadsOptionalAttributeUltrasonicUnoccupiedToOccupiedThresholdInAttributeList_10()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterOccupancySensing alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 4g: TH reads optional attribute(UltrasonicUnoccupiedToOccupiedThreshold) in AttributeList: Error: %@", err);
+            } else {
+                NSLog(@"Step 4g: TH reads optional attribute(UltrasonicUnoccupiedToOccupiedThreshold) in AttributeList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 34UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep4hThReadsOptionalAttributePhysicalContactOccupiedToUnoccupiedDelayInAttributeList_11()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterOccupancySensing alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 4h: TH reads optional attribute(PhysicalContactOccupiedToUnoccupiedDelay) in AttributeList: Error: %@", err);
+            } else {
+                NSLog(@"Step 4h: TH reads optional attribute(PhysicalContactOccupiedToUnoccupiedDelay) in AttributeList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 48UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep4iThReadsTheOptionalAttributePhysicalContactUnoccupiedToOccupiedDelayInAttributeList_12()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterOccupancySensing alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 4i: TH reads the optional attribute(PhysicalContactUnoccupiedToOccupiedDelay) in AttributeList: Error: %@", err);
+            } else {
+                NSLog(@"Step 4i: TH reads the optional attribute(PhysicalContactUnoccupiedToOccupiedDelay) in AttributeList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 49UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep4jThReadsOptionalAttributePhysicalContactUnoccupiedToOccupiedThresholdInAttributeList_13()
+    {
+
+        MTRBaseDevice * device = GetDevice("alpha");
+        __auto_type * cluster = [[MTRBaseClusterOccupancySensing alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue];
+        VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE);
+
+        [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
+            if (err != nil) {
+                NSLog(@"Step 4j: TH reads optional attribute(PhysicalContactUnoccupiedToOccupiedThreshold) in AttributeList: Error: %@", err);
+            } else {
+                NSLog(@"Step 4j: TH reads optional attribute(PhysicalContactUnoccupiedToOccupiedThreshold) in AttributeList: Success");
+            }
+
+            VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
+
+            VerifyOrReturn(CheckConstraintType("attributeList", "list", "list"));
+            VerifyOrReturn(CheckConstraintContains("attributeList", value, 50UL));
+
+            NextTest();
+        }];
+
+        return CHIP_NO_ERROR;
+    }
+
+    CHIP_ERROR TestStep6ThReadsFromTheDutThe0xFFF9AcceptedCommandListAttribute_15()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -84939,9 +85184,9 @@ class Test_TC_OCC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6: Read the global attribute: AcceptedCommandList: Error: %@", err);
+                NSLog(@"Step 6: TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 6: Read the global attribute: AcceptedCommandList: Success");
+                NSLog(@"Step 6: TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -84958,7 +85203,7 @@ class Test_TC_OCC_1_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_7()
+    CHIP_ERROR TestStep7ThReadsFromTheDutThe0xFFF8GeneratedCommandListAttribute_16()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -84967,9 +85212,9 @@ class Test_TC_OCC_1_1 : public TestCommandBridge {
 
         [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 7: Read the global attribute: GeneratedCommandList: Error: %@", err);
+                NSLog(@"Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 7: Read the global attribute: GeneratedCommandList: Success");
+                NSLog(@"Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -85028,104 +85273,104 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
         // incorrect mTestIndex value observed when we get the response.
         switch (mTestIndex++) {
         case 0:
-            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Wait for the commissioned device to be retrieved\n");
-            err = TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0();
+            ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Commission DUT to TH\n");
+            err = TestStep1CommissionDutToTh_0();
             break;
         case 1:
-            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Reads mandatory attribute constrains: Occupancy\n");
+            ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads from the DUT the (0x0000) Occupancy attribute\n");
             if (ShouldSkip("OCC.S.A0000")) {
                 NextTest();
                 return;
             }
-            err = TestStep2ReadsMandatoryAttributeConstrainsOccupancy_1();
+            err = TestStep2ThReadsFromTheDutThe0x0000OccupancyAttribute_1();
             break;
         case 2:
-            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: Reads mandatory attribute constrains: OccupancySensorType\n");
+            ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TH reads from the DUT the (0x0001) OccupancySensorType attribute\n");
             if (ShouldSkip("OCC.S.A0001")) {
                 NextTest();
                 return;
             }
-            err = TestStep3ReadsMandatoryAttributeConstrainsOccupancySensorType_2();
+            err = TestStep3ThReadsFromTheDutThe0x0001OccupancySensorTypeAttribute_2();
             break;
         case 3:
-            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: Reads mandatory attribute constrains: OccupancySensorTypeBitmap\n");
+            ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4:TH reads from the DUT the (0x0002) OccupancySensorTypeBitmap attribute\n");
             if (ShouldSkip("OCC.S.A0002")) {
                 NextTest();
                 return;
             }
-            err = TestStep4ReadsMandatoryAttributeConstrainsOccupancySensorTypeBitmap_3();
+            err = TestStep4thReadsFromTheDutThe0x0002OccupancySensorTypeBitmapAttribute_3();
             break;
         case 4:
-            ChipLogProgress(chipTool, " ***** Test Step 4 : Step 5: Reads optional attribute: PIROccupiedToUnoccupiedDelay\n");
+            ChipLogProgress(chipTool, " ***** Test Step 4 : Step 5: TH reads from the DUT the (0x0010) PIROccupiedToUnoccupiedDelay optional attribute, if PIR sensor\n");
             if (ShouldSkip("OCC.S.A0010")) {
                 NextTest();
                 return;
             }
-            err = TestStep5ReadsOptionalAttributePIROccupiedToUnoccupiedDelay_4();
+            err = TestStep5ThReadsFromTheDutThe0x0010PIROccupiedToUnoccupiedDelayOptionalAttributeIfPirSensor_4();
             break;
         case 5:
-            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6: Reads optional attribute constrains: PIRUnoccupiedToOccupiedDelay\n");
+            ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6: TH reads from the DUT the (0x0011) PIRUnoccupiedToOccupiedDelay optional attribute, if PIR sensor\n");
             if (ShouldSkip("OCC.S.A0011")) {
                 NextTest();
                 return;
             }
-            err = TestStep6ReadsOptionalAttributeConstrainsPIRUnoccupiedToOccupiedDelay_5();
+            err = TestStep6ThReadsFromTheDutThe0x0011PIRUnoccupiedToOccupiedDelayOptionalAttributeIfPirSensor_5();
             break;
         case 6:
-            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 7: Reads optional attribute constrains: PIRUnoccupiedToOccupiedThreshold\n");
+            ChipLogProgress(chipTool, " ***** Test Step 6 : Step 7: TH reads from the DUT the (0x0012) PIRUnoccupiedToOccupiedThreshold optional attribute, if PIR sensor\n");
             if (ShouldSkip("OCC.S.A0012")) {
                 NextTest();
                 return;
             }
-            err = TestStep7ReadsOptionalAttributeConstrainsPIRUnoccupiedToOccupiedThreshold_6();
+            err = TestStep7ThReadsFromTheDutThe0x0012PIRUnoccupiedToOccupiedThresholdOptionalAttributeIfPirSensor_6();
             break;
         case 7:
-            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 8: Read optional attribute: UltrasonicOccupiedToUnoccupiedDelay\n");
+            ChipLogProgress(chipTool, " ***** Test Step 7 : Step 8: TH reads from the DUT the (0x0020) UltrasonicOccupiedToUnoccupiedDelay optional attribute, if ultrasonic sensor\n");
             if (ShouldSkip("OCC.S.A0020")) {
                 NextTest();
                 return;
             }
-            err = TestStep8ReadOptionalAttributeUltrasonicOccupiedToUnoccupiedDelay_7();
+            err = TestStep8ThReadsFromTheDutThe0x0020UltrasonicOccupiedToUnoccupiedDelayOptionalAttributeIfUltrasonicSensor_7();
             break;
         case 8:
-            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 9: Read attribute: UltrasonicUnoccupiedToOccupiedDelay\n");
+            ChipLogProgress(chipTool, " ***** Test Step 8 : Step 9: TH reads from the DUT the (0x0021) UltrasonicUnoccupiedToOccupiedDelay optional attribute, if ultrasonic sensor\n");
             if (ShouldSkip("OCC.S.A0021")) {
                 NextTest();
                 return;
             }
-            err = TestStep9ReadAttributeUltrasonicUnoccupiedToOccupiedDelay_8();
+            err = TestStep9ThReadsFromTheDutThe0x0021UltrasonicUnoccupiedToOccupiedDelayOptionalAttributeIfUltrasonicSensor_8();
             break;
         case 9:
-            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 10: Read attribute: UltrasonicUnoccupiedToOccupiedThreshold\n");
+            ChipLogProgress(chipTool, " ***** Test Step 9 : Step 10: TH reads from the DUT the (0x0022) UltrasonicUnoccupiedToOccupiedThreshold optional attribute, if ultrasonic sensor\n");
             if (ShouldSkip("OCC.S.A0022")) {
                 NextTest();
                 return;
             }
-            err = TestStep10ReadAttributeUltrasonicUnoccupiedToOccupiedThreshold_9();
+            err = TestStep10ThReadsFromTheDutThe0x0022UltrasonicUnoccupiedToOccupiedThresholdOptionalAttributeIfUltrasonicSensor_9();
             break;
         case 10:
-            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 11: Reads optional attribute constrains: PhysicalContactOccupiedToUnoccupiedDelay\n");
+            ChipLogProgress(chipTool, " ***** Test Step 10 : Step 11:TH reads from the DUT the (0x0030) PhysicalContactOccupiedToUnoccupiedDelay optional attribute, if Physical Contact sensor\n");
             if (ShouldSkip("OCC.S.A0030")) {
                 NextTest();
                 return;
             }
-            err = TestStep11ReadsOptionalAttributeConstrainsPhysicalContactOccupiedToUnoccupiedDelay_10();
+            err = TestStep11thReadsFromTheDutThe0x0030PhysicalContactOccupiedToUnoccupiedDelayOptionalAttributeIfPhysicalContactSensor_10();
             break;
         case 11:
-            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 12: Reads optional attribute constrains: PhysicalContactUnoccupiedToOccupiedDelay\n");
+            ChipLogProgress(chipTool, " ***** Test Step 11 : Step 12: TH reads from the DUT the (0x0031) PhysicalContactUnoccupiedToOccupiedDelay optional attribute, if Physical Contact sensor\n");
             if (ShouldSkip("OCC.S.A0031")) {
                 NextTest();
                 return;
             }
-            err = TestStep12ReadsOptionalAttributeConstrainsPhysicalContactUnoccupiedToOccupiedDelay_11();
+            err = TestStep12ThReadsFromTheDutThe0x0031PhysicalContactUnoccupiedToOccupiedDelayOptionalAttributeIfPhysicalContactSensor_11();
             break;
         case 12:
-            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 13: Reads optional attribute constrains: PhysicalContactUnoccupiedToOccupiedThreshold\n");
+            ChipLogProgress(chipTool, " ***** Test Step 12 : Step 13: TH reads from the DUT the (0x0032) PhysicalContactUnoccupiedToOccupiedThreshold optional attribute, if Physical Contact sensor\n");
             if (ShouldSkip("OCC.S.A0032")) {
                 NextTest();
                 return;
             }
-            err = TestStep13ReadsOptionalAttributeConstrainsPhysicalContactUnoccupiedToOccupiedThreshold_12();
+            err = TestStep13ThReadsFromTheDutThe0x0032PhysicalContactUnoccupiedToOccupiedThresholdOptionalAttributeIfPhysicalContactSensor_12();
             break;
         }
 
@@ -85194,7 +85439,7 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
     chip::Optional<chip::EndpointId> mEndpoint;
     chip::Optional<uint16_t> mTimeout;
 
-    CHIP_ERROR TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0()
+    CHIP_ERROR TestStep1CommissionDutToTh_0()
     {
 
         chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value;
@@ -85202,7 +85447,7 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
         return WaitForCommissionee("alpha", value);
     }
 
-    CHIP_ERROR TestStep2ReadsMandatoryAttributeConstrainsOccupancy_1()
+    CHIP_ERROR TestStep2ThReadsFromTheDutThe0x0000OccupancyAttribute_1()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -85211,9 +85456,9 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
 
         [cluster readAttributeOccupancyWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 2: Reads mandatory attribute constrains: Occupancy: Error: %@", err);
+                NSLog(@"Step 2: TH reads from the DUT the (0x0000) Occupancy attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 2: Reads mandatory attribute constrains: Occupancy: Success");
+                NSLog(@"Step 2: TH reads from the DUT the (0x0000) Occupancy attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -85228,7 +85473,7 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep3ReadsMandatoryAttributeConstrainsOccupancySensorType_2()
+    CHIP_ERROR TestStep3ThReadsFromTheDutThe0x0001OccupancySensorTypeAttribute_2()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -85237,9 +85482,9 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
 
         [cluster readAttributeOccupancySensorTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 3: Reads mandatory attribute constrains: OccupancySensorType: Error: %@", err);
+                NSLog(@"Step 3: TH reads from the DUT the (0x0001) OccupancySensorType attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 3: Reads mandatory attribute constrains: OccupancySensorType: Success");
+                NSLog(@"Step 3: TH reads from the DUT the (0x0001) OccupancySensorType attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -85254,7 +85499,7 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep4ReadsMandatoryAttributeConstrainsOccupancySensorTypeBitmap_3()
+    CHIP_ERROR TestStep4thReadsFromTheDutThe0x0002OccupancySensorTypeBitmapAttribute_3()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -85263,9 +85508,9 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
 
         [cluster readAttributeOccupancySensorTypeBitmapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 4: Reads mandatory attribute constrains: OccupancySensorTypeBitmap: Error: %@", err);
+                NSLog(@"Step 4:TH reads from the DUT the (0x0002) OccupancySensorTypeBitmap attribute: Error: %@", err);
             } else {
-                NSLog(@"Step 4: Reads mandatory attribute constrains: OccupancySensorTypeBitmap: Success");
+                NSLog(@"Step 4:TH reads from the DUT the (0x0002) OccupancySensorTypeBitmap attribute: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -85280,7 +85525,7 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep5ReadsOptionalAttributePIROccupiedToUnoccupiedDelay_4()
+    CHIP_ERROR TestStep5ThReadsFromTheDutThe0x0010PIROccupiedToUnoccupiedDelayOptionalAttributeIfPirSensor_4()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -85289,9 +85534,9 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
 
         [cluster readAttributePIROccupiedToUnoccupiedDelayWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 5: Reads optional attribute: PIROccupiedToUnoccupiedDelay: Error: %@", err);
+                NSLog(@"Step 5: TH reads from the DUT the (0x0010) PIROccupiedToUnoccupiedDelay optional attribute, if PIR sensor: Error: %@", err);
             } else {
-                NSLog(@"Step 5: Reads optional attribute: PIROccupiedToUnoccupiedDelay: Success");
+                NSLog(@"Step 5: TH reads from the DUT the (0x0010) PIROccupiedToUnoccupiedDelay optional attribute, if PIR sensor: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -85306,7 +85551,7 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep6ReadsOptionalAttributeConstrainsPIRUnoccupiedToOccupiedDelay_5()
+    CHIP_ERROR TestStep6ThReadsFromTheDutThe0x0011PIRUnoccupiedToOccupiedDelayOptionalAttributeIfPirSensor_5()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -85315,9 +85560,9 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
 
         [cluster readAttributePIRUnoccupiedToOccupiedDelayWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 6: Reads optional attribute constrains: PIRUnoccupiedToOccupiedDelay: Error: %@", err);
+                NSLog(@"Step 6: TH reads from the DUT the (0x0011) PIRUnoccupiedToOccupiedDelay optional attribute, if PIR sensor: Error: %@", err);
             } else {
-                NSLog(@"Step 6: Reads optional attribute constrains: PIRUnoccupiedToOccupiedDelay: Success");
+                NSLog(@"Step 6: TH reads from the DUT the (0x0011) PIRUnoccupiedToOccupiedDelay optional attribute, if PIR sensor: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -85332,7 +85577,7 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep7ReadsOptionalAttributeConstrainsPIRUnoccupiedToOccupiedThreshold_6()
+    CHIP_ERROR TestStep7ThReadsFromTheDutThe0x0012PIRUnoccupiedToOccupiedThresholdOptionalAttributeIfPirSensor_6()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -85341,9 +85586,9 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
 
         [cluster readAttributePIRUnoccupiedToOccupiedThresholdWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 7: Reads optional attribute constrains: PIRUnoccupiedToOccupiedThreshold: Error: %@", err);
+                NSLog(@"Step 7: TH reads from the DUT the (0x0012) PIRUnoccupiedToOccupiedThreshold optional attribute, if PIR sensor: Error: %@", err);
             } else {
-                NSLog(@"Step 7: Reads optional attribute constrains: PIRUnoccupiedToOccupiedThreshold: Success");
+                NSLog(@"Step 7: TH reads from the DUT the (0x0012) PIRUnoccupiedToOccupiedThreshold optional attribute, if PIR sensor: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -85358,7 +85603,7 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep8ReadOptionalAttributeUltrasonicOccupiedToUnoccupiedDelay_7()
+    CHIP_ERROR TestStep8ThReadsFromTheDutThe0x0020UltrasonicOccupiedToUnoccupiedDelayOptionalAttributeIfUltrasonicSensor_7()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -85367,9 +85612,9 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
 
         [cluster readAttributeUltrasonicOccupiedToUnoccupiedDelayWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 8: Read optional attribute: UltrasonicOccupiedToUnoccupiedDelay: Error: %@", err);
+                NSLog(@"Step 8: TH reads from the DUT the (0x0020) UltrasonicOccupiedToUnoccupiedDelay optional attribute, if ultrasonic sensor: Error: %@", err);
             } else {
-                NSLog(@"Step 8: Read optional attribute: UltrasonicOccupiedToUnoccupiedDelay: Success");
+                NSLog(@"Step 8: TH reads from the DUT the (0x0020) UltrasonicOccupiedToUnoccupiedDelay optional attribute, if ultrasonic sensor: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -85384,7 +85629,7 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep9ReadAttributeUltrasonicUnoccupiedToOccupiedDelay_8()
+    CHIP_ERROR TestStep9ThReadsFromTheDutThe0x0021UltrasonicUnoccupiedToOccupiedDelayOptionalAttributeIfUltrasonicSensor_8()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -85393,9 +85638,9 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
 
         [cluster readAttributeUltrasonicUnoccupiedToOccupiedDelayWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 9: Read attribute: UltrasonicUnoccupiedToOccupiedDelay: Error: %@", err);
+                NSLog(@"Step 9: TH reads from the DUT the (0x0021) UltrasonicUnoccupiedToOccupiedDelay optional attribute, if ultrasonic sensor: Error: %@", err);
             } else {
-                NSLog(@"Step 9: Read attribute: UltrasonicUnoccupiedToOccupiedDelay: Success");
+                NSLog(@"Step 9: TH reads from the DUT the (0x0021) UltrasonicUnoccupiedToOccupiedDelay optional attribute, if ultrasonic sensor: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -85410,7 +85655,7 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep10ReadAttributeUltrasonicUnoccupiedToOccupiedThreshold_9()
+    CHIP_ERROR TestStep10ThReadsFromTheDutThe0x0022UltrasonicUnoccupiedToOccupiedThresholdOptionalAttributeIfUltrasonicSensor_9()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -85419,9 +85664,9 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
 
         [cluster readAttributeUltrasonicUnoccupiedToOccupiedThresholdWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 10: Read attribute: UltrasonicUnoccupiedToOccupiedThreshold: Error: %@", err);
+                NSLog(@"Step 10: TH reads from the DUT the (0x0022) UltrasonicUnoccupiedToOccupiedThreshold optional attribute, if ultrasonic sensor: Error: %@", err);
             } else {
-                NSLog(@"Step 10: Read attribute: UltrasonicUnoccupiedToOccupiedThreshold: Success");
+                NSLog(@"Step 10: TH reads from the DUT the (0x0022) UltrasonicUnoccupiedToOccupiedThreshold optional attribute, if ultrasonic sensor: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -85436,7 +85681,7 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep11ReadsOptionalAttributeConstrainsPhysicalContactOccupiedToUnoccupiedDelay_10()
+    CHIP_ERROR TestStep11thReadsFromTheDutThe0x0030PhysicalContactOccupiedToUnoccupiedDelayOptionalAttributeIfPhysicalContactSensor_10()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -85445,9 +85690,9 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
 
         [cluster readAttributePhysicalContactOccupiedToUnoccupiedDelayWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 11: Reads optional attribute constrains: PhysicalContactOccupiedToUnoccupiedDelay: Error: %@", err);
+                NSLog(@"Step 11:TH reads from the DUT the (0x0030) PhysicalContactOccupiedToUnoccupiedDelay optional attribute, if Physical Contact sensor: Error: %@", err);
             } else {
-                NSLog(@"Step 11: Reads optional attribute constrains: PhysicalContactOccupiedToUnoccupiedDelay: Success");
+                NSLog(@"Step 11:TH reads from the DUT the (0x0030) PhysicalContactOccupiedToUnoccupiedDelay optional attribute, if Physical Contact sensor: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -85462,7 +85707,7 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep12ReadsOptionalAttributeConstrainsPhysicalContactUnoccupiedToOccupiedDelay_11()
+    CHIP_ERROR TestStep12ThReadsFromTheDutThe0x0031PhysicalContactUnoccupiedToOccupiedDelayOptionalAttributeIfPhysicalContactSensor_11()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -85471,9 +85716,9 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
 
         [cluster readAttributePhysicalContactUnoccupiedToOccupiedDelayWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 12: Reads optional attribute constrains: PhysicalContactUnoccupiedToOccupiedDelay: Error: %@", err);
+                NSLog(@"Step 12: TH reads from the DUT the (0x0031) PhysicalContactUnoccupiedToOccupiedDelay optional attribute, if Physical Contact sensor: Error: %@", err);
             } else {
-                NSLog(@"Step 12: Reads optional attribute constrains: PhysicalContactUnoccupiedToOccupiedDelay: Success");
+                NSLog(@"Step 12: TH reads from the DUT the (0x0031) PhysicalContactUnoccupiedToOccupiedDelay optional attribute, if Physical Contact sensor: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -85488,7 +85733,7 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
         return CHIP_NO_ERROR;
     }
 
-    CHIP_ERROR TestStep13ReadsOptionalAttributeConstrainsPhysicalContactUnoccupiedToOccupiedThreshold_12()
+    CHIP_ERROR TestStep13ThReadsFromTheDutThe0x0032PhysicalContactUnoccupiedToOccupiedThresholdOptionalAttributeIfPhysicalContactSensor_12()
     {
 
         MTRBaseDevice * device = GetDevice("alpha");
@@ -85497,9 +85742,9 @@ class Test_TC_OCC_2_1 : public TestCommandBridge {
 
         [cluster readAttributePhysicalContactUnoccupiedToOccupiedThresholdWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) {
             if (err != nil) {
-                NSLog(@"Step 13: Reads optional attribute constrains: PhysicalContactUnoccupiedToOccupiedThreshold: Error: %@", err);
+                NSLog(@"Step 13: TH reads from the DUT the (0x0032) PhysicalContactUnoccupiedToOccupiedThreshold optional attribute, if Physical Contact sensor: Error: %@", err);
             } else {
-                NSLog(@"Step 13: Reads optional attribute constrains: PhysicalContactUnoccupiedToOccupiedThreshold: Success");
+                NSLog(@"Step 13: TH reads from the DUT the (0x0032) PhysicalContactUnoccupiedToOccupiedThreshold optional attribute, if Physical Contact sensor: Success");
             }
 
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
@@ -85882,8 +86127,8 @@ class Test_TC_OO_1_1 : public TestCommandBridge {
             VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));
 
             VerifyOrReturn(CheckConstraintType("clusterRevision", "int16u", "int16u"));
-            VerifyOrReturn(CheckConstraintMinValue<uint16_t>("clusterRevision", [value unsignedShortValue], 4U));
-            VerifyOrReturn(CheckConstraintMaxValue<uint16_t>("clusterRevision", [value unsignedShortValue], 5U));
+            VerifyOrReturn(CheckConstraintMinValue<uint16_t>("clusterRevision", [value unsignedShortValue], 5U));
+            VerifyOrReturn(CheckConstraintMaxValue<uint16_t>("clusterRevision", [value unsignedShortValue], 6U));
 
             NextTest();
         }];