From 206fcf8ed5f96f62fc05d99d299c66be645e0093 Mon Sep 17 00:00:00 2001 From: chrisbeach59 <33329862+chrisbeach59@users.noreply.github.com> Date: Thu, 21 Jul 2022 16:53:07 -0700 Subject: [PATCH] Thermostat Test Scripts (#21068) * Yaml File updates Updated scripts - Correct attribute * REGEN * Restyled by whitespace * Restyled by prettier-yaml Co-authored-by: Restyled.io --- src/app/tests/suites/certification/PICS.yaml | 51 +- .../certification/Test_TC_TSTAT_1_1.yaml | 34 +- .../certification/Test_TC_TSTAT_2_1.yaml | 105 +- .../certification/Test_TC_TSTAT_2_2.yaml | 642 ++------ .../tests/suites/certification/ci-pics-values | 46 +- .../chip-tool/zap-generated/test/Commands.h | 954 ++++++----- .../zap-generated/test/Commands.h | 1436 +++++++++-------- 7 files changed, 1502 insertions(+), 1766 deletions(-) diff --git a/src/app/tests/suites/certification/PICS.yaml b/src/app/tests/suites/certification/PICS.yaml index 3259ce2f988cc3..4eb0d890672a53 100644 --- a/src/app/tests/suites/certification/PICS.yaml +++ b/src/app/tests/suites/certification/PICS.yaml @@ -608,38 +608,23 @@ PICS: id: DGSW.S.C00.Rsp # Thermostat cluster - - label: "Does the device implement the Heating feature" + - label: "Thermostat is capable of managing a heating device" id: TSTAT.S.F00 - - label: "Does the device implement the Cooling feature" + - label: "Thermostat is capable of managing a cooling device" id: TSTAT.S.F01 - - label: "Does the device implement the Occupancy feature" + - label: "Supports Occupied and Unoccupied setpoints" id: TSTAT.S.F02 - - label: "Does the device implement the Auto feature" - id: TSTAT.S.F05 - - - label: "Does the device implement the MinHeatSetpointLimit attribute" - id: A_MINHEATSETPOINTLIMIT - - - label: "Does the device implement the MaxHeatSetpointLimit attribute" - id: A_MAXHEATSETPOINTLIMIT - - - label: "Does the device implement the MinCoolSetpointLimit attribute" - id: A_MINCOOLSETPOINTLIMIT - - - label: "Does the device implement the MaxCoolSetpointLimit attribute" - id: A_MAXCOOLSETPOINTLIMIT - - - label: "Does the device implement the Tolerance attribute?" - id: A_TEMPERATURE_TOLERANCE + - label: "Supports a weekly schedule of setpoint transitions(Schedule)" + id: TSTAT.S.F03 - - label: "Does the device implement the OccupiedCoolingSetpoint attribute?" - id: A_OCCUPIEDCOOLINGSETPOINT + - label: "Supports configurable setback (or span)" + id: TSTAT.S.F04 - - label: "Does the device implement the OccupiedHeatingSetpoint attribute?" - id: A_OCCUPIEDHEATINGSETPOINT + - label: "Supports a System Mode of Auto" + id: TSTAT.S.F05 - label: "Does the device implement the LocalTemperature attribute?" id: TSTAT.S.A0000 @@ -819,24 +804,6 @@ PICS: - label: "Does the device implement the GetRelayStatusLog command?" id: TSTAT.S.C04.Rsp - - label: "Thermostat is capable of managing a heating device" - id: TSTAT.S.F00 - - - label: "Thermostat is capable of managing a cooling device" - id: TSTAT.S.F01 - - - label: "Supports Occupied and Unoccupied setpoints" - id: TSTAT.S.F02 - - - label: "Supports a weekly schedule of setpoint transitions" - id: TSTAT.S.F03 - - - label: "Supports configurable setback (or span)" - id: TSTAT.S.F04 - - - label: "Supports a System Mode of Auto" - id: TSTAT.S.F05 - #Client Commands - label: "Does the device implement sending the SetpointRaiseLower command?" id: TSTAT.C.C00.Tx diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml index 88ca49f5849156..df0aabef7cabff 100644 --- a/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml @@ -45,7 +45,7 @@ tests: response: constraints: type: map32 - minValue: 0 + minValue: 1 maxValue: 63 - label: "Read the global attribute: AttributeList" @@ -56,6 +56,16 @@ tests: type: list contains: [0, 27, 28, 65528, 65529, 65531, 65532, 65533] + - label: + "Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in + AttributeList" + PICS: TSTAT.S.F00 + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [18] - label: "Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList" @@ -79,15 +89,15 @@ tests: contains: [2] - label: - "Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in - AttributeList" - PICS: TSTAT.S.F00 + "Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) + attribute in AttributeList" + PICS: TSTAT.S.F00 && TSTAT.S.F02 command: "readAttribute" attribute: "AttributeList" response: constraints: type: list - contains: [18] + contains: [20] - label: "Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) @@ -100,17 +110,6 @@ tests: type: list contains: [19] - - label: - "Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) - attribute in AttributeList" - PICS: TSTAT.S.F00 && TSTAT.S.F02 - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [20] - - label: "Read the Feature dependent(TSTAT.S.F05(AUTO)) attribute in AttributeList" @@ -120,7 +119,7 @@ tests: response: constraints: type: list - contains: [25] + contains: [17, 18, 25] - label: "Read the Feature dependent(TSTAT.S.F03(SCH)) attribute in @@ -182,6 +181,7 @@ tests: #issue #15011 disabled steps below Global attributes missing from YAML framework - label: "Read the global attribute: EventList" + disabled: true verification: | Not implemented in chip-tool cluster: "LogCommands" diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_2_1.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_2_1.yaml index 31f03c229dd4b6..1ddc6392d490df 100644 --- a/src/app/tests/suites/certification/Test_TC_TSTAT_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSTAT_2_1.yaml @@ -31,7 +31,6 @@ tests: - label: "Reads mandatory attributes from DUT: LocalTemperature" command: "readAttribute" attribute: "LocalTemperature" - PICS: TSTAT.S.A0000 response: constraints: type: int16 @@ -49,7 +48,7 @@ tests: maxValue: 32767 - label: "Read Occupancy attribute from the DUT" - PICS: TSTAT.S.A0002 + PICS: TSTAT.S.F02 command: "readAttribute" attribute: "Occupancy" response: @@ -139,56 +138,56 @@ tests: maxValue: -25 - label: "Reads optional attributes from DUT: OccupiedCoolingSetpoint" - PICS: TSTAT.S.A0011 + PICS: TSTAT.S.F01 command: "readAttribute" attribute: "OccupiedCoolingSetpoint" response: constraints: type: int16 - minValue: -27315 - maxValue: 32767 + minValue: 1600 + maxValue: 3200 - label: "Reads mandatory attributes from DUT: OccupiedHeatingSetpoint" - PICS: TSTAT.S.A0012 + PICS: TSTAT.S.F00 command: "readAttribute" attribute: "OccupiedHeatingSetpoint" response: constraints: type: int16 - minValue: -27315 - maxValue: 32767 + minValue: 700 + maxValue: 3000 - label: "Read UnoccupiedCoolingSetpoint attribute from the DUT" - PICS: TSTAT.S.A0013 + PICS: TSTAT.S.F01 && TSTAT.S.F02 command: "readAttribute" attribute: "UnoccupiedCoolingSetpoint" response: constraints: type: int16 - minValue: -27315 - maxValue: 32767 + minValue: 1600 + maxValue: 3200 - label: "Read UnoccupiedHeatingSetpoint attribute from the DUT" - PICS: TSTAT.S.A0014 + PICS: TSTAT.S.F00 && TSTAT.S.F02 command: "readAttribute" attribute: "UnoccupiedHeatingSetpoint" response: constraints: type: int16 - minValue: -27315 - maxValue: 32767 + minValue: 700 + maxValue: 3000 - - label: "Reads mandatory attributes from DUT: MinHeatSetpointLimit" + - label: "Reads attribute from DUT: MinHeatSetpointLimit" PICS: TSTAT.S.A0015 command: "readAttribute" attribute: "MinHeatSetpointLimit" response: constraints: type: int16 - minValue: -27315 - maxValue: 32767 + minValue: 700 + maxValue: 3000 - - label: "Reads mandatory attributes from DUT: MaxHeatSetpointLimit" + - label: "Reads attribute from DUT: MaxHeatSetpointLimit" PICS: TSTAT.S.A0016 command: "readAttribute" attribute: "MaxHeatSetpointLimit" @@ -219,7 +218,7 @@ tests: maxValue: 32767 - label: "Reads optional attributes from DUT: MinSetpointDeadBand" - PICS: TSTAT.S.A0019 + PICS: TSTAT.S.F05 command: "readAttribute" attribute: "MinSetpointDeadBand" response: @@ -239,7 +238,6 @@ tests: maxValue: 7 - label: "Reads mandatory attributes from DUT: ControlSequenceOfOperation" - PICS: TSTAT.S.A001b command: "readAttribute" attribute: "ControlSequenceOfOperation" response: @@ -249,7 +247,6 @@ tests: maxValue: 5 - label: "Reads mandatory attributes from DUT: SystemMode" - PICS: TSTAT.S.A001c command: "readAttribute" attribute: "SystemMode" response: @@ -258,52 +255,6 @@ tests: minValue: 0 maxValue: 9 - - label: - "Read AlarmMask attribute from the DUT and Verify that the DUT - responds with a map8 value.The value has to be in the range of 0x00 to - 0x07." - verification: | - ./apps/chip-tool thermostat read alarm-mask 54321 1 - [1651147597.962878][10583:10588] CHIP:DMG: ReportDataMessage = - [1651147597.962928][10583:10588] CHIP:DMG: { - [1651147597.962957][10583:10588] CHIP:DMG: AttributeReportIBs = - [1651147597.963014][10583:10588] CHIP:DMG: [ - [1651147597.963047][10583:10588] CHIP:DMG: AttributeReportIB = - [1651147597.963103][10583:10588] CHIP:DMG: { - [1651147597.963138][10583:10588] CHIP:DMG: AttributeStatusIB = - [1651147597.963177][10583:10588] CHIP:DMG: { - [1651147597.963226][10583:10588] CHIP:DMG: AttributePathIB = - [1651147597.963286][10583:10588] CHIP:DMG: { - [1651147597.963329][10583:10588] CHIP:DMG: Endpoint = 0x1, - [1651147597.963389][10583:10588] CHIP:DMG: Cluster = 0x201, - [1651147597.963449][10583:10588] CHIP:DMG: Attribute = 0x0000_001D, - [1651147597.963575][10583:10588] CHIP:DMG: } - [1651147597.963641][10583:10588] CHIP:DMG: - [1651147597.963683][10583:10588] CHIP:DMG: StatusIB = - [1651147597.963724][10583:10588] CHIP:DMG: { - [1651147597.963785][10583:10588] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1651147597.963846][10583:10588] CHIP:DMG: }, - [1651147597.963892][10583:10588] CHIP:DMG: - [1651147597.963945][10583:10588] CHIP:DMG: }, - [1651147597.963991][10583:10588] CHIP:DMG: - [1651147597.964040][10583:10588] CHIP:DMG: }, - [1651147597.964092][10583:10588] CHIP:DMG: - [1651147597.964125][10583:10588] CHIP:DMG: ], - [1651147597.964180][10583:10588] CHIP:DMG: - [1651147597.964213][10583:10588] CHIP:DMG: SuppressResponse = true, - [1651147597.964258][10583:10588] CHIP:DMG: InteractionModelRevision = 1 - [1651147597.964290][10583:10588] CHIP:DMG: } - [1651147597.964450][10583:10588] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A001d - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - label: "Read ThermostatRunningMode attribute from the DUT" PICS: TSTAT.S.A001e command: "readAttribute" @@ -312,10 +263,10 @@ tests: constraints: type: enum8 minValue: 0 - maxValue: 4 + maxValue: 9 - label: "Reads constraints of optional attributes from DUT: StartOfWeek" - PICS: TSTAT.S.A0020 + PICS: TSTAT.S.F03 command: "readAttribute" attribute: "StartOfWeek" response: @@ -325,7 +276,7 @@ tests: maxValue: 6 - label: "Reads optional attributes from DUT: NumberOfWeeklyTransitions" - PICS: TSTAT.S.A0021 + PICS: TSTAT.S.F03 command: "readAttribute" attribute: "NumberOfWeeklyTransitions" response: @@ -335,7 +286,7 @@ tests: maxValue: 255 - label: "Reads optional attributes from DUT: NumberOfDailyTransitions" - PICS: TSTAT.S.A0022 + PICS: TSTAT.S.F03 command: "readAttribute" attribute: "NumberOfDailyTransitions" response: @@ -413,7 +364,7 @@ tests: type: utc - label: "Read OccupiedSetback attribute from the DUT" - PICS: TSTAT.S.A0034 + PICS: TSTAT.S.F02 command: "readAttribute" attribute: "OccupiedSetback" response: @@ -423,7 +374,7 @@ tests: maxValue: 255 - label: "Read OccupiedSetbackMin attribute from the DUT" - PICS: TSTAT.S.A0035 + PICS: TSTAT.S.F02 command: "readAttribute" attribute: "OccupiedSetbackMin" response: @@ -433,7 +384,7 @@ tests: maxValue: 255 - label: "Read OccupiedSetbackMax attribute from the DUT" - PICS: TSTAT.S.A0036 + PICS: TSTAT.S.F02 command: "readAttribute" attribute: "OccupiedSetbackMax" response: @@ -443,7 +394,7 @@ tests: maxValue: 255 - label: "Read UnoccupiedSetback attribute from the DUT" - PICS: TSTAT.S.A0037 + PICS: TSTAT.S.F02 && TSTAT.S.F04 command: "readAttribute" attribute: "UnoccupiedSetback" response: @@ -453,7 +404,7 @@ tests: maxValue: 255 - label: "Read UnoccupiedSetbackMin attribute from the DUT" - PICS: TSTAT.S.A0038 + PICS: TSTAT.S.F02 && TSTAT.S.F04 command: "readAttribute" attribute: "UnoccupiedSetbackMin" response: @@ -463,7 +414,7 @@ tests: maxValue: 255 - label: "Read UnoccupiedSetbackMax attribute from the DUT" - PICS: TSTAT.S.A0039 + PICS: TSTAT.S.F02 && TSTAT.S.F04 command: "readAttribute" attribute: "UnoccupiedSetbackMax" response: diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_2_2.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_2_2.yaml index 6fa064ba30dec1..b6ef39e12cb377 100644 --- a/src/app/tests/suites/certification/Test_TC_TSTAT_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSTAT_2_2.yaml @@ -33,7 +33,7 @@ tests: that the value is within range" command: "readAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.A0011 + PICS: TSTAT.S.F01 response: constraints: type: int16 @@ -45,7 +45,7 @@ tests: OccupiedCoolingSetpoint attribute" command: "writeAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.A0011 + PICS: TSTAT.S.F01 arguments: value: 2500 @@ -54,16 +54,16 @@ tests: OccupiedCoolingSetpoint attribute" command: "readAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.A0011 + PICS: TSTAT.S.F01 response: value: 2500 - label: "Writes OccupiedCoolingSetpoint to value below the - MinCoolSetpointLimit" + ABSMinCoolSetpointLimit" command: "writeAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.A0011 + PICS: TSTAT.S.F01 arguments: value: 30 response: @@ -74,7 +74,7 @@ tests: MaxCoolSetpointLimit" command: "writeAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.A0011 + PICS: TSTAT.S.F01 arguments: value: 4000 response: @@ -83,21 +83,11 @@ tests: - label: "Writes the limit of MinCoolSetpointLimit to OccupiedCoolingSetpoint attribute" - verification: | - ./chip-tool thermostat write occupied-cooling-setpoint 1600 1 1 - [1653574006.162208][16728:16733] CHIP:DMG: StatusIB = - [1653574006.162227][16728:16733] CHIP:DMG: { - [1653574006.162245][16728:16733] CHIP:DMG: status = 0x00 (SUCCESS), - [1653574006.162261][16728:16733] CHIP:DMG: } - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A0011 + command: "writeAttribute" + attribute: "OccupiedCoolingSetpoint" + PICS: TSTAT.S.F01 && !TSTAT.S.F05 arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + value: 1600 - label: "Writes the CoolingSetpoint below the HeatingSetpoint when auto is @@ -115,7 +105,7 @@ tests: attribute" command: "writeAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.A0011 + PICS: TSTAT.S.F01 arguments: value: 3200 @@ -124,7 +114,7 @@ tests: that the value is within range" command: "readAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.A0012 + PICS: TSTAT.S.F00 response: constraints: type: int16 @@ -136,7 +126,7 @@ tests: OccupiedHeatingSetpoint attribute" command: "writeAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.A0012 + PICS: TSTAT.S.F00 arguments: value: 2100 @@ -145,7 +135,7 @@ tests: OccupiedHeatingSetpoint attribute" command: "readAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.A0012 + PICS: TSTAT.S.F00 response: value: 2100 @@ -154,7 +144,7 @@ tests: MinHeatSetpointLimit" command: "writeAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.A0012 + PICS: TSTAT.S.F00 arguments: value: 600 response: @@ -165,7 +155,7 @@ tests: MaxHeatSetpointLimit" command: "writeAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.A0012 + PICS: TSTAT.S.F00 arguments: value: 4010 response: @@ -176,7 +166,7 @@ tests: attribute" command: "writeAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.A0012 + PICS: TSTAT.S.F00 arguments: value: 700 @@ -201,26 +191,20 @@ tests: - label: "Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint attribute" - verification: | - ./chip-tool thermostat read occupied-heating-setpoint 1 1 - [1650451168.922888][5386:5391] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_0012 DataVersion: 1433129384 - [1650451168.922971][5386:5391] CHIP:TOO: occupied heating setpoint: 2000 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A0012 + command: "writeAttribute" + attribute: "OccupiedHeatingSetpoint" + PICS: TSTAT.S.F05 arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + value: 3000 + response: + error: CONSTRAINT_ERROR - label: "Reads UnoccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is within range" command: "readAttribute" attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.A0013 + PICS: TSTAT.S.F02 && TSTAT.S.F01 response: value: 2600 constraints: @@ -233,7 +217,7 @@ tests: UnoccupiedCoolingSetpoint attribute" command: "writeAttribute" attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.A0013 + PICS: TSTAT.S.F02 && TSTAT.S.F01 arguments: value: 2500 @@ -242,16 +226,16 @@ tests: UnoccupiedCoolingSetpoint attribute" command: "readAttribute" attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.A0013 + PICS: TSTAT.S.F02 && TSTAT.S.F01 response: value: 2500 - label: "Writes UnoccupiedCoolingSetpoint to value below the - MinHeatSetpointLimit" + MinCoolSetpointLimit" command: "writeAttribute" attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.A0013 + PICS: TSTAT.S.F02 && TSTAT.S.F01 arguments: value: 1002 response: @@ -259,10 +243,10 @@ tests: - label: "Writes UnoccupiedCoolingSetpoint to value above the - MaxHeatSetpointLimit" + MaxCoolSetpointLimit" command: "writeAttribute" attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.A0013 + PICS: TSTAT.S.F02 && TSTAT.S.F01 arguments: value: 4010 response: @@ -273,7 +257,7 @@ tests: attribute" command: "writeAttribute" attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.A0013 + PICS: TSTAT.S.F02 && TSTAT.S.F01 arguments: value: 1800 @@ -282,7 +266,7 @@ tests: attribute" command: "writeAttribute" attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.A0013 + PICS: TSTAT.S.F02 && TSTAT.S.F01 arguments: value: 3000 @@ -291,7 +275,7 @@ tests: verifies that the value is within range" command: "readAttribute" attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.A0014 + PICS: TSTAT.S.F02 && TSTAT.S.F00 response: value: 2000 constraints: @@ -302,9 +286,10 @@ tests: - label: "Writes a value back that is different but valid for UnoccupiedHeatingSetpoint attribute" + command: "writeAttribute" attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.A0014 + PICS: TSTAT.S.F02 && TSTAT.S.F00 arguments: value: 2500 @@ -313,7 +298,7 @@ tests: UnoccupiedHeatingSetpoint attribute" command: "readAttribute" attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.A0014 + PICS: TSTAT.S.F02 && TSTAT.S.F00 response: value: 2500 @@ -322,7 +307,7 @@ tests: MinHeatSetpointLimit" command: "writeAttribute" attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.A0014 + PICS: TSTAT.S.F02 && TSTAT.S.F00 arguments: value: 500 response: @@ -333,7 +318,7 @@ tests: MaxHeatSetpointLimit" command: "writeAttribute" attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.A0014 + PICS: TSTAT.S.F02 && TSTAT.S.F00 arguments: value: 4010 response: @@ -344,7 +329,7 @@ tests: attribute" command: "writeAttribute" attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.A0014 + PICS: TSTAT.S.F02 && TSTAT.S.F00 arguments: value: 1800 @@ -353,7 +338,7 @@ tests: attribute" command: "writeAttribute" attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.A0014 + PICS: TSTAT.S.F02 && TSTAT.S.F00 arguments: value: 3000 @@ -362,7 +347,7 @@ tests: that the value is within range" command: "readAttribute" attribute: "MinHeatSetpointLimit" - PICS: TSTAT.S.A0015 + PICS: TSTAT.S.F00 && TSTAT.S.A0015 response: value: 700 constraints: @@ -373,65 +358,36 @@ tests: - label: "Writes a value back that is different but valid for MinHeatSetpointLimit attribute" - verification: | - ./chip-tool thermostat write min-heat-setpoint-limit 1500 1 1 - [1651575873.602025][9521:9526] CHIP:DMG: WriteResponseMessage = - [1651575873.602056][9521:9526] CHIP:DMG: { - [1651575873.602078][9521:9526] CHIP:DMG: AttributeStatusIBs = - [1651575873.602124][9521:9526] CHIP:DMG: [ - [1651575873.602160][9521:9526] CHIP:DMG: AttributeStatusIB = - [1651575873.602195][9521:9526] CHIP:DMG: { - [1651575873.602233][9521:9526] CHIP:DMG: AttributePathIB = - [1651575873.602278][9521:9526] CHIP:DMG: { - [1651575873.602316][9521:9526] CHIP:DMG: Endpoint = 0x1, - [1651575873.602363][9521:9526] CHIP:DMG: Cluster = 0x201, - [1651575873.602412][9521:9526] CHIP:DMG: Attribute = 0x0000_0015, - [1651575873.602447][9521:9526] CHIP:DMG: } - [1651575873.602496][9521:9526] CHIP:DMG: - [1651575873.602537][9521:9526] CHIP:DMG: StatusIB = - [1651575873.602574][9521:9526] CHIP:DMG: { - [1651575873.602619][9521:9526] CHIP:DMG: status = 0x00 (SUCCESS), - [1651575873.602660][9521:9526] CHIP:DMG: }, - [1651575873.602697][9521:9526] CHIP:DMG: - [1651575873.602734][9521:9526] CHIP:DMG: }, - [1651575873.602775][9521:9526] CHIP:DMG: - [1651575873.602801][9521:9526] CHIP:DMG: ], - [1651575873.602840][9521:9526] CHIP:DMG: - [1651575873.602864][9521:9526] CHIP:DMG: InteractionModelRevision = 1 - [1651575873.602890][9521:9526] CHIP:DMG: } - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A0015 + command: "writeAttribute" + attribute: "MinHeatSetpointLimit" + PICS: TSTAT.S.F00 && TSTAT.S.A0015 arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + value: 800 - label: "Reads it back again to confirm the successful write of MinHeatSetpointLimit attribute" - verification: | - ./chip-tool thermostat read min-heat-setpoint-limit 1 1 - [1650451588.651448][5452:5457] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_0015 DataVersion: 1433129384 - [1650451588.651531][5452:5457] CHIP:TOO: min heat setpoint limit: 1500 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A0015 + 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: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + value: 2000 + response: + error: CONSTRAINT_ERROR - label: "Writes MinHeatSetpointLimit to value below the AbsMinHeatSetpointLimit " command: "writeAttribute" attribute: "MinHeatSetpointLimit" - PICS: TSTAT.S.A0015 + PICS: TSTAT.S.F00 && TSTAT.S.A0015 arguments: value: 650 response: @@ -442,7 +398,7 @@ tests: AbsMaxHeatSetpointLimit " command: "writeAttribute" attribute: "MinHeatSetpointLimit" - PICS: TSTAT.S.A0015 + PICS: TSTAT.S.F00 && TSTAT.S.A0015 arguments: value: 4050 response: @@ -453,98 +409,38 @@ tests: attribute" command: "writeAttribute" attribute: "MinHeatSetpointLimit" - PICS: TSTAT.S.A0015 + PICS: TSTAT.S.F00 && TSTAT.S.A0015 arguments: value: 700 - label: "Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit attribute" - verification: | - ./chip-tool thermostat write min-heat-setpoint-limit 1000 1 1 - [1651575767.881039][9507:9512] CHIP:DMG: WriteResponseMessage = - [1651575767.881065][9507:9512] CHIP:DMG: { - [1651575767.881088][9507:9512] CHIP:DMG: AttributeStatusIBs = - [1651575767.881128][9507:9512] CHIP:DMG: [ - [1651575767.881154][9507:9512] CHIP:DMG: AttributeStatusIB = - [1651575767.881183][9507:9512] CHIP:DMG: { - [1651575767.881210][9507:9512] CHIP:DMG: AttributePathIB = - [1651575767.881243][9507:9512] CHIP:DMG: { - [1651575767.881277][9507:9512] CHIP:DMG: Endpoint = 0x1, - [1651575767.881312][9507:9512] CHIP:DMG: Cluster = 0x201, - [1651575767.881350][9507:9512] CHIP:DMG: Attribute = 0x0000_0015, - [1651575767.881383][9507:9512] CHIP:DMG: } - [1651575767.881420][9507:9512] CHIP:DMG: - [1651575767.881452][9507:9512] CHIP:DMG: StatusIB = - [1651575767.881485][9507:9512] CHIP:DMG: { - [1651575767.881520][9507:9512] CHIP:DMG: status = 0x00 (SUCCESS), - [1651575767.881553][9507:9512] CHIP:DMG: }, - [1651575767.881589][9507:9512] CHIP:DMG: - [1651575767.881618][9507:9512] CHIP:DMG: }, - [1651575767.881651][9507:9512] CHIP:DMG: - [1651575767.881677][9507:9512] CHIP:DMG: ], - [1651575767.881708][9507:9512] CHIP:DMG: - [1651575767.881732][9507:9512] CHIP:DMG: InteractionModelRevision = 1 - [1651575767.881757][9507:9512] CHIP:DMG: } - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A0015 + command: "writeAttribute" + attribute: "MinHeatSetpointLimit" + PICS: TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.F05 arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + value: 3000 - label: "Reads MaxHeatSetpointLimit attribute from Server DUT and verifies that the value is within range" - verification: | - ./chip-tool thermostat read max-heat-setpoint-limit 1 1 - [1651575563.660840][9476:9481] CHIP:DMG: ReportDataMessage = - [1651575563.660870][9476:9481] CHIP:DMG: { - [1651575563.660892][9476:9481] CHIP:DMG: AttributeReportIBs = - [1651575563.660929][9476:9481] CHIP:DMG: [ - [1651575563.660954][9476:9481] CHIP:DMG: AttributeReportIB = - [1651575563.660994][9476:9481] CHIP:DMG: { - [1651575563.661023][9476:9481] CHIP:DMG: AttributeDataIB = - [1651575563.661059][9476:9481] CHIP:DMG: { - [1651575563.661096][9476:9481] CHIP:DMG: DataVersion = 0x366e43c8, - [1651575563.661132][9476:9481] CHIP:DMG: AttributePathIB = - [1651575563.661169][9476:9481] CHIP:DMG: { - [1651575563.661208][9476:9481] CHIP:DMG: Endpoint = 0x1, - [1651575563.661248][9476:9481] CHIP:DMG: Cluster = 0x201, - [1651575563.661287][9476:9481] CHIP:DMG: Attribute = 0x0000_0016, - [1651575563.661322][9476:9481] CHIP:DMG: } - [1651575563.661358][9476:9481] CHIP:DMG: - [1651575563.661399][9476:9481] CHIP:DMG: Data = 3000, - [1651575563.661436][9476:9481] CHIP:DMG: }, - [1651575563.661473][9476:9481] CHIP:DMG: - [1651575563.661502][9476:9481] CHIP:DMG: }, - [1651575563.661536][9476:9481] CHIP:DMG: - [1651575563.661559][9476:9481] CHIP:DMG: ], - [1651575563.661590][9476:9481] CHIP:DMG: - [1651575563.661615][9476:9481] CHIP:DMG: SuppressResponse = true, - [1651575563.661642][9476:9481] CHIP:DMG: InteractionModelRevision = 1 - [1651575563.661667][9476:9481] CHIP:DMG: } - [1651575563.661803][9476:9481] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_0016 DataVersion: 913195976 - [1651575563.661866][9476:9481] CHIP:TOO: max heat setpoint limit: 3000 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A0016 - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + command: "readAttribute" + attribute: "MaxHeatSetpointLimit" + PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 + response: + value: 3000 + constraints: + type: int16 + minValue: 700 + maxValue: 3000 - label: "Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute" command: "writeAttribute" attribute: "MinHeatSetpointLimit" - PICS: TSTAT.S.F00 && A_MINHEATSETPOINTLIMIT + PICS: TSTAT.S.F00 && TSTAT.S.A0015 arguments: value: 700 @@ -553,7 +449,7 @@ tests: attribute" command: "writeAttribute" attribute: "MinHeatSetpointLimit" - PICS: A_MINHEATSETPOINTLIMIT && TSTAT.S.F05 + PICS: TSTAT.S.A0015 && TSTAT.S.F05 arguments: value: 3000 response: @@ -564,7 +460,7 @@ tests: MaxHeatSetpointLimit attribute" command: "writeAttribute" attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.A0016 + PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 arguments: value: 2900 @@ -573,7 +469,7 @@ tests: MaxHeatSetpointLimit attribute" command: "readAttribute" attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.A0016 + PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 response: value: 2900 @@ -582,7 +478,7 @@ tests: AbsMinHeatSetpointLimit " command: "writeAttribute" attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.A0016 + PICS: TSTAT.S.F00 && TSTAT.S.A0016 arguments: value: 500 response: @@ -593,7 +489,7 @@ tests: AbsMaxHeatSetpointLimit " command: "writeAttribute" attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.A0016 + PICS: TSTAT.S.F00 && TSTAT.S.A0016 arguments: value: 4000 response: @@ -604,55 +500,25 @@ tests: attribute" command: "writeAttribute" attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.A0016 + PICS: TSTAT.S.F00 && TSTAT.S.A0016 arguments: value: 700 - label: "Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit attribute" - verification: | - ./chip-tool thermostat write max-heat-setpoint-limit 1000 1 1 - [1651575678.144963][9488:9493] CHIP:DMG: WriteResponseMessage = - [1651575678.144990][9488:9493] CHIP:DMG: { - [1651575678.145012][9488:9493] CHIP:DMG: AttributeStatusIBs = - [1651575678.145045][9488:9493] CHIP:DMG: [ - [1651575678.145071][9488:9493] CHIP:DMG: AttributeStatusIB = - [1651575678.145107][9488:9493] CHIP:DMG: { - [1651575678.145136][9488:9493] CHIP:DMG: AttributePathIB = - [1651575678.145169][9488:9493] CHIP:DMG: { - [1651575678.145204][9488:9493] CHIP:DMG: Endpoint = 0x1, - [1651575678.145242][9488:9493] CHIP:DMG: Cluster = 0x201, - [1651575678.145278][9488:9493] CHIP:DMG: Attribute = 0x0000_0016, - [1651575678.145314][9488:9493] CHIP:DMG: } - [1651575678.145353][9488:9493] CHIP:DMG: - [1651575678.145384][9488:9493] CHIP:DMG: StatusIB = - [1651575678.145418][9488:9493] CHIP:DMG: { - [1651575678.145450][9488:9493] CHIP:DMG: status = 0x00 (SUCCESS), - [1651575678.145483][9488:9493] CHIP:DMG: }, - [1651575678.145516][9488:9493] CHIP:DMG: - [1651575678.145543][9488:9493] CHIP:DMG: }, - [1651575678.145576][9488:9493] CHIP:DMG: - [1651575678.145603][9488:9493] CHIP:DMG: ], - [1651575678.145633][9488:9493] CHIP:DMG: - [1651575678.145658][9488:9493] CHIP:DMG: InteractionModelRevision = 1 - [1651575678.145683][9488:9493] CHIP:DMG: } - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A0016 + command: "writeAttribute" + attribute: "MaxHeatSetpointLimit" + PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + value: 3000 - label: "Reads MinCoolSetpointLimit attribute from Server DUT and verifies that the value is within range" command: "readAttribute" attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.A0017 + PICS: TSTAT.S.F01 && TSTAT.S.A0017 response: value: 1600 constraints: @@ -665,7 +531,7 @@ tests: MinCoolSetpointLimit attribute" command: "writeAttribute" attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.A0017 + PICS: TSTAT.S.F01 && TSTAT.S.A0017 arguments: value: 2000 @@ -674,7 +540,7 @@ tests: MinCoolSetpointLimit attribute" command: "readAttribute" attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.A0017 + PICS: TSTAT.S.F01 && TSTAT.S.A0017 response: value: 2000 @@ -683,7 +549,7 @@ tests: AbsMinCoolSetpointLimit " command: "writeAttribute" attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.A0017 + PICS: TSTAT.S.F01 && TSTAT.S.A0017 arguments: value: 1000 response: @@ -693,7 +559,7 @@ tests: "Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit " command: "writeAttribute" attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.A0017 + PICS: TSTAT.S.F01 && TSTAT.S.A0017 arguments: value: 4000 response: @@ -704,7 +570,7 @@ tests: attribute" command: "writeAttribute" attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.A0017 + PICS: TSTAT.S.F01 && TSTAT.S.A0017 arguments: value: 1600 @@ -713,7 +579,7 @@ tests: attribute" command: "writeAttribute" attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.A0017 + PICS: TSTAT.S.F01 && TSTAT.S.A0017 arguments: value: 3200 @@ -722,7 +588,7 @@ tests: attribute" command: "writeAttribute" attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.F01 && A_MINCOOLSETPOINTLIMIT + PICS: TSTAT.S.F01 && TSTAT.S.A0017 arguments: value: 1600 @@ -731,7 +597,7 @@ tests: that the value is within range" command: "readAttribute" attribute: "MaxCoolSetpointLimit" - PICS: TSTAT.S.A0018 + PICS: TSTAT.S.F01 && TSTAT.S.A0018 response: value: 3200 constraints: @@ -742,91 +608,27 @@ tests: - label: "Writes a value back that is different but valid for MaxCoolSetpointLimit attribute" - verification: | - ./chip-tool thermostat write max-cool-setpoint-limit 3000 1 1 - [1651577904.824284][9656:9661] CHIP:DMG: WriteResponseMessage = - [1651577904.824317][9656:9661] CHIP:DMG: { - [1651577904.824347][9656:9661] CHIP:DMG: AttributeStatusIBs = - [1651577904.824387][9656:9661] CHIP:DMG: [ - [1651577904.824420][9656:9661] CHIP:DMG: AttributeStatusIB = - [1651577904.824457][9656:9661] CHIP:DMG: { - [1651577904.824492][9656:9661] CHIP:DMG: AttributePathIB = - [1651577904.824541][9656:9661] CHIP:DMG: { - [1651577904.824587][9656:9661] CHIP:DMG: Endpoint = 0x1, - [1651577904.824628][9656:9661] CHIP:DMG: Cluster = 0x201, - [1651577904.824674][9656:9661] CHIP:DMG: Attribute = 0x0000_0018, - [1651577904.824711][9656:9661] CHIP:DMG: } - [1651577904.824757][9656:9661] CHIP:DMG: - [1651577904.824797][9656:9661] CHIP:DMG: StatusIB = - [1651577904.824840][9656:9661] CHIP:DMG: { - [1651577904.824878][9656:9661] CHIP:DMG: status = 0x00 (SUCCESS), - [1651577904.824919][9656:9661] CHIP:DMG: }, - [1651577904.824957][9656:9661] CHIP:DMG: - [1651577904.824993][9656:9661] CHIP:DMG: }, - [1651577904.825035][9656:9661] CHIP:DMG: - [1651577904.825067][9656:9661] CHIP:DMG: ], - [1651577904.825106][9656:9661] CHIP:DMG: - [1651577904.825138][9656:9661] CHIP:DMG: InteractionModelRevision = 1 - [1651577904.825169][9656:9661] CHIP:DMG: } - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A0018 + command: "writeAttribute" + attribute: "MaxCoolSetpointLimit" + PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.F05 arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + value: 2000 - label: "Reads it back again to confirm the successful write of MaxCoolSetpointLimit attribute" - verification: | - ./chip-tool thermostat read max-cool-setpoint-limit 1 1 - [1651576122.935621][9559:9564] CHIP:DMG: ReportDataMessage = - [1651576122.935665][9559:9564] CHIP:DMG: { - [1651576122.935701][9559:9564] CHIP:DMG: AttributeReportIBs = - [1651576122.935751][9559:9564] CHIP:DMG: [ - [1651576122.935791][9559:9564] CHIP:DMG: AttributeReportIB = - [1651576122.935857][9559:9564] CHIP:DMG: { - [1651576122.935900][9559:9564] CHIP:DMG: AttributeDataIB = - [1651576122.935953][9559:9564] CHIP:DMG: { - [1651576122.936006][9559:9564] CHIP:DMG: DataVersion = 0x366e43cd, - [1651576122.936059][9559:9564] CHIP:DMG: AttributePathIB = - [1651576122.936114][9559:9564] CHIP:DMG: { - [1651576122.936170][9559:9564] CHIP:DMG: Endpoint = 0x1, - [1651576122.936233][9559:9564] CHIP:DMG: Cluster = 0x201, - [1651576122.936296][9559:9564] CHIP:DMG: Attribute = 0x0000_0018, - [1651576122.936354][9559:9564] CHIP:DMG: } - [1651576122.936415][9559:9564] CHIP:DMG: - [1651576122.936477][9559:9564] CHIP:DMG: Data = 3000, - [1651576122.936525][9559:9564] CHIP:DMG: }, - [1651576122.936578][9559:9564] CHIP:DMG: - [1651576122.936622][9559:9564] CHIP:DMG: }, - [1651576122.936675][9559:9564] CHIP:DMG: - [1651576122.936714][9559:9564] CHIP:DMG: ], - [1651576122.936763][9559:9564] CHIP:DMG: - [1651576122.936804][9559:9564] CHIP:DMG: SuppressResponse = true, - [1651576122.936849][9559:9564] CHIP:DMG: InteractionModelRevision = 1 - [1651576122.936888][9559:9564] CHIP:DMG: } - [1651576122.937081][9559:9564] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_0018 DataVersion: 913195981 - [1651576122.937166][9559:9564] CHIP:TOO: max cool setpoint limit: 3000 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A0018 - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + 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.A0018 + PICS: TSTAT.S.F01 && TSTAT.S.A0018 arguments: value: 1000 response: @@ -836,7 +638,7 @@ tests: "Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit " command: "writeAttribute" attribute: "MaxCoolSetpointLimit" - PICS: TSTAT.S.A0018 + PICS: TSTAT.S.F01 && TSTAT.S.A0018 arguments: value: 4000 response: @@ -845,93 +647,53 @@ tests: - label: "Writes the limit of AbsMinCoolSetpointLimit to MaxCoolSetpointLimit attribute" - verification: | - ./chip-tool thermostat write max-cool-setpoint-limit 700 1 1 - [1651577904.824284][9656:9661] CHIP:DMG: WriteResponseMessage = - [1651577904.824317][9656:9661] CHIP:DMG: { - [1651577904.824347][9656:9661] CHIP:DMG: AttributeStatusIBs = - [1651577904.824387][9656:9661] CHIP:DMG: [ - [1651577904.824420][9656:9661] CHIP:DMG: AttributeStatusIB = - [1651577904.824457][9656:9661] CHIP:DMG: { - [1651577904.824492][9656:9661] CHIP:DMG: AttributePathIB = - [1651577904.824541][9656:9661] CHIP:DMG: { - [1651577904.824587][9656:9661] CHIP:DMG: Endpoint = 0x1, - [1651577904.824628][9656:9661] CHIP:DMG: Cluster = 0x201, - [1651577904.824674][9656:9661] CHIP:DMG: Attribute = 0x0000_0018, - [1651577904.824711][9656:9661] CHIP:DMG: } - [1651577904.824757][9656:9661] CHIP:DMG: - [1651577904.824797][9656:9661] CHIP:DMG: StatusIB = - [1651577904.824840][9656:9661] CHIP:DMG: { - [1651577904.824878][9656:9661] CHIP:DMG: status = 0x00 (SUCCESS), - [1651577904.824919][9656:9661] CHIP:DMG: }, - [1651577904.824957][9656:9661] CHIP:DMG: - [1651577904.824993][9656:9661] CHIP:DMG: }, - [1651577904.825035][9656:9661] CHIP:DMG: - [1651577904.825067][9656:9661] CHIP:DMG: ], - [1651577904.825106][9656:9661] CHIP:DMG: - [1651577904.825138][9656:9661] CHIP:DMG: InteractionModelRevision = 1 - [1651577904.825169][9656:9661] CHIP:DMG: } - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A0018 + command: "writeAttribute" + attribute: "MaxCoolSetpointLimit" + PICS: TSTAT.S.F01 && TSTAT.S.A0018 arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + value: 1600 - label: "Writes the limit of MaxCoolSetpointLimit to MaxCoolSetpointLimit attribute" command: "writeAttribute" attribute: "MaxCoolSetpointLimit" - PICS: TSTAT.S.A0018 + PICS: TSTAT.S.F01 && TSTAT.S.A0018 arguments: value: 3200 - label: "Writes (sets back) default value of MinHeatSetpointLimit" command: "writeAttribute" attribute: "MinHeatSetpointLimit" - PICS: TSTAT.S.A0015 + PICS: TSTAT.S.F01 && TSTAT.S.A0015 arguments: value: 700 - label: "Writes (sets back)default value of MaxHeatSetpointLimit" - verification: | - ./chip-tool thermostat write max-heat-setpoint-limit 3000 1 1 - CHIP:ZCL: status: Success (0x0000) - CHIP:TOO: Default Success Response - CHIP:DMG: WriteClient moving to [Uninitiali] - CHIP:EM: Sending Standalone Ack for MessageCounter:1 on exchange 12610i - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A0016 + command: "writeAttribute" + attribute: "MaxHeatSetpointLimit" + PICS: TSTAT.S.F01 && TSTAT.S.A0016 &&!TSTAT.S.F05 arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + value: 3000 - label: "Writes MaxHeatSetpointLimit That meets the deadband of 2.5C" command: "writeAttribute" attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.F01 && A_MAXHEATSETPOINTLIMIT &&!TSTAT.S.F05 + 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.A0017 + 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.A0018 + PICS: TSTAT.S.F01 && TSTAT.S.A0018 arguments: value: 3200 @@ -940,7 +702,7 @@ tests: the value is within range" command: "readAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.A0019 + PICS: TSTAT.S.F05 response: value: 25 constraints: @@ -953,7 +715,7 @@ tests: MinSetpointDeadBand attribute" command: "writeAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.A0019 + PICS: TSTAT.S.F05 arguments: value: 5 @@ -962,14 +724,14 @@ tests: MinSetpointDeadBand attribute" command: "readAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.A0019 + PICS: TSTAT.S.F05 response: value: 5 - label: "Writes the value below MinSetpointDeadBand" command: "writeAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.A0019 + PICS: TSTAT.S.F05 arguments: value: -1 response: @@ -978,7 +740,7 @@ tests: - label: "Writes the value above MinSetpointDeadBand " command: "writeAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.A0019 + PICS: TSTAT.S.F05 arguments: value: 30 response: @@ -987,14 +749,14 @@ tests: - label: "Writes the min limit of MinSetpointDeadBand" command: "writeAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.A0019 + PICS: TSTAT.S.F05 arguments: value: 0 - label: "Writes the max limit of MinSetpointDeadBand" command: "writeAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.A0019 + PICS: TSTAT.S.F05 arguments: value: 25 @@ -1003,7 +765,7 @@ tests: the value is valid" command: "readAttribute" attribute: "ControlSequenceOfOperation" - PICS: TSTAT.S.A001b + PICS: TSTAT.S.F00 || TSTAT.S.F01 response: value: 4 constraints: @@ -1016,14 +778,14 @@ tests: valid value" command: "writeAttribute" attribute: "ControlSequenceOfOperation" - PICS: TSTAT.S.A001b + 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.A001b + PICS: TSTAT.S.F00 || TSTAT.S.F01 response: value: 2 @@ -1032,7 +794,7 @@ tests: meet deadband constraint" command: "writeAttribute" attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.F00 && A_MINHEATSETPOINTLIMIT && TSTAT.S.F05 + PICS: TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.F05 arguments: value: 2950 @@ -1044,25 +806,14 @@ tests: value: 2600 - label: "Sets OccupiedHeatingSetpoint to default value" - verification: | - ./chip-tool thermostat write occupied-heating-setpoint -30 1 1 - [1653575015.985079][16976:16981] CHIP:DMG: StatusIB = - [1653575015.985098][16976:16981] CHIP:DMG: { - [1653575015.985115][16976:16981] CHIP:DMG: status = 0x00 (SUCCESS), - [1653575015.985131][16976:16981] CHIP:DMG: } - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A0012 + command: "writeAttribute" + attribute: "OccupiedHeatingSetpoint" + PICS: TSTAT.S.F00 arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - #issue #18545 SetpointRaise command is failing - - label: "Sends SetpointRaise Command" - PICS: PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00 + value: 2000 + + - label: "Sends SetpointRaise Command Heat Only" + PICS: TSTAT.S.F00 command: "SetpointRaiseLower" arguments: values: @@ -1076,31 +827,19 @@ tests: write" command: "readAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: PICS_SKIP_SAMPLE_APP && TSTAT.S.A0012 + PICS: TSTAT.S.F00 response: value: 1700 - label: "Sets OccupiedHeatingSetpoint to default value" - verification: | - ./chip-tool thermostat write occupied-heating-setpoint 2000 1 1 - CHIP:ZCL: WriteResponse: - CHIP:ZCL: status: Success (0x0000) - CHIP:TOO: Default Success Response - CHIP:DMG: WriteClient moving to [Uninitiali] - CHIP:EM: Sending Standalone Ack for MessageCounter:1 on exchange 11247i - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A0012 + command: "writeAttribute" + attribute: "OccupiedHeatingSetpoint" + PICS: TSTAT.S.F00 arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - #issue #18545 SetpointRaise command is failing - - label: "Sends SetpointRaise Command" - PICS: PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00 + value: 2000 + + - label: "Sends SetpointRaise Command Heat Only" + PICS: TSTAT.S.F00 command: "SetpointRaiseLower" arguments: values: @@ -1114,20 +853,12 @@ tests: write" command: "readAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: PICS_SKIP_SAMPLE_APP && TSTAT.S.A0012 + PICS: TSTAT.S.F00 response: - value: 30 - - - label: "Sets OccupiedCoolingSetpoint to default value" - command: "writeAttribute" - attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.A0011 - arguments: - value: 2600 + value: 2300 - #issue #18545 SetpointRaise command is failing - - label: "Sends SetpointRaise Command" - PICS: PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00 + - label: "Sends SetpointRaise Command Cool Only" + PICS: TSTAT.S.F01 command: "SetpointRaiseLower" arguments: values: @@ -1141,20 +872,19 @@ tests: write" command: "readAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: PICS_SKIP_SAMPLE_APP && TSTAT.S.A0011 + PICS: TSTAT.S.F01 response: value: 2300 - label: "Sets OccupiedCoolingSetpoint to default value" command: "writeAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.A0011 + PICS: TSTAT.S.F01 arguments: value: 2600 - #issue #18545 SetpointRaise command is failing - - label: "Sends SetpointRaise Command" - PICS: PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00 + - label: "Sends SetpointRaise Command Cool Only" + PICS: TSTAT.S.F01 command: "SetpointRaiseLower" arguments: values: @@ -1168,39 +898,26 @@ tests: write" command: "readAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: PICS_SKIP_SAMPLE_APP && TSTAT.S.A0011 + PICS: TSTAT.S.F01 response: value: 2900 - label: "Sets OccupiedCoolingSetpoint to default value" command: "writeAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.A0011 + PICS: TSTAT.S.F01 arguments: value: 2600 - label: "Sets OccupiedHeatingSetpoint to default value" - verification: | - ./chip-tool thermostat read occupied-heating-setpoint 2000 1 1 - CHIP:ZCL: ReadAttributesResponse: - CHIP:ZCL: ClusterId: 0x0000_0201 - CHIP:ZCL: attributeId: 0x0000_0012 - CHIP:ZCL: status: Success (0x0000) - CHIP:ZCL: attribute TLV Type: 0x00 - CHIP:TOO: Int16s attribute Response: 2000 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A0012 + command: "writeAttribute" + attribute: "OccupiedHeatingSetpoint" + PICS: TSTAT.S.F00 arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - #issue #18545 SetpointRaise command is failing - - label: "Sends SetpointRaise Command" - PICS: PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00 + value: 2000 + + - label: "Sends SetpointRaise Command Heat & Cool" + PICS: TSTAT.S.F00 || TSTAT.S.F01 command: "SetpointRaiseLower" arguments: values: @@ -1214,7 +931,7 @@ tests: write" command: "readAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: PICS_SKIP_SAMPLE_APP && TSTAT.S.A0011 + PICS: TSTAT.S.F01 response: value: 2300 @@ -1223,39 +940,26 @@ tests: write" command: "readAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: PICS_SKIP_SAMPLE_APP && TSTAT.S.A0012 + PICS: TSTAT.S.F00 response: value: 1700 - label: "Sets OccupiedCoolingSetpoint to default value" command: "writeAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.A0011 + PICS: TSTAT.S.F01 arguments: value: 2600 - label: "Sets OccupiedHeatingSetpoint to default value" - verification: | - ./chip-tool thermostat read occupied-heating-setpoint 2000 1 1 - CHIP:ZCL: ReadAttributesResponse: - CHIP:ZCL: ClusterId: 0x0000_0201 - CHIP:ZCL: attributeId: 0x0000_0012 - CHIP:ZCL: status: Success (0x0000) - CHIP:ZCL: attribute TLV Type: 0x00 - CHIP:TOO: Int16s attribute Response: 2000 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && TSTAT.S.A0012 + command: "writeAttribute" + attribute: "OccupiedHeatingSetpoint" + PICS: TSTAT.S.F00 arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - #issue #18545 SetpointRaise command is failing - - label: "Sends SetpointRaise Command" - PICS: PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00 + value: 2000 + + - label: "Sends SetpointRaise Command Heat & Cool" + PICS: TSTAT.S.F00 || TSTAT.S.F01 command: "SetpointRaiseLower" arguments: values: @@ -1269,7 +973,7 @@ tests: write" command: "readAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: PICS_SKIP_SAMPLE_APP && TSTAT.S.A0011 + PICS: TSTAT.S.F01 response: value: 2900 @@ -1278,6 +982,6 @@ tests: write" command: "readAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: PICS_SKIP_SAMPLE_APP && TSTAT.S.A0012 + PICS: TSTAT.S.F00 response: value: 2300 diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values index 4460c54a835fa0..8887e6bdebe372 100644 --- a/src/app/tests/suites/certification/ci-pics-values +++ b/src/app/tests/suites/certification/ci-pics-values @@ -33,12 +33,6 @@ DGSW.S.A0001=1 DGSW.S.A0002=1 DGSW.S.A0003=1 DGSW.S.C00.Rsp=1 -A_OCCUPIEDCOOLINGSETPOINT=1 -A_OCCUPIEDHEATINGSETPOINT=1 -A_MINHEATSETPOINTLIMIT=1 -A_MAXHEATSETPOINTLIMIT=1 -A_MINCOOLSETPOINTLIMIT=1 -A_MAXCOOLSETPOINTLIMIT=1 VENDOR_SUBTYPE=1 DEVTYPE_SUBTYPE=1 @@ -56,18 +50,6 @@ PICS_SDK_CI_ONLY=1 OO_LT=1 MANUAL_FLOW_CHANGE=1 -#Thermostat Server -TSTAT.S.F00=0 -TSTAT.S.F01=0 -TSTAT.S.F02=0 -TSTAT.S.F03=0 -TSTAT.S.F04=0 -TSTAT.S.F05=0 -A_MINHEATSETPOINTLIMIT=1 -A_MAXHEATSETPOINTLIMIT=1 -A_MINCOOLSETPOINTLIMIT=1 -A_MAXCOOLSETPOINTLIMIT=1 - # WindowCovering aka WNCV WNCV.S.F00=1 WNCV.S.F02=1 @@ -1024,11 +1006,6 @@ ILL.S.A0002=1 ILL.S.A0003=1 ILL.S.A0004=1 -#Thermostat -#Client Commands -TSTAT.C.C00.Tx=1 -TSTAT.C.C04.Tx=1 - #Door Lock #server attributes DRLK.S.A0000=1 @@ -1340,6 +1317,14 @@ OPCREDS.C.C0a.Tx=1 OPCREDS.C.C0b.Tx=1 #Thermostat +#Thermostat Server +TSTAT.S.F00=1 +TSTAT.S.F01=1 +TSTAT.S.F02=0 +TSTAT.S.F03=0 +TSTAT.S.F04=0 +TSTAT.S.F05=1 + TSTAT.S.A0000=1 TSTAT.S.A0001=0 TSTAT.S.A0002=0 @@ -1390,12 +1375,17 @@ TSTAT.S.A0044=0 TSTAT.S.A0045=0 TSTAT.S.A0046=0 TSTAT.S.A0047=0 -#commands + +#Server commands TSTAT.S.C00.Rsp=1 -TSTAT.S.C01.Rsp=1 -TSTAT.S.C02.Rsp=1 -TSTAT.S.C03.Rsp=1 -TSTAT.S.C04.Rsp=1 +TSTAT.S.C01.Rsp=0 +TSTAT.S.C02.Rsp=0 +TSTAT.S.C03.Rsp=0 +TSTAT.S.C04.Rsp=0 + +#Client Commands +TSTAT.C.C00.Tx=1 +TSTAT.C.C04.Tx=0 #Access Control cluster ACL.S.A0000=1 diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index 7c57104924eafb..4f707a86b477c5 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -27334,7 +27334,7 @@ class Test_TC_TMP_2_1Suite : public TestCommand class Test_TC_TSTAT_1_1Suite : public TestCommand { public: - Test_TC_TSTAT_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSTAT_1_1", 17, credsIssuerConfig) + Test_TC_TSTAT_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSTAT_1_1", 16, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -27386,7 +27386,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand uint32_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "map32")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 0UL)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 1UL)); VerifyOrReturn(CheckConstraintMaxValue("value", value, 63UL)); } break; @@ -27412,7 +27412,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); } break; case 5: @@ -27421,7 +27421,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); } break; case 6: @@ -27430,7 +27430,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 7: @@ -27439,7 +27439,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); } break; case 8: @@ -27448,7 +27448,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); } break; case 9: @@ -27457,6 +27457,8 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); VerifyOrReturn(CheckConstraintContains("value", value, 25UL)); } break; @@ -27522,10 +27524,6 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "list")); } break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -27566,32 +27564,32 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand chip::NullOptional); } case 4: { - LogStep(4, "Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } @@ -27636,16 +27634,6 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, "Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } } return CHIP_NO_ERROR; } @@ -27654,7 +27642,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand class Test_TC_TSTAT_2_1Suite : public TestCommand { public: - Test_TC_TSTAT_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSTAT_2_1", 51, credsIssuerConfig) + Test_TC_TSTAT_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSTAT_2_1", 50, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -27807,8 +27795,8 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "int16")); - VerifyOrReturn(CheckConstraintMinValue("value", value, -27315)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 1600)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); } break; case 13: @@ -27817,8 +27805,8 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "int16")); - VerifyOrReturn(CheckConstraintMinValue("value", value, -27315)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); } break; case 14: @@ -27827,8 +27815,8 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "int16")); - VerifyOrReturn(CheckConstraintMinValue("value", value, -27315)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 1600)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); } break; case 15: @@ -27837,8 +27825,8 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "int16")); - VerifyOrReturn(CheckConstraintMinValue("value", value, -27315)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); } break; case 16: @@ -27847,8 +27835,8 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "int16")); - VerifyOrReturn(CheckConstraintMinValue("value", value, -27315)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); } break; case 17: @@ -27922,20 +27910,16 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand } break; case 24: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "", "enum8")); VerifyOrReturn(CheckConstraintMinValue("value", value, 0U)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 4U)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 9U)); } break; - case 26: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -27945,7 +27929,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 6U)); } break; - case 27: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -27955,7 +27939,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 28: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -27965,7 +27949,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 29: + case 28: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -27975,7 +27959,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 1U)); } break; - case 30: + case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -27985,7 +27969,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 1440U)); } break; - case 31: + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -27995,7 +27979,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 7U)); } break; - case 32: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -28005,7 +27989,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 127U)); } break; - case 33: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -28015,7 +27999,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 2U)); } break; - case 34: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -28025,7 +28009,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); } break; - case 35: + case 34: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint32_t value; @@ -28033,7 +28017,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "utc")); } break; - case 36: + case 35: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -28043,7 +28027,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 37: + case 36: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -28053,7 +28037,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 38: + case 37: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -28063,7 +28047,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 39: + case 38: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -28073,7 +28057,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 40: + case 39: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -28083,7 +28067,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 41: + case 40: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -28093,7 +28077,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 42: + case 41: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -28103,7 +28087,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 43: + case 42: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -28113,7 +28097,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 4U)); } break; - case 44: + case 43: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -28123,7 +28107,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 65535U)); } break; - case 45: + case 44: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -28133,7 +28117,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 3U)); } break; - case 46: + case 45: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -28143,7 +28127,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 3U)); } break; - case 47: + case 46: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint32_t value; @@ -28151,7 +28135,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "", "map32")); } break; - case 48: + case 47: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -28161,7 +28145,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 5U)); } break; - case 49: + case 48: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -28171,7 +28155,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); } break; - case 50: + case 49: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -28204,7 +28188,6 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand } case 1: { LogStep(1, "Reads mandatory attributes from DUT: LocalTemperature"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::LocalTemperature::Id, true, chip::NullOptional); } @@ -28216,7 +28199,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand } case 3: { LogStep(3, "Read Occupancy attribute from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::Occupancy::Id, true, chip::NullOptional); } @@ -28270,36 +28253,36 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand } case 12: { LogStep(12, "Reads optional attributes from DUT: OccupiedCoolingSetpoint"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedCoolingSetpoint::Id, true, chip::NullOptional); } case 13: { LogStep(13, "Reads mandatory attributes from DUT: OccupiedHeatingSetpoint"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedHeatingSetpoint::Id, true, chip::NullOptional); } case 14: { LogStep(14, "Read UnoccupiedCoolingSetpoint attribute from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, true, chip::NullOptional); } case 15: { LogStep(15, "Read UnoccupiedHeatingSetpoint attribute from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Reads mandatory attributes from DUT: MinHeatSetpointLimit"); + LogStep(16, "Reads attribute from DUT: MinHeatSetpointLimit"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, true, chip::NullOptional); } case 17: { - LogStep(17, "Reads mandatory attributes from DUT: MaxHeatSetpointLimit"); + LogStep(17, "Reads attribute from DUT: MaxHeatSetpointLimit"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, true, chip::NullOptional); @@ -28318,7 +28301,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand } case 20: { LogStep(20, "Reads optional attributes from DUT: MinSetpointDeadBand"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0019"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinSetpointDeadBand::Id, true, chip::NullOptional); } @@ -28330,180 +28313,166 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand } case 22: { LogStep(22, "Reads mandatory attributes from DUT: ControlSequenceOfOperation"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A001b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::ControlSequenceOfOperation::Id, true, chip::NullOptional); } case 23: { LogStep(23, "Reads mandatory attributes from DUT: SystemMode"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A001c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::SystemMode::Id, true, chip::NullOptional); } case 24: { - LogStep(24, - "Read AlarmMask attribute from the DUT and Verify that the DUT responds with a map8 value.The value has to be " - "in the range of 0x00 to 0x07."); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A001d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 25: { - LogStep(25, "Read ThermostatRunningMode attribute from the DUT"); + LogStep(24, "Read ThermostatRunningMode attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A001e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::ThermostatRunningMode::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "Reads constraints of optional attributes from DUT: StartOfWeek"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0020"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 25: { + LogStep(25, "Reads constraints of optional attributes from DUT: StartOfWeek"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::StartOfWeek::Id, true, chip::NullOptional); } - case 27: { - LogStep(27, "Reads optional attributes from DUT: NumberOfWeeklyTransitions"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0021"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 26: { + LogStep(26, "Reads optional attributes from DUT: NumberOfWeeklyTransitions"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::NumberOfWeeklyTransitions::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, "Reads optional attributes from DUT: NumberOfDailyTransitions"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0022"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 27: { + LogStep(27, "Reads optional attributes from DUT: NumberOfDailyTransitions"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::NumberOfDailyTransitions::Id, true, chip::NullOptional); } - case 29: { - LogStep(29, "Read TemperatureSetpointHold attribute from the DUT"); + case 28: { + LogStep(28, "Read TemperatureSetpointHold attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0023"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::TemperatureSetpointHold::Id, true, chip::NullOptional); } - case 30: { - LogStep(30, "Read TemperatureSetpointHoldDuration attribute from the DUT"); + case 29: { + LogStep(29, "Read TemperatureSetpointHoldDuration attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0024"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::TemperatureSetpointHoldDuration::Id, true, chip::NullOptional); } - case 31: { - LogStep(31, "Read ThermostatProgrammingOperationMode attribute from the DUT"); + case 30: { + LogStep(30, "Read ThermostatProgrammingOperationMode attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0025"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::ThermostatProgrammingOperationMode::Id, true, chip::NullOptional); } - case 32: { - LogStep(32, "Read ThermostatRunningState attribute from the DUT"); + case 31: { + LogStep(31, "Read ThermostatRunningState attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0029"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::ThermostatRunningState::Id, true, chip::NullOptional); } - case 33: { - LogStep(33, "Read SetpointChangeSource attribute from the DUT"); + case 32: { + LogStep(32, "Read SetpointChangeSource attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0030"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::SetpointChangeSource::Id, true, chip::NullOptional); } - case 34: { - LogStep(34, "Read SetpointChangeAmount attribute from the DUT"); + case 33: { + LogStep(33, "Read SetpointChangeAmount attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0031"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::SetpointChangeAmount::Id, true, chip::NullOptional); } - case 35: { - LogStep(35, "Read SetpointChangeSourceTimestamp attribute from the DUT"); + case 34: { + LogStep(34, "Read SetpointChangeSourceTimestamp attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0032"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::SetpointChangeSourceTimestamp::Id, true, chip::NullOptional); } - case 36: { - LogStep(36, "Read OccupiedSetback attribute from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0034"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 35: { + LogStep(35, "Read OccupiedSetback attribute from the DUT"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedSetback::Id, true, chip::NullOptional); } - case 37: { - LogStep(37, "Read OccupiedSetbackMin attribute from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0035"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 36: { + LogStep(36, "Read OccupiedSetbackMin attribute from the DUT"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedSetbackMin::Id, true, chip::NullOptional); } - case 38: { - LogStep(38, "Read OccupiedSetbackMax attribute from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0036"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 37: { + LogStep(37, "Read OccupiedSetbackMax attribute from the DUT"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedSetbackMax::Id, true, chip::NullOptional); } - case 39: { - LogStep(39, "Read UnoccupiedSetback attribute from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0037"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 38: { + LogStep(38, "Read UnoccupiedSetback attribute from the DUT"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::UnoccupiedSetback::Id, true, chip::NullOptional); } - case 40: { - LogStep(40, "Read UnoccupiedSetbackMin attribute from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0038"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 39: { + LogStep(39, "Read UnoccupiedSetbackMin attribute from the DUT"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::UnoccupiedSetbackMin::Id, true, chip::NullOptional); } - case 41: { - LogStep(41, "Read UnoccupiedSetbackMax attribute from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0039"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 40: { + LogStep(40, "Read UnoccupiedSetbackMax attribute from the DUT"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::UnoccupiedSetbackMax::Id, true, chip::NullOptional); } - case 42: { - LogStep(42, "Read EmergencyHeatDelta attribute from the DUT"); + case 41: { + LogStep(41, "Read EmergencyHeatDelta attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A003a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::EmergencyHeatDelta::Id, true, chip::NullOptional); } - case 43: { - LogStep(43, "Read ACType attribute from the DUT"); + case 42: { + LogStep(42, "Read ACType attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0040"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::ACType::Id, true, chip::NullOptional); } - case 44: { - LogStep(44, "Read ACCapacity attribute from the DUT"); + case 43: { + LogStep(43, "Read ACCapacity attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0041"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::ACCapacity::Id, true, chip::NullOptional); } - case 45: { - LogStep(45, "Read ACRefrigerantType attribute from the DUT"); + case 44: { + LogStep(44, "Read ACRefrigerantType attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0042"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::ACRefrigerantType::Id, true, chip::NullOptional); } - case 46: { - LogStep(46, "Read ACCompressorType attribute from the DUT"); + case 45: { + LogStep(45, "Read ACCompressorType attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0043"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::ACCompressorType::Id, true, chip::NullOptional); } - case 47: { - LogStep(47, "Read ACErrorCode attribute from the DUT"); + case 46: { + LogStep(46, "Read ACErrorCode attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0044"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::ACErrorCode::Id, true, chip::NullOptional); } - case 48: { - LogStep(48, "Read ACLouverPosition attribute from the DUT"); + case 47: { + LogStep(47, "Read ACLouverPosition attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0045"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::ACLouverPosition::Id, true, chip::NullOptional); } - case 49: { - LogStep(49, "Read ACCoilTemperature attribute from the DUT"); + case 48: { + LogStep(48, "Read ACCoilTemperature attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0046"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::ACCoilTemperature::Id, true, chip::NullOptional); } - case 50: { - LogStep(50, "Read ACCapacityFormat attribute from the DUT"); + case 49: { + LogStep(49, "Read ACCapacityFormat attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0047"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::ACCapacityformat::Id, true, chip::NullOptional); @@ -28582,7 +28551,6 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand break; case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); @@ -28632,8 +28600,7 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 17: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -28716,11 +28683,14 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand break; case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 34: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + int16_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("minHeatSetpointLimit", value, 800)); + } break; case 35: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); @@ -28729,26 +28699,35 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 37: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 38: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 39: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 40: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + int16_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("maxHeatSetpointLimit", value, 3000)); + VerifyOrReturn(CheckConstraintType("value", "", "int16")); + VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); + } break; case 41: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 42: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 43: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 44: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -28756,20 +28735,19 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand VerifyOrReturn(CheckValue("maxHeatSetpointLimit", value, 2900)); } break; - case 44: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; case 45: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 46: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 47: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 48: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 49: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -28780,10 +28758,10 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); } break; - case 49: + case 50: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 50: + case 51: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -28791,14 +28769,11 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand VerifyOrReturn(CheckValue("minCoolSetpointLimit", value, 2000)); } break; - case 51: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; case 52: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 53: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 54: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -28807,6 +28782,9 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 56: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 57: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -28817,23 +28795,22 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); } break; - case 57: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; case 58: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 59: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + int16_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("maxCoolSetpointLimit", value, 2000)); + } break; case 60: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 61: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 62: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -28843,7 +28820,6 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand break; case 64: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 65: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -28855,6 +28831,9 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 68: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 69: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int8_t value; @@ -28865,10 +28844,10 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 25)); } break; - case 69: + case 70: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 70: + case 71: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int8_t value; @@ -28876,19 +28855,19 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand VerifyOrReturn(CheckValue("minSetpointDeadBand", value, 5)); } break; - case 71: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; case 72: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 73: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 74: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 75: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 76: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::Thermostat::ThermostatControlSequence value; @@ -28899,10 +28878,10 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 5U)); } break; - case 76: + case 77: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 77: + case 78: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::Thermostat::ThermostatControlSequence value; @@ -28910,20 +28889,19 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand VerifyOrReturn(CheckValue("controlSequenceOfOperation", value, 2U)); } break; - case 78: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; case 79: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 80: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 81: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 82: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 83: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -28931,24 +28909,20 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand VerifyOrReturn(CheckValue("occupiedHeatingSetpoint", value, 1700)); } break; - case 83: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; case 84: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 85: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 86: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("occupiedHeatingSetpoint", value, 30)); + VerifyOrReturn(CheckValue("occupiedHeatingSetpoint", value, 2300)); } break; - case 86: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; case 87: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; @@ -28979,7 +28953,6 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand break; case 93: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 94: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -29005,7 +28978,6 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand break; case 98: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 99: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -29050,13 +29022,13 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 1: { LogStep(1, "Reads OccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedCoolingSetpoint::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Writes a value back that is different but valid for OccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 2500; @@ -29066,13 +29038,13 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 3: { LogStep(3, "Reads it back again to confirm the successful write of OccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedCoolingSetpoint::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Writes OccupiedCoolingSetpoint to value below the MinCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Writes OccupiedCoolingSetpoint to value below the ABSMinCoolSetpointLimit"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 30; @@ -29082,7 +29054,7 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 5: { LogStep(5, "Writes OccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 4000; @@ -29092,13 +29064,13 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 6: { LogStep(6, "Writes the limit of MinCoolSetpointLimit to OccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && !TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + int16_t value; + value = 1600; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, + Thermostat::Attributes::OccupiedCoolingSetpoint::Id, value, chip::NullOptional, + chip::NullOptional); } case 7: { LogStep(7, "Writes the CoolingSetpoint below the HeatingSetpoint when auto is enabled"); @@ -29112,7 +29084,7 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 8: { LogStep(8, "Writes the limit of MaxCoolSetpointLimit to OccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 3200; @@ -29122,13 +29094,13 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 9: { LogStep(9, "Reads OccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedHeatingSetpoint::Id, true, chip::NullOptional); } case 10: { LogStep(10, "Writes a value back that is different but valid for OccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 2100; @@ -29138,13 +29110,13 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 11: { LogStep(11, "Reads it back again to confirm the successful write of OccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedHeatingSetpoint::Id, true, chip::NullOptional); } case 12: { LogStep(12, "Writes OccupiedHeatingSetpoint to value below the MinHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 600; @@ -29154,7 +29126,7 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 13: { LogStep(13, "Writes OccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 4010; @@ -29164,7 +29136,7 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 14: { LogStep(14, "Writes the limit of MinHeatSetpointLimit to OccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 700; @@ -29190,23 +29162,23 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 17: { LogStep(17, "Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + int16_t value; + value = 3000; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, + Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, + chip::NullOptional); } case 18: { LogStep(18, "Reads UnoccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, true, chip::NullOptional); } case 19: { LogStep(19, "Writes a value back that is different but valid for UnoccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 2500; @@ -29216,13 +29188,13 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 20: { LogStep(20, "Reads it back again to confirm the successful write of UnoccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, true, chip::NullOptional); } case 21: { - LogStep(21, "Writes UnoccupiedCoolingSetpoint to value below the MinHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(21, "Writes UnoccupiedCoolingSetpoint to value below the MinCoolSetpointLimit"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 1002; @@ -29231,8 +29203,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand chip::NullOptional); } case 22: { - LogStep(22, "Writes UnoccupiedCoolingSetpoint to value above the MaxHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(22, "Writes UnoccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 4010; @@ -29242,7 +29214,7 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 23: { LogStep(23, "Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 1800; @@ -29252,7 +29224,7 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 24: { LogStep(24, "Writes the limit of MaxCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 3000; @@ -29262,13 +29234,13 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 25: { LogStep(25, "Reads UnoccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, true, chip::NullOptional); } case 26: { LogStep(26, "Writes a value back that is different but valid for UnoccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 2500; @@ -29278,13 +29250,13 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 27: { LogStep(27, "Reads it back again to confirm the successful write of UnoccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, true, chip::NullOptional); } case 28: { LogStep(28, "Writes UnoccupiedHeatingSetpoint to value below the MinHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 500; @@ -29294,7 +29266,7 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 29: { LogStep(29, "Writes UnoccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 4010; @@ -29304,7 +29276,7 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 30: { LogStep(30, "Writes the limit of MinHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 1800; @@ -29314,7 +29286,7 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 31: { LogStep(31, "Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 3000; @@ -29324,389 +29296,382 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 32: { LogStep(32, "Reads MinHeatSetpointLimit attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, true, chip::NullOptional); } case 33: { LogStep(33, "Writes a value back that is different but valid for MinHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + int16_t value; + value = 800; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, + value, chip::NullOptional, chip::NullOptional); } case 34: { LogStep(34, "Reads it back again to confirm the successful write of MinHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, + true, chip::NullOptional); } case 35: { - LogStep(35, "Writes MinHeatSetpointLimit to value below the AbsMinHeatSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(35, "Writes a value back that is different but violates the deadband"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0015 && TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; - value = 650; + value = 2000; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } case 36: { - LogStep(36, "Writes MinHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(36, "Writes MinHeatSetpointLimit to value below the AbsMinHeatSetpointLimit "); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; - value = 4050; + value = 650; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } case 37: { - LogStep(37, "Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(37, "Writes MinHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit "); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; - value = 700; + value = 4050; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } case 38: { - LogStep(38, "Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(38, "Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + int16_t value; + value = 700; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, + value, chip::NullOptional, chip::NullOptional); } case 39: { - LogStep(39, "Reads MaxHeatSetpointLimit attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(39, "Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.F05"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + int16_t value; + value = 3000; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, + value, chip::NullOptional, chip::NullOptional); } case 40: { - LogStep(40, "Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && A_MINHEATSETPOINTLIMIT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(40, "Reads MaxHeatSetpointLimit attribute from Server DUT and verifies that the value is within range"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, + true, chip::NullOptional); + } + case 41: { + LogStep(41, "Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 700; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 41: { - LogStep(41, "Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("A_MINHEATSETPOINTLIMIT && TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 42: { + LogStep(42, "Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0015 && TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 3000; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 42: { - LogStep(42, "Writes a value back that is different but valid for MaxHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 43: { + LogStep(43, "Writes a value back that is different but valid for MaxHeatSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 2900; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 43: { - LogStep(43, "Reads it back again to confirm the successful write of MaxHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 44: { + LogStep(44, "Reads it back again to confirm the successful write of MaxHeatSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, true, chip::NullOptional); } - case 44: { - LogStep(44, "Writes MaxHeatSetpointLimit to value below the AbsMinHeatSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 45: { + LogStep(45, "Writes MaxHeatSetpointLimit to value below the AbsMinHeatSetpointLimit "); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 500; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 45: { - LogStep(45, "Writes MaxHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 46: { + LogStep(46, "Writes MaxHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit "); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 4000; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 46: { - LogStep(46, "Writes the limit of AbsMinHeatSetpointLimit to MaxHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 47: { + LogStep(47, "Writes the limit of AbsMinHeatSetpointLimit to MaxHeatSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 700; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 47: { - LogStep(47, "Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 48: { + LogStep(48, "Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + int16_t value; + value = 3000; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, + value, chip::NullOptional, chip::NullOptional); } - case 48: { - LogStep(48, "Reads MinCoolSetpointLimit attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 49: { + LogStep(49, "Reads MinCoolSetpointLimit attribute from Server DUT and verifies that the value is within range"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, true, chip::NullOptional); } - case 49: { - LogStep(49, "Writes a value back that is different but valid for MinCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 50: { + LogStep(50, "Writes a value back that is different but valid for MinCoolSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 2000; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 50: { - LogStep(50, "Reads it back again to confirm the successful write of MinCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 51: { + LogStep(51, "Reads it back again to confirm the successful write of MinCoolSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, true, chip::NullOptional); } - case 51: { - LogStep(51, "Writes MinCoolSetpointLimit to value below the AbsMinCoolSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 52: { + LogStep(52, "Writes MinCoolSetpointLimit to value below the AbsMinCoolSetpointLimit "); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 1000; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 52: { - LogStep(52, "Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 53: { + LogStep(53, "Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit "); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 4000; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 53: { - LogStep(53, "Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 54: { + LogStep(54, "Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 1600; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 54: { - LogStep(54, "Writes the limit of MaxCoolSetpointLimit to MinCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 55: { + LogStep(55, "Writes the limit of MaxCoolSetpointLimit to MinCoolSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 3200; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 55: { - LogStep(55, "Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && A_MINCOOLSETPOINTLIMIT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 56: { + LogStep(56, "Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 1600; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 56: { - LogStep(56, "Reads MaxCoolSetpointLimit attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 57: { + LogStep(57, "Reads MaxCoolSetpointLimit attribute from Server DUT and verifies that the value is within range"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, true, chip::NullOptional); } - case 57: { - LogStep(57, "Writes a value back that is different but valid for MaxCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } case 58: { - LogStep(58, "Reads it back again to confirm the successful write of MaxCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(58, "Writes a value back that is different but valid for MaxCoolSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + int16_t value; + value = 2000; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, + value, chip::NullOptional, chip::NullOptional); } case 59: { - LogStep(59, "Writes MaxCoolSetpointLimit to value below the AbsMinCoolSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(59, "Reads it back again to confirm the successful write of MaxCoolSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, + true, chip::NullOptional); + } + case 60: { + LogStep(60, "Writes MaxCoolSetpointLimit to value below the AbsMinCoolSetpointLimit "); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 1000; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 60: { - LogStep(60, "Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 61: { + LogStep(61, "Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit "); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 4000; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 61: { - LogStep(61, "Writes the limit of AbsMinCoolSetpointLimit to MaxCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 62: { + LogStep(62, "Writes the limit of AbsMinCoolSetpointLimit to MaxCoolSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + int16_t value; + value = 1600; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, + value, chip::NullOptional, chip::NullOptional); } - case 62: { - LogStep(62, "Writes the limit of MaxCoolSetpointLimit to MaxCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 63: { + LogStep(63, "Writes the limit of MaxCoolSetpointLimit to MaxCoolSetpointLimit attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 3200; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 63: { - LogStep(63, "Writes (sets back) default value of MinHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 64: { + LogStep(64, "Writes (sets back) default value of MinHeatSetpointLimit"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 700; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 64: { - LogStep(64, "Writes (sets back)default value of MaxHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 65: { + LogStep(65, "Writes (sets back)default value of MaxHeatSetpointLimit"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0016 &&!TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + int16_t value; + value = 3000; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, + value, chip::NullOptional, chip::NullOptional); } - case 65: { - LogStep(65, "Writes MaxHeatSetpointLimit That meets the deadband of 2.5C"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && A_MAXHEATSETPOINTLIMIT &&!TSTAT.S.F05"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 66: { + LogStep(66, "Writes MaxHeatSetpointLimit That meets the deadband of 2.5C"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0016 &&!TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 2950; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 66: { - LogStep(66, "Writes (sets back) default value of MinCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 67: { + LogStep(67, "Writes (sets back) default value of MinCoolSetpointLimit"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 1600; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 67: { - LogStep(67, "Writes (sets back) default value of MaxCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 68: { + LogStep(68, "Writes (sets back) default value of MaxCoolSetpointLimit"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 3200; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 68: { - LogStep(68, "Reads MinSetpointDeadBand attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0019"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 69: { + LogStep(69, "Reads MinSetpointDeadBand attribute from Server DUT and verifies that the value is within range"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinSetpointDeadBand::Id, true, chip::NullOptional); } - case 69: { - LogStep(69, "Writes a value back that is different but valid for MinSetpointDeadBand attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0019"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 70: { + LogStep(70, "Writes a value back that is different but valid for MinSetpointDeadBand attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int8_t value; value = 5; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinSetpointDeadBand::Id, value, chip::NullOptional, chip::NullOptional); } - case 70: { - LogStep(70, "Reads it back again to confirm the successful write of MinSetpointDeadBand attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0019"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 71: { + LogStep(71, "Reads it back again to confirm the successful write of MinSetpointDeadBand attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinSetpointDeadBand::Id, true, chip::NullOptional); } - case 71: { - LogStep(71, "Writes the value below MinSetpointDeadBand"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0019"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 72: { + LogStep(72, "Writes the value below MinSetpointDeadBand"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int8_t value; value = -1; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinSetpointDeadBand::Id, value, chip::NullOptional, chip::NullOptional); } - case 72: { - LogStep(72, "Writes the value above MinSetpointDeadBand "); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0019"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 73: { + LogStep(73, "Writes the value above MinSetpointDeadBand "); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int8_t value; value = 30; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinSetpointDeadBand::Id, value, chip::NullOptional, chip::NullOptional); } - case 73: { - LogStep(73, "Writes the min limit of MinSetpointDeadBand"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0019"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 74: { + LogStep(74, "Writes the min limit of MinSetpointDeadBand"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int8_t value; value = 0; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinSetpointDeadBand::Id, value, chip::NullOptional, chip::NullOptional); } - case 74: { - LogStep(74, "Writes the max limit of MinSetpointDeadBand"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0019"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 75: { + LogStep(75, "Writes the max limit of MinSetpointDeadBand"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int8_t value; value = 25; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinSetpointDeadBand::Id, value, chip::NullOptional, chip::NullOptional); } - case 75: { - LogStep(75, "Reads ControlSequenceOfOperation from Server DUT and verifies that the value is valid"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A001b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 76: { + LogStep(76, "Reads ControlSequenceOfOperation from Server DUT and verifies that the value is valid"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 || TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::ControlSequenceOfOperation::Id, true, chip::NullOptional); } - case 76: { - LogStep(76, "Write Attribute command for ControlSequenceOfOperation with a new valid value"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A001b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 77: { + LogStep(77, "Write Attribute command for ControlSequenceOfOperation with a new valid value"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 || TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::Thermostat::ThermostatControlSequence value; value = static_cast(2); @@ -29714,24 +29679,23 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::ControlSequenceOfOperation::Id, value, chip::NullOptional, chip::NullOptional); } - case 77: { - LogStep(77, "Read it back again to confirm the successful write"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A001b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 78: { + LogStep(78, "Read it back again to confirm the successful write"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 || TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::ControlSequenceOfOperation::Id, true, chip::NullOptional); } - case 78: { - LogStep(78, "Writes MaxHeatSetpointLimit attribute to default value of 2950 to meet deadband constraint"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && A_MINHEATSETPOINTLIMIT && TSTAT.S.F05"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 79: { + LogStep(79, "Writes MaxHeatSetpointLimit attribute to default value of 2950 to meet deadband constraint"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 2950; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 79: { - LogStep(79, "Sets OccupiedCoolingSetpoint to default value"); + case 80: { + LogStep(80, "Sets OccupiedCoolingSetpoint to default value"); VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; @@ -29740,20 +29704,19 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::OccupiedCoolingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 80: { - LogStep(80, "Sets OccupiedHeatingSetpoint to default value"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 81: { + LogStep(81, "Sets OccupiedHeatingSetpoint to default value"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + int16_t value; + value = 2000; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, + Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, + chip::NullOptional); } - case 81: { - LogStep(81, "Sends SetpointRaise Command"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 82: { + LogStep(82, "Sends SetpointRaise Command Heat Only"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::Thermostat::Commands::SetpointRaiseLower::Type value; value.mode = static_cast(0); @@ -29763,26 +29726,25 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand ); } - case 82: { - LogStep(82, "Reads back OccupiedHeatingSetpoint to confirm the success of the write"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 83: { + LogStep(83, "Reads back OccupiedHeatingSetpoint to confirm the success of the write"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedHeatingSetpoint::Id, true, chip::NullOptional); } - case 83: { - LogStep(83, "Sets OccupiedHeatingSetpoint to default value"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 84: { + LogStep(84, "Sets OccupiedHeatingSetpoint to default value"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + int16_t value; + value = 2000; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, + Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, + chip::NullOptional); } - case 84: { - LogStep(84, "Sends SetpointRaise Command"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 85: { + LogStep(85, "Sends SetpointRaise Command Heat Only"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::Thermostat::Commands::SetpointRaiseLower::Type value; value.mode = static_cast(0); @@ -29792,26 +29754,15 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand ); } - case 85: { - LogStep(85, "Reads back OccupiedHeatingSetpoint to confirm the success of the write"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 86: { + LogStep(86, "Reads back OccupiedHeatingSetpoint to confirm the success of the write"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedHeatingSetpoint::Id, true, chip::NullOptional); } - case 86: { - LogStep(86, "Sets OccupiedCoolingSetpoint to default value"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = 2600; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedCoolingSetpoint::Id, value, chip::NullOptional, - chip::NullOptional); - } case 87: { - LogStep(87, "Sends SetpointRaise Command"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(87, "Sends SetpointRaise Command Cool Only"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::Thermostat::Commands::SetpointRaiseLower::Type value; value.mode = static_cast(1); @@ -29823,13 +29774,13 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 88: { LogStep(88, "Reads back OccupiedCoolingSetpoint to confirm the success of the write"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedCoolingSetpoint::Id, true, chip::NullOptional); } case 89: { LogStep(89, "Sets OccupiedCoolingSetpoint to default value"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 2600; @@ -29838,9 +29789,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand chip::NullOptional); } case 90: { - LogStep(90, "Sends SetpointRaise Command"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(90, "Sends SetpointRaise Command Cool Only"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::Thermostat::Commands::SetpointRaiseLower::Type value; value.mode = static_cast(1); @@ -29852,13 +29802,13 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 91: { LogStep(91, "Reads back OccupiedCoolingSetpoint to confirm the success of the write"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedCoolingSetpoint::Id, true, chip::NullOptional); } case 92: { LogStep(92, "Sets OccupiedCoolingSetpoint to default value"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 2600; @@ -29868,18 +29818,17 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 93: { LogStep(93, "Sets OccupiedHeatingSetpoint to default value"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + int16_t value; + value = 2000; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, + Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, + chip::NullOptional); } case 94: { - LogStep(94, "Sends SetpointRaise Command"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(94, "Sends SetpointRaise Command Heat & Cool"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 || TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::Thermostat::Commands::SetpointRaiseLower::Type value; value.mode = static_cast(2); @@ -29891,19 +29840,19 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 95: { LogStep(95, "Reads back OccupiedCoolingSetpoint to confirm the success of the write"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedCoolingSetpoint::Id, true, chip::NullOptional); } case 96: { LogStep(96, "Reads back OccupiedHeatingSetpoint to confirm the success of the write"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedHeatingSetpoint::Id, true, chip::NullOptional); } case 97: { LogStep(97, "Sets OccupiedCoolingSetpoint to default value"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 2600; @@ -29913,18 +29862,17 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 98: { LogStep(98, "Sets OccupiedHeatingSetpoint to default value"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + int16_t value; + value = 2000; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, + Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, + chip::NullOptional); } case 99: { - LogStep(99, "Sends SetpointRaise Command"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(99, "Sends SetpointRaise Command Heat & Cool"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 || TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::Thermostat::Commands::SetpointRaiseLower::Type value; value.mode = static_cast(2); @@ -29936,13 +29884,13 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand } case 100: { LogStep(100, "Reads back OccupiedCoolingSetpoint to confirm the success of the write"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedCoolingSetpoint::Id, true, chip::NullOptional); } case 101: { LogStep(101, "Reads back OccupiedHeatingSetpoint to confirm the success of the write"); - VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedHeatingSetpoint::Id, true, chip::NullOptional); } diff --git a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h index 6bc5360c4ffbc4..0edeb7084a01c3 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -43889,50 +43889,50 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { break; case 4: ChipLogProgress( - chipTool, " ***** Test Step 4 : Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList\n"); - if (ShouldSkip("TSTAT.S.F01")) { + chipTool, " ***** Test Step 4 : Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList\n"); + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestReadTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_4(); + err = TestReadTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_4(); break; case 5: ChipLogProgress( - chipTool, " ***** Test Step 5 : Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList\n"); - if (ShouldSkip("TSTAT.S.F02")) { + chipTool, " ***** Test Step 5 : Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList\n"); + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestReadTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_5(); + err = TestReadTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_5(); break; case 6: ChipLogProgress( - chipTool, " ***** Test Step 6 : Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList\n"); - if (ShouldSkip("TSTAT.S.F00")) { + chipTool, " ***** Test Step 6 : Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList\n"); + if (ShouldSkip("TSTAT.S.F02")) { NextTest(); return; } - err = TestReadTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_6(); + err = TestReadTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_6(); break; case 7: ChipLogProgress(chipTool, - " ***** Test Step 7 : Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in " + " ***** Test Step 7 : Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in " "AttributeList\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02")) { + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02")) { NextTest(); return; } - err = TestReadTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_7(); + err = TestReadTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_7(); break; case 8: ChipLogProgress(chipTool, - " ***** Test Step 8 : Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in " + " ***** Test Step 8 : Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in " "AttributeList\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02")) { + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02")) { NextTest(); return; } - err = TestReadTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_8(); + err = TestReadTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_8(); break; case 9: ChipLogProgress( @@ -43991,14 +43991,6 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { ChipLogProgress(chipTool, " ***** Test Step 15 : Read the global attribute: GeneratedCommandList\n"); err = TestReadTheGlobalAttributeGeneratedCommandList_15(); break; - case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { - NextTest(); - return; - } - err = TestReadTheGlobalAttributeEventList_16(); - break; } if (CHIP_NO_ERROR != err) { @@ -44058,9 +44050,6 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -44074,7 +44063,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 17; + const uint16_t mTestCount = 16; chip::Optional mNodeId; chip::Optional mCluster; @@ -44127,7 +44116,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("featureMap", "", "map32")); - VerifyOrReturn(CheckConstraintMinValue("featureMap", [value unsignedIntValue], 0UL)); + VerifyOrReturn(CheckConstraintMinValue("featureMap", [value unsignedIntValue], 1UL)); VerifyOrReturn(CheckConstraintMaxValue("featureMap", [value unsignedIntValue], 63UL)); NextTest(); @@ -44165,7 +44154,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_4() + CHIP_ERROR TestReadTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -44174,12 +44163,12 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList Error: %@", err); + NSLog(@"Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 17UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 18UL)); NextTest(); }]; @@ -44187,7 +44176,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_5() + CHIP_ERROR TestReadTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -44196,12 +44185,12 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList Error: %@", err); + NSLog(@"Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 17UL)); NextTest(); }]; @@ -44209,7 +44198,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_6() + CHIP_ERROR TestReadTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -44218,12 +44207,12 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList Error: %@", err); + NSLog(@"Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 18UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); NextTest(); }]; @@ -44231,7 +44220,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_7() + CHIP_ERROR TestReadTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -44240,12 +44229,12 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in AttributeList Error: %@", err); + NSLog(@"Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 19UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 20UL)); NextTest(); }]; @@ -44253,7 +44242,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_8() + CHIP_ERROR TestReadTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -44262,12 +44251,12 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletionHandler:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in AttributeList Error: %@", err); + NSLog(@"Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 20UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 19UL)); NextTest(); }]; @@ -44289,6 +44278,8 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 17UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 18UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 25UL)); NextTest(); @@ -44435,15 +44426,6 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - - CHIP_ERROR TestReadTheGlobalAttributeEventList_16() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } }; class Test_TC_TSTAT_2_1 : public TestCommandBridge { @@ -44490,10 +44472,6 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Reads mandatory attributes from DUT: LocalTemperature\n"); - if (ShouldSkip("TSTAT.S.A0000")) { - NextTest(); - return; - } err = TestReadsMandatoryAttributesFromDutLocalTemperature_1(); break; case 2: @@ -44506,7 +44484,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Read Occupancy attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0002")) { + if (ShouldSkip("TSTAT.S.F02")) { NextTest(); return; } @@ -44578,7 +44556,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { break; case 12: ChipLogProgress(chipTool, " ***** Test Step 12 : Reads optional attributes from DUT: OccupiedCoolingSetpoint\n"); - if (ShouldSkip("TSTAT.S.A0011")) { + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } @@ -44586,7 +44564,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { break; case 13: ChipLogProgress(chipTool, " ***** Test Step 13 : Reads mandatory attributes from DUT: OccupiedHeatingSetpoint\n"); - if (ShouldSkip("TSTAT.S.A0012")) { + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } @@ -44594,7 +44572,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { break; case 14: ChipLogProgress(chipTool, " ***** Test Step 14 : Read UnoccupiedCoolingSetpoint attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0013")) { + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02")) { NextTest(); return; } @@ -44602,27 +44580,27 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Read UnoccupiedHeatingSetpoint attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0014")) { + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02")) { NextTest(); return; } err = TestReadUnoccupiedHeatingSetpointAttributeFromTheDut_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Reads mandatory attributes from DUT: MinHeatSetpointLimit\n"); + ChipLogProgress(chipTool, " ***** Test Step 16 : Reads attribute from DUT: MinHeatSetpointLimit\n"); if (ShouldSkip("TSTAT.S.A0015")) { NextTest(); return; } - err = TestReadsMandatoryAttributesFromDutMinHeatSetpointLimit_16(); + err = TestReadsAttributeFromDutMinHeatSetpointLimit_16(); break; case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Reads mandatory attributes from DUT: MaxHeatSetpointLimit\n"); + ChipLogProgress(chipTool, " ***** Test Step 17 : Reads attribute from DUT: MaxHeatSetpointLimit\n"); if (ShouldSkip("TSTAT.S.A0016")) { NextTest(); return; } - err = TestReadsMandatoryAttributesFromDutMaxHeatSetpointLimit_17(); + err = TestReadsAttributeFromDutMaxHeatSetpointLimit_17(); break; case 18: ChipLogProgress(chipTool, " ***** Test Step 18 : Reads optional attributes from DUT: MinCoolSetpointLimit\n"); @@ -44642,7 +44620,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { break; case 20: ChipLogProgress(chipTool, " ***** Test Step 20 : Reads optional attributes from DUT: MinSetpointDeadBand\n"); - if (ShouldSkip("TSTAT.S.A0019")) { + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } @@ -44658,237 +44636,219 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { break; case 22: ChipLogProgress(chipTool, " ***** Test Step 22 : Reads mandatory attributes from DUT: ControlSequenceOfOperation\n"); - if (ShouldSkip("TSTAT.S.A001b")) { - NextTest(); - return; - } err = TestReadsMandatoryAttributesFromDutControlSequenceOfOperation_22(); break; case 23: ChipLogProgress(chipTool, " ***** Test Step 23 : Reads mandatory attributes from DUT: SystemMode\n"); - if (ShouldSkip("TSTAT.S.A001c")) { - NextTest(); - return; - } err = TestReadsMandatoryAttributesFromDutSystemMode_23(); break; case 24: - ChipLogProgress(chipTool, - " ***** Test Step 24 : Read AlarmMask attribute from the DUT and Verify that the DUT responds with a map8 " - "value.The value has to be in the range of 0x00 to 0x07.\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A001d")) { + ChipLogProgress(chipTool, " ***** Test Step 24 : Read ThermostatRunningMode attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.A001e")) { NextTest(); return; } - err = TestReadAlarmMaskAttributeFromTheDutAndVerifyThatTheDutRespondsWithAMap8ValueTheValueHasToBeInTheRangeOf0x00To0x07_24(); + err = TestReadThermostatRunningModeAttributeFromTheDut_24(); break; case 25: - ChipLogProgress(chipTool, " ***** Test Step 25 : Read ThermostatRunningMode attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A001e")) { + ChipLogProgress(chipTool, " ***** Test Step 25 : Reads constraints of optional attributes from DUT: StartOfWeek\n"); + if (ShouldSkip("TSTAT.S.F03")) { NextTest(); return; } - err = TestReadThermostatRunningModeAttributeFromTheDut_25(); + err = TestReadsConstraintsOfOptionalAttributesFromDutStartOfWeek_25(); break; case 26: - ChipLogProgress(chipTool, " ***** Test Step 26 : Reads constraints of optional attributes from DUT: StartOfWeek\n"); - if (ShouldSkip("TSTAT.S.A0020")) { + ChipLogProgress(chipTool, " ***** Test Step 26 : Reads optional attributes from DUT: NumberOfWeeklyTransitions\n"); + if (ShouldSkip("TSTAT.S.F03")) { NextTest(); return; } - err = TestReadsConstraintsOfOptionalAttributesFromDutStartOfWeek_26(); + err = TestReadsOptionalAttributesFromDutNumberOfWeeklyTransitions_26(); break; case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Reads optional attributes from DUT: NumberOfWeeklyTransitions\n"); - if (ShouldSkip("TSTAT.S.A0021")) { + ChipLogProgress(chipTool, " ***** Test Step 27 : Reads optional attributes from DUT: NumberOfDailyTransitions\n"); + if (ShouldSkip("TSTAT.S.F03")) { NextTest(); return; } - err = TestReadsOptionalAttributesFromDutNumberOfWeeklyTransitions_27(); + err = TestReadsOptionalAttributesFromDutNumberOfDailyTransitions_27(); break; case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Reads optional attributes from DUT: NumberOfDailyTransitions\n"); - if (ShouldSkip("TSTAT.S.A0022")) { + ChipLogProgress(chipTool, " ***** Test Step 28 : Read TemperatureSetpointHold attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.A0023")) { NextTest(); return; } - err = TestReadsOptionalAttributesFromDutNumberOfDailyTransitions_28(); + err = TestReadTemperatureSetpointHoldAttributeFromTheDut_28(); break; case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Read TemperatureSetpointHold attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0023")) { + ChipLogProgress(chipTool, " ***** Test Step 29 : Read TemperatureSetpointHoldDuration attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.A0024")) { NextTest(); return; } - err = TestReadTemperatureSetpointHoldAttributeFromTheDut_29(); + err = TestReadTemperatureSetpointHoldDurationAttributeFromTheDut_29(); break; case 30: - ChipLogProgress(chipTool, " ***** Test Step 30 : Read TemperatureSetpointHoldDuration attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0024")) { + ChipLogProgress(chipTool, " ***** Test Step 30 : Read ThermostatProgrammingOperationMode attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.A0025")) { NextTest(); return; } - err = TestReadTemperatureSetpointHoldDurationAttributeFromTheDut_30(); + err = TestReadThermostatProgrammingOperationModeAttributeFromTheDut_30(); break; case 31: - ChipLogProgress(chipTool, " ***** Test Step 31 : Read ThermostatProgrammingOperationMode attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0025")) { + ChipLogProgress(chipTool, " ***** Test Step 31 : Read ThermostatRunningState attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.A0029")) { NextTest(); return; } - err = TestReadThermostatProgrammingOperationModeAttributeFromTheDut_31(); + err = TestReadThermostatRunningStateAttributeFromTheDut_31(); break; case 32: - ChipLogProgress(chipTool, " ***** Test Step 32 : Read ThermostatRunningState attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0029")) { + ChipLogProgress(chipTool, " ***** Test Step 32 : Read SetpointChangeSource attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.A0030")) { NextTest(); return; } - err = TestReadThermostatRunningStateAttributeFromTheDut_32(); + err = TestReadSetpointChangeSourceAttributeFromTheDut_32(); break; case 33: - ChipLogProgress(chipTool, " ***** Test Step 33 : Read SetpointChangeSource attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0030")) { + ChipLogProgress(chipTool, " ***** Test Step 33 : Read SetpointChangeAmount attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.A0031")) { NextTest(); return; } - err = TestReadSetpointChangeSourceAttributeFromTheDut_33(); + err = TestReadSetpointChangeAmountAttributeFromTheDut_33(); break; case 34: - ChipLogProgress(chipTool, " ***** Test Step 34 : Read SetpointChangeAmount attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0031")) { + ChipLogProgress(chipTool, " ***** Test Step 34 : Read SetpointChangeSourceTimestamp attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.A0032")) { NextTest(); return; } - err = TestReadSetpointChangeAmountAttributeFromTheDut_34(); + err = TestReadSetpointChangeSourceTimestampAttributeFromTheDut_34(); break; case 35: - ChipLogProgress(chipTool, " ***** Test Step 35 : Read SetpointChangeSourceTimestamp attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0032")) { + ChipLogProgress(chipTool, " ***** Test Step 35 : Read OccupiedSetback attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.F02")) { NextTest(); return; } - err = TestReadSetpointChangeSourceTimestampAttributeFromTheDut_35(); + err = TestReadOccupiedSetbackAttributeFromTheDut_35(); break; case 36: - ChipLogProgress(chipTool, " ***** Test Step 36 : Read OccupiedSetback attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0034")) { + ChipLogProgress(chipTool, " ***** Test Step 36 : Read OccupiedSetbackMin attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.F02")) { NextTest(); return; } - err = TestReadOccupiedSetbackAttributeFromTheDut_36(); + err = TestReadOccupiedSetbackMinAttributeFromTheDut_36(); break; case 37: - ChipLogProgress(chipTool, " ***** Test Step 37 : Read OccupiedSetbackMin attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0035")) { + ChipLogProgress(chipTool, " ***** Test Step 37 : Read OccupiedSetbackMax attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.F02")) { NextTest(); return; } - err = TestReadOccupiedSetbackMinAttributeFromTheDut_37(); + err = TestReadOccupiedSetbackMaxAttributeFromTheDut_37(); break; case 38: - ChipLogProgress(chipTool, " ***** Test Step 38 : Read OccupiedSetbackMax attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0036")) { + ChipLogProgress(chipTool, " ***** Test Step 38 : Read UnoccupiedSetback attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F04")) { NextTest(); return; } - err = TestReadOccupiedSetbackMaxAttributeFromTheDut_38(); + err = TestReadUnoccupiedSetbackAttributeFromTheDut_38(); break; case 39: - ChipLogProgress(chipTool, " ***** Test Step 39 : Read UnoccupiedSetback attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0037")) { + ChipLogProgress(chipTool, " ***** Test Step 39 : Read UnoccupiedSetbackMin attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F04")) { NextTest(); return; } - err = TestReadUnoccupiedSetbackAttributeFromTheDut_39(); + err = TestReadUnoccupiedSetbackMinAttributeFromTheDut_39(); break; case 40: - ChipLogProgress(chipTool, " ***** Test Step 40 : Read UnoccupiedSetbackMin attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0038")) { + ChipLogProgress(chipTool, " ***** Test Step 40 : Read UnoccupiedSetbackMax attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F04")) { NextTest(); return; } - err = TestReadUnoccupiedSetbackMinAttributeFromTheDut_40(); + err = TestReadUnoccupiedSetbackMaxAttributeFromTheDut_40(); break; case 41: - ChipLogProgress(chipTool, " ***** Test Step 41 : Read UnoccupiedSetbackMax attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0039")) { - NextTest(); - return; - } - err = TestReadUnoccupiedSetbackMaxAttributeFromTheDut_41(); - break; - case 42: - ChipLogProgress(chipTool, " ***** Test Step 42 : Read EmergencyHeatDelta attribute from the DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 41 : Read EmergencyHeatDelta attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A003a")) { NextTest(); return; } - err = TestReadEmergencyHeatDeltaAttributeFromTheDut_42(); + err = TestReadEmergencyHeatDeltaAttributeFromTheDut_41(); break; - case 43: - ChipLogProgress(chipTool, " ***** Test Step 43 : Read ACType attribute from the DUT\n"); + case 42: + ChipLogProgress(chipTool, " ***** Test Step 42 : Read ACType attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A0040")) { NextTest(); return; } - err = TestReadACTypeAttributeFromTheDut_43(); + err = TestReadACTypeAttributeFromTheDut_42(); break; - case 44: - ChipLogProgress(chipTool, " ***** Test Step 44 : Read ACCapacity attribute from the DUT\n"); + case 43: + ChipLogProgress(chipTool, " ***** Test Step 43 : Read ACCapacity attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A0041")) { NextTest(); return; } - err = TestReadACCapacityAttributeFromTheDut_44(); + err = TestReadACCapacityAttributeFromTheDut_43(); break; - case 45: - ChipLogProgress(chipTool, " ***** Test Step 45 : Read ACRefrigerantType attribute from the DUT\n"); + case 44: + ChipLogProgress(chipTool, " ***** Test Step 44 : Read ACRefrigerantType attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A0042")) { NextTest(); return; } - err = TestReadACRefrigerantTypeAttributeFromTheDut_45(); + err = TestReadACRefrigerantTypeAttributeFromTheDut_44(); break; - case 46: - ChipLogProgress(chipTool, " ***** Test Step 46 : Read ACCompressorType attribute from the DUT\n"); + case 45: + ChipLogProgress(chipTool, " ***** Test Step 45 : Read ACCompressorType attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A0043")) { NextTest(); return; } - err = TestReadACCompressorTypeAttributeFromTheDut_46(); + err = TestReadACCompressorTypeAttributeFromTheDut_45(); break; - case 47: - ChipLogProgress(chipTool, " ***** Test Step 47 : Read ACErrorCode attribute from the DUT\n"); + case 46: + ChipLogProgress(chipTool, " ***** Test Step 46 : Read ACErrorCode attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A0044")) { NextTest(); return; } - err = TestReadACErrorCodeAttributeFromTheDut_47(); + err = TestReadACErrorCodeAttributeFromTheDut_46(); break; - case 48: - ChipLogProgress(chipTool, " ***** Test Step 48 : Read ACLouverPosition attribute from the DUT\n"); + case 47: + ChipLogProgress(chipTool, " ***** Test Step 47 : Read ACLouverPosition attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A0045")) { NextTest(); return; } - err = TestReadACLouverPositionAttributeFromTheDut_48(); + err = TestReadACLouverPositionAttributeFromTheDut_47(); break; - case 49: - ChipLogProgress(chipTool, " ***** Test Step 49 : Read ACCoilTemperature attribute from the DUT\n"); + case 48: + ChipLogProgress(chipTool, " ***** Test Step 48 : Read ACCoilTemperature attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A0046")) { NextTest(); return; } - err = TestReadACCoilTemperatureAttributeFromTheDut_49(); + err = TestReadACCoilTemperatureAttributeFromTheDut_48(); break; - case 50: - ChipLogProgress(chipTool, " ***** Test Step 50 : Read ACCapacityFormat attribute from the DUT\n"); + case 49: + ChipLogProgress(chipTool, " ***** Test Step 49 : Read ACCapacityFormat attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A0047")) { NextTest(); return; } - err = TestReadACCapacityFormatAttributeFromTheDut_50(); + err = TestReadACCapacityFormatAttributeFromTheDut_49(); break; } @@ -45051,9 +45011,6 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { case 49: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 50: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -45067,7 +45024,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 51; + const uint16_t mTestCount = 50; chip::Optional mNodeId; chip::Optional mCluster; @@ -45356,8 +45313,8 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("occupiedCoolingSetpoint", "", "int16")); - VerifyOrReturn(CheckConstraintMinValue("occupiedCoolingSetpoint", [value shortValue], -27315)); - VerifyOrReturn(CheckConstraintMaxValue("occupiedCoolingSetpoint", [value shortValue], 32767)); + VerifyOrReturn(CheckConstraintMinValue("occupiedCoolingSetpoint", [value shortValue], 1600)); + VerifyOrReturn(CheckConstraintMaxValue("occupiedCoolingSetpoint", [value shortValue], 3200)); NextTest(); }]; @@ -45379,8 +45336,8 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("occupiedHeatingSetpoint", "", "int16")); - VerifyOrReturn(CheckConstraintMinValue("occupiedHeatingSetpoint", [value shortValue], -27315)); - VerifyOrReturn(CheckConstraintMaxValue("occupiedHeatingSetpoint", [value shortValue], 32767)); + VerifyOrReturn(CheckConstraintMinValue("occupiedHeatingSetpoint", [value shortValue], 700)); + VerifyOrReturn(CheckConstraintMaxValue("occupiedHeatingSetpoint", [value shortValue], 3000)); NextTest(); }]; @@ -45403,8 +45360,8 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("unoccupiedCoolingSetpoint", "", "int16")); - VerifyOrReturn(CheckConstraintMinValue("unoccupiedCoolingSetpoint", [value shortValue], -27315)); - VerifyOrReturn(CheckConstraintMaxValue("unoccupiedCoolingSetpoint", [value shortValue], 32767)); + VerifyOrReturn(CheckConstraintMinValue("unoccupiedCoolingSetpoint", [value shortValue], 1600)); + VerifyOrReturn(CheckConstraintMaxValue("unoccupiedCoolingSetpoint", [value shortValue], 3200)); NextTest(); }]; @@ -45427,8 +45384,8 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("unoccupiedHeatingSetpoint", "", "int16")); - VerifyOrReturn(CheckConstraintMinValue("unoccupiedHeatingSetpoint", [value shortValue], -27315)); - VerifyOrReturn(CheckConstraintMaxValue("unoccupiedHeatingSetpoint", [value shortValue], 32767)); + VerifyOrReturn(CheckConstraintMinValue("unoccupiedHeatingSetpoint", [value shortValue], 700)); + VerifyOrReturn(CheckConstraintMaxValue("unoccupiedHeatingSetpoint", [value shortValue], 3000)); NextTest(); }]; @@ -45436,7 +45393,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsMandatoryAttributesFromDutMinHeatSetpointLimit_16() + CHIP_ERROR TestReadsAttributeFromDutMinHeatSetpointLimit_16() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45445,13 +45402,13 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeMinHeatSetpointLimitWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads mandatory attributes from DUT: MinHeatSetpointLimit Error: %@", err); + NSLog(@"Reads attribute from DUT: MinHeatSetpointLimit Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("minHeatSetpointLimit", "", "int16")); - VerifyOrReturn(CheckConstraintMinValue("minHeatSetpointLimit", [value shortValue], -27315)); - VerifyOrReturn(CheckConstraintMaxValue("minHeatSetpointLimit", [value shortValue], 32767)); + VerifyOrReturn(CheckConstraintMinValue("minHeatSetpointLimit", [value shortValue], 700)); + VerifyOrReturn(CheckConstraintMaxValue("minHeatSetpointLimit", [value shortValue], 3000)); NextTest(); }]; @@ -45459,7 +45416,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsMandatoryAttributesFromDutMaxHeatSetpointLimit_17() + CHIP_ERROR TestReadsAttributeFromDutMaxHeatSetpointLimit_17() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45468,7 +45425,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeMaxHeatSetpointLimitWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads mandatory attributes from DUT: MaxHeatSetpointLimit Error: %@", err); + NSLog(@"Reads attribute from DUT: MaxHeatSetpointLimit Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -45621,17 +45578,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR - TestReadAlarmMaskAttributeFromTheDutAndVerifyThatTheDutRespondsWithAMap8ValueTheValueHasToBeInTheRangeOf0x00To0x07_24() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestReadThermostatRunningModeAttributeFromTheDut_25() + CHIP_ERROR TestReadThermostatRunningModeAttributeFromTheDut_24() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45646,7 +45593,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("thermostatRunningMode", "", "enum8")); VerifyOrReturn(CheckConstraintMinValue("thermostatRunningMode", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("thermostatRunningMode", [value unsignedCharValue], 4U)); + VerifyOrReturn(CheckConstraintMaxValue("thermostatRunningMode", [value unsignedCharValue], 9U)); NextTest(); }]; @@ -45654,7 +45601,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsConstraintsOfOptionalAttributesFromDutStartOfWeek_26() + CHIP_ERROR TestReadsConstraintsOfOptionalAttributesFromDutStartOfWeek_25() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45677,7 +45624,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsOptionalAttributesFromDutNumberOfWeeklyTransitions_27() + CHIP_ERROR TestReadsOptionalAttributesFromDutNumberOfWeeklyTransitions_26() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45701,7 +45648,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsOptionalAttributesFromDutNumberOfDailyTransitions_28() + CHIP_ERROR TestReadsOptionalAttributesFromDutNumberOfDailyTransitions_27() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45724,7 +45671,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTemperatureSetpointHoldAttributeFromTheDut_29() + CHIP_ERROR TestReadTemperatureSetpointHoldAttributeFromTheDut_28() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45747,7 +45694,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTemperatureSetpointHoldDurationAttributeFromTheDut_30() + CHIP_ERROR TestReadTemperatureSetpointHoldDurationAttributeFromTheDut_29() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45776,7 +45723,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadThermostatProgrammingOperationModeAttributeFromTheDut_31() + CHIP_ERROR TestReadThermostatProgrammingOperationModeAttributeFromTheDut_30() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45800,7 +45747,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadThermostatRunningStateAttributeFromTheDut_32() + CHIP_ERROR TestReadThermostatRunningStateAttributeFromTheDut_31() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45823,7 +45770,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadSetpointChangeSourceAttributeFromTheDut_33() + CHIP_ERROR TestReadSetpointChangeSourceAttributeFromTheDut_32() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45846,7 +45793,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadSetpointChangeAmountAttributeFromTheDut_34() + CHIP_ERROR TestReadSetpointChangeAmountAttributeFromTheDut_33() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45872,7 +45819,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadSetpointChangeSourceTimestampAttributeFromTheDut_35() + CHIP_ERROR TestReadSetpointChangeSourceTimestampAttributeFromTheDut_34() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45893,7 +45840,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadOccupiedSetbackAttributeFromTheDut_36() + CHIP_ERROR TestReadOccupiedSetbackAttributeFromTheDut_35() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45919,7 +45866,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadOccupiedSetbackMinAttributeFromTheDut_37() + CHIP_ERROR TestReadOccupiedSetbackMinAttributeFromTheDut_36() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45945,7 +45892,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadOccupiedSetbackMaxAttributeFromTheDut_38() + CHIP_ERROR TestReadOccupiedSetbackMaxAttributeFromTheDut_37() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45971,7 +45918,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadUnoccupiedSetbackAttributeFromTheDut_39() + CHIP_ERROR TestReadUnoccupiedSetbackAttributeFromTheDut_38() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -45997,7 +45944,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadUnoccupiedSetbackMinAttributeFromTheDut_40() + CHIP_ERROR TestReadUnoccupiedSetbackMinAttributeFromTheDut_39() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -46023,7 +45970,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadUnoccupiedSetbackMaxAttributeFromTheDut_41() + CHIP_ERROR TestReadUnoccupiedSetbackMaxAttributeFromTheDut_40() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -46049,7 +45996,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadEmergencyHeatDeltaAttributeFromTheDut_42() + CHIP_ERROR TestReadEmergencyHeatDeltaAttributeFromTheDut_41() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -46072,7 +46019,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadACTypeAttributeFromTheDut_43() + CHIP_ERROR TestReadACTypeAttributeFromTheDut_42() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -46095,7 +46042,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadACCapacityAttributeFromTheDut_44() + CHIP_ERROR TestReadACCapacityAttributeFromTheDut_43() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -46118,7 +46065,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadACRefrigerantTypeAttributeFromTheDut_45() + CHIP_ERROR TestReadACRefrigerantTypeAttributeFromTheDut_44() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -46141,7 +46088,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadACCompressorTypeAttributeFromTheDut_46() + CHIP_ERROR TestReadACCompressorTypeAttributeFromTheDut_45() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -46164,7 +46111,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadACErrorCodeAttributeFromTheDut_47() + CHIP_ERROR TestReadACErrorCodeAttributeFromTheDut_46() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -46184,7 +46131,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadACLouverPositionAttributeFromTheDut_48() + CHIP_ERROR TestReadACLouverPositionAttributeFromTheDut_47() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -46207,7 +46154,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadACCoilTemperatureAttributeFromTheDut_49() + CHIP_ERROR TestReadACCoilTemperatureAttributeFromTheDut_48() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -46233,7 +46180,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadACCapacityFormatAttributeFromTheDut_50() + CHIP_ERROR TestReadACCapacityFormatAttributeFromTheDut_49() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -46305,7 +46252,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { ChipLogProgress(chipTool, " ***** Test Step 1 : Reads OccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is " "within range\n"); - if (ShouldSkip("TSTAT.S.A0011")) { + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } @@ -46314,7 +46261,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Writes a value back that is different but valid for OccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.A0011")) { + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } @@ -46323,7 +46270,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Reads it back again to confirm the successful write of OccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.A0011")) { + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } @@ -46331,17 +46278,17 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { break; case 4: ChipLogProgress( - chipTool, " ***** Test Step 4 : Writes OccupiedCoolingSetpoint to value below the MinCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0011")) { + chipTool, " ***** Test Step 4 : Writes OccupiedCoolingSetpoint to value below the ABSMinCoolSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestWritesOccupiedCoolingSetpointToValueBelowTheMinCoolSetpointLimit_4(); + err = TestWritesOccupiedCoolingSetpointToValueBelowTheABSMinCoolSetpointLimit_4(); break; case 5: ChipLogProgress( chipTool, " ***** Test Step 5 : Writes OccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0011")) { + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } @@ -46350,7 +46297,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 6: ChipLogProgress( chipTool, " ***** Test Step 6 : Writes the limit of MinCoolSetpointLimit to OccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0011")) { + if (ShouldSkip("TSTAT.S.F01 && !TSTAT.S.F05")) { NextTest(); return; } @@ -46368,7 +46315,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 8: ChipLogProgress( chipTool, " ***** Test Step 8 : Writes the limit of MaxCoolSetpointLimit to OccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.A0011")) { + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } @@ -46378,7 +46325,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { ChipLogProgress(chipTool, " ***** Test Step 9 : Reads OccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is " "within range\n"); - if (ShouldSkip("TSTAT.S.A0012")) { + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } @@ -46387,7 +46334,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : Writes a value back that is different but valid for OccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.A0012")) { + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } @@ -46396,7 +46343,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 11: ChipLogProgress(chipTool, " ***** Test Step 11 : Reads it back again to confirm the successful write of OccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.A0012")) { + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } @@ -46405,7 +46352,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 12: ChipLogProgress( chipTool, " ***** Test Step 12 : Writes OccupiedHeatingSetpoint to value below the MinHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0012")) { + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } @@ -46414,7 +46361,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 13: ChipLogProgress( chipTool, " ***** Test Step 13 : Writes OccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0012")) { + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } @@ -46423,7 +46370,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 14: ChipLogProgress( chipTool, " ***** Test Step 14 : Writes the limit of MinHeatSetpointLimit to OccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.A0012")) { + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } @@ -46450,7 +46397,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 17: ChipLogProgress( chipTool, " ***** Test Step 17 : Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0012")) { + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } @@ -46460,7 +46407,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { ChipLogProgress(chipTool, " ***** Test Step 18 : Reads UnoccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is " "within range\n"); - if (ShouldSkip("TSTAT.S.A0013")) { + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { NextTest(); return; } @@ -46469,7 +46416,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 19: ChipLogProgress(chipTool, " ***** Test Step 19 : Writes a value back that is different but valid for UnoccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.A0013")) { + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { NextTest(); return; } @@ -46479,7 +46426,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { ChipLogProgress(chipTool, " ***** Test Step 20 : Reads it back again to confirm the successful write of UnoccupiedCoolingSetpoint " "attribute\n"); - if (ShouldSkip("TSTAT.S.A0013")) { + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { NextTest(); return; } @@ -46487,26 +46434,26 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { break; case 21: ChipLogProgress( - chipTool, " ***** Test Step 21 : Writes UnoccupiedCoolingSetpoint to value below the MinHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0013")) { + chipTool, " ***** Test Step 21 : Writes UnoccupiedCoolingSetpoint to value below the MinCoolSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { NextTest(); return; } - err = TestWritesUnoccupiedCoolingSetpointToValueBelowTheMinHeatSetpointLimit_21(); + err = TestWritesUnoccupiedCoolingSetpointToValueBelowTheMinCoolSetpointLimit_21(); break; case 22: ChipLogProgress( - chipTool, " ***** Test Step 22 : Writes UnoccupiedCoolingSetpoint to value above the MaxHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0013")) { + chipTool, " ***** Test Step 22 : Writes UnoccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { NextTest(); return; } - err = TestWritesUnoccupiedCoolingSetpointToValueAboveTheMaxHeatSetpointLimit_22(); + err = TestWritesUnoccupiedCoolingSetpointToValueAboveTheMaxCoolSetpointLimit_22(); break; case 23: ChipLogProgress(chipTool, " ***** Test Step 23 : Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.A0013")) { + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { NextTest(); return; } @@ -46515,7 +46462,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 24: ChipLogProgress(chipTool, " ***** Test Step 24 : Writes the limit of MaxCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.A0013")) { + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { NextTest(); return; } @@ -46525,7 +46472,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { ChipLogProgress(chipTool, " ***** Test Step 25 : Reads UnoccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is " "within range\n"); - if (ShouldSkip("TSTAT.S.A0014")) { + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { NextTest(); return; } @@ -46534,7 +46481,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 26: ChipLogProgress(chipTool, " ***** Test Step 26 : Writes a value back that is different but valid for UnoccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.A0014")) { + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { NextTest(); return; } @@ -46544,7 +46491,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { ChipLogProgress(chipTool, " ***** Test Step 27 : Reads it back again to confirm the successful write of UnoccupiedHeatingSetpoint " "attribute\n"); - if (ShouldSkip("TSTAT.S.A0014")) { + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { NextTest(); return; } @@ -46553,7 +46500,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 28: ChipLogProgress( chipTool, " ***** Test Step 28 : Writes UnoccupiedHeatingSetpoint to value below the MinHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0014")) { + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { NextTest(); return; } @@ -46562,7 +46509,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 29: ChipLogProgress( chipTool, " ***** Test Step 29 : Writes UnoccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0014")) { + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { NextTest(); return; } @@ -46571,7 +46518,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 30: ChipLogProgress(chipTool, " ***** Test Step 30 : Writes the limit of MinHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.A0014")) { + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { NextTest(); return; } @@ -46580,7 +46527,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 31: ChipLogProgress(chipTool, " ***** Test Step 31 : Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.A0014")) { + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { NextTest(); return; } @@ -46590,7 +46537,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { ChipLogProgress(chipTool, " ***** Test Step 32 : Reads MinHeatSetpointLimit attribute from Server DUT and verifies that the value is within " "range\n"); - if (ShouldSkip("TSTAT.S.A0015")) { + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } @@ -46599,7 +46546,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 33: ChipLogProgress(chipTool, " ***** Test Step 33 : Writes a value back that is different but valid for MinHeatSetpointLimit attribute\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0015")) { + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } @@ -46608,481 +46555,481 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 34: ChipLogProgress(chipTool, " ***** Test Step 34 : Reads it back again to confirm the successful write of MinHeatSetpointLimit attribute\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0015")) { + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinHeatSetpointLimitAttribute_34(); break; case 35: - ChipLogProgress( - chipTool, " ***** Test Step 35 : Writes MinHeatSetpointLimit to value below the AbsMinHeatSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.A0015")) { + ChipLogProgress(chipTool, " ***** Test Step 35 : Writes a value back that is different but violates the deadband\n"); + if (ShouldSkip("TSTAT.S.A0015 && TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesMinHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_35(); + err = TestWritesAValueBackThatIsDifferentButViolatesTheDeadband_35(); break; case 36: ChipLogProgress( - chipTool, " ***** Test Step 36 : Writes MinHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.A0015")) { + chipTool, " ***** Test Step 36 : Writes MinHeatSetpointLimit to value below the AbsMinHeatSetpointLimit \n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } - err = TestWritesMinHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_36(); + err = TestWritesMinHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_36(); break; case 37: ChipLogProgress( - chipTool, " ***** Test Step 37 : Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.A0015")) { + chipTool, " ***** Test Step 37 : Writes MinHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit \n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_37(); + err = TestWritesMinHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_37(); break; case 38: ChipLogProgress( - chipTool, " ***** Test Step 38 : Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0015")) { + chipTool, " ***** Test Step 38 : Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_38(); + err = TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_38(); break; case 39: - ChipLogProgress(chipTool, - " ***** Test Step 39 : Reads MaxHeatSetpointLimit attribute from Server DUT and verifies that the value is within " - "range\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0016")) { + ChipLogProgress( + chipTool, " ***** Test Step 39 : Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.F05")) { NextTest(); return; } - err = TestReadsMaxHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_39(); + err = TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_39(); break; case 40: - ChipLogProgress( - chipTool, " ***** Test Step 40 : Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && A_MINHEATSETPOINTLIMIT")) { + ChipLogProgress(chipTool, + " ***** Test Step 40 : Reads MaxHeatSetpointLimit attribute from Server DUT and verifies that the value is within " + "range\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_40(); + err = TestReadsMaxHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_40(); break; case 41: ChipLogProgress( - chipTool, " ***** Test Step 41 : Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); - if (ShouldSkip("A_MINHEATSETPOINTLIMIT && TSTAT.S.F05")) { + chipTool, " ***** Test Step 41 : Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_41(); + err = TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_41(); break; case 42: - ChipLogProgress(chipTool, - " ***** Test Step 42 : Writes a value back that is different but valid for MaxHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.A0016")) { + ChipLogProgress( + chipTool, " ***** Test Step 42 : Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.A0015 && TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesAValueBackThatIsDifferentButValidForMaxHeatSetpointLimitAttribute_42(); + err = TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_42(); break; case 43: ChipLogProgress(chipTool, - " ***** Test Step 43 : Reads it back again to confirm the successful write of MaxHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.A0016")) { + " ***** Test Step 43 : Writes a value back that is different but valid for MaxHeatSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05")) { NextTest(); return; } - err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxHeatSetpointLimitAttribute_43(); + err = TestWritesAValueBackThatIsDifferentButValidForMaxHeatSetpointLimitAttribute_43(); break; case 44: - ChipLogProgress( - chipTool, " ***** Test Step 44 : Writes MaxHeatSetpointLimit to value below the AbsMinHeatSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.A0016")) { + ChipLogProgress(chipTool, + " ***** Test Step 44 : Reads it back again to confirm the successful write of MaxHeatSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesMaxHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_44(); + err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxHeatSetpointLimitAttribute_44(); break; case 45: ChipLogProgress( - chipTool, " ***** Test Step 45 : Writes MaxHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.A0016")) { + chipTool, " ***** Test Step 45 : Writes MaxHeatSetpointLimit to value below the AbsMinHeatSetpointLimit \n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016")) { NextTest(); return; } - err = TestWritesMaxHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_45(); + err = TestWritesMaxHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_45(); break; case 46: ChipLogProgress( - chipTool, " ***** Test Step 46 : Writes the limit of AbsMinHeatSetpointLimit to MaxHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.A0016")) { + chipTool, " ***** Test Step 46 : Writes MaxHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit \n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMinHeatSetpointLimitToMaxHeatSetpointLimitAttribute_46(); + err = TestWritesMaxHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_46(); break; case 47: ChipLogProgress( - chipTool, " ***** Test Step 47 : Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit attribute\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0016")) { + chipTool, " ***** Test Step 47 : Writes the limit of AbsMinHeatSetpointLimit to MaxHeatSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMaxHeatSetpointLimitAttribute_47(); + err = TestWritesTheLimitOfAbsMinHeatSetpointLimitToMaxHeatSetpointLimitAttribute_47(); break; case 48: - ChipLogProgress(chipTool, - " ***** Test Step 48 : Reads MinCoolSetpointLimit attribute from Server DUT and verifies that the value is within " - "range\n"); - if (ShouldSkip("TSTAT.S.A0017")) { + ChipLogProgress( + chipTool, " ***** Test Step 48 : Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05")) { NextTest(); return; } - err = TestReadsMinCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_48(); + err = TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMaxHeatSetpointLimitAttribute_48(); break; case 49: ChipLogProgress(chipTool, - " ***** Test Step 49 : Writes a value back that is different but valid for MinCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.A0017")) { + " ***** Test Step 49 : Reads MinCoolSetpointLimit attribute from Server DUT and verifies that the value is within " + "range\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestWritesAValueBackThatIsDifferentButValidForMinCoolSetpointLimitAttribute_49(); + err = TestReadsMinCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_49(); break; case 50: ChipLogProgress(chipTool, - " ***** Test Step 50 : Reads it back again to confirm the successful write of MinCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.A0017")) { + " ***** Test Step 50 : Writes a value back that is different but valid for MinCoolSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinCoolSetpointLimitAttribute_50(); + err = TestWritesAValueBackThatIsDifferentButValidForMinCoolSetpointLimitAttribute_50(); break; case 51: - ChipLogProgress( - chipTool, " ***** Test Step 51 : Writes MinCoolSetpointLimit to value below the AbsMinCoolSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.A0017")) { + ChipLogProgress(chipTool, + " ***** Test Step 51 : Reads it back again to confirm the successful write of MinCoolSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestWritesMinCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_51(); + err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinCoolSetpointLimitAttribute_51(); break; case 52: ChipLogProgress( - chipTool, " ***** Test Step 52 : Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.A0017")) { + chipTool, " ***** Test Step 52 : Writes MinCoolSetpointLimit to value below the AbsMinCoolSetpointLimit \n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestWritesMinCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_52(); + err = TestWritesMinCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_52(); break; case 53: ChipLogProgress( - chipTool, " ***** Test Step 53 : Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.A0017")) { + chipTool, " ***** Test Step 53 : Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit \n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_53(); + err = TestWritesMinCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_53(); break; case 54: ChipLogProgress( - chipTool, " ***** Test Step 54 : Writes the limit of MaxCoolSetpointLimit to MinCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.A0017")) { + chipTool, " ***** Test Step 54 : Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestWritesTheLimitOfMaxCoolSetpointLimitToMinCoolSetpointLimitAttribute_54(); + err = TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_54(); break; case 55: ChipLogProgress( - chipTool, " ***** Test Step 55 : Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && A_MINCOOLSETPOINTLIMIT")) { + chipTool, " ***** Test Step 55 : Writes the limit of MaxCoolSetpointLimit to MinCoolSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_55(); + err = TestWritesTheLimitOfMaxCoolSetpointLimitToMinCoolSetpointLimitAttribute_55(); break; case 56: - ChipLogProgress(chipTool, - " ***** Test Step 56 : Reads MaxCoolSetpointLimit attribute from Server DUT and verifies that the value is within " - "range\n"); - if (ShouldSkip("TSTAT.S.A0018")) { + ChipLogProgress( + chipTool, " ***** Test Step 56 : Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestReadsMaxCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_56(); + err = TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_56(); break; case 57: ChipLogProgress(chipTool, - " ***** Test Step 57 : Writes a value back that is different but valid for MaxCoolSetpointLimit attribute\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0018")) { + " ***** Test Step 57 : Reads MaxCoolSetpointLimit attribute from Server DUT and verifies that the value is within " + "range\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018")) { NextTest(); return; } - err = TestWritesAValueBackThatIsDifferentButValidForMaxCoolSetpointLimitAttribute_57(); + err = TestReadsMaxCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_57(); break; case 58: ChipLogProgress(chipTool, - " ***** Test Step 58 : Reads it back again to confirm the successful write of MaxCoolSetpointLimit attribute\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0018")) { + " ***** Test Step 58 : Writes a value back that is different but valid for MaxCoolSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.F05")) { NextTest(); return; } - err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxCoolSetpointLimitAttribute_58(); + err = TestWritesAValueBackThatIsDifferentButValidForMaxCoolSetpointLimitAttribute_58(); break; case 59: - ChipLogProgress( - chipTool, " ***** Test Step 59 : Writes MaxCoolSetpointLimit to value below the AbsMinCoolSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.A0018")) { + ChipLogProgress(chipTool, + " ***** Test Step 59 : Reads it back again to confirm the successful write of MaxCoolSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesMaxCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_59(); + err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxCoolSetpointLimitAttribute_59(); break; case 60: ChipLogProgress( - chipTool, " ***** Test Step 60 : Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.A0018")) { + chipTool, " ***** Test Step 60 : Writes MaxCoolSetpointLimit to value below the AbsMinCoolSetpointLimit \n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018")) { NextTest(); return; } - err = TestWritesMaxCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_60(); + err = TestWritesMaxCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_60(); break; case 61: ChipLogProgress( - chipTool, " ***** Test Step 61 : Writes the limit of AbsMinCoolSetpointLimit to MaxCoolSetpointLimit attribute\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0018")) { + chipTool, " ***** Test Step 61 : Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit \n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMinCoolSetpointLimitToMaxCoolSetpointLimitAttribute_61(); + err = TestWritesMaxCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_61(); break; case 62: ChipLogProgress( - chipTool, " ***** Test Step 62 : Writes the limit of MaxCoolSetpointLimit to MaxCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.A0018")) { + chipTool, " ***** Test Step 62 : Writes the limit of AbsMinCoolSetpointLimit to MaxCoolSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018")) { NextTest(); return; } - err = TestWritesTheLimitOfMaxCoolSetpointLimitToMaxCoolSetpointLimitAttribute_62(); + err = TestWritesTheLimitOfAbsMinCoolSetpointLimitToMaxCoolSetpointLimitAttribute_62(); break; case 63: - ChipLogProgress(chipTool, " ***** Test Step 63 : Writes (sets back) default value of MinHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0015")) { + ChipLogProgress( + chipTool, " ***** Test Step 63 : Writes the limit of MaxCoolSetpointLimit to MaxCoolSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018")) { NextTest(); return; } - err = TestWritesSetsBackDefaultValueOfMinHeatSetpointLimit_63(); + err = TestWritesTheLimitOfMaxCoolSetpointLimitToMaxCoolSetpointLimitAttribute_63(); break; case 64: - ChipLogProgress(chipTool, " ***** Test Step 64 : Writes (sets back)default value of MaxHeatSetpointLimit\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0016")) { + ChipLogProgress(chipTool, " ***** Test Step 64 : Writes (sets back) default value of MinHeatSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0015")) { NextTest(); return; } - err = TestWritesSetsBackdefaultValueOfMaxHeatSetpointLimit_64(); + err = TestWritesSetsBackDefaultValueOfMinHeatSetpointLimit_64(); break; case 65: - ChipLogProgress(chipTool, " ***** Test Step 65 : Writes MaxHeatSetpointLimit That meets the deadband of 2.5C\n"); - if (ShouldSkip("TSTAT.S.F01 && A_MAXHEATSETPOINTLIMIT &&!TSTAT.S.F05")) { + ChipLogProgress(chipTool, " ***** Test Step 65 : Writes (sets back)default value of MaxHeatSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0016 &&!TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesMaxHeatSetpointLimitThatMeetsTheDeadbandOf25c_65(); + err = TestWritesSetsBackdefaultValueOfMaxHeatSetpointLimit_65(); break; case 66: - ChipLogProgress(chipTool, " ***** Test Step 66 : Writes (sets back) default value of MinCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0017")) { + ChipLogProgress(chipTool, " ***** Test Step 66 : Writes MaxHeatSetpointLimit That meets the deadband of 2.5C\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0016 &&!TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesSetsBackDefaultValueOfMinCoolSetpointLimit_66(); + err = TestWritesMaxHeatSetpointLimitThatMeetsTheDeadbandOf25c_66(); break; case 67: - ChipLogProgress(chipTool, " ***** Test Step 67 : Writes (sets back) default value of MaxCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0018")) { + ChipLogProgress(chipTool, " ***** Test Step 67 : Writes (sets back) default value of MinCoolSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestWritesSetsBackDefaultValueOfMaxCoolSetpointLimit_67(); + err = TestWritesSetsBackDefaultValueOfMinCoolSetpointLimit_67(); break; case 68: - ChipLogProgress(chipTool, - " ***** Test Step 68 : Reads MinSetpointDeadBand attribute from Server DUT and verifies that the value is within " - "range\n"); - if (ShouldSkip("TSTAT.S.A0019")) { + ChipLogProgress(chipTool, " ***** Test Step 68 : Writes (sets back) default value of MaxCoolSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018")) { NextTest(); return; } - err = TestReadsMinSetpointDeadBandAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_68(); + err = TestWritesSetsBackDefaultValueOfMaxCoolSetpointLimit_68(); break; case 69: ChipLogProgress(chipTool, - " ***** Test Step 69 : Writes a value back that is different but valid for MinSetpointDeadBand attribute\n"); - if (ShouldSkip("TSTAT.S.A0019")) { + " ***** Test Step 69 : Reads MinSetpointDeadBand attribute from Server DUT and verifies that the value is within " + "range\n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesAValueBackThatIsDifferentButValidForMinSetpointDeadBandAttribute_69(); + err = TestReadsMinSetpointDeadBandAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_69(); break; case 70: ChipLogProgress(chipTool, - " ***** Test Step 70 : Reads it back again to confirm the successful write of MinSetpointDeadBand attribute\n"); - if (ShouldSkip("TSTAT.S.A0019")) { + " ***** Test Step 70 : Writes a value back that is different but valid for MinSetpointDeadBand attribute\n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinSetpointDeadBandAttribute_70(); + err = TestWritesAValueBackThatIsDifferentButValidForMinSetpointDeadBandAttribute_70(); break; case 71: - ChipLogProgress(chipTool, " ***** Test Step 71 : Writes the value below MinSetpointDeadBand\n"); - if (ShouldSkip("TSTAT.S.A0019")) { + ChipLogProgress(chipTool, + " ***** Test Step 71 : Reads it back again to confirm the successful write of MinSetpointDeadBand attribute\n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesTheValueBelowMinSetpointDeadBand_71(); + err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinSetpointDeadBandAttribute_71(); break; case 72: - ChipLogProgress(chipTool, " ***** Test Step 72 : Writes the value above MinSetpointDeadBand \n"); - if (ShouldSkip("TSTAT.S.A0019")) { + ChipLogProgress(chipTool, " ***** Test Step 72 : Writes the value below MinSetpointDeadBand\n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesTheValueAboveMinSetpointDeadBand_72(); + err = TestWritesTheValueBelowMinSetpointDeadBand_72(); break; case 73: - ChipLogProgress(chipTool, " ***** Test Step 73 : Writes the min limit of MinSetpointDeadBand\n"); - if (ShouldSkip("TSTAT.S.A0019")) { + ChipLogProgress(chipTool, " ***** Test Step 73 : Writes the value above MinSetpointDeadBand \n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesTheMinLimitOfMinSetpointDeadBand_73(); + err = TestWritesTheValueAboveMinSetpointDeadBand_73(); break; case 74: - ChipLogProgress(chipTool, " ***** Test Step 74 : Writes the max limit of MinSetpointDeadBand\n"); - if (ShouldSkip("TSTAT.S.A0019")) { + ChipLogProgress(chipTool, " ***** Test Step 74 : Writes the min limit of MinSetpointDeadBand\n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesTheMaxLimitOfMinSetpointDeadBand_74(); + err = TestWritesTheMinLimitOfMinSetpointDeadBand_74(); break; case 75: - ChipLogProgress(chipTool, - " ***** Test Step 75 : Reads ControlSequenceOfOperation from Server DUT and verifies that the value is valid\n"); - if (ShouldSkip("TSTAT.S.A001b")) { + ChipLogProgress(chipTool, " ***** Test Step 75 : Writes the max limit of MinSetpointDeadBand\n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestReadsControlSequenceOfOperationFromServerDutAndVerifiesThatTheValueIsValid_75(); + err = TestWritesTheMaxLimitOfMinSetpointDeadBand_75(); break; case 76: - ChipLogProgress( - chipTool, " ***** Test Step 76 : Write Attribute command for ControlSequenceOfOperation with a new valid value\n"); - if (ShouldSkip("TSTAT.S.A001b")) { + ChipLogProgress(chipTool, + " ***** Test Step 76 : Reads ControlSequenceOfOperation from Server DUT and verifies that the value is valid\n"); + if (ShouldSkip("TSTAT.S.F00 || TSTAT.S.F01")) { NextTest(); return; } - err = TestWriteAttributeCommandForControlSequenceOfOperationWithANewValidValue_76(); + err = TestReadsControlSequenceOfOperationFromServerDutAndVerifiesThatTheValueIsValid_76(); break; case 77: - ChipLogProgress(chipTool, " ***** Test Step 77 : Read it back again to confirm the successful write\n"); - if (ShouldSkip("TSTAT.S.A001b")) { + ChipLogProgress( + chipTool, " ***** Test Step 77 : Write Attribute command for ControlSequenceOfOperation with a new valid value\n"); + if (ShouldSkip("TSTAT.S.F00 || TSTAT.S.F01")) { NextTest(); return; } - err = TestReadItBackAgainToConfirmTheSuccessfulWrite_77(); + err = TestWriteAttributeCommandForControlSequenceOfOperationWithANewValidValue_77(); break; case 78: - ChipLogProgress(chipTool, - " ***** Test Step 78 : Writes MaxHeatSetpointLimit attribute to default value of 2950 to meet deadband " - "constraint\n"); - if (ShouldSkip("TSTAT.S.F00 && A_MINHEATSETPOINTLIMIT && TSTAT.S.F05")) { + ChipLogProgress(chipTool, " ***** Test Step 78 : Read it back again to confirm the successful write\n"); + if (ShouldSkip("TSTAT.S.F00 || TSTAT.S.F01")) { NextTest(); return; } - err = TestWritesMaxHeatSetpointLimitAttributeToDefaultValueOf2950ToMeetDeadbandConstraint_78(); + err = TestReadItBackAgainToConfirmTheSuccessfulWrite_78(); break; case 79: - ChipLogProgress(chipTool, " ***** Test Step 79 : Sets OccupiedCoolingSetpoint to default value\n"); - if (ShouldSkip("TSTAT.S.F01")) { + ChipLogProgress(chipTool, + " ***** Test Step 79 : Writes MaxHeatSetpointLimit attribute to default value of 2950 to meet deadband " + "constraint\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.F05")) { NextTest(); return; } - err = TestSetsOccupiedCoolingSetpointToDefaultValue_79(); + err = TestWritesMaxHeatSetpointLimitAttributeToDefaultValueOf2950ToMeetDeadbandConstraint_79(); break; case 80: - ChipLogProgress(chipTool, " ***** Test Step 80 : Sets OccupiedHeatingSetpoint to default value\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0012")) { + ChipLogProgress(chipTool, " ***** Test Step 80 : Sets OccupiedCoolingSetpoint to default value\n"); + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestSetsOccupiedHeatingSetpointToDefaultValue_80(); + err = TestSetsOccupiedCoolingSetpointToDefaultValue_80(); break; case 81: - ChipLogProgress(chipTool, " ***** Test Step 81 : Sends SetpointRaise Command\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 81 : Sets OccupiedHeatingSetpoint to default value\n"); + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestSendsSetpointRaiseCommand_81(); + err = TestSetsOccupiedHeatingSetpointToDefaultValue_81(); break; case 82: - ChipLogProgress( - chipTool, " ***** Test Step 82 : Reads back OccupiedHeatingSetpoint to confirm the success of the write\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0012")) { + ChipLogProgress(chipTool, " ***** Test Step 82 : Sends SetpointRaise Command Heat Only\n"); + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_82(); + err = TestSendsSetpointRaiseCommandHeatOnly_82(); break; case 83: - ChipLogProgress(chipTool, " ***** Test Step 83 : Sets OccupiedHeatingSetpoint to default value\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0012")) { + ChipLogProgress( + chipTool, " ***** Test Step 83 : Reads back OccupiedHeatingSetpoint to confirm the success of the write\n"); + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestSetsOccupiedHeatingSetpointToDefaultValue_83(); + err = TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_83(); break; case 84: - ChipLogProgress(chipTool, " ***** Test Step 84 : Sends SetpointRaise Command\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 84 : Sets OccupiedHeatingSetpoint to default value\n"); + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestSendsSetpointRaiseCommand_84(); + err = TestSetsOccupiedHeatingSetpointToDefaultValue_84(); break; case 85: - ChipLogProgress( - chipTool, " ***** Test Step 85 : Reads back OccupiedHeatingSetpoint to confirm the success of the write\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0012")) { + ChipLogProgress(chipTool, " ***** Test Step 85 : Sends SetpointRaise Command Heat Only\n"); + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_85(); + err = TestSendsSetpointRaiseCommandHeatOnly_85(); break; case 86: - ChipLogProgress(chipTool, " ***** Test Step 86 : Sets OccupiedCoolingSetpoint to default value\n"); - if (ShouldSkip("TSTAT.S.A0011")) { + ChipLogProgress( + chipTool, " ***** Test Step 86 : Reads back OccupiedHeatingSetpoint to confirm the success of the write\n"); + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestSetsOccupiedCoolingSetpointToDefaultValue_86(); + err = TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_86(); break; case 87: - ChipLogProgress(chipTool, " ***** Test Step 87 : Sends SetpointRaise Command\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 87 : Sends SetpointRaise Command Cool Only\n"); + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestSendsSetpointRaiseCommand_87(); + err = TestSendsSetpointRaiseCommandCoolOnly_87(); break; case 88: ChipLogProgress( chipTool, " ***** Test Step 88 : Reads back OccupiedCoolingSetpoint to confirm the success of the write\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0011")) { + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } @@ -47090,24 +47037,24 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { break; case 89: ChipLogProgress(chipTool, " ***** Test Step 89 : Sets OccupiedCoolingSetpoint to default value\n"); - if (ShouldSkip("TSTAT.S.A0011")) { + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } err = TestSetsOccupiedCoolingSetpointToDefaultValue_89(); break; case 90: - ChipLogProgress(chipTool, " ***** Test Step 90 : Sends SetpointRaise Command\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 90 : Sends SetpointRaise Command Cool Only\n"); + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestSendsSetpointRaiseCommand_90(); + err = TestSendsSetpointRaiseCommandCoolOnly_90(); break; case 91: ChipLogProgress( chipTool, " ***** Test Step 91 : Reads back OccupiedCoolingSetpoint to confirm the success of the write\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0011")) { + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } @@ -47115,7 +47062,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { break; case 92: ChipLogProgress(chipTool, " ***** Test Step 92 : Sets OccupiedCoolingSetpoint to default value\n"); - if (ShouldSkip("TSTAT.S.A0011")) { + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } @@ -47123,24 +47070,24 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { break; case 93: ChipLogProgress(chipTool, " ***** Test Step 93 : Sets OccupiedHeatingSetpoint to default value\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0012")) { + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } err = TestSetsOccupiedHeatingSetpointToDefaultValue_93(); break; case 94: - ChipLogProgress(chipTool, " ***** Test Step 94 : Sends SetpointRaise Command\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 94 : Sends SetpointRaise Command Heat & Cool\n"); + if (ShouldSkip("TSTAT.S.F00 || TSTAT.S.F01")) { NextTest(); return; } - err = TestSendsSetpointRaiseCommand_94(); + err = TestSendsSetpointRaiseCommandHeatCool_94(); break; case 95: ChipLogProgress( chipTool, " ***** Test Step 95 : Reads back OccupiedCoolingSetpoint to confirm the success of the write\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0011")) { + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } @@ -47149,7 +47096,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 96: ChipLogProgress( chipTool, " ***** Test Step 96 : Reads back OccupiedHeatingSetpoint to confirm the success of the write\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0012")) { + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } @@ -47157,7 +47104,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { break; case 97: ChipLogProgress(chipTool, " ***** Test Step 97 : Sets OccupiedCoolingSetpoint to default value\n"); - if (ShouldSkip("TSTAT.S.A0011")) { + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } @@ -47165,24 +47112,24 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { break; case 98: ChipLogProgress(chipTool, " ***** Test Step 98 : Sets OccupiedHeatingSetpoint to default value\n"); - if (ShouldSkip("PICS_USER_PROMPT && TSTAT.S.A0012")) { + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } err = TestSetsOccupiedHeatingSetpointToDefaultValue_98(); break; case 99: - ChipLogProgress(chipTool, " ***** Test Step 99 : Sends SetpointRaise Command\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.C00.Rsp && TSTAT.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 99 : Sends SetpointRaise Command Heat & Cool\n"); + if (ShouldSkip("TSTAT.S.F00 || TSTAT.S.F01")) { NextTest(); return; } - err = TestSendsSetpointRaiseCommand_99(); + err = TestSendsSetpointRaiseCommandHeatCool_99(); break; case 100: ChipLogProgress( chipTool, " ***** Test Step 100 : Reads back OccupiedCoolingSetpoint to confirm the success of the write\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0011")) { + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } @@ -47191,7 +47138,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 101: ChipLogProgress( chipTool, " ***** Test Step 101 : Reads back OccupiedHeatingSetpoint to confirm the success of the write\n"); - if (ShouldSkip("PICS_SKIP_SAMPLE_APP && TSTAT.S.A0012")) { + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } @@ -47260,7 +47207,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 17: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -47320,7 +47267,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 37: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 38: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -47332,22 +47279,22 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 41: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 42: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 43: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 44: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 45: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 46: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 47: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -47362,13 +47309,13 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 51: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 52: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 53: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 54: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -47386,13 +47333,13 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 59: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 60: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 61: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 62: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -47422,13 +47369,13 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 71: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 72: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 73: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 74: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -47613,7 +47560,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesOccupiedCoolingSetpointToValueBelowTheMinCoolSetpointLimit_4() + CHIP_ERROR TestWritesOccupiedCoolingSetpointToValueBelowTheABSMinCoolSetpointLimit_4() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -47625,8 +47572,8 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { occupiedCoolingSetpointArgument = [NSNumber numberWithShort:30]; [cluster writeAttributeOccupiedCoolingSetpointWithValue:occupiedCoolingSetpointArgument completionHandler:^(NSError * _Nullable err) { - NSLog(@"Writes OccupiedCoolingSetpoint to value below the MinCoolSetpointLimit " - @"Error: %@", + NSLog(@"Writes OccupiedCoolingSetpoint to value below the " + @"ABSMinCoolSetpointLimit Error: %@", err); VerifyOrReturn(CheckValue("status", @@ -47671,11 +47618,26 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { CHIP_ERROR TestWritesTheLimitOfMinCoolSetpointLimitToOccupiedCoolingSetpointAttribute_6() { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id occupiedCoolingSetpointArgument; + occupiedCoolingSetpointArgument = [NSNumber numberWithShort:1600]; + [cluster writeAttributeOccupiedCoolingSetpointWithValue:occupiedCoolingSetpointArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Writes the limit of MinCoolSetpointLimit to OccupiedCoolingSetpoint " + @"attribute Error: %@", + err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; } CHIP_ERROR TestWritesTheCoolingSetpointBelowTheHeatingSetpointWhenAutoIsEnabled_7() @@ -47932,11 +47894,30 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { CHIP_ERROR TestWritesTheLimitOfMaxHeatSetpointLimitToOccupiedHeatingSetpointAttribute_17() { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id occupiedHeatingSetpointArgument; + occupiedHeatingSetpointArgument = [NSNumber numberWithShort:3000]; + [cluster writeAttributeOccupiedHeatingSetpointWithValue:occupiedHeatingSetpointArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint " + @"attribute Error: %@", + err); + + VerifyOrReturn(CheckValue("status", + err ? ([err.domain isEqualToString:MTRInteractionErrorDomain] + ? err.code + : EMBER_ZCL_STATUS_FAILURE) + : 0, + EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + NextTest(); + }]; + + return CHIP_NO_ERROR; } CHIP_ERROR TestReadsUnoccupiedCoolingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_18() @@ -48019,7 +48000,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesUnoccupiedCoolingSetpointToValueBelowTheMinHeatSetpointLimit_21() + CHIP_ERROR TestWritesUnoccupiedCoolingSetpointToValueBelowTheMinCoolSetpointLimit_21() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48032,7 +48013,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { [cluster writeAttributeUnoccupiedCoolingSetpointWithValue:unoccupiedCoolingSetpointArgument completionHandler:^(NSError * _Nullable err) { NSLog(@"Writes UnoccupiedCoolingSetpoint to value below the " - @"MinHeatSetpointLimit Error: %@", + @"MinCoolSetpointLimit Error: %@", err); VerifyOrReturn(CheckValue("status", @@ -48047,7 +48028,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesUnoccupiedCoolingSetpointToValueAboveTheMaxHeatSetpointLimit_22() + CHIP_ERROR TestWritesUnoccupiedCoolingSetpointToValueAboveTheMaxCoolSetpointLimit_22() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48060,7 +48041,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { [cluster writeAttributeUnoccupiedCoolingSetpointWithValue:unoccupiedCoolingSetpointArgument completionHandler:^(NSError * _Nullable err) { NSLog(@"Writes UnoccupiedCoolingSetpoint to value above the " - @"MaxHeatSetpointLimit Error: %@", + @"MaxCoolSetpointLimit Error: %@", err); VerifyOrReturn(CheckValue("status", @@ -48338,23 +48319,80 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMinHeatSetpointLimitAttribute_33() { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id minHeatSetpointLimitArgument; + minHeatSetpointLimitArgument = [NSNumber numberWithShort:800]; + [cluster writeAttributeMinHeatSetpointLimitWithValue:minHeatSetpointLimitArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Writes a value back that is different but valid for MinHeatSetpointLimit " + @"attribute Error: %@", + err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; } CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinHeatSetpointLimitAttribute_34() { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeMinHeatSetpointLimitWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads it back again to confirm the successful write of MinHeatSetpointLimit attribute Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + { + id actualValue = value; + VerifyOrReturn(CheckValue("MinHeatSetpointLimit", actualValue, 800)); + } + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestWritesAValueBackThatIsDifferentButViolatesTheDeadband_35() + { + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id minHeatSetpointLimitArgument; + minHeatSetpointLimitArgument = [NSNumber numberWithShort:2000]; + [cluster + writeAttributeMinHeatSetpointLimitWithValue:minHeatSetpointLimitArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Writes a value back that is different but violates the deadband Error: %@", err); + + VerifyOrReturn(CheckValue("status", + err ? ([err.domain isEqualToString:MTRInteractionErrorDomain] + ? err.code + : EMBER_ZCL_STATUS_FAILURE) + : 0, + EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + NextTest(); + }]; + + return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMinHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_35() + CHIP_ERROR TestWritesMinHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_36() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48383,7 +48421,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMinHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_36() + CHIP_ERROR TestWritesMinHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_37() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48412,7 +48450,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_37() + CHIP_ERROR TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_38() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48436,25 +48474,60 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_38() + CHIP_ERROR TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_39() { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id minHeatSetpointLimitArgument; + minHeatSetpointLimitArgument = [NSNumber numberWithShort:3000]; + [cluster writeAttributeMinHeatSetpointLimitWithValue:minHeatSetpointLimitArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit " + @"attribute Error: %@", + err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsMaxHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_39() + CHIP_ERROR TestReadsMaxHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_40() { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeMaxHeatSetpointLimitWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog( + @"Reads MaxHeatSetpointLimit attribute from Server DUT and verifies that the value is within range Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + { + id actualValue = value; + VerifyOrReturn(CheckValue("MaxHeatSetpointLimit", actualValue, 3000)); + } + + VerifyOrReturn(CheckConstraintType("maxHeatSetpointLimit", "", "int16")); + VerifyOrReturn(CheckConstraintMinValue("maxHeatSetpointLimit", [value shortValue], 700)); + VerifyOrReturn(CheckConstraintMaxValue("maxHeatSetpointLimit", [value shortValue], 3000)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_40() + CHIP_ERROR TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_41() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48478,7 +48551,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_41() + CHIP_ERROR TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_42() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48506,7 +48579,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMaxHeatSetpointLimitAttribute_42() + CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMaxHeatSetpointLimitAttribute_43() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48530,7 +48603,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxHeatSetpointLimitAttribute_43() + CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxHeatSetpointLimitAttribute_44() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48554,7 +48627,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMaxHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_44() + CHIP_ERROR TestWritesMaxHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_45() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48583,7 +48656,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMaxHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_45() + CHIP_ERROR TestWritesMaxHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_46() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48612,7 +48685,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfAbsMinHeatSetpointLimitToMaxHeatSetpointLimitAttribute_46() + CHIP_ERROR TestWritesTheLimitOfAbsMinHeatSetpointLimitToMaxHeatSetpointLimitAttribute_47() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48636,16 +48709,31 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMaxHeatSetpointLimitAttribute_47() + CHIP_ERROR TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMaxHeatSetpointLimitAttribute_48() { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id maxHeatSetpointLimitArgument; + maxHeatSetpointLimitArgument = [NSNumber numberWithShort:3000]; + [cluster writeAttributeMaxHeatSetpointLimitWithValue:maxHeatSetpointLimitArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit " + @"attribute Error: %@", + err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsMinCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_48() + CHIP_ERROR TestReadsMinCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_49() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48674,7 +48762,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMinCoolSetpointLimitAttribute_49() + CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMinCoolSetpointLimitAttribute_50() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48698,7 +48786,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinCoolSetpointLimitAttribute_50() + CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinCoolSetpointLimitAttribute_51() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48722,7 +48810,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMinCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_51() + CHIP_ERROR TestWritesMinCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_52() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48751,7 +48839,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMinCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_52() + CHIP_ERROR TestWritesMinCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_53() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48779,7 +48867,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_53() + CHIP_ERROR TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_54() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48803,7 +48891,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfMaxCoolSetpointLimitToMinCoolSetpointLimitAttribute_54() + CHIP_ERROR TestWritesTheLimitOfMaxCoolSetpointLimitToMinCoolSetpointLimitAttribute_55() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48827,7 +48915,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_55() + CHIP_ERROR TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_56() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48851,7 +48939,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsMaxCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_56() + CHIP_ERROR TestReadsMaxCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_57() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48880,25 +48968,55 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMaxCoolSetpointLimitAttribute_57() + CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMaxCoolSetpointLimitAttribute_58() { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id maxCoolSetpointLimitArgument; + maxCoolSetpointLimitArgument = [NSNumber numberWithShort:2000]; + [cluster writeAttributeMaxCoolSetpointLimitWithValue:maxCoolSetpointLimitArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Writes a value back that is different but valid for MaxCoolSetpointLimit " + @"attribute Error: %@", + err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxCoolSetpointLimitAttribute_58() + CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxCoolSetpointLimitAttribute_59() { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeMaxCoolSetpointLimitWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads it back again to confirm the successful write of MaxCoolSetpointLimit attribute Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + { + id actualValue = value; + VerifyOrReturn(CheckValue("MaxCoolSetpointLimit", actualValue, 2000)); + } + + NextTest(); + }]; + + return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMaxCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_59() + CHIP_ERROR TestWritesMaxCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_60() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48927,7 +49045,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMaxCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_60() + CHIP_ERROR TestWritesMaxCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_61() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48955,16 +49073,31 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfAbsMinCoolSetpointLimitToMaxCoolSetpointLimitAttribute_61() + CHIP_ERROR TestWritesTheLimitOfAbsMinCoolSetpointLimitToMaxCoolSetpointLimitAttribute_62() { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id maxCoolSetpointLimitArgument; + maxCoolSetpointLimitArgument = [NSNumber numberWithShort:1600]; + [cluster writeAttributeMaxCoolSetpointLimitWithValue:maxCoolSetpointLimitArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Writes the limit of AbsMinCoolSetpointLimit to MaxCoolSetpointLimit " + @"attribute Error: %@", + err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfMaxCoolSetpointLimitToMaxCoolSetpointLimitAttribute_62() + CHIP_ERROR TestWritesTheLimitOfMaxCoolSetpointLimitToMaxCoolSetpointLimitAttribute_63() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -48988,7 +49121,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesSetsBackDefaultValueOfMinHeatSetpointLimit_63() + CHIP_ERROR TestWritesSetsBackDefaultValueOfMinHeatSetpointLimit_64() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49010,16 +49143,29 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesSetsBackdefaultValueOfMaxHeatSetpointLimit_64() + CHIP_ERROR TestWritesSetsBackdefaultValueOfMaxHeatSetpointLimit_65() { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id maxHeatSetpointLimitArgument; + maxHeatSetpointLimitArgument = [NSNumber numberWithShort:3000]; + [cluster writeAttributeMaxHeatSetpointLimitWithValue:maxHeatSetpointLimitArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Writes (sets back)default value of MaxHeatSetpointLimit Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMaxHeatSetpointLimitThatMeetsTheDeadbandOf25c_65() + CHIP_ERROR TestWritesMaxHeatSetpointLimitThatMeetsTheDeadbandOf25c_66() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49041,7 +49187,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesSetsBackDefaultValueOfMinCoolSetpointLimit_66() + CHIP_ERROR TestWritesSetsBackDefaultValueOfMinCoolSetpointLimit_67() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49063,7 +49209,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesSetsBackDefaultValueOfMaxCoolSetpointLimit_67() + CHIP_ERROR TestWritesSetsBackDefaultValueOfMaxCoolSetpointLimit_68() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49085,7 +49231,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsMinSetpointDeadBandAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_68() + CHIP_ERROR TestReadsMinSetpointDeadBandAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_69() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49114,7 +49260,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMinSetpointDeadBandAttribute_69() + CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMinSetpointDeadBandAttribute_70() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49138,7 +49284,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinSetpointDeadBandAttribute_70() + CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinSetpointDeadBandAttribute_71() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49162,7 +49308,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheValueBelowMinSetpointDeadBand_71() + CHIP_ERROR TestWritesTheValueBelowMinSetpointDeadBand_72() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49188,7 +49334,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheValueAboveMinSetpointDeadBand_72() + CHIP_ERROR TestWritesTheValueAboveMinSetpointDeadBand_73() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49214,7 +49360,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheMinLimitOfMinSetpointDeadBand_73() + CHIP_ERROR TestWritesTheMinLimitOfMinSetpointDeadBand_74() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49236,7 +49382,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheMaxLimitOfMinSetpointDeadBand_74() + CHIP_ERROR TestWritesTheMaxLimitOfMinSetpointDeadBand_75() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49258,7 +49404,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsControlSequenceOfOperationFromServerDutAndVerifiesThatTheValueIsValid_75() + CHIP_ERROR TestReadsControlSequenceOfOperationFromServerDutAndVerifiesThatTheValueIsValid_76() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49287,7 +49433,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeCommandForControlSequenceOfOperationWithANewValidValue_76() + CHIP_ERROR TestWriteAttributeCommandForControlSequenceOfOperationWithANewValidValue_77() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49311,7 +49457,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadItBackAgainToConfirmTheSuccessfulWrite_77() + CHIP_ERROR TestReadItBackAgainToConfirmTheSuccessfulWrite_78() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49336,7 +49482,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMaxHeatSetpointLimitAttributeToDefaultValueOf2950ToMeetDeadbandConstraint_78() + CHIP_ERROR TestWritesMaxHeatSetpointLimitAttributeToDefaultValueOf2950ToMeetDeadbandConstraint_79() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49360,7 +49506,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSetsOccupiedCoolingSetpointToDefaultValue_79() + CHIP_ERROR TestSetsOccupiedCoolingSetpointToDefaultValue_80() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49382,16 +49528,29 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSetsOccupiedHeatingSetpointToDefaultValue_80() + CHIP_ERROR TestSetsOccupiedHeatingSetpointToDefaultValue_81() { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id occupiedHeatingSetpointArgument; + occupiedHeatingSetpointArgument = [NSNumber numberWithShort:2000]; + [cluster writeAttributeOccupiedHeatingSetpointWithValue:occupiedHeatingSetpointArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Sets OccupiedHeatingSetpoint to default value Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; } - CHIP_ERROR TestSendsSetpointRaiseCommand_81() + CHIP_ERROR TestSendsSetpointRaiseCommandHeatOnly_82() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49404,7 +49563,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { params.amount = [NSNumber numberWithChar:-30]; [cluster setpointRaiseLowerWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"Sends SetpointRaise Command Error: %@", err); + NSLog(@"Sends SetpointRaise Command Heat Only Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -49414,7 +49573,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_82() + CHIP_ERROR TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_83() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49438,16 +49597,29 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSetsOccupiedHeatingSetpointToDefaultValue_83() + CHIP_ERROR TestSetsOccupiedHeatingSetpointToDefaultValue_84() { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id occupiedHeatingSetpointArgument; + occupiedHeatingSetpointArgument = [NSNumber numberWithShort:2000]; + [cluster writeAttributeOccupiedHeatingSetpointWithValue:occupiedHeatingSetpointArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Sets OccupiedHeatingSetpoint to default value Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; } - CHIP_ERROR TestSendsSetpointRaiseCommand_84() + CHIP_ERROR TestSendsSetpointRaiseCommandHeatOnly_85() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49460,7 +49632,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { params.amount = [NSNumber numberWithChar:30]; [cluster setpointRaiseLowerWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"Sends SetpointRaise Command Error: %@", err); + NSLog(@"Sends SetpointRaise Command Heat Only Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -49470,7 +49642,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_85() + CHIP_ERROR TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_86() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49485,7 +49657,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { { id actualValue = value; - VerifyOrReturn(CheckValue("OccupiedHeatingSetpoint", actualValue, 30)); + VerifyOrReturn(CheckValue("OccupiedHeatingSetpoint", actualValue, 2300)); } NextTest(); @@ -49494,29 +49666,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSetsOccupiedCoolingSetpointToDefaultValue_86() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:1 - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id occupiedCoolingSetpointArgument; - occupiedCoolingSetpointArgument = [NSNumber numberWithShort:2600]; - [cluster writeAttributeOccupiedCoolingSetpointWithValue:occupiedCoolingSetpointArgument - completionHandler:^(NSError * _Nullable err) { - NSLog(@"Sets OccupiedCoolingSetpoint to default value Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestSendsSetpointRaiseCommand_87() + CHIP_ERROR TestSendsSetpointRaiseCommandCoolOnly_87() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49529,7 +49679,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { params.amount = [NSNumber numberWithChar:-30]; [cluster setpointRaiseLowerWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"Sends SetpointRaise Command Error: %@", err); + NSLog(@"Sends SetpointRaise Command Cool Only Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -49585,7 +49735,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendsSetpointRaiseCommand_90() + CHIP_ERROR TestSendsSetpointRaiseCommandCoolOnly_90() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49598,7 +49748,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { params.amount = [NSNumber numberWithChar:30]; [cluster setpointRaiseLowerWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"Sends SetpointRaise Command Error: %@", err); + NSLog(@"Sends SetpointRaise Command Cool Only Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -49656,14 +49806,27 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { CHIP_ERROR TestSetsOccupiedHeatingSetpointToDefaultValue_93() { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id occupiedHeatingSetpointArgument; + occupiedHeatingSetpointArgument = [NSNumber numberWithShort:2000]; + [cluster writeAttributeOccupiedHeatingSetpointWithValue:occupiedHeatingSetpointArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Sets OccupiedHeatingSetpoint to default value Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; } - CHIP_ERROR TestSendsSetpointRaiseCommand_94() + CHIP_ERROR TestSendsSetpointRaiseCommandHeatCool_94() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49676,7 +49839,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { params.amount = [NSNumber numberWithChar:-30]; [cluster setpointRaiseLowerWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"Sends SetpointRaise Command Error: %@", err); + NSLog(@"Sends SetpointRaise Command Heat & Cool Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -49758,14 +49921,27 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { CHIP_ERROR TestSetsOccupiedHeatingSetpointToDefaultValue_98() { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); + MTRBaseDevice * device = GetDevice("alpha"); + MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device + endpoint:1 + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + id occupiedHeatingSetpointArgument; + occupiedHeatingSetpointArgument = [NSNumber numberWithShort:2000]; + [cluster writeAttributeOccupiedHeatingSetpointWithValue:occupiedHeatingSetpointArgument + completionHandler:^(NSError * _Nullable err) { + NSLog(@"Sets OccupiedHeatingSetpoint to default value Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; } - CHIP_ERROR TestSendsSetpointRaiseCommand_99() + CHIP_ERROR TestSendsSetpointRaiseCommandHeatCool_99() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -49778,7 +49954,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { params.amount = [NSNumber numberWithChar:30]; [cluster setpointRaiseLowerWithParams:params completionHandler:^(NSError * _Nullable err) { - NSLog(@"Sends SetpointRaise Command Error: %@", err); + NSLog(@"Sends SetpointRaise Command Heat & Cool Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0));