@@ -89,9 +89,11 @@ def steps_TC_TSTAT_2_2(self) -> list[TestStep]:
89
89
TestStep ("11b" , "Test Harness Writes the value below MinSetpointDeadBand" ),
90
90
TestStep ("11c" , "Test Harness Writes the min limit of MinSetpointDeadBand" ),
91
91
TestStep ("12" , "Test Harness Reads ControlSequenceOfOperation from Server DUT, if TSTAT.S.F01 is true" ),
92
- TestStep ("13" , "Sets OccupiedCoolingSetpoint to default value" ),
92
+ TestStep ("13a" , "Sets OccupiedCoolingSetpoint to default value" ),
93
+ TestStep ("13b" , "Sets SetpointRaiseLower set to Heat (0x00), and the amount set to 0xE2 (-30 units = -3 degrees)." ),
93
94
TestStep ("14" , "Sets OccupiedHeatingSetpoint to default value" ),
94
- TestStep ("15" , "Test Harness Sends SetpointRaise Command Cool Only" ),
95
+ TestStep ("15a" , "Test Harness Sends SetpointRaise Command Cool Only" ),
96
+ TestStep ("15b" , "Sets SetpointRaiseLower set to Cool (0x01), and the amount set to 0xE2 (-30 units = -3 degrees)." ),
95
97
TestStep ("16" , "Sets OccupiedCoolingSetpoint to default value" ),
96
98
TestStep ("17" , "Sets OccupiedCoolingSetpoint to default value" ),
97
99
TestStep ("18" , "Sets OccupiedCoolingSetpoint to default value" ),
@@ -674,7 +676,7 @@ async def test_TC_TSTAT_2_2(self):
674
676
if val != ControlSequenceOfOperation :
675
677
asserts .assert_equal (val , 4 )
676
678
677
- self .step ("13 " )
679
+ self .step ("13a " )
678
680
679
681
if self .pics_guard (hasCoolingFeature ):
680
682
# Sets OccupiedCoolingSetpoint to default value
@@ -691,6 +693,13 @@ async def test_TC_TSTAT_2_2(self):
691
693
val = await self .read_single_attribute_check_success (endpoint = endpoint , cluster = cluster , attribute = cluster .Attributes .OccupiedHeatingSetpoint )
692
694
asserts .assert_equal (val , OccupiedHeatingSetpointValue - 30 * 10 )
693
695
696
+ self .step ("13b" )
697
+
698
+ if self .pics_guard (not hasHeatingFeature ):
699
+ # Sends SetpointRaise Command Heat Only
700
+ await self .send_single_cmd (cmd = Clusters .Objects .Thermostat .Commands .SetpointRaiseLower (mode = Clusters .Objects .Thermostat .Enums .SetpointRaiseLowerModeEnum .kHeat , amount = - 30 ), endpoint = endpoint )
701
+ asserts .assert_equal (status , Status .InvalidCommand )
702
+
694
703
self .step ("14" )
695
704
696
705
if self .pics_guard (hasHeatingFeature ):
@@ -704,7 +713,7 @@ async def test_TC_TSTAT_2_2(self):
704
713
val = await self .read_single_attribute_check_success (endpoint = endpoint , cluster = cluster , attribute = cluster .Attributes .OccupiedHeatingSetpoint )
705
714
asserts .assert_equal (val , OccupiedHeatingSetpointValue + 30 * 10 )
706
715
707
- self .step ("15 " )
716
+ self .step ("15a " )
708
717
709
718
if self .pics_guard (hasCoolingFeature ):
710
719
# Test Harness Sends SetpointRaise Command Cool Only
@@ -714,6 +723,13 @@ async def test_TC_TSTAT_2_2(self):
714
723
val = await self .read_single_attribute_check_success (endpoint = endpoint , cluster = cluster , attribute = cluster .Attributes .OccupiedCoolingSetpoint )
715
724
asserts .assert_equal (val , OccupiedCoolingSetpointValue - 30 * 10 )
716
725
726
+ self .step ("15b" )
727
+
728
+ if self .pics_guard (not hasCoolingFeature ):
729
+ # Test Harness Sends SetpointRaise Command Cool Only
730
+ await self .send_single_cmd (cmd = Clusters .Objects .Thermostat .Commands .SetpointRaiseLower (mode = Clusters .Objects .Thermostat .Enums .SetpointRaiseLowerModeEnum .kCool , amount = - 30 ), endpoint = endpoint )
731
+ asserts .assert_equal (status , Status .InvalidCommand )
732
+
717
733
self .step ("16" )
718
734
719
735
if self .pics_guard (hasCoolingFeature ):
0 commit comments