# Copyright (c) 2021 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name: 42.2.2. [TC-TSTAT-2.2] Setpoint Test Cases with server as DUT

PICS:
    - TSTAT.S

config:
    nodeId: 0x12344321
    cluster: "Thermostat"
    endpoint: 1

tests:
    - label: "Wait for the commissioned device to be retrieved"
      cluster: "DelayCommands"
      command: "WaitForCommissionee"
      arguments:
          values:
              - name: "nodeId"
                value: nodeId

    - label: "Saving value for comparision in step 2a read MinCoolSetpointLimit"
      PICS: TSTAT.S.A0017
      command: "readAttribute"
      attribute: "MinCoolSetpointLimit"
      response:
          saveAs: MinCoolSetpointLimit

    - label: "Saving value for comparision in step 2a read MaxCoolSetpointLimit"
      PICS: TSTAT.S.A0018
      command: "readAttribute"
      attribute: "MaxCoolSetpointLimit"
      response:
          saveAs: MaxCoolSetpointLimit

    - label:
          "Saving value for comparision in step 2c read attribute
          MinSetpointDeadBand"
      PICS: TSTAT.S.A0019
      command: "readAttribute"
      attribute: "MinSetpointDeadBand"
      response:
          saveAs: MinSetpointDeadBand

    - label: "Saving value for comparision in step 3a read MinHeatSetpointLimit"
      PICS: TSTAT.S.A0015
      command: "readAttribute"
      attribute: "MinHeatSetpointLimit"
      response:
          saveAs: MinHeatSetpointLimit

    - label:
          "Saving value for comparision in step 3 reads
          UnoccupiedCoolingSetpoint attribute"
      command: "readAttribute"
      attribute: "UnoccupiedCoolingSetpoint"
      PICS: TSTAT.S.A0013
      response:
          saveAs: UnoccupiedCoolingSetpoint

    - label: "Saving value for comparision in step 3a read MaxHeatSetpointLimit"
      PICS: TSTAT.S.A0016
      command: "readAttribute"
      attribute: "MaxHeatSetpointLimit"
      response:
          saveAs: MaxHeatSetpointLimit

    - label:
          "Saving value for comparision in step3c read attribute
          OccupiedHeatingSetpoint"
      PICS: TSTAT.S.A0012
      command: "readAttribute"
      attribute: "OccupiedHeatingSetpoint"
      response:
          saveAs: OccupiedHeatingSetpoint

    - label:
          "Saving value for comparision in step3c read attribute
          OccupiedCoolingSetpoint"
      PICS: TSTAT.S.A0011
      command: "readAttribute"
      attribute: "OccupiedCoolingSetpoint"
      response:
          saveAs: OccupiedCoolingSetpoint

    - label:
          "Saving value for comparision in step 6a read attribute
          AbsMinHeatSetpointLimit"
      command: "readAttribute"
      attribute: "AbsMinHeatSetpointLimit"
      PICS: TSTAT.S.A0003
      response:
          saveAs: AbsMinHeatSetpointLimitValue

    - label:
          "Saving value for comparision in step 7a read attribute
          AbsMaxHeatSetpointLimit"
      command: "readAttribute"
      attribute: "AbsMaxHeatSetpointLimit"
      PICS: TSTAT.S.A0004
      response:
          saveAs: AbsMaxHeatSetpointLimitValue

    - label:
          "Saving value for comparision in step 8a read attribute
          AbsMinCoolSetpointLimit"
      command: "readAttribute"
      attribute: "AbsMinCoolSetpointLimit"
      PICS: TSTAT.S.A0005
      response:
          saveAs: AbsMinCoolSetpointLimit

    - label:
          "Saving value for comparision in step9a read attribute
          AbsMaxCoolSetpointLimit"
      command: "readAttribute"
      attribute: "AbsMaxCoolSetpointLimit"
      PICS: TSTAT.S.A0006
      response:
          saveAs: AbsMaxCoolSetpointLimit

    #Using saved values when optional attributes are available
    - label: "Read attribute OccupiedCoolingSetpoint from the DUT"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018
      command: "readAttribute"
      attribute: "OccupiedCoolingSetpoint"
      response:
          constraints:
              type: int16s
              minValue: MinCoolSetpointLimit
              maxValue: MaxCoolSetpointLimit

    #Using hard coded values when optional attributes are not available
    - label:
          "Reads OccupiedCoolingSetpoint attribute from Server DUT and verifies
          that the value is within range"
      command: "readAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.A0018
      response:
          constraints:
              type: int16s
              minValue: 1600
              maxValue: 3200

    - label:
          "Writes a value back that is different but valid for
          OccupiedCoolingSetpoint attribute"
      command: "writeAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01
      arguments:
          value: 2500

    - label:
          "Reads it back again to confirm the successful write of
          OccupiedCoolingSetpoint attribute"
      command: "readAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01
      response:
          value: 2500

    - label:
          "Writes OccupiedCoolingSetpoint to value below the
          MinCoolSetpointLimit"
      command: "writeAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01 && !TSTAT.S.A0017
      arguments:
          value: 30
      response:
          error: CONSTRAINT_ERROR

    #MinCoolSetPointLimit might be negative if not checked before decrement
    - label:
          "Writes OccupiedCoolingSetpoint to value below the
          MinCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017 && PICS_SKIP_SAMPLE_APP
      verification: |
          Optional attribute so its not compulsory to get the expected outcome

          ./chip-tool thermostat write occupied-cooling-setpoint 3600 1 1
          On TH(chip-tool) verify that  DUT sends a CONSTRAINT_ERROR (0x87)
          [1658386056.238286][2906:2911] CHIP:DMG: }
          [1658386056.238356][2906:2911] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1658386056.238389][2906:2911] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
          [1658386056.238449][2906:2911] CHIP:EM: Sending Standalone Ack for MessageCounter:41416222 on exchange 5788i
          [1658386056.238525][2906:2911] CHIP:IN: Prepared secure message 0xffffa77ed9e8 to 0x0000000000000001 (1)  of type 0x10 and protocolId (0, 0) on exchange 5788i with MessageCounter:113884573
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Writes OccupiedCoolingSetpoint to value above the
          MaxCoolSetpointLimit"
      command: "writeAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01 && !TSTAT.S.A0017
      arguments:
          value: 4000
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes OccupiedCoolingSetpoint to value above the
          MaxCoolSetpointLimit"
      command: "writeAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017
      arguments:
          value: MaxCoolSetpointLimit + 1000
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes the limit of MinCoolSetpointLimit to OccupiedCoolingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01 && !TSTAT.S.F05 && !TSTAT.S.A0017
      arguments:
          value: 1600

    - label:
          "Writes the limit of MinCoolSetpointLimit to OccupiedCoolingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01 && !TSTAT.S.F05 && TSTAT.S.A0017
      arguments:
          value: MinCoolSetpointLimit

    #LowerLimit = Max(MinCoolSetpointLimit,(OccupiedHeatingSetpoint + MinSetpointDeadBand)) not possible in YAML
    - label:
          "Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(MinCoolSetpointLimit,
          (OccupiedHeatingSetpoint + MinSetpointDeadBand)) to
          OccupiedCoolingSetpoint attribute when Auto is enabled"
      PICS: TSTAT.S.F05 && TSTAT.S.A0012 && PICS_SKIP_SAMPLE_APP
      verification: |
          Optional attribute so its not compulsory to get the expected outcome

          ./chip-tool thermostat write occupied-cooling-setpoint 1600 1 1
          On TH(chip-tool) verify that  DUT sends a success response

          [1658386056.238356][2906:2911] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1658386056.238389][2906:2911] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
          [1658386056.238449][2906:2911] CHIP:EM: Sending Standalone Ack for MessageCounter:41416222 on exchange 5788i
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Writes the limit of MaxCoolSetpointLimit to OccupiedCoolingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01 && !TSTAT.S.A0017
      arguments:
          value: 3200

    - label:
          "Writes the limit of MaxCoolSetpointLimit to OccupiedCoolingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017
      arguments:
          value: MaxCoolSetpointLimit

    #Using saved values when optional attributes are available
    - label:
          "Reads OccupiedHeatingSetpoint attribute from Server DUT and verifies
          that the value is within range"
      command: "readAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016
      response:
          constraints:
              type: int16s
              minValue: MinHeatSetpointLimit
              maxValue: MaxHeatSetpointLimit

    #Using hard coded values when optional attributes are not available
    - label:
          "Reads OccupiedHeatingSetpoint attribute from Server DUT and verifies
          that the value is within range"
      command: "readAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00 && !TSTAT.S.A0015 && !TSTAT.S.A0016
      response:
          constraints:
              type: int16s
              minValue: 700
              maxValue: 3000

    - label:
          "Writes a value back that is different but valid for
          OccupiedHeatingSetpoint attribute"
      command: "writeAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00
      arguments:
          value: 2100

    - label:
          "Reads it back again to confirm the successful write of
          OccupiedHeatingSetpoint attribute"
      command: "readAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00
      response:
          value: 2100

    - label:
          "Writes OccupiedHeatingSetpoint to value below the
          MinHeatSetpointLimit"
      command: "writeAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00 && !TSTAT.S.A0015
      arguments:
          value: 600
      response:
          error: CONSTRAINT_ERROR

    #MinHeatSetpointLimit might be negative if not checked before decrement
    - label:
          "Writes OccupiedHeatingSetpoint to value below the
          MinHeatSetpointLimit"
      PICS: TSTAT.S.F00 && TSTAT.S.A0015 && PICS_SKIP_SAMPLE_APP
      verification: |
          Optional Attribute -

          ./chip-tool thermostat write  occupied-heating-setpoint 5000 1 1

          On TH(chip-tool) verify that  DUT sends a CONSTRAINT_ERROR (0x87)
          [1658388388.725344][3134:3139] CHIP:DMG:         InteractionModelRevision = 1
          [1658388388.725388][3134:3139] CHIP:DMG: }
          [1658388388.725505][3134:3139] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1658388388.725558][3134:3139] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
          [1658388388.725618][3134:3139] CHIP:EM: Sending Standalone Ack for MessageCounter:199663269 on exchange 29439i
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Writes OccupiedHeatingSetpoint to value above the
          MaxHeatSetpointLimit"
      command: "writeAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00 && !TSTAT.S.A0016
      arguments:
          value: 4010
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes OccupiedHeatingSetpoint to value above the
          MaxHeatSetpointLimit"
      command: "writeAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00 && TSTAT.S.A0016
      arguments:
          value: MaxHeatSetpointLimit + 1000
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes the limit of MinHeatSetpointLimit to OccupiedHeatingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00 && !TSTAT.S.A0015
      arguments:
          value: 700

    - label:
          "Writes the limit of MinHeatSetpointLimit to OccupiedHeatingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00 && TSTAT.S.A0015
      arguments:
          value: MinHeatSetpointLimit

    - label:
          "Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00 && !TSTAT.S.F05 && !TSTAT.S.A0016
      arguments:
          value: 3000

    - label:
          "Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00 && !TSTAT.S.F05 && TSTAT.S.A0016
      arguments:
          value: MaxHeatSetpointLimit

    - label:
          "Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F05 && !TSTAT.S.A0015
      arguments:
          value: 3000
      response:
          error: CONSTRAINT_ERROR

    #UpperLimit = Min(MaxHeatSetpointLimit,(OccupiedCoolingSetpoint - MinSetpointDeadBand)) not possible in YAML
    - label:
          "Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(MaxHeatSetpointLimit,
          (OccupiedCoolingSetpoint - MinSetpointDeadBand)) to
          OccupiedHeatingSetpoint attribute when Auto is enabled"
      PICS:
          TSTAT.S.F05 && TSTAT.S.A0011 && TSTAT.S.A0012 && PICS_SKIP_SAMPLE_APP
      verification: |
          ./chip-tool thermostat write occupied-heating-setpoint 2200 1 1
          On TH(chip-tool) verify that  DUT sends a success response
          [1661755950.285710][3540:3545] CHIP:DMG:                         StatusIB =
          [1661755950.285739][3540:3545] CHIP:DMG:                         {
          [1661755950.285769][3540:3545] CHIP:DMG:                                 status = 0x87 (CONSTRAINT_ERROR),
          [1661755950.285799][3540:3545] CHIP:DMG:                         },
          [1661755950.285831][3540:3545] CHIP:DMG:
          [1661755950.285855][3540:3545] CHIP:DMG:                 },

          ./chip-tool thermostat read occupied-heating-setpoint 1 1

          On TH(chip-tool) verify that the occupied heating setpoint attribute value which is provided in previous step
          [1661756337.957444][3574:3579] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_0012 DataVersion: 1052267276
          [1661756337.957573][3574:3579] CHIP:TOO:   OccupiedHeatingSetpoint: 2000
          [1661756337.957876][3574:3579] CHIP:EM: Sending Standalone Ack for MessageCounter:176529588 on exchange 9927i
          [1661756337.958020][3574:3579] CHIP:IN: Prepared secure message 0xffff867cd978 to 0x0000000000000001 (1)  of type 0x10 and p
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Reads UnoccupiedCoolingSetpoint attribute from Server DUT and
          verifies that the value is within range"
      command: "readAttribute"
      attribute: "UnoccupiedCoolingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018
      response:
          constraints:
              type: int16s
              minValue: MinCoolSetpointLimit
              maxValue: MaxCoolSetpointLimit

    - label:
          "Reads UnoccupiedCoolingSetpoint attribute from Server DUT and
          verifies that the value is within range"
      command: "readAttribute"
      attribute: "UnoccupiedCoolingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.A0018
      response:
          constraints:
              type: int16s
              minValue: 1600
              maxValue: 3200

    - label:
          "Writes a value back that is different but valid for
          UnoccupiedCoolingSetpoint attribute"
      command: "writeAttribute"
      attribute: "UnoccupiedCoolingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F01
      arguments:
          value: 2500

    - label:
          "Reads it back again to confirm the successful write of
          UnoccupiedCoolingSetpoint attribute"
      command: "readAttribute"
      attribute: "UnoccupiedCoolingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F01
      response:
          value: 2500

    - label:
          "Writes UnoccupiedCoolingSetpoint to value below the
          MinCoolSetpointLimit"
      command: "writeAttribute"
      attribute: "UnoccupiedCoolingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017
      arguments:
          value: 1002
      response:
          error: CONSTRAINT_ERROR

    #MinCoolSetpointLimit might be negative if not checked before decrement
    - label:
          "Writes UnoccupiedCoolingSetpoint to value below the
          MinCoolSetpointLimit"
      PICS: TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0017 && PICS_SKIP_SAMPLE_APP
      verification: |
          Optional Attribute - If it is supported, then in TH(chip-tool) log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE

          ./chip-tool thermostat write unoccupied-cooling-setpoint 2200  1 1

          https://github.com/project-chip/connectedhomeip/issues/15627
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Writes UnoccupiedCoolingSetpoint to value above the
          MaxCoolSetpointLimit"
      command: "writeAttribute"
      attribute: "UnoccupiedCoolingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0018
      arguments:
          value: 4010
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes UnoccupiedCoolingSetpoint to value above the
          MaxCoolSetpointLimit"
      command: "writeAttribute"
      attribute: "UnoccupiedCoolingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0018
      arguments:
          value: MaxCoolSetpointLimit + 1000
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "UnoccupiedCoolingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.F05
      arguments:
          value: 1600

    - label:
          "Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "UnoccupiedCoolingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017 && TSTAT.S.F05
      arguments:
          value: 1600
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "UnoccupiedCoolingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.F05
      arguments:
          value: MinCoolSetpointLimit

    #LowerLimit = Max(MinCoolSetpointLimit,(UnoccupiedCoolingSetpoint + MinSetpointDeadBand)) not possible in YAML
    - label:
          "Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(MinCoolSetpointLimit,
          (UnoccupiedCoolingSetpoint + MinSetpointDeadBand)) to
          UnoccupiedCoolingSetpoint attribute"
      PICS:
          TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0013 && TSTAT.S.F05 &&
          PICS_SKIP_SAMPLE_APP
      verification: |
          Optional Attribute - If it is supported, then in TH(chip-tool) log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE

          ./chip-tool thermostat read unoccupied-cooling-setpoint   1 1

          Verify in TH(chip-tool) Log:

          [1650451290.847810][5403:5408] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE)
          [1650451290.847903][5403:5408] CHIP:EM: Sending Standalone Ack for MessageCounter:5212350 on exchange 30170i
          https://github.com/project-chip/connectedhomeip/issues/15627
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Writes the limit of MaxCoolSetpointLimit to UnoccupiedCoolingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "UnoccupiedCoolingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0018 && !TSTAT.S.F05
      arguments:
          value: 3200

    - label:
          "Writes the limit of MaxCoolSetpointLimit to UnoccupiedCoolingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "UnoccupiedCoolingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.F05
      arguments:
          value: MaxCoolSetpointLimit

    #Using saved values when optional attributes are available
    - label:
          "Reads UnoccupiedHeatingSetpoint attribute from Server DUT and
          verifies that the value is within range"
      command: "readAttribute"
      attribute: "UnoccupiedHeatingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016
      response:
          constraints:
              type: int16s
              minValue: MinHeatSetpointLimit
              maxValue: MaxHeatSetpointLimit

    #Using hardcoded values when optional attributes are not available
    - label:
          "Reads UnoccupiedHeatingSetpoint attribute from Server DUT and
          verifies that the value is within range"
      command: "readAttribute"
      attribute: "UnoccupiedHeatingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0015 && !TSTAT.S.A0016
      response:
          constraints:
              type: int16s
              minValue: 700
              maxValue: 3000

    - label:
          "Writes a value back that is different but valid for
          UnoccupiedHeatingSetpoint attribute"
      command: "writeAttribute"
      attribute: "UnoccupiedHeatingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F00
      arguments:
          value: 2500

    - label:
          "Reads it back again to confirm the successful write of
          UnoccupiedHeatingSetpoint attribute"
      command: "readAttribute"
      attribute: "UnoccupiedHeatingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F00
      response:
          value: 2500

    - label:
          "Writes UnoccupiedHeatingSetpoint to value below the
          MinHeatSetpointLimit"
      command: "writeAttribute"
      attribute: "UnoccupiedHeatingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0015
      arguments:
          value: 500
      response:
          error: CONSTRAINT_ERROR

    #MinHeatSetpointLimit might be negative if not checked before decrement
    - label:
          "Writes UnoccupiedHeatingSetpoint to value below the
          MinHeatSetpointLimit"
      PICS: TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0015 && PICS_SKIP_SAMPLE_APP
      verification: |
          Optional Attribute - If it is supported, then in TH(chip-tool) log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE

          ./chip-tool thermostat read unoccupied-heating-setpoint  1 1
          As its an optional attribute, we are not getting expected result
          [1658389018.789254][3201:3206] CHIP:DMG:         SuppressResponse = true,
          [1658389018.789288][3201:3206] CHIP:DMG:         InteractionModelRevision = 1
          [1658389018.789312][3201:3206] CHIP:DMG: }
          [1658389018.789426][3201:3206] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE)
          [1658389018.789511][3201:3206] CHIP:EM: Sending Standalone Ack for MessageCounter:175660806 on exchange 16788i
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Writes UnoccupiedHeatingSetpoint to value above the
          MaxHeatSetpointLimit"
      command: "writeAttribute"
      attribute: "UnoccupiedHeatingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0016
      arguments:
          value: 4010
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes UnoccupiedHeatingSetpoint to value above the
          MaxHeatSetpointLimit"
      command: "writeAttribute"
      attribute: "UnoccupiedHeatingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0016
      arguments:
          value: MaxHeatSetpointLimit + 1000
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes the limit of MinHeatSetpointLimit to UnoccupiedHeatingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "UnoccupiedHeatingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0015
      arguments:
          value: 700

    - label:
          "Writes the limit of MinHeatSetpointLimit to UnoccupiedHeatingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "UnoccupiedHeatingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0015
      arguments:
          value: MinHeatSetpointLimit

    - label:
          "Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "UnoccupiedHeatingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0016 && !TSTAT.S.F05
      arguments:
          value: 3000

    - label:
          "Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "UnoccupiedHeatingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05
      arguments:
          value: MaxHeatSetpointLimit

    - label:
          "Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint
          attribute"
      command: "writeAttribute"
      attribute: "UnoccupiedHeatingSetpoint"
      PICS: TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0016 && TSTAT.S.F05
      arguments:
          value: 3000
      response:
          error: CONSTRAINT_ERROR

    #UpperLimit = Min(MaxHeatSetpointLimit,(UnoccupiedCoolingSetpoint - MinSetpointDeadBand)) not possible in YAML
    - label:
          "Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(MaxHeatSetpointLimit,
          (UnoccupiedCoolingSetpoint - MinSetpointDeadBand)) to
          UnoccupiedHeatingSetpoint attribute when Auto is enabled."
      PICS:
          TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0013 && TSTAT.S.F05 &&
          PICS_SKIP_SAMPLE_APP
      verification: |
          Optional Attribute - If it is supported, then in TH (chip-tool) log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE

          ./chip-tool thermostat read unoccupied-heating-setpoint  1 1
          As its an optional attribute, we are not getting expected result
          [1658389070.439643][3209:3214] CHIP:DMG:
          [1658389070.439678][3209:3214] CHIP:DMG:         SuppressResponse = true,
          [1658389070.439715][3209:3214] CHIP:DMG:         InteractionModelRevision = 1
          [1658389070.439750][3209:3214] CHIP:DMG: }
          [1658389070.439896][3209:3214] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE)
          [1658389070.439997][3209:3214] CHIP:EM: Sending Standalone Ack for MessageCounter:26480890 on exchange 13280i
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    #Using saved values when optional attributes are available
    - label:
          "Reads MinHeatSetpointLimit attribute from Server DUT and verifies
          that the value is within range"
      command: "readAttribute"
      attribute: "MinHeatSetpointLimit"
      PICS: TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016 && TSTAT.S.A0003
      response:
          constraints:
              type: int16s
              minValue: AbsMinHeatSetpointLimitValue
              maxValue: MaxHeatSetpointLimit

    #Using hard coded values when optional attributes are not available
    - label:
          "Reads MinHeatSetpointLimit attribute from Server DUT and verifies
          that the value is within range"
      command: "readAttribute"
      attribute: "MinHeatSetpointLimit"
      PICS: TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.A0016 && !TSTAT.S.A0003
      response:
          constraints:
              type: int16s
              minValue: 700
              maxValue: 3000

    - label:
          "Writes a value back that is different but valid for
          MinHeatSetpointLimit attribute"
      command: "writeAttribute"
      attribute: "MinHeatSetpointLimit"
      PICS: TSTAT.S.F00 && TSTAT.S.A0015
      arguments:
          value: 800

    - label:
          "Reads it back again to confirm the successful write of
          MinHeatSetpointLimit attribute"
      command: "readAttribute"
      attribute: "MinHeatSetpointLimit"
      PICS: TSTAT.S.F00  && TSTAT.S.A0015
      response:
          value: 800

    - label: "Writes a value back that is different but violates the deadband"
      command: "writeAttribute"
      attribute: "MinHeatSetpointLimit"
      PICS: TSTAT.S.A0015 && TSTAT.S.F05
      arguments:
          value: 2000
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes MinHeatSetpointLimit to value below the
          AbsMinHeatSetpointLimit "
      command: "writeAttribute"
      attribute: "MinHeatSetpointLimit"
      PICS: TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.A0003
      arguments:
          value: 100
      response:
          error: CONSTRAINT_ERROR

    #AbsMinHeatSetpointLimit might be negative if not checked before decrement
    - label:
          "Writes MinHeatSetpointLimit to value below the
          AbsMinHeatSetpointLimit "
      PICS:
          TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0003 && PICS_SKIP_SAMPLE_APP
      verification: |
          ./chip-tool thermostat write min-heat-setpoint-limit 300  1 1
          On TH  (chip-tool) verify that  DUT sends a CONSTRAINT_ERROR (0x87)
          [1658389492.560607][3266:3272] CHIP:DMG:         InteractionModelRevision = 1
          [1658389492.560644][3266:3272] CHIP:DMG: }
          [1658389492.560749][3266:3272] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1658389492.560915][3266:3272] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
          [1658389492.561002][3266:3272] CHIP:EM: Sending Standalone Ack for MessageCounter:252582472 on exchange 3434i
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Writes MinHeatSetpointLimit to value above the
          AbsMaxHeatSetpointLimit "
      command: "writeAttribute"
      attribute: "MinHeatSetpointLimit"
      PICS: TSTAT.S.F00  && TSTAT.S.A0015 && !TSTAT.S.A0016
      arguments:
          value: 4050
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes MinHeatSetpointLimit to value above the
          AbsMaxHeatSetpointLimit "
      command: "writeAttribute"
      attribute: "MinHeatSetpointLimit"
      PICS: TSTAT.S.F00  && TSTAT.S.A0015 && TSTAT.S.A0016
      arguments:
          value: MaxHeatSetpointLimit + 1000
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MinHeatSetpointLimit"
      PICS: TSTAT.S.F00  && TSTAT.S.A0015 && !TSTAT.S.A0003
      arguments:
          value: 700

    - label:
          "Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MinHeatSetpointLimit"
      PICS: TSTAT.S.F00  && TSTAT.S.A0015 && TSTAT.S.A0003
      arguments:
          value: AbsMinHeatSetpointLimitValue

    - label:
          "Writes the limit of MaxHeatSetpointLimit to MinHeatSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MinHeatSetpointLimit"
      PICS: TSTAT.S.F00  && TSTAT.S.A0015 && !TSTAT.S.F05 && !TSTAT.S.A0016
      arguments:
          value: 3000

    - label:
          "Writes the limit of MaxHeatSetpointLimit to MinHeatSetpointimit
          attribute"
      command: "writeAttribute"
      attribute: "MinHeatSetpointLimit"
      PICS: TSTAT.S.F00  && TSTAT.S.A0015 && !TSTAT.S.F05 && TSTAT.S.A0016
      arguments:
          value: MaxHeatSetpointLimit

    #UpperLimit = Min(MaxHeatSetpointLimit,(MinCoolSetpointLimit - MinSetpointDeadBand)) not possible in YAML
    - label:
          "Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(MaxHeatSetpointLimit,
          (MinCoolSetpointLimit - MinSetpointDeadBand)) to MinHeatSetpointLimit
          attribute when Auto is enabled"
      PICS:
          TSTAT.S.F00  && TSTAT.S.A0015 && TSTAT.S.F05 && TSTAT.S.A0005 &&
          PICS_SKIP_SAMPLE_APP
      verification: |
          ./chip-tool thermostat write min-heat-setpoint-limit 1000  1 1

          On TH(chip-tool) verify that  DUT sends a success response
          [1658389641.734245][3279:3284] CHIP:DMG:                                 Endpoint = 0x1,
          [1658389641.734285][3279:3284] CHIP:DMG:                                 Cluster = 0x201,
          [1658389641.734326][3279:3284] CHIP:DMG:                                 Attribute = 0x0000_0015,
          [1658389641.734360][3279:3284] CHIP:DMG:                         }
          [1658389641.734402][3279:3284] CHIP:DMG:
          [1658389641.734438][3279:3284] CHIP:DMG:                         StatusIB =
          [1658389641.734475][3279:3284] CHIP:DMG:                         {
          [1658389641.734512][3279:3284] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1658389641.734549][3279:3284] CHIP:DMG:                         },
          [1658389641.734586][3279:3284] CHIP:DMG:
          [1658389641.734617][3279:3284] CHIP:DMG:                 },
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    #Using saved values when optional attributes are available
    - label:
          "Reads MaxHeatSetpointLimit attribute from Server DUT and verifies
          that the value is within range"
      command: "readAttribute"
      attribute: "MaxHeatSetpointLimit"
      PICS:
          TSTAT.S.F00  && TSTAT.S.A0016 && !TSTAT.S.F05 && TSTAT.S.A0004 &&
          TSTAT.S.A0016
      response:
          constraints:
              type: int16s
              minValue: MinHeatSetpointLimit
              maxValue: AbsMaxHeatSetpointLimitValue

    #Using hard coded values when optional attributes are not available
    - label:
          "Reads MaxHeatSetpointLimit attribute from Server DUT and verifies
          that the value is within range"
      command: "readAttribute"
      attribute: "MaxHeatSetpointLimit"
      PICS:
          " TSTAT.S.F00  && TSTAT.S.A0016 && !TSTAT.S.F05 && !TSTAT.S.A0004 &&
          !TSTAT.S.A0016 "
      response:
          constraints:
              type: int16s
              minValue: 700
              maxValue: 3000

    - label:
          "Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MinHeatSetpointLimit"
      PICS: TSTAT.S.F00  && TSTAT.S.A0015
      arguments:
          value: 700

    - label:
          "Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MinHeatSetpointLimit"
      PICS: TSTAT.S.A0015 && TSTAT.S.F05
      arguments:
          value: 3000
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes a value back that is different but valid for
          MaxHeatSetpointLimit attribute"
      command: "writeAttribute"
      attribute: "MaxHeatSetpointLimit"
      PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05
      arguments:
          value: 2900

    - label:
          "Reads it back again to confirm the successful write of
          MaxHeatSetpointLimit attribute"
      command: "readAttribute"
      attribute: "MaxHeatSetpointLimit"
      PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05
      response:
          value: 2900

    - label:
          "Writes MaxHeatSetpointLimit to value below the
          AbsMinHeatSetpointLimit "
      command: "writeAttribute"
      attribute: "MaxHeatSetpointLimit"
      PICS: TSTAT.S.F00  && TSTAT.S.A0016 && !TSTAT.S.A0015
      arguments:
          value: 500
      response:
          error: CONSTRAINT_ERROR

    #MinHeatSetpointLimit might be negative if not checked before decrement
    - label:
          "Writes MaxHeatSetpointLimit to value below the MinHeatSetpointLimit"
      PICS:
          TSTAT.S.F00  && TSTAT.S.A0016 && TSTAT.S.A0015 && PICS_SKIP_SAMPLE_APP
      verification: |
          Optional Attribute -

          ./chip-tool thermostat write  max-heat-setpoint-limit 7000 1 1

          On TH(chip-tool) verify that  DUT sends a CONSTRAINT_ERROR (0x87)

          [1658389771.305508][3310:3315] CHIP:DMG:         ],
          [1658389771.305555][3310:3315] CHIP:DMG:
          [1658389771.305594][3310:3315] CHIP:DMG:         InteractionModelRevision = 1
          [1658389771.305632][3310:3315] CHIP:DMG: }
          [1658389771.305737][3310:3315] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1658389771.305785][3310:3315] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
          [1658389771.305867][3310:3315] CHIP:EM: Sending Standalone Ack for MessageCounter:187660216 on exchange 59285i

          ./chip-tool thermostat write  max-heat-setpoint-limit 100 1 1
          On TH(chip-tool) verify that  DUT sends a CONSTRAINT_ERROR (0x87)
          [1658389806.716013][3316:3321] CHIP:DMG:
          [1658389806.716046][3316:3321] CHIP:DMG:                         StatusIB =
          [1658389806.716084][3316:3321] CHIP:DMG:                         {
          [1658389806.716121][3316:3321] CHIP:DMG:                                 status = 0x87 (CONSTRAINT_ERROR),
          [1658389806.716158][3316:3321] CHIP:DMG:                         },
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Writes MaxHeatSetpointLimit to value above the
          AbsMaxHeatSetpointLimit "
      command: "writeAttribute"
      attribute: "MaxHeatSetpointLimit"
      PICS: TSTAT.S.F00  && TSTAT.S.A0016 && !TSTAT.S.A0004
      arguments:
          value: 4000
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes MaxHeatSetpointLimit to value above the
          AbsMaxHeatSetpointLimit "
      command: "writeAttribute"
      attribute: "MaxHeatSetpointLimit"
      PICS: TSTAT.S.F00  && TSTAT.S.A0016 && TSTAT.S.A0004
      arguments:
          value: AbsMaxHeatSetpointLimitValue + 1000
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes the limit of MinHeatSetpointLimit to MaxHeatSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MaxHeatSetpointLimit"
      PICS: TSTAT.S.F00  && TSTAT.S.A0016 && !TSTAT.S.A0015
      arguments:
          value: 700

    - label:
          "Writes the limit of MinHeatSetpointLimit to MaxHeatSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MaxHeatSetpointLimit"
      PICS: TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.A0015
      arguments:
          value: MinHeatSetpointLimit

    - label:
          "Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MaxHeatSetpointLimit"
      PICS: TSTAT.S.F00  && TSTAT.S.A0016 && !TSTAT.S.F05 && !TSTAT.S.A0004
      arguments:
          value: 3000

    - label:
          "Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MaxHeatSetpointLimit"
      PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 && TSTAT.S.A0004
      arguments:
          value: AbsMaxHeatSetpointLimitValue

    #UpperLimit = Min(AbsMaxHeatSetpointLimit,(MaxCoolSetpointLimit - MinSetpointDeadBand)) not possible in YAML
    - label:
          "Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(AbsMaxHeatSetpointLimit,
          (MaxCoolSetpointLimit - MinSetpointDeadBand)) to MaxHeatSetpointLimit
          attribute"
      PICS:
          TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.F05 && TSTAT.S.A0018 &&
          PICS_SKIP_SAMPLE_APP
      verification: |
          ./chip-tool thermostat write  max-heat-setpoint-limit 2000 1 1
          On TH(chip-tool) verify that  DUT sends a success response
          [1658389911.809423][3333:3338] CHIP:DMG:                                 Endpoint = 0x1,
          [1658389911.809492][3333:3338] CHIP:DMG:                                 Cluster = 0x201,
          [1658389911.809562][3333:3338] CHIP:DMG:                                 Attribute = 0x0000_0016,
          [1658389911.809627][3333:3338] CHIP:DMG:                         }
          [1658389911.809698][3333:3338] CHIP:DMG:
          [1658389911.809761][3333:3338] CHIP:DMG:                         StatusIB =
          [1658389911.809827][3333:3338] CHIP:DMG:                         {
          [1658389911.809892][3333:3338] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1658389911.809957][3333:3338] CHIP:DMG:                         },
          [1658389911.809994][3333:3338] CHIP:DMG:
          [1658389911.810021][3333:3338] CHIP:DMG:                 },
          [1658389911.810051][3333:3338] CHIP:DMG:
          [1658389911.810076][3333:3338] CHIP:DMG:         ],
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    #Using saved values when optional attributes are available
    - label:
          "Reads MinCoolSetpointLimit attribute from Server DUT and verifies
          that the value is within range"
      command: "readAttribute"
      attribute: "MinCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018 && TSTAT.S.A0005
      response:
          constraints:
              type: int16s
              minValue: AbsMinCoolSetpointLimit
              maxValue: MaxCoolSetpointLimit

    #Using hard coded values when optional attributes are not available
    - label:
          "Reads MinCoolSetpointLimit attribute from Server DUT and verifies
          that the value is within range"
      command: "readAttribute"
      attribute: "MinCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0018 && !TSTAT.S.A0005
      response:
          constraints:
              type: int16s
              minValue: 1600
              maxValue: 3200

    - label:
          "Writes a value back that is different but valid for
          MinCoolSetpointLimit attribute"
      command: "writeAttribute"
      attribute: "MinCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017
      arguments:
          value: 2000

    - label:
          "Reads it back again to confirm the successful write of
          MinCoolSetpointLimit attribute"
      command: "readAttribute"
      attribute: "MinCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017
      response:
          value: 2000

    - label:
          "Writes MinCoolSetpointLimit to value below the
          AbsMinCoolSetpointLimit "
      command: "writeAttribute"
      attribute: "MinCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0005
      arguments:
          value: 1000
      response:
          error: CONSTRAINT_ERROR

    #AbsMinCoolSetpointLimit might be negative if not checked before decrement
    - label:
          "Writes MinCoolSetpointLimit to value below the
          AbsMinCoolSetpointLimit"
      PICS:
          TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0005 && PICS_SKIP_SAMPLE_APP
      verification: |
          Optional Attribute -


          ./chip-tool thermostat write max-heat-setpoint-limit 9000  1 1
          On TH(chip-tool) verify that  DUT sends a CONSTRAINT_ERROR (0x87)
          [1658390040.444407][3343:3348] CHIP:DMG:
          [1658390040.444443][3343:3348] CHIP:DMG:                 },
          [1658390040.444483][3343:3348] CHIP:DMG:
          [1658390040.444515][3343:3348] CHIP:DMG:         ],
          [1658390040.444553][3343:3348] CHIP:DMG:
          [1658390040.444585][3343:3348] CHIP:DMG:         InteractionModelRevision = 1
          [1658390040.444616][3343:3348] CHIP:DMG: }
          [1658390040.444703][3343:3348] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1658390040.444744][3343:3348] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
          [1658390040.444843][3343:3348] CHIP:EM: Sending Standalone Ack for MessageCounter:137523063 on exchange 39419i
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"
    - label:
          "Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit "
      command: "writeAttribute"
      attribute: "MinCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0018
      arguments:
          value: 4000
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit "
      command: "writeAttribute"
      attribute: "MinCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018
      arguments:
          value: MaxCoolSetpointLimit + 1000
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MinCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0005 && !TSTAT.S.F05
      arguments:
          value: 1600

    - label:
          "Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MinCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0005 && !TSTAT.S.F05
      arguments:
          value: AbsMinCoolSetpointLimit

    #LowerLimit = Max(AbsMinCoolSetpointLimit,(MinHeatSetpointLimit + MinSetpointDeadBand)) not possible in YAML
    - label:
          "Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(AbsMinCoolSetpointLimit,
          (MinHeatSetpointLimit + MinSetpointDeadBand)) to MinCoolSetpointLimit
          attribute"
      PICS:
          TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0015 && TSTAT.S.F05 &&
          PICS_SKIP_SAMPLE_APP
      verification: |
          ./chip-tool thermostat write max-heat-setpoint-limit 2000 1 1

          Verify in TH(chip-tool) Log:
          [1658390406.512865][3384:3389] CHIP:DMG:
          [1658390406.512895][3384:3389] CHIP:DMG:                         StatusIB =
          [1658390406.512927][3384:3389] CHIP:DMG:                         {
          [1658390406.512958][3384:3389] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1658390406.512992][3384:3389] CHIP:DMG:                         },
          [1658390406.513023][3384:3389] CHIP:DMG:
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Writes the limit of MaxCoolSetpointLimit to MinCoolSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MinCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0018
      arguments:
          value: 3200

    - label:
          "Writes the limit of MaxCoolSetpointLimit to MinCoolSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MinCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018
      arguments:
          value: MaxCoolSetpointLimit

    #Using saved values when optional attributes are available
    - label:
          "Reads MaxCoolSetpointLimit attribute from Server DUT and verifies
          that the value is within range"
      command: "readAttribute"
      attribute: "MaxCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0017 && TSTAT.S.A0006
      response:
          constraints:
              type: int16s
              minValue: MinCoolSetpointLimit
              maxValue: AbsMaxCoolSetpointLimit

    #Using hard coded values when optional attributes are not available
    - label:
          "Reads MaxCoolSetpointLimit attribute from Server DUT and verifies
          that the value is within range"
      command: "readAttribute"
      attribute: "MaxCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0017 && !TSTAT.S.A0006
      response:
          constraints:
              type: int16s
              minValue: 1600
              maxValue: 3200

    - label:
          "Writes a value back that is different but valid for
          MaxCoolSetpointLimit attribute"
      command: "writeAttribute"
      attribute: "MaxCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.F05
      arguments:
          value: 2000

    - label:
          "Reads it back again to confirm the successful write of
          MaxCoolSetpointLimit attribute"
      command: "readAttribute"
      attribute: "MaxCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.F05
      response:
          value: 2000

    - label:
          "Writes MaxCoolSetpointLimit to value below the
          AbsMinCoolSetpointLimit "
      command: "writeAttribute"
      attribute: "MaxCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0017
      arguments:
          value: 1000
      response:
          error: CONSTRAINT_ERROR

    #AbsMinCoolSetpointLimit might be negative if not checked before decrement
    - label:
          "Writes MaxCoolSetpointLimit to value below the
          AbsMinCoolSetpointLimit"
      PICS:
          TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0017 && PICS_SKIP_SAMPLE_APP
      verification: |
          Optional attribute so its not compulsory to get the expected outcome

          ./chip-tool thermostat write max-cool-setpoint-limit 9100 1 1
          On TH(chip-tool)(chip-tool) verify that  DUT sends a CONSTRAINT_ERROR (0x87)
          [1658396137.669807][3677:3682] CHIP:DMG:
          [1658396137.669832][3677:3682] CHIP:DMG:         InteractionModelRevision = 1
          [1658396137.669857][3677:3682] CHIP:DMG: }
          [1658396137.669929][3677:3682] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1658396137.669964][3677:3682] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
          [1658396137.670019][3677:3682] CHIP:EM: Sending Standalone Ack for MessageCounter:77698449 on exchange 47844i
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit "
      command: "writeAttribute"
      attribute: "MaxCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0006
      arguments:
          value: 4000
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit "
      command: "writeAttribute"
      attribute: "MaxCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0006
      arguments:
          value: AbsMaxCoolSetpointLimit + 1000
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes the limit of MinCoolSetpointLimit to MaxCoolSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MaxCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0017 && !TSTAT.S.F05
      arguments:
          value: 1600

    - label:
          "Writes the limit of MinCoolSetpointLimit to MaxCoolSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MaxCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0017 && TSTAT.S.F05
      arguments:
          value: 1600
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Writes the limit of MinCoolSetpointLimit to MaxCoolSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MaxCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0017 && !TSTAT.S.F05
      arguments:
          value: MinCoolSetpointLimit

    #LowerLimit = Max(MinCoolSetpointLimit,(MaxHeatSetpointLimit + MinSetpointDeadBand)) not possible in YAML
    - label:
          "Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(MinCoolSetpointLimit,
          (MaxHeatSetpointLimit + MinSetpointDeadBand)) to MaxCoolSetpointLimit
          attribute"
      PICS:
          TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0016 && TSTAT.S.F05 &&
          PICS_SKIP_SAMPLE_APP
      verification: |
          Optional attribute so its not compulsory to get the expected outcome

          ./chip-tool thermostat write max-cool-setpoint-limit 1600 1 1
          On TH verify that  DUT sends a success response
          [1661766260.648041][10448:10453] CHIP:DMG:                         StatusIB =
          [1661766260.648070][10448:10453] CHIP:DMG:                         {
          [1661766260.648100][10448:10453] CHIP:DMG:                                 status = 0x87 (CONSTRAINT_ERROR),
          [1661766260.648127][10448:10453] CHIP:DMG:                         },
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Writes the limit of AbsMaxCoolSetpointLimit to MaxCoolSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MaxCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0006
      arguments:
          value: 3200

    - label:
          "Writes the limit of AbsMaxCoolSetpointLimit to MaxCoolSetpointLimit
          attribute"
      command: "writeAttribute"
      attribute: "MaxCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0006
      arguments:
          value: AbsMaxCoolSetpointLimit

    - label: "Writes (sets back) default value of MinHeatSetpointLimit"
      command: "writeAttribute"
      attribute: "MinHeatSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0015
      arguments:
          value: 700

    - label: "Writes (sets back)default value of MaxHeatSetpointLimit"
      command: "writeAttribute"
      attribute: "MaxHeatSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0016 && !TSTAT.S.F05
      arguments:
          value: 3000

    - label: "Writes MaxHeatSetpointLimit That meets the deadband of 2.5C"
      command: "writeAttribute"
      attribute: "MaxHeatSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0016 && !TSTAT.S.F05
      arguments:
          value: 2950

    - label: "Writes (sets back) default value of MinCoolSetpointLimit"
      command: "writeAttribute"
      attribute: "MinCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0017
      arguments:
          value: 1600

    - label: "Writes (sets back) default value of MaxCoolSetpointLimit"
      command: "writeAttribute"
      attribute: "MaxCoolSetpointLimit"
      PICS: TSTAT.S.F01 && TSTAT.S.A0018
      arguments:
          value: 3200

    - label:
          "Reads MinSetpointDeadBand attribute from Server DUT and verifies that
          the value is within range"
      command: "readAttribute"
      attribute: "MinSetpointDeadBand"
      PICS: TSTAT.S.F05
      response:
          constraints:
              type: int8s
              minValue: 0
              maxValue: 25

    - label:
          "Writes a value back that is different but valid for
          MinSetpointDeadBand attribute"
      command: "writeAttribute"
      attribute: "MinSetpointDeadBand"
      PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable
      arguments:
          value: 5

    - label:
          "Reads it back again to confirm the successful write of
          MinSetpointDeadBand attribute"
      command: "readAttribute"
      attribute: "MinSetpointDeadBand"
      PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable
      response:
          value: 5

    - label: "Writes the value below MinSetpointDeadBand"
      command: "writeAttribute"
      attribute: "MinSetpointDeadBand"
      PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable
      arguments:
          value: -1
      response:
          error: CONSTRAINT_ERROR

    - label: "Writes the value above MinSetpointDeadBand "
      command: "writeAttribute"
      attribute: "MinSetpointDeadBand"
      PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable
      arguments:
          value: 30
      response:
          error: CONSTRAINT_ERROR

    - label: "Writes the min limit of MinSetpointDeadBand"
      command: "writeAttribute"
      attribute: "MinSetpointDeadBand"
      PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable
      arguments:
          value: 0

    - label: "Writes the max limit of MinSetpointDeadBand"
      command: "writeAttribute"
      attribute: "MinSetpointDeadBand"
      PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable
      arguments:
          value: 25

    - label:
          "Reads ControlSequenceOfOperation from Server DUT and verifies that
          the value is valid"
      command: "readAttribute"
      attribute: "ControlSequenceOfOperation"
      PICS: TSTAT.S.F00 || TSTAT.S.F01
      response:
          value: 4
          constraints:
              type: enum8
              minValue: 0
              maxValue: 5

    - label:
          "Write Attribute command for ControlSequenceOfOperation with a new
          valid value"
      command: "writeAttribute"
      attribute: "ControlSequenceOfOperation"
      PICS: TSTAT.S.F00 || TSTAT.S.F01
      arguments:
          value: 2

    - label: "Read it back again to confirm the successful write"
      command: "readAttribute"
      attribute: "ControlSequenceOfOperation"
      PICS: TSTAT.S.F00 || TSTAT.S.F01
      response:
          value: 2

    - label:
          "Writes MaxHeatSetpointLimit attribute to default value of 2950 to
          meet deadband constraint"
      command: "writeAttribute"
      attribute: "MaxHeatSetpointLimit"
      PICS: TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.F05
      arguments:
          value: 2950

    - label: "Sets OccupiedCoolingSetpoint to default value"
      command: "writeAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01
      arguments:
          value: 2600

    - label: "Sets OccupiedHeatingSetpoint to default value"
      command: "writeAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00
      arguments:
          value: 2000

    - label: "Sends SetpointRaise Command Heat Only"
      PICS: TSTAT.S.F00
      command: "SetpointRaiseLower"
      arguments:
          values:
              - name: "Mode"
                value: 0
              - name: "Amount"
                value: -30

    - label:
          "Reads back OccupiedHeatingSetpoint to confirm the success of the
          write"
      command: "readAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00
      response:
          value: 1700

    - label: "Sets OccupiedHeatingSetpoint to default value"
      command: "writeAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00
      arguments:
          value: 2000

    - label: "Sends SetpointRaise Command Heat Only"
      PICS: TSTAT.S.F00
      command: "SetpointRaiseLower"
      arguments:
          values:
              - name: "Mode"
                value: 0
              - name: "Amount"
                value: 30

    - label:
          "Reads back OccupiedHeatingSetpoint to confirm the success of the
          write"
      command: "readAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00
      response:
          value: 2300

    - label: "Sends SetpointRaise Command Cool Only"
      PICS: TSTAT.S.F01
      command: "SetpointRaiseLower"
      arguments:
          values:
              - name: "Mode"
                value: 1
              - name: "Amount"
                value: -30

    - label:
          "Reads back OccupiedCoolingSetpoint to confirm the success of the
          write"
      command: "readAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01
      response:
          value: 2300

    - label: "Sets OccupiedCoolingSetpoint to default value"
      command: "writeAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01
      arguments:
          value: 2600

    - label: "Sends SetpointRaise Command Cool Only"
      PICS: TSTAT.S.F01
      command: "SetpointRaiseLower"
      arguments:
          values:
              - name: "Mode"
                value: 1
              - name: "Amount"
                value: 30

    - label:
          "Reads back OccupiedCoolingSetpoint to confirm the success of the
          write"
      command: "readAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01
      response:
          value: 2900

    - label: "Sets OccupiedCoolingSetpoint to default value"
      command: "writeAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01
      arguments:
          value: 2600

    - label: "Sets OccupiedHeatingSetpoint to default value"
      command: "writeAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00
      arguments:
          value: 2000

    - label: "Sends SetpointRaise Command Heat & Cool"
      PICS: TSTAT.S.F00 || TSTAT.S.F01
      command: "SetpointRaiseLower"
      arguments:
          values:
              - name: "Mode"
                value: 2
              - name: "Amount"
                value: -30

    - label:
          "Reads back OccupiedCoolingSetpoint to confirm the success of the
          write"
      command: "readAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01
      response:
          value: 2300

    - label:
          "Reads back OccupiedHeatingSetpoint to confirm the success of the
          write"
      command: "readAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00
      response:
          value: 1700

    - label: "Sets OccupiedCoolingSetpoint to default value"
      command: "writeAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01
      arguments:
          value: 2600

    - label: "Sets OccupiedHeatingSetpoint to default value"
      command: "writeAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00
      arguments:
          value: 2000

    - label: "Sends SetpointRaise Command Heat & Cool"
      PICS: TSTAT.S.F00 || TSTAT.S.F01
      command: "SetpointRaiseLower"
      arguments:
          values:
              - name: "Mode"
                value: 2
              - name: "Amount"
                value: 30

    - label:
          "Reads back OccupiedCoolingSetpoint to confirm the success of the
          write"
      command: "readAttribute"
      attribute: "OccupiedCoolingSetpoint"
      PICS: TSTAT.S.F01
      response:
          value: 2900

    - label:
          "Reads back OccupiedHeatingSetpoint to confirm the success of the
          write"
      command: "readAttribute"
      attribute: "OccupiedHeatingSetpoint"
      PICS: TSTAT.S.F00
      response:
          value: 2300
