Add test scripts for testing Presets attributes and commands for Thermostat cluster (#34614)

* Add test scripts for testing Presets attributes and commands for Thermostat cluster

* Fixes

* Fix Test_TC_TSTAT_4_2.yaml to parse correctly.

* Run zap regen with latest zap version

* Restyled by prettier-yaml

* Editorial fixes

* Restyle

* Add support to all clusters app to support Thermostat presets attributes and commands

* Addressed review comments

---------

Co-authored-by: Boris Zbarsky <bzbarsky@apple.com>
Co-authored-by: Restyled.io <commits@restyled.io>
diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
index c0c22fc..3dd2b0f 100644
--- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
+++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
@@ -8813,14 +8813,23 @@
     ram      attribute minSetpointDeadBand default = 0x19;
     ram      attribute controlSequenceOfOperation default = 0x04;
     ram      attribute systemMode default = 0x01;
+    callback attribute presetTypes;
+    ram      attribute numberOfPresets default = 0;
+    ram      attribute activePresetHandle;
+    callback attribute presets;
+    ram      attribute presetsSchedulesEditable;
     callback attribute generatedCommandList;
     callback attribute acceptedCommandList;
     callback attribute eventList;
     callback attribute attributeList;
-    ram      attribute featureMap default = 0x0023;
+    ram      attribute featureMap default = 0x0123;
     ram      attribute clusterRevision default = 6;
 
     handle command SetpointRaiseLower;
+    handle command SetActivePresetRequest;
+    handle command StartPresetsSchedulesEditRequest;
+    handle command CancelPresetsSchedulesEditRequest;
+    handle command CommitPresetsSchedulesRequest;
   }
 
   server cluster FanControl {
diff --git a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap
index 31b6a05..a052433 100644
--- a/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap
+++ b/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap
@@ -16393,6 +16393,38 @@
               "source": "client",
               "isIncoming": 1,
               "isEnabled": 1
+            },
+            {
+              "name": "SetActivePresetRequest",
+              "code": 6,
+              "mfgCode": null,
+              "source": "client",
+              "isIncoming": 1,
+              "isEnabled": 1
+            },
+            {
+              "name": "StartPresetsSchedulesEditRequest",
+              "code": 7,
+              "mfgCode": null,
+              "source": "client",
+              "isIncoming": 1,
+              "isEnabled": 1
+            },
+            {
+              "name": "CancelPresetsSchedulesEditRequest",
+              "code": 8,
+              "mfgCode": null,
+              "source": "client",
+              "isIncoming": 1,
+              "isEnabled": 1
+            },
+            {
+              "name": "CommitPresetsSchedulesRequest",
+              "code": 9,
+              "mfgCode": null,
+              "source": "client",
+              "isIncoming": 1,
+              "isEnabled": 1
             }
           ],
           "attributes": [
@@ -16637,6 +16669,86 @@
               "reportableChange": 0
             },
             {
+              "name": "PresetTypes",
+              "code": 72,
+              "mfgCode": null,
+              "side": "server",
+              "type": "array",
+              "included": 1,
+              "storageOption": "External",
+              "singleton": 0,
+              "bounded": 0,
+              "defaultValue": "",
+              "reportable": 1,
+              "minInterval": 1,
+              "maxInterval": 65534,
+              "reportableChange": 0
+            },
+            {
+              "name": "NumberOfPresets",
+              "code": 74,
+              "mfgCode": null,
+              "side": "server",
+              "type": "int8u",
+              "included": 1,
+              "storageOption": "RAM",
+              "singleton": 0,
+              "bounded": 0,
+              "defaultValue": "0",
+              "reportable": 1,
+              "minInterval": 1,
+              "maxInterval": 65534,
+              "reportableChange": 0
+            },
+            {
+              "name": "ActivePresetHandle",
+              "code": 78,
+              "mfgCode": null,
+              "side": "server",
+              "type": "octet_string",
+              "included": 1,
+              "storageOption": "RAM",
+              "singleton": 0,
+              "bounded": 0,
+              "defaultValue": "",
+              "reportable": 1,
+              "minInterval": 1,
+              "maxInterval": 65534,
+              "reportableChange": 0
+            },
+            {
+              "name": "Presets",
+              "code": 80,
+              "mfgCode": null,
+              "side": "server",
+              "type": "array",
+              "included": 1,
+              "storageOption": "External",
+              "singleton": 0,
+              "bounded": 0,
+              "defaultValue": "",
+              "reportable": 1,
+              "minInterval": 1,
+              "maxInterval": 65534,
+              "reportableChange": 0
+            },
+            {
+              "name": "PresetsSchedulesEditable",
+              "code": 82,
+              "mfgCode": null,
+              "side": "server",
+              "type": "boolean",
+              "included": 1,
+              "storageOption": "RAM",
+              "singleton": 0,
+              "bounded": 0,
+              "defaultValue": "",
+              "reportable": 1,
+              "minInterval": 1,
+              "maxInterval": 65534,
+              "reportableChange": 0
+            },
+            {
               "name": "GeneratedCommandList",
               "code": 65528,
               "mfgCode": null,
@@ -16710,7 +16822,7 @@
               "storageOption": "RAM",
               "singleton": 0,
               "bounded": 0,
-              "defaultValue": "0x0023",
+              "defaultValue": "0x0123",
               "reportable": 1,
               "minInterval": 0,
               "maxInterval": 65344,
@@ -26554,4 +26666,4 @@
       "parentEndpointIdentifier": null
     }
   ]
-}
+}
\ No newline at end of file
diff --git a/examples/all-clusters-app/linux/BUILD.gn b/examples/all-clusters-app/linux/BUILD.gn
index e8671e7..c7c5fb0 100644
--- a/examples/all-clusters-app/linux/BUILD.gn
+++ b/examples/all-clusters-app/linux/BUILD.gn
@@ -75,6 +75,7 @@
     "${chip_root}/examples/energy-management-app/energy-management-common/src/EnergyTimeUtils.cpp",
     "${chip_root}/examples/energy-management-app/energy-management-common/src/device-energy-management-mode.cpp",
     "${chip_root}/examples/energy-management-app/energy-management-common/src/energy-evse-mode.cpp",
+    "${chip_root}/examples/thermostat/linux/thermostat-delegate-impl.cpp",
     "AllClustersCommandDelegate.cpp",
     "AllClustersCommandDelegate.h",
     "AppOptions.cpp",
@@ -98,6 +99,7 @@
   include_dirs = [
     "${chip_root}/examples/all-clusters-app/all-clusters-common/include",
     "${chip_root}/examples/energy-management-app/energy-management-common/include",
+    "${chip_root}/examples/thermostat/linux/include",
   ]
 
   if (chip_enable_pw_rpc) {
diff --git a/examples/all-clusters-app/linux/main-common.cpp b/examples/all-clusters-app/linux/main-common.cpp
index bc547d5..edddc6a 100644
--- a/examples/all-clusters-app/linux/main-common.cpp
+++ b/examples/all-clusters-app/linux/main-common.cpp
@@ -37,6 +37,7 @@
 #include "rvc-modes.h"
 #include "rvc-operational-state-delegate-impl.h"
 #include "tcc-mode.h"
+#include "thermostat-delegate-impl.h"
 #include "water-heater-mode.h"
 #include <Options.h>
 #include <app-common/zap-generated/attributes/Accessors.h>
@@ -46,6 +47,7 @@
 #include <app/clusters/laundry-dryer-controls-server/laundry-dryer-controls-server.h>
 #include <app/clusters/laundry-washer-controls-server/laundry-washer-controls-server.h>
 #include <app/clusters/mode-base-server/mode-base-server.h>
+#include <app/clusters/thermostat-server/thermostat-server.h>
 #include <app/clusters/time-synchronization-server/time-synchronization-server.h>
 #include <app/clusters/valve-configuration-and-control-server/valve-configuration-and-control-server.h>
 #include <app/server/Server.h>
@@ -323,3 +325,12 @@
 
     DiagnosticLogsServer::Instance().SetDiagnosticLogsProviderDelegate(endpoint, &logProvider);
 }
+
+using namespace chip::app::Clusters::Thermostat;
+void emberAfThermostatClusterInitCallback(EndpointId endpoint)
+{
+    // Register the delegate for the Thermostat
+    auto & delegate = ThermostatDelegate::GetInstance();
+
+    SetDefaultDelegate(endpoint, &delegate);
+}
diff --git a/examples/thermostat/thermostat-common/thermostat.matter b/examples/thermostat/thermostat-common/thermostat.matter
index 3552c9b..dc26361 100644
--- a/examples/thermostat/thermostat-common/thermostat.matter
+++ b/examples/thermostat/thermostat-common/thermostat.matter
@@ -2561,6 +2561,7 @@
     ram      attribute absMaxHeatSetpointLimit default = 3000;
     ram      attribute absMinCoolSetpointLimit default = 1600;
     ram      attribute absMaxCoolSetpointLimit default = 3200;
+    ram      attribute localTemperatureCalibration default = 0x00;
     persist  attribute occupiedCoolingSetpoint default = 0x0A28;
     persist  attribute occupiedHeatingSetpoint default = 0x07D0;
     ram      attribute minHeatSetpointLimit default = 700;
