blob: 11be3889e4d9f70f89035e0715a175c1dbd5e7cc [file] [log] [blame]
# 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: "Step 1: Commission DUT to TH"
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: MinCoolSetpointLimitValue
- label: "Saving value for comparision in step 2a read MaxCoolSetpointLimit"
PICS: TSTAT.S.A0018
command: "readAttribute"
attribute: "MaxCoolSetpointLimit"
response:
saveAs: MaxCoolSetpointLimitValue
- label:
"Saving value for comparision in step 2c read attribute
MinSetpointDeadBand"
PICS: TSTAT.S.A0019
command: "readAttribute"
attribute: "MinSetpointDeadBand"
response:
saveAs: MinSetpointDeadBandValue
- label: "Saving value for comparision in step 3a read MinHeatSetpointLimit"
PICS: TSTAT.S.A0015
command: "readAttribute"
attribute: "MinHeatSetpointLimit"
response:
saveAs: MinHeatSetpointLimitValue
- label:
"Saving value for comparision in step 3 reads
UnoccupiedCoolingSetpoint attribute"
command: "readAttribute"
attribute: "UnoccupiedCoolingSetpoint"
PICS: TSTAT.S.A0013
response:
saveAs: UnoccupiedCoolingSetpointValue
- label: "Saving value for comparision in step 3a read MaxHeatSetpointLimit"
PICS: TSTAT.S.A0016
command: "readAttribute"
attribute: "MaxHeatSetpointLimit"
response:
saveAs: MaxHeatSetpointLimitValue
- label:
"Saving value for comparision in step3c read attribute
OccupiedHeatingSetpoint"
PICS: TSTAT.S.A0012
command: "readAttribute"
attribute: "OccupiedHeatingSetpoint"
response:
saveAs: OccupiedHeatingSetpointValue
- label:
"Saving value for comparision in step3c read attribute
OccupiedCoolingSetpoint"
PICS: TSTAT.S.A0011
command: "readAttribute"
attribute: "OccupiedCoolingSetpoint"
response:
saveAs: OccupiedCoolingSetpointValue
- 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: AbsMinCoolSetpointLimitValue
- label:
"Saving value for comparision in step9a read attribute
AbsMaxCoolSetpointLimit"
command: "readAttribute"
attribute: "AbsMaxCoolSetpointLimit"
PICS: TSTAT.S.A0006
response:
saveAs: AbsMaxCoolSetpointLimitValue
#Using saved values when optional attributes are available
- label:
"Step 2a: Test Harness Client reads attribute OccupiedCoolingSetpoint
from the DUT"
PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018
command: "readAttribute"
attribute: "OccupiedCoolingSetpoint"
response:
constraints:
type: int16s
minValue: MinCoolSetpointLimitValue
maxValue: MaxCoolSetpointLimitValue
#Using hard coded values when optional attributes are not available
- label:
"Step 2a: Test Harness Client 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:
"Step 2a: Test Harness Client then attempts Writes a value back that
is different but valid for OccupiedCoolingSetpoint attribute"
command: "writeAttribute"
attribute: "OccupiedCoolingSetpoint"
PICS: TSTAT.S.F01
arguments:
value: 2500
- label:
"Step 2a: Test Harness Client reads it back again to confirm the
successful write of OccupiedCoolingSetpoint attribute"
command: "readAttribute"
attribute: "OccupiedCoolingSetpoint"
PICS: TSTAT.S.F01
response:
value: 2500
- label:
"Step 2b: Test Harness Client then attempts 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:
"Step 2b: Test Harness Writes OccupiedCoolingSetpoint to value below
the MinCoolSetpointLimit"
PICS: TSTAT.S.F01 && TSTAT.S.A0017 && PICS_SKIP_SAMPLE_APP
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 OccupiedCoolingSetpoint below the MinCoolSetpointLimit and confirms that the device does not accept the value.
./chip-tool thermostat write occupied-cooling-setpoint 1000 1 1
On TH(chip-tool) verify that DUT sends a CONSTRAINT_ERROR (0x87) for the value which is below of the MinCoolSetpointLimitValue
[1676028984.901635][19375:19377] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1676028984.901706][19375:19377] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
[1676028984.901895][19375:19377] CHIP:EM: <<< [E:18153i M:141749864 (Ack:137408936)] (S) Msg TX to 1:0000000000000001 [E8D5] --- Type 0000:10 (SecureChannel:StandaloneAck)
[1676028984.901980][19375:19377] CHIP:IN: (S) Sending msg 141749864 on secure session with LSID: 58847
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Please enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 2b: Test Harness 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:
"Step 2b: Test Harness Writes OccupiedCoolingSetpoint to value above
the MaxCoolSetpointLimit"
command: "writeAttribute"
attribute: "OccupiedCoolingSetpoint"
PICS: TSTAT.S.F01 && TSTAT.S.A0017
arguments:
value: MaxCoolSetpointLimitValue + 1000
response:
error: CONSTRAINT_ERROR
- label:
"Step 2c: Test Harness Writes the limit of MaxCoolSetpointLimit to
OccupiedCoolingSetpoint attribute"
command: "writeAttribute"
attribute: "OccupiedCoolingSetpoint"
PICS: TSTAT.S.F01 && !TSTAT.S.A0017
arguments:
value: 3200
- label:
"Step 2c: Test Harness Writes the limit of MaxCoolSetpointLimit to
OccupiedCoolingSetpoint attribute"
command: "writeAttribute"
attribute: "OccupiedCoolingSetpoint"
PICS: TSTAT.S.F01 && TSTAT.S.A0017
arguments:
value: MaxCoolSetpointLimitValue
- label:
"Step 2c: Test Harness 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:
"Step 2c: Test Harness Writes the limit of MinCoolSetpointLimit to
OccupiedCoolingSetpoint attribute"
command: "writeAttribute"
attribute: "OccupiedCoolingSetpoint"
PICS: TSTAT.S.F01 && !TSTAT.S.F05 && TSTAT.S.A0017
arguments:
value: MinCoolSetpointLimitValue
#LowerLimit = Max(MinCoolSetpointLimit,(OccupiedHeatingSetpoint + MinSetpointDeadBand)) not possible in YAML
- label:
"Step 2c: Test Harness Writes If TSTAT.S.F05(AUTO) LowerLimit =
Max(MinCoolSetpointLimit, (OccupiedHeatingSetpoint +
MinSetpointDeadBand)) to OccupiedCoolingSetpoint attribute when Auto
is enabled"
PICS: TSTAT.S.F05 && TSTAT.S.A0011 && PICS_SKIP_SAMPLE_APP
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.
Test Harness Client then attempts to write OccupiedCoolingSetpoint to both of the limits of LowerLimit(1600) & MaxCoolSetpointLimit(3200) and confirms that the device does accept the value. See also Note 5.
./chip-tool thermostat write occupied-cooling-setpoint 1600 1 1
On TH(chip-tool) verify that DUT sends a success response
[1676029009.026653][19381:19383] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1676029009.026688][19381:19383] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
[1676029009.026776][19381:19383] CHIP:EM: <<< [E:29492i M:142792974 (Ack:241003612)] (S) Msg TX to 1:0000000000000001 [E8D5] --- Type 0000:10
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:
"Step 3a: Test Harness 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: MinHeatSetpointLimitValue
maxValue: MaxHeatSetpointLimitValue
#Using hard coded values when optional attributes are not available
- label:
"Step 3a: Test Harness 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:
"Step 3a: Test Harness Writes a value back that is different but
valid for OccupiedHeatingSetpoint attribute"
command: "writeAttribute"
attribute: "OccupiedHeatingSetpoint"
PICS: TSTAT.S.F00
arguments:
value: 2100
- label:
"Step 3a: Test Harness Reads it back again to confirm the successful
write of OccupiedHeatingSetpoint attribute"
command: "readAttribute"
attribute: "OccupiedHeatingSetpoint"
PICS: TSTAT.S.F00
response:
value: 2100
- label:
"Step 3b: Test Harness Writes OccupiedHeatingSetpoint to value below
the MinHeatSetpointLimit"
command: "writeAttribute"
attribute: "OccupiedHeatingSetpoint"
PICS: TSTAT.S.F00 && !TSTAT.S.A0015
arguments:
value: 100
response:
error: CONSTRAINT_ERROR
#MinHeatSetpointLimit might be negative if not checked before decrement
- label:
"Step 3b: Test Harness Writes OccupiedHeatingSetpoint to value below
the MinHeatSetpointLimit"
PICS: TSTAT.S.F00 && TSTAT.S.A0015 && PICS_SKIP_SAMPLE_APP
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.
#1. Test Harness Client attempts to write OccupiedHeatingSetpoint below the MinHeatSetpointLimit and confirms that the device does not accept the value
./chip-tool thermostat write occupied-heating-setpoint 500 1 1
On TH(chip-tool) verify that DUT sends a CONSTRAINT_ERROR (0x87)
[1676029113.651245][19392:19394] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1676029113.651285][19392:19394] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
[1676029113.651397][19392:19394] CHIP:EM: <<< [E:43315i M:59735604 (Ack:107613834)] (S) Msg TX to 1:0000000000000001 [E8D5] --- Type 0000:10
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Please enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 3b: Test Harness 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:
"Step 3b: Test Harness Writes OccupiedHeatingSetpoint to value above
the MaxHeatSetpointLimit"
command: "writeAttribute"
attribute: "OccupiedHeatingSetpoint"
PICS: TSTAT.S.F00 && TSTAT.S.A0016
arguments:
value: MaxHeatSetpointLimitValue + 1000
response:
error: CONSTRAINT_ERROR
- label:
"Step 3c: Test Harness 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:
"Step 3c: Test Harness Writes the limit of MaxHeatSetpointLimit to
OccupiedHeatingSetpoint attribute"
command: "writeAttribute"
attribute: "OccupiedHeatingSetpoint"
PICS: TSTAT.S.F00 && !TSTAT.S.F05 && TSTAT.S.A0016
arguments:
value: MaxHeatSetpointLimitValue
- label:
"Step 3c: Test Harness Writes the limit of MaxHeatSetpointLimit to
OccupiedHeatingSetpoint attribute If TSTAT.S.F05 is true"
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:
"Step 3c: Test Harness 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: |
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.
Test Harness Client then attempts to write OccupiedHeatingSetpoint to both of the limits of MinHeatSetpointLimit(700) & UpperLimit(3000) and confirms that the device does accept the value.
./chip-tool thermostat write occupied-heating-setpoint 3000 1 1
On TH(chip-tool) verify that DUT sends a success response
1676029222.303920][19403:19405] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1676029222.303955][19403:19405] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
[1676029222.304055][19403:19405] CHIP:EM: <<< [E:236i M:251820549 (Ack:138263425)] (S) Msg TX to 1:0000000000000001 [E8D5] --- Type 0000:10
./chip-tool thermostat write occupied-heating-setpoint 700 1 1
On TH(chip-tool) verify that DUT sends a success response
[1678943387.942204][770598:770600] CHIP:DMG: StatusIB =
[1678943387.942212][770598:770600] CHIP:DMG: {
[1678943387.942220][770598:770600] CHIP:DMG: status = 0x00 (SUCCESS),
[1678943387.942228][770598:770600] CHIP:DMG: },
[1678943387.942236][770598:770600] CHIP:DMG:
[1678943387.942243][770598:770600] CHIP:DMG: },
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Please enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 3c: Test Harness Writes the limit of MinHeatSetpointLimit to
OccupiedHeatingSetpoint attribute"
command: "writeAttribute"
attribute: "OccupiedHeatingSetpoint"
PICS: TSTAT.S.F00 && !TSTAT.S.A0015
arguments:
value: 700
- label:
"Step 3c: Test Harness Writes the limit of MinHeatSetpointLimit to
OccupiedHeatingSetpoint attribute"
command: "writeAttribute"
attribute: "OccupiedHeatingSetpoint"
PICS: TSTAT.S.F00 && TSTAT.S.A0015
arguments:
value: MinHeatSetpointLimitValue
- label:
"Step 4a: Test Harness 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: MinCoolSetpointLimitValue
maxValue: MaxCoolSetpointLimitValue
- label:
"Step 4a: Test Harness 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:
"Step 4a: Test Harness 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:
"Step 4a: Test Harness 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:
"Step 4b: Test Harness Writes UnoccupiedCoolingSetpoint to value
below the MinCoolSetpointLimit"
command: "writeAttribute"
attribute: "UnoccupiedCoolingSetpoint"
PICS: TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017
arguments:
value: 500
response:
error: CONSTRAINT_ERROR
#MinCoolSetpointLimit might be negative if not checked before decrement
- label:
"Step 4b: Test Harness 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 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.
#1. Test Harness Client attempts to write OccupiedHeatingSetpoint below the MinHeatSetpointLimit and confirms that the device does not accept the value
./chip-tool thermostat write unoccupied-cooling-setpoint 500 1 1
On TH(chip-tool) verify that DUT sends a CONSTRAINT_ERROR (0x87)
[1676029263.842915][19409:19411] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1676029263.842943][19409:19411] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
[1676029263.843052][19409:19411] CHIP:EM: <<< [E:47350i M:72320003 (Ack:188090912)] (S) Msg TX to 1:0000000000000001 [E8D5] --- Type 0000:10 (SecureChannel:StandaloneAck)
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Please enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 4b: Test Harness 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:
"Step 4b: Test Harness Writes UnoccupiedCoolingSetpoint to value
above the MaxCoolSetpointLimit"
command: "writeAttribute"
attribute: "UnoccupiedCoolingSetpoint"
PICS: TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0018
arguments:
value: MaxCoolSetpointLimitValue + 1000
response:
error: CONSTRAINT_ERROR
- label:
"Step 4c: Test Harness 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:
"Step 4c: Test Harness 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: MaxCoolSetpointLimitValue
#LowerLimit = Max(MinCoolSetpointLimit,(UnoccupiedCoolingSetpoint + MinSetpointDeadBand)) not possible in YAML
- label:
"Step 4c: Test Harness 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 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.
below mentioned the example command to verify
./chip-tool thermostat write unoccupied-cooling-setpoint 2000 1 1
On TH(chip-tool) verify that DUT sends a success response. As its an optional attribute, we are not getting expected result
[1676029365.250210][19420:19422] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1676029365.250263][19420:19422] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE)
[1676029365.250403][19420:19422] CHIP:EM: <<< [E:16230i M:267641165 (Ack:117850882)] (S) Msg TX to 1:0000000000000001 [E8D5] --- Type 0000:10 (SecureChannel:StandaloneAck)
[1676029365.250467][19420:19422] CHIP:IN: (S) Sending msg 267641165 on secure session with LSID: 45606
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Please enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 4c: Test Harness 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:
"Step 4c: Test Harness 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:
"Step 4c: Test Harness 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: MinCoolSetpointLimitValue
#Using saved values when optional attributes are available
- label:
"Step 5a: Test Harness 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: MinHeatSetpointLimitValue
maxValue: MaxHeatSetpointLimitValue
#Using hardcoded values when optional attributes are not available
- label:
"Step 5a: Test Harness 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:
"Step 5a: Test Harness 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:
"Step 5a: Test Harness 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:
"Step 5b: Test Harness Writes UnoccupiedHeatingSetpoint to value
below the MinHeatSetpointLimit"
command: "writeAttribute"
attribute: "UnoccupiedHeatingSetpoint"
PICS: TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0015
arguments:
value: 100
response:
error: CONSTRAINT_ERROR
#MinHeatSetpointLimit might be negative if not checked before decrement
- label:
"Step 5b: Test Harness 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 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.
#1. Test Harness Client attempts to write UnoccupiedHeatingSetpoint below the MinHeatSetpointLimit and confirms that the device does not accept the value
./chip-tool thermostat write unoccupied-heating-setpoint 500 1 1
On TH(chip-tool) verify that DUT sends a CONSTRAINT_ERROR (0x87). As its an optional attribute, we are not getting expected result
[1676029557.268065][19431:19433] CHIP:DMG: }
[1676029557.268220][19431:19433] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1676029557.268290][19431:19433] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE)
[1676029557.268470][19431:19433] CHIP:EM: <<< [E:8458i M:31631638 (Ack:115187982)] (S) Msg TX to 1:0000000000000001 [E8D5] --- Type 0000:10 (SecureChannel:StandaloneAck)
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Please enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 5b: Test Harness 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:
"Step 5b: Test Harness Writes UnoccupiedHeatingSetpoint to value
above the MaxHeatSetpointLimit"
command: "writeAttribute"
attribute: "UnoccupiedHeatingSetpoint"
PICS: TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0016
arguments:
value: MaxHeatSetpointLimitValue + 1000
response:
error: CONSTRAINT_ERROR
- label:
"Step 5c: Test Harness 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:
"Step 5c: Test Harness 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: MaxHeatSetpointLimitValue
- label:
"Step 5c: Test Harness 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:
"Step 5c: Test Harness 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 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.
below mentioned the example command to verify
./chip-tool thermostat write unoccupied-heating-setpoint 2000 1 1
On TH(chip-tool) verify that DUT sends a success response. As its an optional attribute, we are not getting expected result
[1676029629.242182][19437:19439] CHIP:DMG: }
[1676029629.242250][19437:19439] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1676029629.242280][19437:19439] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE)
[1676029629.242366][19437:19439] CHIP:EM: <<< [E:51650i M:149591010 (Ack:214538556)] (S) Msg TX to 1:0000000000000001 [E8D5] --- Type 0000:10 (SecureChannel:StandaloneAck)
[1676029629.242402][19437:19439] CHIP:IN: (S) Sending msg 149591010 on secure session with LSID: 6132
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Please enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 5c: Test Harness 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:
"Step 5c: Test Harness Writes the limit of MinHeatSetpointLimit to
UnoccupiedHeatingSetpoint attribute"
command: "writeAttribute"
attribute: "UnoccupiedHeatingSetpoint"
PICS: TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0015
arguments:
value: MinHeatSetpointLimitValue
#Using saved values when optional attributes are available
- label:
"Step 6a: Test Harness 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: MaxHeatSetpointLimitValue
#Using hard coded values when optional attributes are not available
- label:
"Step 6a: Test Harness 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:
"Step 6a: Test Harness 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:
"Step 6a: Test Harness 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:
"Step 6b: Test Harness 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:
"Step 6b: Test Harness 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:
"Step 6b: Test Harness Writes MinHeatSetpointLimit to value below the
AbsMinHeatSetpointLimit "
PICS:
TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0003 && PICS_SKIP_SAMPLE_APP
verification: |
#1. Test Harness Client attempts to write MinHeatSetpointLimit below the AbsMinHeatSetpointLimit and confirms that the device does not accept the value.
./chip-tool thermostat write min-heat-setpoint-limit 300 1 1
On TH (chip-tool) verify that DUT sends a CONSTRAINT_ERROR (0x87)
[1676029705.839179][19450:19452] CHIP:DMG: }
[1676029705.839253][19450:19452] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1676029705.839287][19450:19452] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
[1676029705.839411][19450:19452] CHIP:EM: <<< [E:34538i M:185292291 (Ack:127655640)] (S) Msg TX to 1:0000000000000001 [E8D5] --- Type 0000:10 (SecureChannel:StandaloneAck)
[1676029705.839456][19450:19452] CHIP:IN: (S) Sending msg 185292291 on secure session with LSID: 61694
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Please enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 6b: Test Harness 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:
"Step 6b: Test Harness Writes MinHeatSetpointLimit to value above the
AbsMaxHeatSetpointLimit "
command: "writeAttribute"
attribute: "MinHeatSetpointLimit"
PICS: TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016
arguments:
value: MaxHeatSetpointLimitValue + 1000
response:
error: CONSTRAINT_ERROR
- label:
"Step 6c: Test Harness 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:
"Step 6c: Test Harness 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: MaxHeatSetpointLimitValue
#UpperLimit = Min(MaxHeatSetpointLimit,(MinCoolSetpointLimit - MinSetpointDeadBand)) not possible in YAML
- label:
"Step 6c: Test Harness 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: |
Test Harness Client then attempts to write MinHeatSetpointLimit to both of the limits of AbsMinHeatSetpointLimit & UpperLimit and confirms that the device does accept the value.
below is an exaple command.
./chip-tool thermostat write min-heat-setpoint-limit 1200 1 1
On TH(chip-tool) verify that DUT sends a success response
[1676029742.329801][19458:19460] CHIP:DMG: }
[1676029742.329846][19458:19460] CHIP:DMG:
[1676029742.329883][19458:19460] CHIP:DMG: StatusIB =
[1676029742.329922][19458:19460] CHIP:DMG: {
[1676029742.329962][19458:19460] CHIP:DMG: status = 0x00 (SUCCESS),
[1676029742.330001][19458:19460] CHIP:DMG: },
[1676029742.330040][19458:19460] CHIP:DMG:
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Please enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 6c: Test Harness 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:
"Step 6c: Test Harness 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
#Using saved values when optional attributes are available
- label:
"Step 7a: Test Harness 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: MinHeatSetpointLimitValue
maxValue: AbsMaxHeatSetpointLimitValue
#Using hard coded values when optional attributes are not available
- label:
"Step 7a: Test Harness 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:
"Step 7b: Test Harness Writes the limit of AbsMinHeatSetpointLimit to
MinHeatSetpointLimit attribute"
command: "writeAttribute"
attribute: "MinHeatSetpointLimit"
PICS: TSTAT.S.F00 && TSTAT.S.A0015
arguments:
value: 700
- label:
"Step 7b: Test Harness 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:
"Step 7b: Test Harness 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:
"Step 7b: Test Harness 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:
"Step 7b: Test Harness Writes MaxHeatSetpointLimit to value below the
AbsMinHeatSetpointLimit "
command: "writeAttribute"
attribute: "MaxHeatSetpointLimit"
PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.A0015
arguments:
value: 100
response:
error: CONSTRAINT_ERROR
#MinHeatSetpointLimit might be negative if not checked before decrement
- label:
"Step 7b: Test Harness Writes MaxHeatSetpointLimit to value below the
MinHeatSetpointLimit"
PICS:
TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.A0015 && PICS_SKIP_SAMPLE_APP
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.
#1. Test Harness Client attempts to write MaxHeatSetpointLimit below the MinHeatSetpointLimit and confirms that the device does not accept the value.
./chip-tool thermostat write max-heat-setpoint-limit 100 1 1
On TH(chip-tool) verify that DUT sends a CONSTRAINT_ERROR (0x87)
[1676029976.380552][19475:19477] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1676029976.380598][19475:19477] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
[1676029976.380705][19475:19477] CHIP:EM: <<< [E:10254i M:97110781 (Ack:264765613)] (S) Msg TX to 1:0000000000000001 [E8D5] --- Type 0000:10 (SecureChannel:StandaloneAck)
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Please enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 7b: Test Harness 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:
"Step 7b: Test Harness 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:
"Step 7c: Test Harness 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:
"Step 7c: Test Harness 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:
"Step 7c: Test Harness 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: |
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
Test Harness Client then attempts to write MaxHeatSetpointLimit to both of the limits of MinHeatSetpointLimit & UpperLimit and confirms that the device does accept the value.
below is an examble command
./chip-tool thermostat write max-heat-setpoint-limit 2000( Consider the different value but valid4) 1 1
On TH(chip-tool) verify that DUT sends a success response
[1676030018.852009][19481:19483] CHIP:DMG: Cluster = 0x201,
[1676030018.852054][19481:19483] CHIP:DMG: Attribute = 0x0000_0016,
[1676030018.852094][19481:19483] CHIP:DMG: }
[1676030018.852138][19481:19483] CHIP:DMG:
[1676030018.852178][19481:19483] CHIP:DMG: StatusIB =
[1676030018.852218][19481:19483] CHIP:DMG: {
[1676030018.852258][19481:19483] CHIP:DMG: status = 0x00 (SUCCESS),
[1676030018.852297][19481:19483] CHIP:DMG: },
[1676030018.852337][19481:19483] CHIP:DMG:
[1676030018.852370][19481:19483] CHIP:DMG: },
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Please enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 7c: Test Harness 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:
"Step 7c: Test Harness Writes the limit of MinHeatSetpointLimit to
MaxHeatSetpointLimit attribute"
command: "writeAttribute"
attribute: "MaxHeatSetpointLimit"
PICS: TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.A0015
arguments:
value: MinHeatSetpointLimitValue
#Using saved values when optional attributes are available
- label:
"Step 8a: Test Harness 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: AbsMinCoolSetpointLimitValue
maxValue: MaxCoolSetpointLimitValue
#Using hard coded values when optional attributes are not available
- label:
"Step 8a: Test Harness 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:
"Step 8a: Test Harness 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:
"Step 8a: Test Harness 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:
"Step 8b: Test Harness Writes MinCoolSetpointLimit to value below the
AbsMinCoolSetpointLimit "
command: "writeAttribute"
attribute: "MinCoolSetpointLimit"
PICS: TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0005
arguments:
value: 500
response:
error: CONSTRAINT_ERROR
#AbsMinCoolSetpointLimit might be negative if not checked before decrement
- label:
"Step 8b: Test Harness Writes MinCoolSetpointLimit to value below the
AbsMinCoolSetpointLimit"
PICS:
TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0005 && PICS_SKIP_SAMPLE_APP
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.
#1. Test Harness Client then attempts to write MinCoolSetpointLimit below the AbsMinCoolSetpointLimit and confirms that the device does not accept the value.
./chip-tool thermostat write min-cool-setpoint-limit 400 1 1
On TH(chip-tool) verify that DUT sends a CONSTRAINT_ERROR (0x87)
[1676030095.274876][19495:19497] CHIP:DMG: }
[1676030095.274936][19495:19497] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1676030095.274965][19495:19497] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
[1676030095.275097][19495:19497] CHIP:EM: <<< [E:51146i M:60043723 (Ack:28649429)] (S) Msg TX to 1:0000000000000001 [E8D5] --- Type 0000:10
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Please enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 8b: Test Harness 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:
"Step 8b: Test Harness Writes MinCoolSetpointLimit to value above the
MaxCoolSetpointLimit "
command: "writeAttribute"
attribute: "MinCoolSetpointLimit"
PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018
arguments:
value: MaxCoolSetpointLimitValue + 1000
response:
error: CONSTRAINT_ERROR
- label:
"Step 8c: Test Harness 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:
"Step 8c: Test Harness Writes the limit of MaxCoolSetpointLimit to
MinCoolSetpointLimit attribute"
command: "writeAttribute"
attribute: "MinCoolSetpointLimit"
PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018
arguments:
value: MaxCoolSetpointLimitValue
- label:
"Step 8c: Test Harness 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:
"Step 8c: Test Harness 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: AbsMinCoolSetpointLimitValue
#LowerLimit = Max(AbsMinCoolSetpointLimit,(MinHeatSetpointLimit + MinSetpointDeadBand)) not possible in YAML
- label:
"Step 8c: Test Harness 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: |
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.
Test Harness Client then attempts to write MinCoolSetpointLimit to both of the limits of LowerLimit & MaxCoolSetpointLimit and confirms that the device does accept the value.
./chip-tool thermostat write min-cool-setpoint-limit 1600 1 1
On TH(chip-tool) verify that DUT sends a success response
[1678947233.814534][773656:773658] CHIP:DMG:
[1678947233.814541][773656:773658] CHIP:DMG: StatusIB =
[1678947233.814548][773656:773658] CHIP:DMG: {
[1678947233.814555][773656:773658] CHIP:DMG: status = 0x00 (SUCCESS),
[1678947233.814562][773656:773658] CHIP:DMG: },
[1678947233.814570][773656:773658] CHIP:DMG:
[1678947233.814576][773656:773658] 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:
"Step 9a: Test Harness 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: MinCoolSetpointLimitValue
maxValue: AbsMaxCoolSetpointLimitValue
#Using hard coded values when optional attributes are not available
- label:
"Step 9a: Test Harness 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:
"Step 9a: Test Harness 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:
"Step 9a: Test Harness 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:
"Step 9b: Test Harness Writes MaxCoolSetpointLimit to value below the
AbsMinCoolSetpointLimit "
command: "writeAttribute"
attribute: "MaxCoolSetpointLimit"
PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0017
arguments:
value: 500
response:
error: CONSTRAINT_ERROR
#AbsMinCoolSetpointLimit might be negative if not checked before decrement
- label:
"Step 9b: Test Harness Writes MaxCoolSetpointLimit to value below the
AbsMinCoolSetpointLimit"
PICS:
TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0017 && PICS_SKIP_SAMPLE_APP
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.
#1. Test Harness Client attempts to write MaxCoolSetpointLimit below the MinCoolSetpointLimit and confirms that the device does not accept the value.
./chip-tool thermostat write max-cool-setpoint-limit 100 1 1
On TH(chip-tool) verify that DUT sends a CONSTRAINT_ERROR (0x87)
[1676030395.441963][19525:19527] CHIP:DMG: }
[1676030395.442028][19525:19527] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1676030395.442059][19525:19527] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
[1676030395.442147][19525:19527] CHIP:EM: <<< [E:35527i M:176995637 (Ack:93643096)] (S) Msg TX to 1:0000000000000001 [E8D5] --- Type 0000:10 (SecureChannel:StandaloneAck)
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Please enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 9b: Test Harness 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:
"Step 9b: Test Harness Writes MaxCoolSetpointLimit to value above the
MaxCoolSetpointLimit "
command: "writeAttribute"
attribute: "MaxCoolSetpointLimit"
PICS: TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0006
arguments:
value: AbsMaxCoolSetpointLimitValue + 1000
response:
error: CONSTRAINT_ERROR
- label:
"Step 9c: Test Harness 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:
"Step 9c: Test Harness Writes the limit of AbsMaxCoolSetpointLimit to
MaxCoolSetpointLimit attribute"
command: "writeAttribute"
attribute: "MaxCoolSetpointLimit"
PICS: TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0006
arguments:
value: AbsMaxCoolSetpointLimitValue
- label:
"Step 9c: Test Harness 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:
"Step 9c: Test Harness 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:
"Step 9c: Test Harness 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: MinCoolSetpointLimitValue
#LowerLimit = Max(MinCoolSetpointLimit,(MaxHeatSetpointLimit + MinSetpointDeadBand)) not possible in YAML
- label:
"Step 9c: Test Harness 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 - 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.
Test Harness Client then attempts to write MaxCoolSetpointLimit to both of the limits of LowerLimit & AbsMaxCoolSetpointLimit and confirms that the device does accept the value.
below is an example command
./chip-tool thermostat write max-cool-setpoint-limit 2000 1 1
On TH verify that DUT sends a success response
[1678947558.840324][773890:773892] CHIP:DMG:
[1678947558.840331][773890:773892] CHIP:DMG: StatusIB =
[1678947558.840339][773890:773892] CHIP:DMG: {
[1678947558.840347][773890:773892] CHIP:DMG: status = 0x00 (SUCCESS),
[1678947558.840354][773890:773892] CHIP:DMG: },
[1678947558.840362][773890:773892] CHIP:DMG:
[1678947558.840369][773890:773892] CHIP:DMG: },
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value: "Please enter 'y' after success"
- name: "expectedValue"
value: "y"
- label:
"Step 10a: Test Harness Writes (sets back) default value of
MinHeatSetpointLimit"
command: "writeAttribute"
attribute: "MinHeatSetpointLimit"
PICS: TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0003
arguments:
value: AbsMinHeatSetpointLimitValue
- label:
"Step 10a: Test Harness Writes (sets back) default value of
MinHeatSetpointLimit"
command: "writeAttribute"
attribute: "MinHeatSetpointLimit"
PICS: TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.A0003
arguments:
value: 700
- label:
"Step 10a: Test Harness Writes (sets back)default value of
MaxHeatSetpointLimit"
command: "writeAttribute"
attribute: "MaxHeatSetpointLimit"
PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 && TSTAT.S.A0004
arguments:
value: AbsMaxHeatSetpointLimitValue
- label:
"Step 10a: Test Harness Writes (sets back)default value of
MaxHeatSetpointLimit"
command: "writeAttribute"
attribute: "MaxHeatSetpointLimit"
PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 && !TSTAT.S.A0004
arguments:
value: 3000
- label:
"Step 10a: Test Harness Writes MaxHeatSetpointLimit That meets the
deadband of 2.5C"
command: "writeAttribute"
attribute: "MaxHeatSetpointLimit"
PICS: TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.F05
arguments:
value: 2950
- label:
"Step 10b: Test Harness Writes (sets back) default value of
MinCoolSetpointLimit"
command: "writeAttribute"
attribute: "MinCoolSetpointLimit"
PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0005
arguments:
value: AbsMinCoolSetpointLimitValue
- label:
"Step 10b: Test Harness Writes (sets back) default value of
MinCoolSetpointLimit"
command: "writeAttribute"
attribute: "MinCoolSetpointLimit"
PICS: TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0005
arguments:
value: 1600
- label:
"Step 10b: Test Harness Writes (sets back) default value of
MaxCoolSetpointLimit"
command: "writeAttribute"
attribute: "MaxCoolSetpointLimit"
PICS: TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0006
arguments:
value: AbsMaxCoolSetpointLimitValue
- label:
"Step 10b: Test Harness Writes (sets back) default value of
MaxCoolSetpointLimit"
command: "writeAttribute"
attribute: "MaxCoolSetpointLimit"
PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0006
arguments:
value: 3200
- label:
"Step 11a: Test Harness 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:
"Step 11a: Test Harness 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:
"Step 11a: Test Harness 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: "Step 11b: Test Harness 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:
"Step 11b: Test Harness 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:
"Step 11c: Test Harness Writes the min limit of MinSetpointDeadBand"
command: "writeAttribute"
attribute: "MinSetpointDeadBand"
PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable
arguments:
value: 0
- label:
"Step 11c: Test Harness Writes the max limit of MinSetpointDeadBand"
command: "writeAttribute"
attribute: "MinSetpointDeadBand"
PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable
arguments:
value: 25
- label:
"Step 12: Test Harness Reads ControlSequenceOfOperation from Server
DUT, if TSTAT.S.F01 is true"
command: "readAttribute"
attribute: "ControlSequenceOfOperation"
PICS: TSTAT.S.F01 && !TSTAT.S.F00
response:
constraints:
anyOf: [0, 1]
- label:
"Step 12: Test Harness Reads ControlSequenceOfOperation from Server
DUT, if TSTAT.S.F00 is true"
command: "readAttribute"
attribute: "ControlSequenceOfOperation"
PICS: TSTAT.S.F00 && !TSTAT.S.F01
response:
constraints:
anyOf: [2, 3]
- label:
"Step 12: Test Harness Reads ControlSequenceOfOperation from Server
DUT, if both TSTAT.S.F01 and TSTAT.S.F01 are true"
command: "readAttribute"
attribute: "ControlSequenceOfOperation"
PICS: TSTAT.S.F00 && TSTAT.S.F01
response:
constraints:
anyOf: [4, 5]
- label:
"Step 12: Test Harness writes value 1 for attribute
ControlSequenceOfOperation. If TSTAT.S.F01 is true & TSTAT.S.F00 is
false"
command: "writeAttribute"
attribute: "ControlSequenceOfOperation"
PICS: TSTAT.S.F01 && !TSTAT.S.F00
arguments:
value: 1
- label:
"Step 12: Test Harness Read it back again to confirm the successful
write"
command: "readAttribute"
attribute: "ControlSequenceOfOperation"
PICS: TSTAT.S.F01 && !TSTAT.S.F00
response:
value: 1
- label:
"Step 12: Test Harness writes value 3 for attribute
ControlSequenceOfOperation. If TSTAT.S.F00 is true & TSTAT.S.F01 is
false"
command: "writeAttribute"
attribute: "ControlSequenceOfOperation"
PICS: TSTAT.S.F00 && !TSTAT.S.F01
arguments:
value: 3
- label:
"Step 12: Test Harness Read it back again to confirm the successful
write"
command: "readAttribute"
attribute: "ControlSequenceOfOperation"
PICS: TSTAT.S.F00 && !TSTAT.S.F01
response:
value: 3
- label:
"Step 12: Test Harness writes value 4 for attribute
ControlSequenceOfOperation. If TSTAT.S.F01 & TSTAT.S.F00 are true"
command: "writeAttribute"
attribute: "ControlSequenceOfOperation"
PICS: TSTAT.S.F00 && TSTAT.S.F01
arguments:
value: 4
- label:
"Step 12: Test Harness Read it back again to confirm the successful
write"
command: "readAttribute"
attribute: "ControlSequenceOfOperation"
PICS: TSTAT.S.F00 && TSTAT.S.F01
response:
value: 4
- label:
"Test Harness 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: "Step 13: Sets OccupiedCoolingSetpoint to default value"
command: "writeAttribute"
attribute: "OccupiedCoolingSetpoint"
PICS: TSTAT.S.F01
arguments:
value: 2600
- label: "Step 13: Sets OccupiedHeatingSetpoint to default value"
command: "writeAttribute"
attribute: "OccupiedHeatingSetpoint"
PICS: TSTAT.S.F00
arguments:
value: 2000
- label: "Step 13: Sends SetpointRaise Command Heat Only"
PICS: TSTAT.S.F00
command: "SetpointRaiseLower"
arguments:
values:
- name: "Mode"
value: 0
- name: "Amount"
value: -30
- label:
"Step 13: Test Harness Reads back OccupiedHeatingSetpoint to confirm
the success of the write"
command: "readAttribute"
attribute: "OccupiedHeatingSetpoint"
PICS: TSTAT.S.F00
response:
value: 1700
- label: "Step 14: Sets OccupiedHeatingSetpoint to default value"
command: "writeAttribute"
attribute: "OccupiedHeatingSetpoint"
PICS: TSTAT.S.F00
arguments:
value: 2000
- label: "Step 14: Test Harness Sends SetpointRaise Command Heat Only"
PICS: TSTAT.S.F00
command: "SetpointRaiseLower"
arguments:
values:
- name: "Mode"
value: 0
- name: "Amount"
value: 30
- label:
"Step 14: Test Harness Reads back OccupiedHeatingSetpoint to confirm
the success of the write"
command: "readAttribute"
attribute: "OccupiedHeatingSetpoint"
PICS: TSTAT.S.F00
response:
value: 2300
- label: "Step 15: Test Harness Sends SetpointRaise Command Cool Only"
PICS: TSTAT.S.F01
command: "SetpointRaiseLower"
arguments:
values:
- name: "Mode"
value: 1
- name: "Amount"
value: -30
- label:
"Step 15: Test Harness Reads back OccupiedCoolingSetpoint to confirm
the success of the write"
command: "readAttribute"
attribute: "OccupiedCoolingSetpoint"
PICS: TSTAT.S.F01
response:
value: 2300
- label: "Step 16: Sets OccupiedCoolingSetpoint to default value"
command: "writeAttribute"
attribute: "OccupiedCoolingSetpoint"
PICS: TSTAT.S.F01
arguments:
value: 2600
- label: "Step 16: Test Harness Sends SetpointRaise Command Cool Only"
PICS: TSTAT.S.F01
command: "SetpointRaiseLower"
arguments:
values:
- name: "Mode"
value: 1
- name: "Amount"
value: 30
- label:
"Step 16: Test Harness Reads back OccupiedCoolingSetpoint to confirm
the success of the write"
command: "readAttribute"
attribute: "OccupiedCoolingSetpoint"
PICS: TSTAT.S.F01
response:
value: 2900
- label: "Step 17: Sets OccupiedCoolingSetpoint to default value"
command: "writeAttribute"
attribute: "OccupiedCoolingSetpoint"
PICS: TSTAT.S.F01
arguments:
value: 2600
- label: "Step 17: Sets OccupiedHeatingSetpoint to default value"
command: "writeAttribute"
attribute: "OccupiedHeatingSetpoint"
PICS: TSTAT.S.F00
arguments:
value: 2000
- label: "Step 17: Test Harness 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:
"Step 17: Test Harness Reads back OccupiedCoolingSetpoint to confirm
the success of the write"
command: "readAttribute"
attribute: "OccupiedCoolingSetpoint"
PICS: TSTAT.S.F01
response:
value: 2300
- label:
"Step 17: Test Harness Reads back OccupiedHeatingSetpoint to confirm
the success of the write"
command: "readAttribute"
attribute: "OccupiedHeatingSetpoint"
PICS: TSTAT.S.F00
response:
value: 1700
- label: "Step 18: Sets OccupiedCoolingSetpoint to default value"
command: "writeAttribute"
attribute: "OccupiedCoolingSetpoint"
PICS: TSTAT.S.F01
arguments:
value: 2600
- label: "Step 18: Sets OccupiedHeatingSetpoint to default value"
command: "writeAttribute"
attribute: "OccupiedHeatingSetpoint"
PICS: TSTAT.S.F00
arguments:
value: 2000
- label: "Step 18: Test Harness 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:
"Step 18: Test Harness Reads back OccupiedCoolingSetpoint to confirm
the success of the write"
command: "readAttribute"
attribute: "OccupiedCoolingSetpoint"
PICS: TSTAT.S.F01
response:
value: 2900
- label:
"Step 18: Test Harness Reads back OccupiedHeatingSetpoint to confirm
the success of the write"
command: "readAttribute"
attribute: "OccupiedHeatingSetpoint"
PICS: TSTAT.S.F00
response:
value: 2300