diff --git a/examples/thermostat/thermostat-common/thermostat.zap b/examples/thermostat/thermostat-common/thermostat.zap
index 483b79d..e907730 100644
--- a/examples/thermostat/thermostat-common/thermostat.zap
+++ b/examples/thermostat/thermostat-common/thermostat.zap
@@ -4775,6 +4775,22 @@
               "reportableChange": 0
             },
             {
+              "name": "LocalTemperatureCalibration",
+              "code": 16,
+              "mfgCode": null,
+              "side": "server",
+              "type": "int8s",
+              "included": 1,
+              "storageOption": "RAM",
+              "singleton": 0,
+              "bounded": 0,
+              "defaultValue": "0x00",
+              "reportable": 1,
+              "minInterval": 1,
+              "maxInterval": 65534,
+              "reportableChange": 0
+            },
+            {
               "name": "OccupiedCoolingSetpoint",
               "code": 17,
               "mfgCode": null,
diff --git a/src/app/tests/suites/certification/PICS.yaml b/src/app/tests/suites/certification/PICS.yaml
index af0aa58..169d568 100644
--- a/src/app/tests/suites/certification/PICS.yaml
+++ b/src/app/tests/suites/certification/PICS.yaml
@@ -6422,6 +6422,21 @@
     - label: "Does the device implement the ACCapacityFormat attribute?"
       id: TSTAT.S.A0047
 
+    - label: "Does the device implement the PresetTypes attribute?"
+      id: TSTAT.S.A0048
+
+    - label: "Does the device implement the NumberOfPresets attribute?"
+      id: TSTAT.S.A004a
+
+    - label: "Does the device implement the ActivePresetHandle attribute?"
+      id: TSTAT.S.A004e
+
+    - label: "Does the device implement the Presets attribute?"
+      id: TSTAT.S.A0050
+
+    - label: "Does the device implement the PresetsSchedulesEditable attribute?"
+      id: TSTAT.S.A0052
+
     #
     # server / commandsReceived
     #
@@ -6445,6 +6460,26 @@
           "Does the device implement receiving the GetRelayStatusLog command?"
       id: TSTAT.S.C04.Rsp
 
+    - label:
+          "Does the device implement receiving the SetActivePresetRequest
+          command?"
+      id: TSTAT.S.C06.Rsp
+
+    - label:
+          "Does the device implement receiving the
+          StartPresetsSchedulesEditRequest command?"
+      id: TSTAT.S.C07.Rsp
+
+    - label:
+          "Does the device implement receiving the
+          CancelPresetsSchedulesEditRequest command?"
+      id: TSTAT.S.C08.Rsp
+
+    - label:
+          "Does the device implement receiving the CommitPresetsSchedulesRequest
+          command?"
+      id: TSTAT.S.C09.Rsp
+
     #
     # server / commandsGenerated
     #
@@ -6482,6 +6517,9 @@
     - label: "Supports a local temperature not exposed"
       id: TSTAT.S.F06
 
+    - label: "Supports setpoint presets"
+      id: TSTAT.S.F08
+
     #
     # server / manually
     #
@@ -6523,6 +6561,25 @@
     - label: "Does the device implement sending the GetRelayStatusLog command?"
       id: TSTAT.C.C04.Tx
 
+    - label:
+          "Does the device implement sending the SetActivePresetRequest command?"
+      id: TSTAT.C.C06.Tx
+
+    - label:
+          "Does the device implement sending the
+          StartPresetsSchedulesEditRequest command?"
+      id: TSTAT.C.C07.Tx
+
+    - label:
+          "Does the device implement sending the
+          CancelPresetsSchedulesEditRequest command?"
+      id: TSTAT.C.C08.Tx
+
+    - label:
+          "Does the device implement sending the CommitPresetsSchedulesRequest
+          command?"
+      id: TSTAT.C.C09.Tx
+
     #
     # client / manually
     #
diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml
index b2bf2a1..40a65d7 100644
--- a/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml
+++ b/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml
@@ -129,6 +129,17 @@
               type: bitmap32
               hasMasksSet: [0x40]
 
+    - label:
+          "Step 3i: Given TSTAT.S.F08(PRES ensure featuremap has the correct bit
+          set"
+      PICS: TSTAT.S.F08
+      command: "readAttribute"
+      attribute: "FeatureMap"
+      response:
+          constraints:
+              type: bitmap32
+              hasMasksSet: [0x100]
+
     - label: "Step 4a: TH reads from the DUT the AttributeList attribute."
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
@@ -555,6 +566,17 @@
               type: list
               contains: [30]
 
+    - label:
+          "Step 4j: TH reads the Feature dependent(TSTAT.S.F08(PRES) attribute
+          in AttributeList"
+      PICS: TSTAT.S.F08
+      command: "readAttribute"
+      attribute: "AttributeList"
+      response:
+          constraints:
+              type: list
+              contains: [72, 74, 78, 80, 82]
+
     - label: "Step 5: TH reads EventList attribute from the DUT."
       PICS: PICS_EVENT_LIST_ENABLED
       command: "readAttribute"
@@ -593,6 +615,16 @@
           constraints:
               type: list
               contains: [4]
+    - label:
+          "Step 6d: TH reads Feature dependent(TSTAT.S.F08(PRES)) commands in
+          AcceptedCommandList"
+      PICS: TSTAT.S.F08
+      command: "readAttribute"
+      attribute: "AcceptedCommandList"
+      response:
+          constraints:
+              type: list
+              contains: [6, 7, 8, 9]
 
     - label:
           "Step 7a: TH reads from the DUT the GeneratedCommandList attribute."
diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_4_1.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_4_1.yaml
new file mode 100644
index 0000000..9785c8b
--- /dev/null
+++ b/src/app/tests/suites/certification/Test_TC_TSTAT_4_1.yaml
@@ -0,0 +1,113 @@
+# Copyright (c) 2024 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 42.4.1. [TC-TSTAT-4.1] Preset attributes with server as DUT
+
+PICS:
+    - TSTAT.S
+
+config:
+    nodeId: 0x12344321
+    cluster: "Thermostat"
+    endpoint: 1
+
+tests:
+    - label: "Step 1: Commission DUT to TH"
+      cluster: "DelayCommands"
+      command: "WaitForCommissionee"
+      arguments:
+          values:
+              - name: "nodeId"
+                value: nodeId
+
+    - label: "Saving value for comparision in step 2 read PresetTypes attribute"
+      PICS: TSTAT.S.A0048
+      command: "readAttribute"
+      attribute: "PresetTypes"
+      response:
+          saveAs: PresetTypesValue
+
+    - label:
+          "Saving value for comparision in step 3 read NumberOfPresets attribute"
+      PICS: TSTAT.S.A004a
+      command: "readAttribute"
+      attribute: "NumberOfPresets"
+      response:
+          saveAs: NumberOfPresetsValue
+
+    - label:
+          "Saving value for comparision in step 4 read ActivePresetHandleValue
+          attribute"
+      PICS: TSTAT.S.A004e
+      command: "readAttribute"
+      attribute: "ActivePresetHandle"
+      response:
+          saveAs: ActivePresetHandleValue
+
+    - label: "Saving value for comparision in step 5 read Presets attribute"
+      PICS: TSTAT.S.A0050
+      command: "readAttribute"
+      attribute: "Presets"
+      response:
+          saveAs: PresetsValue
+
+    - label:
+          "Saving value for comparision in step 6 read PresetsSchedulesEditable
+          attribute"
+      PICS: TSTAT.S.A0052
+      command: "readAttribute"
+      attribute: "PresetsSchedulesEditable"
+      response:
+          saveAs: PresetsSchedulesEditableValue
+
+    - label: "Step 2: TH reads the PresetTypes attribute from the DUT"
+      PICS: TSTAT.S.F08 & TSTAT.S.A0048
+      command: "readAttribute"
+      attribute: "PresetTypes"
+      response:
+          constraints:
+              type: list
+
+    - label: "Step 3: TH reads the NumberOfPresets attribute from the DUT"
+      PICS: TSTAT.S.F08 & TSTAT.S.A004a
+      command: "readAttribute"
+      attribute: "NumberOfPresets"
+      response:
+          constraints:
+              type: int8u
+
+    - label: "Step 4: TH reads the ActivePresetHandle attribute from the DUT"
+      PICS: TSTAT.S.F08 & TSTAT.S.A004e
+      command: "readAttribute"
+      attribute: "ActivePresetHandle"
+      response:
+          constraints:
+              type: octstr
+
+    - label: "Step 5: TH reads the Presets attribute from the DUT"
+      PICS: TSTAT.S.F08 & TSTAT.S.A0050
+      command: "readAttribute"
+      attribute: "Presets"
+      response:
+          constraints:
+              type: list
+
+    - label:
+          "Step 6: TH reads the PresetsSchedulesEditable attribute from the DUT"
+      PICS: TSTAT.S.F08 & TSTAT.S.A0052
+      command: "readAttribute"
+      attribute: "PresetsSchedulesEditable"
+      response:
+          constraints:
+              type: boolean
diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_4_2.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_4_2.yaml
new file mode 100644
index 0000000..b813eaf
--- /dev/null
+++ b/src/app/tests/suites/certification/Test_TC_TSTAT_4_2.yaml
@@ -0,0 +1,2228 @@
+# Copyright (c) 2024 Project CHIP Authors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+name: 42.4.2. [TC-TSTAT-4.2] Preset Test Cases with server as DUT
+
+PICS:
+    - TSTAT.S
+
+config:
+    nodeId: 0x12344321
+    cluster: "Thermostat"
+    endpoint: 1
+
+tests:
+    - label: "Step 1: Commission DUT to TH"
+      cluster: "DelayCommands"
+      command: "WaitForCommissionee"
+      arguments:
+          values:
+              - name: "nodeId"
+                value: nodeId
+
+    - label:
+          "Step 2: Test Harness writes to the Presets attribute without calling
+          the StartPresetsSchedulesEditRequest"
+      PICS: TSTAT.S.F08 && TSTAT.S.A0050
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #2 Test Harness Client attempts to write Presets and gets an INVALID_IN_STATE error since the client didn't send a request to edit the presets by calling StartPresetsSchedulesEditRequest command.
+          ./chip-tool thermostat write presets '[ {"presetHandle": "hex:01", "presetScenario": 1, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": true }, {"presetHandle": "hex:02", "presetScenario": 2, "coolingSetpoint": 2600, "heatingSetpoint": 2500, "builtIn": true }, {"presetHandle": null, "name": "Sleep", "presetScenario": 3, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": false }]' 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a INVALID_IN_STATE (0xCB)
+
+          [1722285385.263] [53729:5380292] [DMG] WriteClient moving to [AwaitingDe]
+          [1722285385.263] [53729:5380292] [TOO] Response Failure: IM Error 0x000005CB: General error: 0xcb (INVALID_IN_STATE)
+          [1722285385.263] [53729:5380292] [EM] <<< [E:42658i S:21691 M:14088666 (Ack:20978215)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+          [1722285385.263] [53729:5380292] [EM] Flushed pending ack for MessageCounter:20978215 on exchange 42658i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 3a: Test Harness writes to the Presets attribute after calling
+          the StartPresetsSchedulesEditRequest command"
+      PICS: TSTAT.S.F08 && TSTAT.S.C07.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #3a Test Harness Client calls StartPresetsSchedulesEditRequest command
+
+          ./chip-tool thermostat start-presets-schedules-edit-request 180 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722286001.805] [54149:5392862] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0007 Status=0x0
+          [1722286001.805] [54149:5392862] [DMG] ICR moving to [AwaitingDe]
+          [1722286001.805] [54149:5392862] [EM] <<< [E:7545i S:16937 M:144975449 (Ack:93571372)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+          [1722286001.806] [54149:5392862] [EM] Flushed pending ack for MessageCounter:93571372 on exchange 7545i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 3b: Test Harness writes to the Presets attribute adding 3
+          presets for Sleep, Wake and GoingToSleep"
+      PICS: TSTAT.S.F08 && TSTAT.S.A0050
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #3b Test Harness Client attempts to write Presets and gets SUCCESS
+
+          ./chip-tool thermostat write presets '[ {"presetHandle": "hex:01", "presetScenario": 1, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": true }, {"presetHandle": "hex:02", "presetScenario": 2, "coolingSetpoint": 2600, "heatingSetpoint": 2500, "builtIn": true }, {"presetHandle": null, "name": "Sleep", "presetScenario": 3, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": false },  {"presetHandle": null, "name": "Wake", "presetScenario": 4, "coolingSetpoint": 2200, "heatingSetpoint": 2900, "builtIn": false }, {"presetHandle": null, "name": "GoingToSleep", "presetScenario": 6, "coolingSetpoint": 2100, "heatingSetpoint": 2500, "builtIn": false }]' 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722286250.503] [54321:5397545] [DMG] WriteClient moving to [ResponseRe]
+          [1722286250.503] [54321:5397545] [DMG] WriteResponseMessage =
+          [1722286250.503] [54321:5397545] [DMG] {
+          [1722286250.503] [54321:5397545] [DMG] 	AttributeStatusIBs =
+          [1722286250.503] [54321:5397545] [DMG] 	[
+          [1722286250.503] [54321:5397545] [DMG] 		AttributeStatusIB =
+          [1722286250.503] [54321:5397545] [DMG] 		{
+          [1722286250.503] [54321:5397545] [DMG] 			AttributePathIB =
+          [1722286250.503] [54321:5397545] [DMG] 			{
+          [1722286250.503] [54321:5397545] [DMG] 				Endpoint = 0x1,
+          [1722286250.503] [54321:5397545] [DMG] 				Cluster = 0x201,
+          [1722286250.503] [54321:5397545] [DMG] 				Attribute = 0x0000_0050,
+          [1722286250.503] [54321:5397545] [DMG] 			}
+          [1722286250.503] [54321:5397545] [DMG]
+          [1722286250.503] [54321:5397545] [DMG] 			StatusIB =
+          [1722286250.503] [54321:5397545] [DMG] 			{
+          [1722286250.503] [54321:5397545] [DMG] 				status = 0x00 (SUCCESS),
+          [1722286250.503] [54321:5397545] [DMG] 			},
+          [1722286250.503] [54321:5397545] [DMG]
+          [1722286250.503] [54321:5397545] [DMG] 		},
+          [1722286250.503] [54321:5397545] [DMG]
+          [1722286250.503] [54321:5397545] [DMG] 		AttributeStatusIB =
+          [1722286250.503] [54321:5397545] [DMG] 		{
+          [1722286250.503] [54321:5397545] [DMG] 			AttributePathIB =
+          [1722286250.503] [54321:5397545] [DMG] 			{
+          [1722286250.503] [54321:5397545] [DMG] 				Endpoint = 0x1,
+          [1722286250.503] [54321:5397545] [DMG] 				Cluster = 0x201,
+          [1722286250.503] [54321:5397545] [DMG] 				Attribute = 0x0000_0050,
+          [1722286250.503] [54321:5397545] [DMG] 				ListIndex = Null,
+          [1722286250.503] [54321:5397545] [DMG] 			}
+          [1722286250.503] [54321:5397545] [DMG]
+          [1722286250.503] [54321:5397545] [DMG] 			StatusIB =
+          [1722286250.503] [54321:5397545] [DMG] 			{
+          [1722286250.503] [54321:5397545] [DMG] 				status = 0x00 (SUCCESS),
+          [1722286250.503] [54321:5397545] [DMG] 			},
+          [1722286250.503] [54321:5397545] [DMG]
+          [1722286250.503] [54321:5397545] [DMG] 		},
+          [1722286250.503] [54321:5397545] [DMG]
+          [1722286250.503] [54321:5397545] [DMG] 		AttributeStatusIB =
+          [1722286250.503] [54321:5397545] [DMG] 		{
+          [1722286250.503] [54321:5397545] [DMG] 			AttributePathIB =
+          [1722286250.503] [54321:5397545] [DMG] 			{
+          [1722286250.503] [54321:5397545] [DMG] 				Endpoint = 0x1,
+          [1722286250.503] [54321:5397545] [DMG] 				Cluster = 0x201,
+          [1722286250.503] [54321:5397545] [DMG] 				Attribute = 0x0000_0050,
+          [1722286250.503] [54321:5397545] [DMG] 				ListIndex = Null,
+          [1722286250.503] [54321:5397545] [DMG] 			}
+          [1722286250.503] [54321:5397545] [DMG]
+          [1722286250.503] [54321:5397545] [DMG] 			StatusIB =
+          [1722286250.504] [54321:5397545] [DMG] 			{
+          [1722286250.504] [54321:5397545] [DMG] 				status = 0x00 (SUCCESS),
+          [1722286250.504] [54321:5397545] [DMG] 			},
+          [1722286250.504] [54321:5397545] [DMG]
+          [1722286250.504] [54321:5397545] [DMG] 		},
+          [1722286250.504] [54321:5397545] [DMG]
+          [1722286250.504] [54321:5397545] [DMG] 		AttributeStatusIB =
+          [1722286250.504] [54321:5397545] [DMG] 		{
+          [1722286250.504] [54321:5397545] [DMG] 			AttributePathIB =
+          [1722286250.504] [54321:5397545] [DMG] 			{
+          [1722286250.504] [54321:5397545] [DMG] 				Endpoint = 0x1,
+          [1722286250.504] [54321:5397545] [DMG] 				Cluster = 0x201,
+          [1722286250.504] [54321:5397545] [DMG] 				Attribute = 0x0000_0050,
+          [1722286250.504] [54321:5397545] [DMG] 				ListIndex = Null,
+          [1722286250.504] [54321:5397545] [DMG] 			}
+          [1722286250.504] [54321:5397545] [DMG]
+          [1722286250.504] [54321:5397545] [DMG] 			StatusIB =
+          [1722286250.504] [54321:5397545] [DMG] 			{
+          [1722286250.504] [54321:5397545] [DMG] 				status = 0x00 (SUCCESS),
+          [1722286250.504] [54321:5397545] [DMG] 			},
+          [1722286250.504] [54321:5397545] [DMG]
+          [1722286250.504] [54321:5397545] [DMG] 		},
+          [1722286250.504] [54321:5397545] [DMG]
+          [1722286250.504] [54321:5397545] [DMG] 		AttributeStatusIB =
+          [1722286250.504] [54321:5397545] [DMG] 		{
+          [1722286250.504] [54321:5397545] [DMG] 			AttributePathIB =
+          [1722286250.504] [54321:5397545] [DMG] 			{
+          [1722286250.504] [54321:5397545] [DMG] 				Endpoint = 0x1,
+          [1722286250.504] [54321:5397545] [DMG] 				Cluster = 0x201,
+          [1722286250.504] [54321:5397545] [DMG] 				Attribute = 0x0000_0050,
+          [1722286250.504] [54321:5397545] [DMG] 				ListIndex = Null,
+          [1722286250.504] [54321:5397545] [DMG] 			}
+          [1722286250.504] [54321:5397545] [DMG]
+          [1722286250.504] [54321:5397545] [DMG] 			StatusIB =
+          [1722286250.504] [54321:5397545] [DMG] 			{
+          [1722286250.504] [54321:5397545] [DMG] 				status = 0x00 (SUCCESS),
+          [1722286250.504] [54321:5397545] [DMG] 			},
+          [1722286250.504] [54321:5397545] [DMG]
+          [1722286250.504] [54321:5397545] [DMG] 		},
+          [1722286250.504] [54321:5397545] [DMG]
+          [1722286250.504] [54321:5397545] [DMG] 		AttributeStatusIB =
+          [1722286250.504] [54321:5397545] [DMG] 		{
+          [1722286250.504] [54321:5397545] [DMG] 			AttributePathIB =
+          [1722286250.504] [54321:5397545] [DMG] 			{
+          [1722286250.504] [54321:5397545] [DMG] 				Endpoint = 0x1,
+          [1722286250.504] [54321:5397545] [DMG] 				Cluster = 0x201,
+          [1722286250.504] [54321:5397545] [DMG] 				Attribute = 0x0000_0050,
+          [1722286250.504] [54321:5397545] [DMG] 				ListIndex = Null,
+          [1722286250.504] [54321:5397545] [DMG] 			}
+          [1722286250.504] [54321:5397545] [DMG]
+          [1722286250.504] [54321:5397545] [DMG] 			StatusIB =
+          [1722286250.504] [54321:5397545] [DMG] 			{
+          [1722286250.504] [54321:5397545] [DMG] 				status = 0x00 (SUCCESS),
+          [1722286250.504] [54321:5397545] [DMG] 			},
+          [1722286250.504] [54321:5397545] [DMG]
+          [1722286250.504] [54321:5397545] [DMG] 		},
+          [1722286250.504] [54321:5397545] [DMG]
+          [1722286250.504] [54321:5397545] [DMG] 	],
+          [1722286250.504] [54321:5397545] [DMG]
+          [1722286250.504] [54321:5397545] [DMG] 	InteractionModelRevision = 11
+          [1722286250.504] [54321:5397545] [DMG] }
+          [1722286250.504] [54321:5397545] [DMG] WriteClient moving to [AwaitingDe]
+          [1722286250.504] [54321:5397545] [EM] <<< [E:14426i S:42250 M:116961408 (Ack:156984778)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+          [1722286250.504] [54321:5397545] [EM] Flushed pending ack for MessageCounter:156984778 on exchange 14426i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 3c:  Test Harness reads the Presets attribute without calling
+          the CommitPresetsSchedulesRequest command"
+      PICS: TSTAT.S.F08 && TSTAT.S.A0050
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #3c Test Harness Client reads Presets attribute but the new additions are not committed since the client didn't call the CommitPresetsSchedulesRequest command
+
+          ./chip-tool thermostat read presets 0x12344321 1
+          On TH(chip-tool) verify that  DUT successfully read Presets (but without the new changes)
+          [1722286701.424] [54699:5406692] [TOO] Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_0050 DataVersion: 3807987049
+          [1722286701.425] [54699:5406692] [TOO]   Presets: 2 entries
+          [1722286701.425] [54699:5406692] [TOO]     [1]: {
+          [1722286701.425] [54699:5406692] [TOO]       PresetHandle: 01
+          [1722286701.425] [54699:5406692] [TOO]       PresetScenario: 1
+          [1722286701.425] [54699:5406692] [TOO]       CoolingSetpoint: 2500
+          [1722286701.425] [54699:5406692] [TOO]       HeatingSetpoint: 2100
+          [1722286701.426] [54699:5406692] [TOO]       BuiltIn: TRUE
+          [1722286701.426] [54699:5406692] [TOO]      }
+          [1722286701.426] [54699:5406692] [TOO]     [2]: {
+          [1722286701.426] [54699:5406692] [TOO]       PresetHandle: 02
+          [1722286701.426] [54699:5406692] [TOO]       PresetScenario: 2
+          [1722286701.426] [54699:5406692] [TOO]       CoolingSetpoint: 2600
+          [1722286701.426] [54699:5406692] [TOO]       HeatingSetpoint: 2000
+          [1722286701.426] [54699:5406692] [TOO]       BuiltIn: TRUE
+          [1722286701.426] [54699:5406692] [TOO]      }
+          [1722286701.426] [54699:5406692] [EM] <<< [E:49759i S:37002 M:67372150 (Ack:254131025)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 3d:  Test Harness calls the CommitPresetsSchedulesRequest
+          command"
+      PICS: TSTAT.S.F08 && TSTAT.S.C09.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #3d Test Harness Client calls CommitPresetsSchedulesRequest command
+
+          ./chip-tool thermostat commit-presets-schedules-request 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722287841.505] [55282:5425045] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0009 Status=0x0
+          [1722287841.505] [55282:5425045] [DMG] ICR moving to [AwaitingDe]
+          [1722287841.505] [55282:5425045] [EM] <<< [E:46441i S:57071 M:61366563 (Ack:138534230)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 3e:  Test Harness reads the Presets attribute after calling the
+          CommitPresetsSchedulesRequest command"
+      PICS: TSTAT.S.F08 && TSTAT.S.A0050
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #3e Test Harness Client reads Presets attribute and can see the added Presets.
+
+          ./chip-tool thermostat read presets 0x12344321 1
+          On TH(chip-tool) verify that  DUT successfully read Presets (with the new changes)
+          [1722288101.757] [55446:5430009] [TOO] Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_0050 DataVersion: 3807987055
+          [1722288101.757] [55446:5430009] [TOO]   Presets: 5 entries
+          [1722288101.758] [55446:5430009] [TOO]     [1]: {
+          [1722288101.759] [55446:5430009] [TOO]       PresetHandle: 01
+          [1722288101.759] [55446:5430009] [TOO]       PresetScenario: 1
+          [1722288101.759] [55446:5430009] [TOO]       CoolingSetpoint: 2500
+          [1722288101.759] [55446:5430009] [TOO]       HeatingSetpoint: 2600
+          [1722288101.759] [55446:5430009] [TOO]       BuiltIn: TRUE
+          [1722288101.759] [55446:5430009] [TOO]      }
+          [1722288101.759] [55446:5430009] [TOO]     [2]: {
+          [1722288101.759] [55446:5430009] [TOO]       PresetHandle: 02
+          [1722288101.759] [55446:5430009] [TOO]       PresetScenario: 2
+          [1722288101.759] [55446:5430009] [TOO]       CoolingSetpoint: 2600
+          [1722288101.759] [55446:5430009] [TOO]       HeatingSetpoint: 2500
+          [1722288101.759] [55446:5430009] [TOO]       BuiltIn: TRUE
+          [1722288101.759] [55446:5430009] [TOO]      }
+          [1722288101.759] [55446:5430009] [TOO]     [3]: {
+          [1722288101.759] [55446:5430009] [TOO]       PresetHandle: 03
+          [1722288101.759] [55446:5430009] [TOO]       PresetScenario: 3
+          [1722288101.759] [55446:5430009] [TOO]       Name: Sleep
+          [1722288101.759] [55446:5430009] [TOO]       CoolingSetpoint: 2500
+          [1722288101.759] [55446:5430009] [TOO]       HeatingSetpoint: 2600
+          [1722288101.759] [55446:5430009] [TOO]       BuiltIn: FALSE
+          [1722288101.759] [55446:5430009] [TOO]      }
+          [1722288101.759] [55446:5430009] [TOO]     [4]: {
+          [1722288101.759] [55446:5430009] [TOO]       PresetHandle: 04
+          [1722288101.759] [55446:5430009] [TOO]       PresetScenario: 4
+          [1722288101.759] [55446:5430009] [TOO]       Name: Wake
+          [1722288101.759] [55446:5430009] [TOO]       CoolingSetpoint: 2200
+          [1722288101.759] [55446:5430009] [TOO]       HeatingSetpoint: 2900
+          [1722288101.759] [55446:5430009] [TOO]       BuiltIn: FALSE
+          [1722288101.759] [55446:5430009] [TOO]      }
+          [1722288101.759] [55446:5430009] [TOO]     [5]: {
+          [1722288101.759] [55446:5430009] [TOO]       PresetHandle: 06
+          [1722288101.759] [55446:5430009] [TOO]       PresetScenario: 6
+          [1722288101.759] [55446:5430009] [TOO]       Name: GoingToSleep
+          [1722288101.759] [55446:5430009] [TOO]       CoolingSetpoint: 2100
+          [1722288101.759] [55446:5430009] [TOO]       HeatingSetpoint: 2500
+          [1722288101.759] [55446:5430009] [TOO]       BuiltIn: FALSE
+          [1722288101.759] [55446:5430009] [TOO]      }
+          [1722288101.759] [55446:5430009] [EM] <<< [E:64397i S:21821 M:262922240 (Ack:37271345)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+          [1722288101.760] [55446:5430009] [EM] Flushed pending ack for MessageCounter:37271345 on exchange 64397i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 4a: Test Harness calls the StartPresetsSchedulesEditRequest
+          command to edit presets"
+      PICS: TSTAT.S.F08 && TSTAT.S.C07.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #4a Test Harness Client calls StartPresetsSchedulesEditRequest command
+
+          ./chip-tool thermostat start-presets-schedules-edit-request 180 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722286001.805] [54149:5392862] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0007 Status=0x0
+          [1722286001.805] [54149:5392862] [DMG] ICR moving to [AwaitingDe]
+          [1722286001.805] [54149:5392862] [EM] <<< [E:7545i S:16937 M:144975449 (Ack:93571372)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+          [1722286001.806] [54149:5392862] [EM] Flushed pending ack for MessageCounter:93571372 on exchange 7545i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 4b:  Test Harness writes to the Presets attribute with a
+          built-in preset having preset handle hex:01 removed"
+      PICS: TSTAT.S.F08 && TSTAT.S.A0050
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #4b Test Harness Client attempts to write Presets and gets SUCCESS
+
+          ./chip-tool thermostat write presets '[ {"presetHandle": "hex:02", "presetScenario": 2, "coolingSetpoint": 2600, "heatingSetpoint": 2500, "builtIn": true }, {"presetHandle": "hex:03", "name": "Sleep", "presetScenario": 3, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": false },  {"presetHandle": "hex:04", "name": "Wake", "presetScenario": 4, "coolingSetpoint": 2200, "heatingSetpoint": 2900, "builtIn": false }, {"presetHandle": "hex:06", "name": "GoingToSleep", "presetScenario": 6, "coolingSetpoint": 2100, "heatingSetpoint": 2500, "builtIn": false }]' 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722288460.741] [55752:5437815] [DMG] WriteClient moving to [ResponseRe]
+          [1722288460.741] [55752:5437815] [DMG] WriteResponseMessage =
+          [1722288460.741] [55752:5437815] [DMG] {
+          [1722288460.741] [55752:5437815] [DMG] 	AttributeStatusIBs =
+          [1722288460.741] [55752:5437815] [DMG] 	[
+          [1722288460.741] [55752:5437815] [DMG] 		AttributeStatusIB =
+          [1722288460.741] [55752:5437815] [DMG] 		{
+          [1722288460.741] [55752:5437815] [DMG] 			AttributePathIB =
+          [1722288460.741] [55752:5437815] [DMG] 			{
+          [1722288460.741] [55752:5437815] [DMG] 				Endpoint = 0x1,
+          [1722288460.741] [55752:5437815] [DMG] 				Cluster = 0x201,
+          [1722288460.741] [55752:5437815] [DMG] 				Attribute = 0x0000_0050,
+          [1722288460.741] [55752:5437815] [DMG] 			}
+          [1722288460.741] [55752:5437815] [DMG]
+          [1722288460.741] [55752:5437815] [DMG] 			StatusIB =
+          [1722288460.741] [55752:5437815] [DMG] 			{
+          [1722288460.741] [55752:5437815] [DMG] 				status = 0x00 (SUCCESS),
+          [1722288460.741] [55752:5437815] [DMG] 			},
+          [1722288460.741] [55752:5437815] [DMG]
+          [1722288460.741] [55752:5437815] [DMG] 		},
+          [1722288460.741] [55752:5437815] [DMG]
+          [1722288460.741] [55752:5437815] [DMG] 		AttributeStatusIB =
+          [1722288460.741] [55752:5437815] [DMG] 		{
+          [1722288460.741] [55752:5437815] [DMG] 			AttributePathIB =
+          [1722288460.741] [55752:5437815] [DMG] 			{
+          [1722288460.741] [55752:5437815] [DMG] 				Endpoint = 0x1,
+          [1722288460.741] [55752:5437815] [DMG] 				Cluster = 0x201,
+          [1722288460.741] [55752:5437815] [DMG] 				Attribute = 0x0000_0050,
+          [1722288460.741] [55752:5437815] [DMG] 				ListIndex = Null,
+          [1722288460.741] [55752:5437815] [DMG] 			}
+          [1722288460.741] [55752:5437815] [DMG]
+          [1722288460.741] [55752:5437815] [DMG] 			StatusIB =
+          [1722288460.741] [55752:5437815] [DMG] 			{
+          [1722288460.741] [55752:5437815] [DMG] 				status = 0x00 (SUCCESS),
+          [1722288460.741] [55752:5437815] [DMG] 			},
+          [1722288460.741] [55752:5437815] [DMG]
+          [1722288460.741] [55752:5437815] [DMG] 		},
+          [1722288460.741] [55752:5437815] [DMG]
+          [1722288460.741] [55752:5437815] [DMG] 		AttributeStatusIB =
+          [1722288460.741] [55752:5437815] [DMG] 		{
+          [1722288460.741] [55752:5437815] [DMG] 			AttributePathIB =
+          [1722288460.741] [55752:5437815] [DMG] 			{
+          [1722288460.741] [55752:5437815] [DMG] 				Endpoint = 0x1,
+          [1722288460.741] [55752:5437815] [DMG] 				Cluster = 0x201,
+          [1722288460.741] [55752:5437815] [DMG] 				Attribute = 0x0000_0050,
+          [1722288460.741] [55752:5437815] [DMG] 				ListIndex = Null,
+          [1722288460.741] [55752:5437815] [DMG] 			}
+          [1722288460.741] [55752:5437815] [DMG]
+          [1722288460.741] [55752:5437815] [DMG] 			StatusIB =
+          [1722288460.741] [55752:5437815] [DMG] 			{
+          [1722288460.741] [55752:5437815] [DMG] 				status = 0x00 (SUCCESS),
+          [1722288460.741] [55752:5437815] [DMG] 			},
+          [1722288460.741] [55752:5437815] [DMG]
+          [1722288460.741] [55752:5437815] [DMG] 		},
+          [1722288460.741] [55752:5437815] [DMG]
+          [1722288460.741] [55752:5437815] [DMG] 		AttributeStatusIB =
+          [1722288460.741] [55752:5437815] [DMG] 		{
+          [1722288460.741] [55752:5437815] [DMG] 			AttributePathIB =
+          [1722288460.741] [55752:5437815] [DMG] 			{
+          [1722288460.742] [55752:5437815] [DMG] 				Endpoint = 0x1,
+          [1722288460.742] [55752:5437815] [DMG] 				Cluster = 0x201,
+          [1722288460.742] [55752:5437815] [DMG] 				Attribute = 0x0000_0050,
+          [1722288460.742] [55752:5437815] [DMG] 				ListIndex = Null,
+          [1722288460.742] [55752:5437815] [DMG] 			}
+          [1722288460.742] [55752:5437815] [DMG]
+          [1722288460.742] [55752:5437815] [DMG] 			StatusIB =
+          [1722288460.742] [55752:5437815] [DMG] 			{
+          [1722288460.742] [55752:5437815] [DMG] 				status = 0x00 (SUCCESS),
+          [1722288460.742] [55752:5437815] [DMG] 			},
+          [1722288460.742] [55752:5437815] [DMG]
+          [1722288460.742] [55752:5437815] [DMG] 		},
+          [1722288460.742] [55752:5437815] [DMG]
+          [1722288460.742] [55752:5437815] [DMG] 		AttributeStatusIB =
+          [1722288460.742] [55752:5437815] [DMG] 		{
+          [1722288460.742] [55752:5437815] [DMG] 			AttributePathIB =
+          [1722288460.742] [55752:5437815] [DMG] 			{
+          [1722288460.742] [55752:5437815] [DMG] 				Endpoint = 0x1,
+          [1722288460.742] [55752:5437815] [DMG] 				Cluster = 0x201,
+          [1722288460.742] [55752:5437815] [DMG] 				Attribute = 0x0000_0050,
+          [1722288460.742] [55752:5437815] [DMG] 				ListIndex = Null,
+          [1722288460.742] [55752:5437815] [DMG] 			}
+          [1722288460.742] [55752:5437815] [DMG]
+          [1722288460.742] [55752:5437815] [DMG] 			StatusIB =
+          [1722288460.742] [55752:5437815] [DMG] 			{
+          [1722288460.742] [55752:5437815] [DMG] 				status = 0x00 (SUCCESS),
+          [1722288460.742] [55752:5437815] [DMG] 			},
+          [1722288460.742] [55752:5437815] [DMG]
+          [1722288460.742] [55752:5437815] [DMG] 		},
+          [1722288460.742] [55752:5437815] [DMG]
+          [1722288460.742] [55752:5437815] [DMG] 	],
+          [1722288460.742] [55752:5437815] [DMG]
+          [1722288460.742] [55752:5437815] [DMG] 	InteractionModelRevision = 11
+          [1722288460.742] [55752:5437815] [DMG] }
+          [1722288460.742] [55752:5437815] [DMG] WriteClient moving to [AwaitingDe]
+          [1722288460.742] [55752:5437815] [EM] <<< [E:10991i S:19292 M:9249657 (Ack:153811994)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 4c:  Test Harness calls the CommitPresetsSchedulesRequest
+          command"
+      PICS: TSTAT.S.F08 && TSTAT.S.C09.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #4c Test Harness Client calls CommitPresetsSchedulesRequest command and gets UNSUPPORTED_ACCESS since a built-in preset was attempted to be removed.
+
+          ./chip-tool thermostat commit-presets-schedules-request 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends an UNSUPPORTED_ACCESS (0x7E) error
+          [1722288464.392] [55754:5437857] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0009 Status=0x7e
+          [1722288464.392] [55754:5437857] [TOO] Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS)
+          [1722288464.392] [55754:5437857] [DMG] ICR moving to [AwaitingDe]
+          [1722288464.392] [55754:5437857] [EM] <<< [E:45905i S:14600 M:175519796 (Ack:248690311)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 5a:  Test Harness calls the SetActivePresetRequest command to
+          set the active preset handle"
+      PICS: TSTAT.S.F08 && TSTAT.S.C06.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #5a Test Harness Client calls SetActivePresetRequest command to set the active preset handle
+
+          ./chip-tool thermostat set-active-preset-request "hex:03" 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722292538.299] [58873:5523668] [TOO] Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_004E DataVersion: 3470253931
+          [1722292538.300] [58873:5523668] [TOO]   ActivePresetHandle: 03
+          [1722292538.300] [58873:5523668] [EM] <<< [E:63772i S:58620 M:79797990 (Ack:248773669)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label: "Step 5b:  Test Harness reads the ActivePresetHandle attribute"
+      PICS: TSTAT.S.F08 && TSTAT.S.A004e
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #5b Test Harness Client reads ActivePresetHandle attribute
+
+          ./chip-tool thermostat read active-preset-handle 0x12344321 1
+          On TH(chip-tool) verify that  DUT successfully read ActivePresetHandle
+          [1722299898.382] [62999:5632512] [TOO] Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_004E DataVersion: 3098962545
+          [1722299898.382] [62999:5632512] [TOO]   ActivePresetHandle: 03
+          [1722299898.382] [62999:5632512] [EM] <<< [E:27648i S:55804 M:2686999 (Ack:191947351)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 5c:  Test Harness calls the StartPresetsSchedulesEditRequest
+          command to edit presets"
+      PICS: TSTAT.S.F08 && TSTAT.S.C07.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #5b Test Harness Client calls StartPresetsSchedulesEditRequest command
+
+          ./chip-tool thermostat start-presets-schedules-edit-request 180 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722286001.805] [54149:5392862] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0007 Status=0x0
+          [1722286001.805] [54149:5392862] [DMG] ICR moving to [AwaitingDe]
+          [1722286001.805] [54149:5392862] [EM] <<< [E:7545i S:16937 M:144975449 (Ack:93571372)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+          [1722286001.806] [54149:5392862] [EM] Flushed pending ack for MessageCounter:93571372 on exchange 7545i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 5d:  Test Harness writes to the Presets attribute without the
+          preset with handle hex:03 matching the ActivePresetHandle attribute
+          removed"
+      PICS: TSTAT.S.F08 && TSTAT.S.A0050
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #5c Test Harness Client attempts to write Presets and gets SUCCESS
+
+          ./chip-tool thermostat write presets ./out/debug/chip-tool thermostat write presets '[ {"presetHandle": "hex:01", "presetScenario": 1, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": true }, {"presetHandle": "hex:02", "presetScenario": 2, "coolingSetpoint": 2600, "heatingSetpoint": 2500, "builtIn": true }, {"presetHandle": "hex:04", "name": "Wake", "presetScenario": 4, "coolingSetpoint": 2200, "heatingSetpoint": 2900, "builtIn": false }, {"presetHandle": "hex:06", "name": "GoingToSleep", "presetScenario": 6, "coolingSetpoint": 2100, "heatingSetpoint": 2500, "builtIn": false }]' 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722289461.376] [56636:5458560] [DMG] WriteClient moving to [ResponseRe]
+          [1722289461.376] [56636:5458560] [DMG] WriteResponseMessage =
+          [1722289461.376] [56636:5458560] [DMG] {
+          [1722289461.376] [56636:5458560] [DMG] 	AttributeStatusIBs =
+          [1722289461.376] [56636:5458560] [DMG] 	[
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 		{
+          [1722289461.377] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.377] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.377] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.377] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	],
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	InteractionModelRevision = 11
+          [1722289461.377] [56636:5458560] [DMG] }
+          [1722289461.377] [56636:5458560] [DMG] WriteClient moving to [AwaitingDe]
+          [1722289461.377] [56636:5458560] [EM] <<< [E:23635i S:58282 M:220756286 (Ack:5366080)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 5e:  Test Harness calls the CommitPresetsSchedulesRequest
+          command"
+      PICS: TSTAT.S.F08 && TSTAT.S.C09.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #5e Test Harness Client calls CommitPresetsSchedulesRequest command ans gets INVALID_IN_STATE since the preset with its handle matching the active preset handle was attempted to be removed.
+
+          ./chip-tool thermostat commit-presets-schedules-request 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends an INVALID_IN_STATE (0xCB) error
+          [1722293312.795] [59386:5538858] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0009 Status=0xcb
+          [1722293312.795] [59386:5538858] [TOO] Error: IM Error 0x000005CB: General error: 0xcb (INVALID_IN_STATE)
+          [1722293312.795] [59386:5538858] [DMG] ICR moving to [AwaitingDe]
+          [1722293312.795] [59386:5538858] [EM] <<< [E:4647i S:21966 M:58651952 (Ack:80870764)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 6a:  Test Harness calls the StartPresetsSchedulesEditRequest
+          command to edit presets"
+      PICS: TSTAT.S.F08 && TSTAT.S.C07.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #6a Test Harness Client calls StartPresetsSchedulesEditRequest command
+
+          ./chip-tool thermostat start-presets-schedules-edit-request 180 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722286001.805] [54149:5392862] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0007 Status=0x0
+          [1722286001.805] [54149:5392862] [DMG] ICR moving to [AwaitingDe]
+          [1722286001.805] [54149:5392862] [EM] <<< [E:7545i S:16937 M:144975449 (Ack:93571372)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+          [1722286001.806] [54149:5392862] [EM] Flushed pending ack for MessageCounter:93571372 on exchange 7545i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 6b:  Test Harness writes to the Presets attribute with a
+          built-in preset having preset handle hex:01 modified to be not
+          built-in."
+      PICS: TSTAT.S.F08 && TSTAT.S.A0050
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #6b Test Harness Client attempts to write Presets and gets SUCCESS
+
+          ./chip-tool thermostat write presets '[ {"presetHandle": "hex:01", "presetScenario": 1, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": false }, {"presetHandle": "hex:02", "presetScenario": 2, "coolingSetpoint": 2600, "heatingSetpoint": 2500, "builtIn": true }, {"presetHandle": "hex:03", "name": "Sleep", "presetScenario": 3, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": false },  {"presetHandle": "hex:04", "name": "Wake", "presetScenario": 4, "coolingSetpoint": 2200, "heatingSetpoint": 2900, "builtIn": false }, {"presetHandle": "hex:06", "name": "GoingToSleep", "presetScenario": 6, "coolingSetpoint": 2100, "heatingSetpoint": 2500, "builtIn": false }]' 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722289461.376] [56636:5458560] [DMG] WriteClient moving to [ResponseRe]
+          [1722289461.376] [56636:5458560] [DMG] WriteResponseMessage =
+          [1722289461.376] [56636:5458560] [DMG] {
+          [1722289461.376] [56636:5458560] [DMG] 	AttributeStatusIBs =
+          [1722289461.376] [56636:5458560] [DMG] 	[
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 		{
+          [1722289461.377] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.377] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.377] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.377] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	],
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	InteractionModelRevision = 11
+          [1722289461.377] [56636:5458560] [DMG] }
+          [1722289461.377] [56636:5458560] [DMG] WriteClient moving to [AwaitingDe]
+          [1722289461.377] [56636:5458560] [EM] <<< [E:23635i S:58282 M:220756286 (Ack:5366080)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 6c:  Test Harness calls the CommitPresetsSchedulesRequest
+          command"
+      PICS: TSTAT.S.F08 && TSTAT.S.C09.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #6c Test Harness Client calls CommitPresetsSchedulesRequest command gets UNSUPPORTED_ACCESS since a built-in preset was attempted to be modified to a non built-in preset
+
+          ./chip-tool thermostat commit-presets-schedules-request 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends an UNSUPPORTED_ACCESS (0x7E) error
+          [1722289468.881] [56642:5458641] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0009 Status=0x7e
+          [1722289468.881] [56642:5458641] [TOO] Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS)
+          [1722289468.881] [56642:5458641] [DMG] ICR moving to [AwaitingDe]
+          [1722289468.881] [56642:5458641] [EM] <<< [E:20464i S:35105 M:91065475 (Ack:114933900)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 7a:  Test Harness calls the StartPresetsSchedulesEditRequest
+          command to edit presets"
+      PICS: TSTAT.S.F08 && TSTAT.S.C07.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #6a Test Harness Client calls StartPresetsSchedulesEditRequest command
+
+          ./chip-tool thermostat start-presets-schedules-edit-request 180 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722286001.805] [54149:5392862] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0007 Status=0x0
+          [1722286001.805] [54149:5392862] [DMG] ICR moving to [AwaitingDe]
+          [1722286001.805] [54149:5392862] [EM] <<< [E:7545i S:16937 M:144975449 (Ack:93571372)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+          [1722286001.806] [54149:5392862] [EM] Flushed pending ack for MessageCounter:93571372 on exchange 7545i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 7b:  Test Harness writes to the Presets attribute with a new
+          preset having builtIn set to true"
+      PICS: TSTAT.S.F08 && TSTAT.S.A0050
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #7b Test Harness Client attempts to write Presets and gets SUCCESS
+
+          ./chip-tool thermostat write presets '[ {"presetHandle": "hex:01", "presetScenario": 1, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": true }, {"presetHandle": "hex:02", "presetScenario": 2, "coolingSetpoint": 2600, "heatingSetpoint": 2500, "builtIn": true }, {"presetHandle": "hex:03", "name": "Sleep", "presetScenario": 3, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": false },  {"presetHandle": "hex:04", "name": "Wake", "presetScenario": 4, "coolingSetpoint": 2200, "heatingSetpoint": 2900, "builtIn": false }, {"presetHandle": null, "name": "Vacation", "presetScenario": 5, "coolingSetpoint": 2900, "heatingSetpoint": 2000, "builtIn": true }, {"presetHandle": "hex:06", "name": "GoingToSleep", "presetScenario": 6, "coolingSetpoint": 2100, "heatingSetpoint": 2500, "builtIn": false }]' 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722289461.376] [56636:5458560] [DMG] WriteClient moving to [ResponseRe]
+          [1722289461.376] [56636:5458560] [DMG] WriteResponseMessage =
+          [1722289461.376] [56636:5458560] [DMG] {
+          [1722289461.376] [56636:5458560] [DMG] 	AttributeStatusIBs =
+          [1722289461.376] [56636:5458560] [DMG] 	[
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 		{
+          [1722289461.377] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.377] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.377] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.377] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	],
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	InteractionModelRevision = 11
+          [1722289461.377] [56636:5458560] [DMG] }
+          [1722289461.377] [56636:5458560] [DMG] WriteClient moving to [AwaitingDe]
+          [1722289461.377] [56636:5458560] [EM] <<< [E:23635i S:58282 M:220756286 (Ack:5366080)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 7c:  Test Harness calls the CommitPresetsSchedulesRequest
+          command"
+      PICS: TSTAT.S.F08 && TSTAT.S.C09.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #6c Test Harness Client calls CommitPresetsSchedulesRequest command and gets CONSTRAINT_ERROR since a new preset was attempted to be added as a built-in preset.
+
+          ./chip-tool thermostat commit-presets-schedules-request 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends an CONSTRAINT_ERROR (0x87) error
+          [1722289998.305] [56996:5468872] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0009 Status=0x87
+          [1722289998.305] [56996:5468872] [TOO] Error: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
+          [1722289998.305] [56996:5468872] [DMG] ICR moving to [AwaitingDe]
+          [1722289998.305] [56996:5468872] [EM] <<< [E:44500i S:62829 M:76436393 (Ack:145233702)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 8a:  Test Harness calls the StartPresetsSchedulesEditRequest
+          command to edit presets"
+      PICS: TSTAT.S.F08 && TSTAT.S.C07.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #8a Test Harness Client calls StartPresetsSchedulesEditRequest command
+
+          ./chip-tool thermostat start-presets-schedules-edit-request 180 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722286001.805] [54149:5392862] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0007 Status=0x0
+          [1722286001.805] [54149:5392862] [DMG] ICR moving to [AwaitingDe]
+          [1722286001.805] [54149:5392862] [EM] <<< [E:7545i S:16937 M:144975449 (Ack:93571372)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+          [1722286001.806] [54149:5392862] [EM] Flushed pending ack for MessageCounter:93571372 on exchange 7545i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 8b:  Test Harness writes to the Presets attribute with a preset
+          having preset handle hex:08 that doesn't exist in the Presets
+          attribute"
+      PICS: TSTAT.S.F08 && TSTAT.S.A0050
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #8b Test Harness Client attempts to write Presets and gets SUCCESS
+
+          ./chip-tool thermostat write presets '[ {"presetHandle": "hex:01", "presetScenario": 1, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": true }, {"presetHandle": "hex:02", "presetScenario": 2, "coolingSetpoint": 2600, "heatingSetpoint": 2500, "builtIn": true }, {"presetHandle": "hex:03", "name": "Sleep", "presetScenario": 3, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": false },  {"presetHandle": "hex:04", "name": "Wake", "presetScenario": 4, "coolingSetpoint": 2200, "heatingSetpoint": 2900, "builtIn": false }, {"presetHandle": "hex:08", "name": "GoingToSleep", "presetScenario": 6, "coolingSetpoint": 2100, "heatingSetpoint": 2500, "builtIn": false }]' 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722289461.376] [56636:5458560] [DMG] WriteClient moving to [ResponseRe]
+          [1722289461.376] [56636:5458560] [DMG] WriteResponseMessage =
+          [1722289461.376] [56636:5458560] [DMG] {
+          [1722289461.376] [56636:5458560] [DMG] 	AttributeStatusIBs =
+          [1722289461.376] [56636:5458560] [DMG] 	[
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 		{
+          [1722289461.377] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.377] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.377] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.377] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	],
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	InteractionModelRevision = 11
+          [1722289461.377] [56636:5458560] [DMG] }
+          [1722289461.377] [56636:5458560] [DMG] WriteClient moving to [AwaitingDe]
+          [1722289461.377] [56636:5458560] [EM] <<< [E:23635i S:58282 M:220756286 (Ack:5366080)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 8c:  Test Harness calls the CommitPresetsSchedulesRequest
+          command"
+      PICS: TSTAT.S.F08 && TSTAT.S.C09.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #8c Test Harness Client calls CommitPresetsSchedulesRequest command gets NOT_FOUND since an existing preset was attempted to be added with a preset handle that doesn't exist in the Presets attribute
+
+          ./chip-tool thermostat commit-presets-schedules-request 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends an NOT_FOUND (0x8B) error
+          [1722290436.980] [57434:5479429] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0009 Status=0x8b
+          [1722290436.980] [57434:5479429] [TOO] Error: IM Error 0x0000058B: General error: 0x8b (NOT_FOUND)
+          [1722290436.980] [57434:5479429] [DMG] ICR moving to [AwaitingDe]
+          [1722290436.980] [57434:5479429] [EM] <<< [E:54210i S:10110 M:158287615 (Ack:73923062)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 9a:  Test Harness calls the StartPresetsSchedulesEditRequest
+          command to edit presets"
+      PICS: TSTAT.S.F08 && TSTAT.S.C07.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #9a Test Harness Client calls StartPresetsSchedulesEditRequest command
+
+          ./chip-tool thermostat start-presets-schedules-edit-request 180 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722286001.805] [54149:5392862] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0007 Status=0x0
+          [1722286001.805] [54149:5392862] [DMG] ICR moving to [AwaitingDe]
+          [1722286001.805] [54149:5392862] [EM] <<< [E:7545i S:16937 M:144975449 (Ack:93571372)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+          [1722286001.806] [54149:5392862] [EM] Flushed pending ack for MessageCounter:93571372 on exchange 7545i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label: "Step 9b:  Test Harness writes to the Presets attribute"
+      PICS: TSTAT.S.F08 && TSTAT.S.A0050
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #8b Test Harness Client attempts to write Presets and gets SUCCESS
+
+          ./chip-tool thermostat write presets '[ {"presetHandle": "hex:01", "presetScenario": 1, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": true }, {"presetHandle": "hex:02", "presetScenario": 2, "coolingSetpoint": 2600, "heatingSetpoint": 2500, "builtIn": true }, {"presetHandle": "hex:03", "name": "Sleep", "presetScenario": 3, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": false }, {"presetHandle": "hex:03", "name": "Sleep", "presetScenario": 3, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": false }, {"presetHandle": "hex:04", "name": "Wake", "presetScenario": 4, "coolingSetpoint": 2200, "heatingSetpoint": 2900, "builtIn": false }, {"presetHandle": "hex:06", "name": "GoingToSleep", "presetScenario": 6, "coolingSetpoint": 2100, "heatingSetpoint": 2500, "builtIn": false }]' 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722289461.376] [56636:5458560] [DMG] WriteClient moving to [ResponseRe]
+          [1722289461.376] [56636:5458560] [DMG] WriteResponseMessage =
+          [1722289461.376] [56636:5458560] [DMG] {
+          [1722289461.376] [56636:5458560] [DMG] 	AttributeStatusIBs =
+          [1722289461.376] [56636:5458560] [DMG] 	[
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 		{
+          [1722289461.377] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.377] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.377] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.377] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	],
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	InteractionModelRevision = 11
+          [1722289461.377] [56636:5458560] [DMG] }
+          [1722289461.377] [56636:5458560] [DMG] WriteClient moving to [AwaitingDe]
+          [1722289461.377] [56636:5458560] [EM] <<< [E:23635i S:58282 M:220756286 (Ack:5366080)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 9c:  Test Harness calls the CommitPresetsSchedulesRequest
+          command"
+      PICS: TSTAT.S.F08 && TSTAT.S.C09.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #8c Test Harness Client calls CommitPresetsSchedulesRequest command gets CONSTRAINT_ERROR since preset with preset handle hex:03 is duplicated
+
+          ./chip-tool thermostat commit-presets-schedules-request 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a CONSTRAINT_ERROR (0x87) error
+          [1722302289.994] [63677:5670818] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0009 Status=0x87
+          [1722302289.994] [63677:5670818] [TOO] Error: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
+          [1722302289.994] [63677:5670818] [DMG] ICR moving to [AwaitingDe]
+          [1722302289.994] [63677:5670818] [EM] <<< [E:25209i S:7768 M:264197735 (Ack:106550461)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 10a:  Test Harness calls the StartPresetsSchedulesEditRequest
+          command to edit presets"
+      PICS: TSTAT.S.F08 && TSTAT.S.C07.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #10a Test Harness Client calls StartPresetsSchedulesEditRequest command
+
+          ./chip-tool thermostat start-presets-schedules-edit-request 180 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722286001.805] [54149:5392862] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0007 Status=0x0
+          [1722286001.805] [54149:5392862] [DMG] ICR moving to [AwaitingDe]
+          [1722286001.805] [54149:5392862] [EM] <<< [E:7545i S:16937 M:144975449 (Ack:93571372)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+          [1722286001.806] [54149:5392862] [EM] Flushed pending ack for MessageCounter:93571372 on exchange 7545i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 10b:  Test Harness writes to the Presets attribute wherein a
+          built-in preset is modified to a non built-in preset"
+      PICS: TSTAT.S.F08 && TSTAT.S.A0050
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #10b Test Harness Client attempts to write Presets and gets SUCCESS
+
+          ./chip-tool thermostat write presets '[ {"presetHandle": "hex:01", "presetScenario": 1, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": false }, {"presetHandle": "hex:02", "presetScenario": 2, "coolingSetpoint": 2600, "heatingSetpoint": 2500, "builtIn": true }, {"presetHandle": "hex:03", "name": "Sleep", "presetScenario": 3, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": false },  {"presetHandle": "hex:04", "name": "Wake", "presetScenario": 4, "coolingSetpoint": 2200, "heatingSetpoint": 2900, "builtIn": false }, {"presetHandle": "hex:06", "name": "GoingToSleep", "presetScenario": 6, "coolingSetpoint": 2100, "heatingSetpoint": 2500, "builtIn": false }]' 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722289461.376] [56636:5458560] [DMG] WriteClient moving to [ResponseRe]
+          [1722289461.376] [56636:5458560] [DMG] WriteResponseMessage =
+          [1722289461.376] [56636:5458560] [DMG] {
+          [1722289461.376] [56636:5458560] [DMG] 	AttributeStatusIBs =
+          [1722289461.376] [56636:5458560] [DMG] 	[
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 		{
+          [1722289461.377] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.377] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.377] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.377] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	],
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	InteractionModelRevision = 11
+          [1722289461.377] [56636:5458560] [DMG] }
+          [1722289461.377] [56636:5458560] [DMG] WriteClient moving to [AwaitingDe]
+          [1722289461.377] [56636:5458560] [EM] <<< [E:23635i S:58282 M:220756286 (Ack:5366080)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 10c:  Test Harness calls the CommitPresetsSchedulesRequest
+          command"
+      PICS: TSTAT.S.F08 && TSTAT.S.C09.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #10c Test Harness Client calls CommitPresetsSchedulesRequest command gets UNSUPPORTED_ACCESS since built-in preset with handle hex:01 was attempted to be modified to a not built-in preset
+
+          ./chip-tool thermostat commit-presets-schedules-request 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends an UNSUPPORTED_ACCESS (0x7E) error
+          [1722289468.881] [56642:5458641] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0009 Status=0x7e
+          [1722289468.881] [56642:5458641] [TOO] Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS)
+          [1722289468.881] [56642:5458641] [DMG] ICR moving to [AwaitingDe]
+          [1722289468.881] [56642:5458641] [EM] <<< [E:20464i S:35105 M:91065475 (Ack:114933900)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 11a:  Test Harness calls the StartPresetsSchedulesEditRequest
+          command to edit presets"
+      PICS: TSTAT.S.F08 && TSTAT.S.C07.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #11a Test Harness Client calls StartPresetsSchedulesEditRequest command
+
+          ./chip-tool thermostat start-presets-schedules-edit-request 180 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722286001.805] [54149:5392862] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0007 Status=0x0
+          [1722286001.805] [54149:5392862] [DMG] ICR moving to [AwaitingDe]
+          [1722286001.805] [54149:5392862] [EM] <<< [E:7545i S:16937 M:144975449 (Ack:93571372)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+          [1722286001.806] [54149:5392862] [EM] Flushed pending ack for MessageCounter:93571372 on exchange 7545i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 11b:  Test Harness writes to the Presets attribute wherein a non
+          built-in preset is modified to a built-in preset"
+      PICS: TSTAT.S.F08 && TSTAT.S.A0050
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #11b Test Harness Client attempts to write Presets and gets SUCCESS
+
+          ./chip-tool thermostat write presets '[ {"presetHandle": "hex:01", "presetScenario": 1, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": true }, {"presetHandle": "hex:02", "presetScenario": 2, "coolingSetpoint": 2600, "heatingSetpoint": 2500, "builtIn": true }, {"presetHandle": "hex:03", "name": "Sleep", "presetScenario": 3, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": true },  {"presetHandle": "hex:04", "name": "Wake", "presetScenario": 4, "coolingSetpoint": 2200, "heatingSetpoint": 2900, "builtIn": false }, {"presetHandle": "hex:06", "name": "GoingToSleep", "presetScenario": 6, "coolingSetpoint": 2100, "heatingSetpoint": 2500, "builtIn": false }, {"presetHandle": "hex:06", "name": "GoingToSleep", "presetScenario": 6, "coolingSetpoint": 2100, "heatingSetpoint": 2500, "builtIn": false }]' 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722289461.376] [56636:5458560] [DMG] WriteClient moving to [ResponseRe]
+          [1722289461.376] [56636:5458560] [DMG] WriteResponseMessage =
+          [1722289461.376] [56636:5458560] [DMG] {
+          [1722289461.376] [56636:5458560] [DMG] 	AttributeStatusIBs =
+          [1722289461.376] [56636:5458560] [DMG] 	[
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 		{
+          [1722289461.377] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.377] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.377] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.377] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	],
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	InteractionModelRevision = 11
+          [1722289461.377] [56636:5458560] [DMG] }
+          [1722289461.377] [56636:5458560] [DMG] WriteClient moving to [AwaitingDe]
+          [1722289461.377] [56636:5458560] [EM] <<< [E:23635i S:58282 M:220756286 (Ack:5366080)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 11c:  Test Harness calls the CommitPresetsSchedulesRequest
+          command"
+      PICS: TSTAT.S.F08 && TSTAT.S.C09.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #11c Test Harness Client calls CommitPresetsSchedulesRequest command gets UNSUPPORTED_ACCESS since non built-in preset with handle hex:03 was attempted to be modified to be built-in
+
+          ./chip-tool thermostat commit-presets-schedules-request 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends an UNSUPPORTED_ACCESS (0x7E) error
+          [1722297542.066] [60654:5591651] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0009 Status=0x7e
+          [1722297542.066] [60654:5591651] [TOO] Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS)
+          [1722297542.066] [60654:5591651] [DMG] ICR moving to [AwaitingDe]
+          [1722297542.066] [60654:5591651] [EM] <<< [E:11999i S:35595 M:148057801 (Ack:14642826)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 12a:  Test Harness calls the StartPresetsSchedulesEditRequest
+          command to edit presets"
+      PICS: TSTAT.S.F08 && TSTAT.S.C07.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #12a Test Harness Client calls StartPresetsSchedulesEditRequest command
+
+          ./chip-tool thermostat start-presets-schedules-edit-request 180 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722286001.805] [54149:5392862] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0007 Status=0x0
+          [1722286001.805] [54149:5392862] [DMG] ICR moving to [AwaitingDe]
+          [1722286001.805] [54149:5392862] [EM] <<< [E:7545i S:16937 M:144975449 (Ack:93571372)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+          [1722286001.806] [54149:5392862] [EM] Flushed pending ack for MessageCounter:93571372 on exchange 7545i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 12b:  Test Harness writes to the Presets attribute with a preset
+          that doesn't support names in the PresetTypeFeatures bitmap but has a
+          name"
+      PICS: TSTAT.S.F08 && TSTAT.S.A0050
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #11b Test Harness Client attempts to write Presets and gets SUCCESS
+
+          ./chip-tool thermostat write presets '[ {"presetHandle": "hex:01", "name": "Occupied", "presetScenario": 1, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": true }, {"presetHandle": "hex:02", "presetScenario": 2, "coolingSetpoint": 2600, "heatingSetpoint": 2500, "builtIn": true }, {"presetHandle": "hex:03", "name": "Sleep", "presetScenario": 3, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": true },  {"presetHandle": "hex:04", "name": "Wake", "presetScenario": 4, "coolingSetpoint": 2200, "heatingSetpoint": 2900, "builtIn": false }, {"presetHandle": "hex:06", "name": "GoingToSleep", "presetScenario": 6, "coolingSetpoint": 2100, "heatingSetpoint": 2500, "builtIn": false }, {"presetHandle": "hex:06", "name": "GoingToSleep", "presetScenario": 6, "coolingSetpoint": 2100, "heatingSetpoint": 2500, "builtIn": false }]' 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722289461.376] [56636:5458560] [DMG] WriteClient moving to [ResponseRe]
+          [1722289461.376] [56636:5458560] [DMG] WriteResponseMessage =
+          [1722289461.376] [56636:5458560] [DMG] {
+          [1722289461.376] [56636:5458560] [DMG] 	AttributeStatusIBs =
+          [1722289461.376] [56636:5458560] [DMG] 	[
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 		{
+          [1722289461.377] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.377] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.377] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.377] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	],
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	InteractionModelRevision = 11
+          [1722289461.377] [56636:5458560] [DMG] }
+          [1722289461.377] [56636:5458560] [DMG] WriteClient moving to [AwaitingDe]
+          [1722289461.377] [56636:5458560] [EM] <<< [E:23635i S:58282 M:220756286 (Ack:5366080)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 12c:  Test Harness calls the CommitPresetsSchedulesRequest
+          command"
+      PICS: TSTAT.S.F08 && TSTAT.S.C09.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #11c Test Harness Client calls CommitPresetsSchedulesRequest command gets CONSTRAINT_ERROR since we attempted to add a name to a preset with handle hex:01 that doesn't support names.
+
+          ./chip-tool thermostat commit-presets-schedules-request 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends an CONSTRAINT_ERROR (0x87) error
+          [1722298150.233] [60910:5602100] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0009 Status=0x87
+          [1722298150.233] [60910:5602100] [TOO] Error: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
+          [1722298150.233] [60910:5602100] [DMG] ICR moving to [AwaitingDe]
+          [1722298150.233] [60910:5602100] [EM] <<< [E:44287i S:42687 M:5072557 (Ack:66989213)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    #TODO: Add tests for the total number of Presets exceeds the NumberOfPresets supported. Also Add tests for adding presets with preset scenario not present in PresetTypes.
+
+    - label:
+          "Step 13a:  Test Harness calls the StartPresetsSchedulesEditRequest
+          command to edit presets"
+      PICS: TSTAT.S.F08 && TSTAT.S.C07.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #13a Test Harness Client calls StartPresetsSchedulesEditRequest command
+
+          ./chip-tool thermostat start-presets-schedules-edit-request 180 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722286001.805] [54149:5392862] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0007 Status=0x0
+          [1722286001.805] [54149:5392862] [DMG] ICR moving to [AwaitingDe]
+          [1722286001.805] [54149:5392862] [EM] <<< [E:7545i S:16937 M:144975449 (Ack:93571372)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+          [1722286001.806] [54149:5392862] [EM] Flushed pending ack for MessageCounter:93571372 on exchange 7545i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 13b:  Test Harness writes to the Presets attribute but calls
+          CancelPresetsSchedulesEditRequest command to cancel the edit request"
+      PICS: TSTAT.S.F08 && TSTAT.S.A0050
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #13b Test Harness Client attempts to write Presets and gets SUCCESS
+
+          ./chip-tool thermostat write presets '[ {"presetHandle": "hex:01", "presetScenario": 1, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": true }, {"presetHandle": "hex:02", "presetScenario": 2, "coolingSetpoint": 2600, "heatingSetpoint": 2500, "builtIn": true }, {"presetHandle": "03", "name": "Sleep", "presetScenario": 3, "coolingSetpoint": 2500, "heatingSetpoint": 2600, "builtIn": false }, {"presetHandle": "04", "name": "Wake", "presetScenario": 4, "coolingSetpoint": 2200, "heatingSetpoint": 2900, "builtIn": false }, {"presetHandle": null, "name": "Vacation", "presetScenario": 5, "coolingSetpoint": 2900, "heatingSetpoint": 2000, "builtIn": false }, {"presetHandle": "06", "name": "GoingToSleep", "presetScenario": 6, "coolingSetpoint": 3000, "heatingSetpoint": 1900, "builtIn": false }]' 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722289461.376] [56636:5458560] [DMG] WriteClient moving to [ResponseRe]
+          [1722289461.376] [56636:5458560] [DMG] WriteResponseMessage =
+          [1722289461.376] [56636:5458560] [DMG] {
+          [1722289461.376] [56636:5458560] [DMG] 	AttributeStatusIBs =
+          [1722289461.376] [56636:5458560] [DMG] 	[
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.376] [56636:5458560] [DMG] 			}
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.376] [56636:5458560] [DMG] 			},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		},
+          [1722289461.376] [56636:5458560] [DMG]
+          [1722289461.376] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.376] [56636:5458560] [DMG] 		{
+          [1722289461.376] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.376] [56636:5458560] [DMG] 			{
+          [1722289461.376] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.376] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.376] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.376] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		AttributeStatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 		{
+          [1722289461.377] [56636:5458560] [DMG] 			AttributePathIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				Endpoint = 0x1,
+          [1722289461.377] [56636:5458560] [DMG] 				Cluster = 0x201,
+          [1722289461.377] [56636:5458560] [DMG] 				Attribute = 0x0000_0050,
+          [1722289461.377] [56636:5458560] [DMG] 				ListIndex = Null,
+          [1722289461.377] [56636:5458560] [DMG] 			}
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 			StatusIB =
+          [1722289461.377] [56636:5458560] [DMG] 			{
+          [1722289461.377] [56636:5458560] [DMG] 				status = 0x00 (SUCCESS),
+          [1722289461.377] [56636:5458560] [DMG] 			},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 		},
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	],
+          [1722289461.377] [56636:5458560] [DMG]
+          [1722289461.377] [56636:5458560] [DMG] 	InteractionModelRevision = 11
+          [1722289461.377] [56636:5458560] [DMG] }
+          [1722289461.377] [56636:5458560] [DMG] WriteClient moving to [AwaitingDe]
+          [1722286250.504] [54321:5397545] [EM] <<< [E:14426i S:42250 M:116961408 (Ack:156984778)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+          [1722286250.504] [54321:5397545] [EM] Flushed pending ack for MessageCounter:156984778 on exchange 14426i
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 13c:  Test Harness calls the CancelPresetsSchedulesEditRequest
+          command"
+      PICS: TSTAT.S.F08 && TSTAT.S.C08.Rsp
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #13c Test Harness Client calls CancelPresetsSchedulesEditRequest command
+
+          ./chip-tool thermostat cancel-presets-schedules-edit-request 0x12344321 1
+          On TH(chip-tool) verify that  DUT sends a success response
+          [1722287841.505] [55282:5425045] [DMG] Received Command Response Status for Endpoint=1 Cluster=0x0000_0201 Command=0x0000_0009 Status=0x0
+          [1722287841.505] [55282:5425045] [DMG] ICR moving to [AwaitingDe]
+          [1722287841.505] [55282:5425045] [EM] <<< [E:46441i S:57071 M:61366563 (Ack:138534230)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
+
+    - label:
+          "Step 13d:  Test Harness reads the Presets attribute after calling the
+          CancelPresetsSchedulesEditRequest command"
+      PICS: TSTAT.S.F08 && TSTAT.S.A0050
+      verification: |
+          Optional Attribute - If it is supported, then in TH log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE. Below is the log of RPI the result may be vary on the basis of dut implementation.
+
+          #3c Test Harness Client reads Presets attribute
+
+          ./chip-tool thermostat read presets 0x12344321 1
+          On TH(chip-tool) verify that  DUT successfully read Presets (but without the Vacation preset added)
+          [1722299465.497] [62905:5625656] [TOO] Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_0050 DataVersion: 3098962545
+          [1722299465.497] [62905:5625656] [TOO]   Presets: 5 entries
+          [1722299465.498] [62905:5625656] [TOO]     [1]: {
+          [1722299465.498] [62905:5625656] [TOO]       PresetHandle: 01
+          [1722299465.498] [62905:5625656] [TOO]       PresetScenario: 1
+          [1722299465.498] [62905:5625656] [TOO]       CoolingSetpoint: 2500
+          [1722299465.498] [62905:5625656] [TOO]       HeatingSetpoint: 2600
+          [1722299465.498] [62905:5625656] [TOO]       BuiltIn: TRUE
+          [1722299465.498] [62905:5625656] [TOO]      }
+          [1722299465.498] [62905:5625656] [TOO]     [2]: {
+          [1722299465.498] [62905:5625656] [TOO]       PresetHandle: 02
+          [1722299465.498] [62905:5625656] [TOO]       PresetScenario: 2
+          [1722299465.498] [62905:5625656] [TOO]       CoolingSetpoint: 2600
+          [1722299465.498] [62905:5625656] [TOO]       HeatingSetpoint: 2500
+          [1722299465.498] [62905:5625656] [TOO]       BuiltIn: TRUE
+          [1722299465.498] [62905:5625656] [TOO]      }
+          [1722299465.498] [62905:5625656] [TOO]     [3]: {
+          [1722299465.498] [62905:5625656] [TOO]       PresetHandle: 03
+          [1722299465.498] [62905:5625656] [TOO]       PresetScenario: 3
+          [1722299465.498] [62905:5625656] [TOO]       Name: Sleep
+          [1722299465.498] [62905:5625656] [TOO]       CoolingSetpoint: 2500
+          [1722299465.498] [62905:5625656] [TOO]       HeatingSetpoint: 2600
+          [1722299465.498] [62905:5625656] [TOO]       BuiltIn: FALSE
+          [1722299465.498] [62905:5625656] [TOO]      }
+          [1722299465.498] [62905:5625656] [TOO]     [4]: {
+          [1722299465.498] [62905:5625656] [TOO]       PresetHandle: 04
+          [1722299465.498] [62905:5625656] [TOO]       PresetScenario: 4
+          [1722299465.498] [62905:5625656] [TOO]       Name: Wake
+          [1722299465.498] [62905:5625656] [TOO]       CoolingSetpoint: 2200
+          [1722299465.498] [62905:5625656] [TOO]       HeatingSetpoint: 2900
+          [1722299465.498] [62905:5625656] [TOO]       BuiltIn: FALSE
+          [1722299465.498] [62905:5625656] [TOO]      }
+          [1722299465.498] [62905:5625656] [TOO]     [5]: {
+          [1722299465.498] [62905:5625656] [TOO]       PresetHandle: 06
+          [1722299465.498] [62905:5625656] [TOO]       PresetScenario: 6
+          [1722299465.498] [62905:5625656] [TOO]       Name: Vacationleep
+          [1722299465.498] [62905:5625656] [TOO]       CoolingSetpoint: 2100
+          [1722299465.498] [62905:5625656] [TOO]       HeatingSetpoint: 2500
+          [1722299465.498] [62905:5625656] [TOO]       BuiltIn: FALSE
+          [1722299465.498] [62905:5625656] [TOO]      }
+          [1722299465.498] [62905:5625656] [EM] <<< [E:53084i S:11903 M:249395534 (Ack:245071987)] (S) Msg TX to 1:000000000000006E [FEC4] [UDP:[fe80::1%lo0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck) (B:34)
+      cluster: "LogCommands"
+      command: "UserPrompt"
+      arguments:
+          values:
+              - name: "message"
+                value: "Please enter 'y' after success"
+              - name: "expectedValue"
+                value: "y"
diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values
index 1525445..82254aa 100644
--- a/src/app/tests/suites/certification/ci-pics-values
+++ b/src/app/tests/suites/certification/ci-pics-values
@@ -1916,6 +1916,7 @@
 TSTAT.S.F04=0
 TSTAT.S.F05=1
 TSTAT.S.F06=0
+TSTAT.S.F08=1
 
 TSTAT.S.A0000=1
 TSTAT.S.A0001=0
@@ -1967,6 +1968,12 @@
 TSTAT.S.A0045=0
 TSTAT.S.A0046=0
 TSTAT.S.A0047=0
+TSTAT.S.A0048=1
+TSTAT.S.A004a=1
+TSTAT.S.A004e=1
+TSTAT.S.A0050=1
+TSTAT.S.A0052=1
+
 TSTAT.S.M.MinSetpointDeadBandWritable=1
 TSTAT.S.M.HVACSystemTypeConfigurationWritable=0
 
@@ -1976,6 +1983,10 @@
 TSTAT.S.C02.Rsp=0
 TSTAT.S.C03.Rsp=0
 TSTAT.S.C04.Rsp=0
+TSTAT.S.C06.Rsp=1
+TSTAT.S.C07.Rsp=1
+TSTAT.S.C08.Rsp=1
+TSTAT.S.C09.Rsp=1
 
 # Client
 TSTAT.C=0
@@ -1990,6 +2001,10 @@
 TSTAT.C.C03.Tx=0
 TSTAT.S.C00.Tx=0
 TSTAT.S.C01.Tx=0
+TSTAT.C.C06.Tx=1
+TSTAT.C.C07.Tx=1
+TSTAT.C.C08.Tx=1
+TSTAT.C.C09.Tx=1
 
 # Client Commands
 TSTAT.C.C00.Tx=1