diff --git a/src/app/tests/suites/certification/PICS.yaml b/src/app/tests/suites/certification/PICS.yaml index ddcda6eb8271ed..575080f2c546b3 100644 --- a/src/app/tests/suites/certification/PICS.yaml +++ b/src/app/tests/suites/certification/PICS.yaml @@ -807,9 +807,6 @@ PICS: - label: "Does the device implement the ACCapacityFormat attribute?" id: TSTAT.S.A0047 - - label: "Is the MinSetpointDeadBand attribute writeable?" - id: TSTAT.S.M.MinSetpointDeadBandWritable - #Thermostat commands - label: "Does the device implement the SetpointRaiseLower command?" id: TSTAT.S.C00.Rsp 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 01bfc0f3e0d651..6cf8fa3aa9051f 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,87 +31,6 @@ tests: - name: "nodeId" value: nodeId - - label: - "Saving value for comparision in step 5 read AbsMinCoolSetpointLimit - attribute" - PICS: TSTAT.S.A0005 - command: "readAttribute" - attribute: "AbsMinCoolSetpointLimit" - response: - saveAs: AbsMinCoolSetpointLimitStep5 - - - label: - "Saving value for comparision in step 5 read attribute - MinSetpointDeadBand attribute" - PICS: TSTAT.S.A0019 - command: "readAttribute" - attribute: "MinSetpointDeadBand" - response: - saveAs: MinSetpointDeadBand - - - label: - "Saving value for comparision in step 6 read AbsMaxCoolSetpointLimit - attribute" - PICS: TSTAT.S.A0006 - command: "readAttribute" - attribute: "AbsMaxCoolSetpointLimit" - response: - saveAs: AbsMaxCoolSetpointLimitStep6 - - - label: - "Saving value for comparision in step 17 read MinCoolSetpointLimit - attribute" - PICS: TSTAT.S.A0017 - command: "readAttribute" - attribute: "MinCoolSetpointLimit" - response: - saveAs: MinCoolSetpointLimit - - - label: - "Saving value for comparision in step 17 read MaxCoolSetpointLimit - attribute" - PICS: TSTAT.S.A0018 - command: "readAttribute" - attribute: "MaxCoolSetpointLimit" - response: - saveAs: MaxCoolSetpointLimit - - - label: - "Saving value for comparision in step 13 read attribute - OccupiedCoolingSetpoint" - PICS: TSTAT.S.F01 - command: "readAttribute" - attribute: "OccupiedCoolingSetpoint" - response: - saveAs: OccupiedCoolingSetpoint - - - label: - "Saving value for comparision in step 15 read attribute - AbsMinHeatSetpointLimit" - PICS: TSTAT.S.A0003 - command: "readAttribute" - attribute: "AbsMinHeatSetpointLimit" - response: - saveAs: AbsMinHeat - - - label: - "Saving value for comparision in step 15 read attribute - AbsMaxHeatSetpointLimit" - PICS: TSTAT.S.A0004 - command: "readAttribute" - attribute: "AbsMaxHeatSetpointLimit" - response: - saveAs: AbsMaxHeat - - - label: - "Saving value for comparision in step 16 read - UnoccupiedCoolingSetpoint attribute" - PICS: TSTAT.S.A0013 - command: "readAttribute" - attribute: "UnoccupiedCoolingSetpoint" - response: - saveAs: UnoccupiedCoolingSetpoint - - label: "Reads mandatory attributes from DUT: LocalTemperature" command: "readAttribute" attribute: "LocalTemperature" @@ -141,30 +60,8 @@ tests: minValue: 0 maxValue: 1 - - label: - "Read attribute AbsMinHeatSetpointLimit if TSTAT.S.F05 feature is - supported" - PICS: TSTAT.S.A0003 && TSTAT.S.A0005 && TSTAT.S.F05 - command: "readAttribute" - attribute: "AbsMinHeatSetpointLimit" - response: - constraints: - type: int16s - maxValue: AbsMinCoolSetpointLimitStep5 - MinSetpointDeadBand - - - label: - "Read attribute AbsMinHeatSetpointLimit if TSTAT.S.F05 feature is - supported" - PICS: TSTAT.S.A0003 && !TSTAT.S.A0005 && TSTAT.S.F05 - command: "readAttribute" - attribute: "AbsMinHeatSetpointLimit" - response: - constraints: - type: int16s - maxValue: 1575 - - - label: "Read attribute AbsMinHeatSetpointLimit from DUT" - PICS: TSTAT.S.A0003 && !TSTAT.S.F05 + - label: "Reads mandatory attributes from DUT: AbsMinHeatSetpointLimit" + PICS: TSTAT.S.A0003 command: "readAttribute" attribute: "AbsMinHeatSetpointLimit" response: @@ -183,7 +80,7 @@ tests: minValue: -27315 maxValue: 32767 - - label: "Read attribute AbsMinCoolSetpointLimit from DUT" + - label: "Reads optional attributes from DUT: AbsMinCoolSetpointLimit" PICS: TSTAT.S.A0005 command: "readAttribute" attribute: "AbsMinCoolSetpointLimit" @@ -193,7 +90,7 @@ tests: minValue: -27315 maxValue: 32767 - - label: "Read attribute AbsMaxCoolSetpointLimit from DUT" + - label: "Reads optional attributes from DUT: AbsMaxCoolSetpointLimit" PICS: TSTAT.S.A0006 command: "readAttribute" attribute: "AbsMaxCoolSetpointLimit" @@ -240,21 +137,11 @@ tests: response: constraints: type: int8s - minValue: -25 - maxValue: 25 + minValue: 25 + maxValue: -25 - - label: "Read attribute OccupiedCoolingSetpoint from the DUT" - PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018 - command: "readAttribute" - attribute: "OccupiedCoolingSetpoint" - response: - constraints: - type: int16s - minValue: MinCoolSetpointLimit - maxValue: MaxCoolSetpointLimit - - - label: "Read attribute OccupiedCoolingSetpoint from the DUT" - PICS: TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.A0018 + - label: "Reads optional attributes from DUT: OccupiedCoolingSetpoint" + PICS: TSTAT.S.F01 command: "readAttribute" attribute: "OccupiedCoolingSetpoint" response: @@ -263,20 +150,8 @@ tests: minValue: 1600 maxValue: 3200 - - label: - "Read attribute OccupiedHeatingSetpoint if TSTAT.S.F05 feature is - supported" - PICS: TSTAT.S.F05 && TSTAT.S.F00 - command: "readAttribute" - attribute: "OccupiedHeatingSetpoint" - response: - constraints: - type: int16s - minValue: AbsMinCoolSetpointLimitStep5 - maxValue: OccupiedCoolingSetpoint - MinSetpointDeadBand - - - label: "Read attribute OccupiedHeatingSetpoint from the DUT" - PICS: TSTAT.S.F00 && !TSTAT.S.F05 + - label: "Reads mandatory attributes from DUT: OccupiedHeatingSetpoint" + PICS: TSTAT.S.F00 command: "readAttribute" attribute: "OccupiedHeatingSetpoint" response: @@ -286,17 +161,7 @@ tests: maxValue: 3000 - label: "Read UnoccupiedCoolingSetpoint attribute from the DUT" - PICS: TSTAT.S.F05 && TSTAT.S.A0013 - command: "readAttribute" - attribute: "UnoccupiedCoolingSetpoint" - response: - constraints: - type: int16s - minValue: AbsMinHeat - maxValue: AbsMaxHeat - - - label: "Read UnoccupiedCoolingSetpoint attribute from the DUT" - PICS: TSTAT.S.F01 && TSTAT.S.F02 && !TSTAT.S.F05 + PICS: TSTAT.S.F01 && TSTAT.S.F02 command: "readAttribute" attribute: "UnoccupiedCoolingSetpoint" response: @@ -306,17 +171,7 @@ tests: maxValue: 3200 - label: "Read UnoccupiedHeatingSetpoint attribute from the DUT" - PICS: TSTAT.S.F00 && TSTAT.S.F02 && TSTAT.S.F05 && TSTAT.S.A0013 - command: "readAttribute" - attribute: "UnoccupiedHeatingSetpoint" - response: - constraints: - type: int16s - minValue: 700 - maxValue: UnoccupiedCoolingSetpoint - MinSetpointDeadBand - - - label: "Read UnoccupiedHeatingSetpoint attribute from the DUT" - PICS: TSTAT.S.F00 && TSTAT.S.F02 && !TSTAT.S.F05 + PICS: TSTAT.S.F00 && TSTAT.S.F02 command: "readAttribute" attribute: "UnoccupiedHeatingSetpoint" response: @@ -326,17 +181,7 @@ tests: maxValue: 3000 - label: "Reads attribute from DUT: MinHeatSetpointLimit" - PICS: TSTAT.S.A0015 && TSTAT.S.F05 && TSTAT.S.A0017 - command: "readAttribute" - attribute: "MinHeatSetpointLimit" - response: - constraints: - type: int16s - minValue: 700 - maxValue: MinCoolSetpointLimit - MinSetpointDeadBand - - - label: "Read attribute MinHeatSetpointLimit from the DUT" - PICS: TSTAT.S.A0015 && !TSTAT.S.F05 + PICS: TSTAT.S.A0015 command: "readAttribute" attribute: "MinHeatSetpointLimit" response: @@ -345,57 +190,37 @@ tests: minValue: 700 maxValue: 3000 - - label: "Read attribute MaxHeatSetpointLimit from the DUT" - PICS: TSTAT.S.A0016 && !TSTAT.S.F05 - command: "readAttribute" - attribute: "MaxHeatSetpointLimit" - response: - constraints: - type: int16s - minValue: 700 - maxValue: 3000 - - label: "Reads attribute from DUT: MaxHeatSetpointLimit" - PICS: TSTAT.S.A0016 && TSTAT.S.F05 && TSTAT.S.A0018 + PICS: TSTAT.S.A0016 command: "readAttribute" attribute: "MaxHeatSetpointLimit" response: constraints: type: int16s - minValue: 700 - maxValue: MaxCoolSetpointLimit - MinSetpointDeadBand - - - label: "Read attribute MinCoolSetpointLimit from DUT" - PICS: TSTAT.S.A0017 && TSTAT.S.A0018 && TSTAT.S.A0005 - command: "readAttribute" - attribute: "MinCoolSetpointLimit" - response: - constraints: - type: int16s - minValue: AbsMinCoolSetpointLimitStep5 - maxValue: MaxCoolSetpointLimit + minValue: -27315 + maxValue: 32767 - - label: "Read attribute MinCoolSetpointLimit from DUT" - PICS: TSTAT.S.A0017 && !TSTAT.S.A0018 && !TSTAT.S.A0005 + - label: "Reads optional attributes from DUT: MinCoolSetpointLimit" + PICS: TSTAT.S.A0017 command: "readAttribute" attribute: "MinCoolSetpointLimit" response: constraints: type: int16s - minValue: 1600 - maxValue: 3200 + minValue: -27315 + maxValue: 32767 - - label: "Read attribute MaxCoolSetpointLimit from DUT" - PICS: TSTAT.S.A0018 && TSTAT.S.A0006 && TSTAT.S.A0017 + - label: "Reads optional attributes from DUT: MaxCoolSetpointLimit" + PICS: TSTAT.S.A0018 command: "readAttribute" attribute: "MaxCoolSetpointLimit" response: constraints: type: int16s - minValue: MinCoolSetpointLimit - maxValue: AbsMaxCoolSetpointLimitStep6 + minValue: -27315 + maxValue: 32767 - - label: "Read attribute MinSetpointDeadBand from DUT" + - label: "Reads optional attributes from DUT: MinSetpointDeadBand" PICS: TSTAT.S.F05 command: "readAttribute" attribute: "MinSetpointDeadBand" @@ -415,8 +240,7 @@ tests: minValue: 0 maxValue: 7 - - label: "Read attribute ControlSequenceOfOperation from DUT" - PICS: TSTAT.S.A001b + - label: "Reads mandatory attributes from DUT: ControlSequenceOfOperation" command: "readAttribute" attribute: "ControlSequenceOfOperation" response: @@ -425,8 +249,7 @@ tests: minValue: 0 maxValue: 5 - - label: "Read attribute SystemMode from DUT" - PICS: TSTAT.S.A001c + - label: "Reads mandatory attributes from DUT: SystemMode" command: "readAttribute" attribute: "SystemMode" 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 7fbebbf00bd849..ab656491823c5b 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 @@ -31,122 +31,12 @@ tests: - name: "nodeId" value: nodeId - - label: "Saving value for comparision in step 2a read MinCoolSetpointLimit" - PICS: TSTAT.S.A0005 - command: "readAttribute" - attribute: "MinCoolSetpointLimit" - response: - saveAs: MinCoolSetpointLimit - - - label: "Saving value for comparision in step 2a read MaxCoolSetpointLimit" - PICS: TSTAT.S.A0006 - command: "readAttribute" - attribute: "MaxCoolSetpointLimit" - response: - saveAs: MaxCoolSetpointLimit - - - label: - "Saving value for comparision in step 2c read attribute - MinSetpointDeadBand" - PICS: TSTAT.S.A0019 - command: "readAttribute" - attribute: "MinSetpointDeadBand" - response: - saveAs: MinSetpointDeadBand - - - label: "Saving value for comparision in step 3a read MinHeatSetpointLimit" - PICS: TSTAT.S.A0015 - command: "readAttribute" - attribute: "MinHeatSetpointLimit" - response: - saveAs: MinHeatSetpointLimit - - - label: - "Saving value for comparision in step 3 reads - UnoccupiedCoolingSetpoint attribute" - command: "readAttribute" - attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.A0013 - response: - saveAs: UnoccupiedCoolingSetpoint - - - label: "Saving value for comparision in step 3a read MaxHeatSetpointLimit" - PICS: TSTAT.S.A0016 - command: "readAttribute" - attribute: "MaxHeatSetpointLimit" - response: - saveAs: MaxHeatSetpointLimit - - - label: - "Saving value for comparision in step3c read attribute - OccupiedHeatingSetpoint" - PICS: TSTAT.S.A0012 - command: "readAttribute" - attribute: "OccupiedHeatingSetpoint" - response: - saveAs: OccupiedHeatingSetpoint - - - label: - "Saving value for comparision in step3c read attribute - OccupiedCoolingSetpoint" - PICS: TSTAT.S.A0011 - command: "readAttribute" - attribute: "OccupiedCoolingSetpoint" - response: - saveAs: OccupiedCoolingSetpoint - - - label: - "Saving value for comparision in step 6a read attribute - AbsMinHeatSetpointLimit" - command: "readAttribute" - attribute: "AbsMinHeatSetpointLimit" - PICS: TSTAT.S.A0003 - response: - saveAs: AbsMinHeatSetpointLimitValue - - - label: - "Saving value for comparision in step 7a read attribute - AbsMaxHeatSetpointLimit" - command: "readAttribute" - attribute: "AbsMaxHeatSetpointLimit" - PICS: TSTAT.S.A0004 - response: - saveAs: AbsMaxHeatSetpointLimitValue - - - label: - "Saving value for comparision in step 8a read attribute - AbsMinCoolSetpointLimit" - command: "readAttribute" - attribute: "AbsMinCoolSetpointLimit" - PICS: TSTAT.S.A0005 - response: - saveAs: AbsMinCoolSetpointLimit - - - label: - "Saving value for comparision in step9a read attribute - AbsMaxCoolSetpointLimit" - command: "readAttribute" - attribute: "AbsMaxCoolSetpointLimit" - PICS: TSTAT.S.A0006 - response: - saveAs: AbsMaxCoolSetpointLimit - - - label: "Read attribute OccupiedCoolingSetpoint from the DUT" - PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018 - command: "readAttribute" - attribute: "OccupiedCoolingSetpoint" - response: - constraints: - type: int16s - minValue: MinCoolSetpointLimit - maxValue: MaxCoolSetpointLimit - - label: "Reads OccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is within range" command: "readAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.A0018 + PICS: TSTAT.S.F01 response: constraints: type: int16s @@ -173,139 +63,61 @@ tests: - label: "Writes OccupiedCoolingSetpoint to value below the - MinCoolSetpointLimit" + ABSMinCoolSetpointLimit" command: "writeAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.F01 && !TSTAT.S.A0017 + PICS: TSTAT.S.F01 arguments: value: 30 response: error: CONSTRAINT_ERROR - #MinCoolSetPointLimit might be negative if not checked before decrement - - label: - "Writes OccupiedCoolingSetpoint to value below the - MinCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0017 && PICS_SKIP_SAMPLE_APP - verification: | - Optional attribute so its not compulsory to get the expected outcome - - ./chip-tool thermostat write occupied-cooling-setpoint 3600 1 1 - On TH(chip-tool) verify that DUT sends a CONSTRAINT_ERROR (0x87) - [1658386056.238286][2906:2911] CHIP:DMG: } - [1658386056.238356][2906:2911] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1658386056.238389][2906:2911] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR) - [1658386056.238449][2906:2911] CHIP:EM: Sending Standalone Ack for MessageCounter:41416222 on exchange 5788i - [1658386056.238525][2906:2911] CHIP:IN: Prepared secure message 0xffffa77ed9e8 to 0x0000000000000001 (1) of type 0x10 and protocolId (0, 0) on exchange 5788i with MessageCounter:113884573 - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" - - label: "Writes OccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit" command: "writeAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.F01 && !TSTAT.S.A0017 + PICS: TSTAT.S.F01 arguments: value: 4000 response: error: CONSTRAINT_ERROR - - label: - "Writes OccupiedCoolingSetpoint to value above the - MaxCoolSetpointLimit" - command: "writeAttribute" - attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.F01 && TSTAT.S.A0017 - arguments: - value: MaxCoolSetpointLimit + 1000 - response: - error: CONSTRAINT_ERROR - - label: "Writes the limit of MinCoolSetpointLimit to OccupiedCoolingSetpoint attribute" command: "writeAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.F01 && !TSTAT.S.F05 && !TSTAT.S.A0017 + PICS: TSTAT.S.F01 && !TSTAT.S.F05 arguments: value: 1600 - label: - "Writes the limit of MinCoolSetpointLimit to OccupiedCoolingSetpoint - attribute" + "Writes the CoolingSetpoint below the HeatingSetpoint when auto is + enabled" command: "writeAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.F01 && !TSTAT.S.F05 && TSTAT.S.A0017 - arguments: - value: MinCoolSetpointLimit - - #LowerLimit = Max(MinCoolSetpointLimit,(OccupiedHeatingSetpoint + MinSetpointDeadBand)) not possible in YAML - - label: - "Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(MinCoolSetpointLimit, - (OccupiedHeatingSetpoint + MinSetpointDeadBand)) to - OccupiedCoolingSetpoint attribute when Auto is enabled" - PICS: TSTAT.S.F05 && TSTAT.S.A0012 && PICS_SKIP_SAMPLE_APP - verification: | - Optional attribute so its not compulsory to get the expected outcome - - ./chip-tool thermostat write occupied-cooling-setpoint 1600 1 1 - On TH(chip-tool) verify that DUT sends a success response - - [1658386056.238356][2906:2911] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1658386056.238389][2906:2911] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR) - [1658386056.238449][2906:2911] CHIP:EM: Sending Standalone Ack for MessageCounter:41416222 on exchange 5788i - cluster: "LogCommands" - command: "UserPrompt" + PICS: TSTAT.S.F05 arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" + value: 1600 + response: + error: CONSTRAINT_ERROR - label: "Writes the limit of MaxCoolSetpointLimit to OccupiedCoolingSetpoint attribute" command: "writeAttribute" attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.F01 && !TSTAT.S.A0017 + PICS: TSTAT.S.F01 arguments: value: 3200 - - label: - "Writes the limit of MaxCoolSetpointLimit to OccupiedCoolingSetpoint - attribute" - command: "writeAttribute" - attribute: "OccupiedCoolingSetpoint" - PICS: TSTAT.S.F01 && TSTAT.S.A0017 - arguments: - value: MaxCoolSetpointLimit - - label: "Reads OccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is within range" command: "readAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016 - response: - constraints: - type: int16s - minValue: MinHeatSetpointLimit - maxValue: MaxHeatSetpointLimit - - - label: - "Reads OccupiedHeatingSetpoint attribute from Server DUT and verifies - that the value is within range" - command: "readAttribute" - attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.F00 && !TSTAT.S.A0015 && !TSTAT.S.A0016 + PICS: TSTAT.S.F00 response: constraints: type: int16s @@ -335,83 +147,47 @@ tests: MinHeatSetpointLimit" command: "writeAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.F00 && !TSTAT.S.A0015 + PICS: TSTAT.S.F00 arguments: value: 600 response: error: CONSTRAINT_ERROR - #MinHeatSetpointLimit might be negative if not checked before decrement - - label: - "Writes OccupiedHeatingSetpoint to value below the - MinHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0015 && PICS_SKIP_SAMPLE_APP - verification: | - Optional Attribute - - - ./chip-tool thermostat write occupied-heating-setpoint 5000 1 1 - - On TH(chip-tool) verify that DUT sends a CONSTRAINT_ERROR (0x87) - [1658388388.725344][3134:3139] CHIP:DMG: InteractionModelRevision = 1 - [1658388388.725388][3134:3139] CHIP:DMG: } - [1658388388.725505][3134:3139] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1658388388.725558][3134:3139] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR) - [1658388388.725618][3134:3139] CHIP:EM: Sending Standalone Ack for MessageCounter:199663269 on exchange 29439i - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" - - label: "Writes OccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit" command: "writeAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.F00 && !TSTAT.S.A0016 + PICS: TSTAT.S.F00 arguments: value: 4010 response: error: CONSTRAINT_ERROR - - label: - "Writes OccupiedHeatingSetpoint to value above the - MaxHeatSetpointLimit" - command: "writeAttribute" - attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.F00 && TSTAT.S.A0016 - arguments: - value: MaxHeatSetpointLimit + 1000 - response: - error: CONSTRAINT_ERROR - - label: "Writes the limit of MinHeatSetpointLimit to OccupiedHeatingSetpoint attribute" command: "writeAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.F00 && !TSTAT.S.A0015 + PICS: TSTAT.S.F00 arguments: value: 700 - label: - "Writes the limit of MinHeatSetpointLimit to OccupiedHeatingSetpoint - attribute" - command: "writeAttribute" + "Reads it back again to confirm the successful write of + OccupiedHeatingSetpoint attribute" + command: "readAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.F00 && TSTAT.S.A0015 - arguments: - value: MinHeatSetpointLimit + PICS: TSTAT.S.F00 + response: + value: 700 - label: "Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint attribute" command: "writeAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.F00 && !TSTAT.S.F05 && !TSTAT.S.A0016 + PICS: TSTAT.S.F00 && !TSTAT.S.F05 arguments: value: 3000 @@ -420,73 +196,20 @@ tests: attribute" command: "writeAttribute" attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.F00 && !TSTAT.S.F05 && TSTAT.S.A0016 - arguments: - value: MaxHeatSetpointLimit - - - label: - "Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint - attribute" - command: "writeAttribute" - attribute: "OccupiedHeatingSetpoint" - PICS: TSTAT.S.F05 && !TSTAT.S.A0015 + PICS: TSTAT.S.F05 arguments: value: 3000 response: error: CONSTRAINT_ERROR - #UpperLimit = Min(MaxHeatSetpointLimit,(OccupiedCoolingSetpoint - MinSetpointDeadBand)) not possible in YAML - - label: - "Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(MaxHeatSetpointLimit, - (OccupiedCoolingSetpoint - MinSetpointDeadBand)) to - OccupiedHeatingSetpoint attribute when Auto is enabled" - PICS: - TSTAT.S.F05 && TSTAT.S.A0011 && TSTAT.S.A0012 && PICS_SKIP_SAMPLE_APP - verification: | - ./chip-tool thermostat write occupied-heating-setpoint 2200 1 1 - On TH(chip-tool) verify that DUT sends a success response - [1661755950.285710][3540:3545] CHIP:DMG: StatusIB = - [1661755950.285739][3540:3545] CHIP:DMG: { - [1661755950.285769][3540:3545] CHIP:DMG: status = 0x87 (CONSTRAINT_ERROR), - [1661755950.285799][3540:3545] CHIP:DMG: }, - [1661755950.285831][3540:3545] CHIP:DMG: - [1661755950.285855][3540:3545] CHIP:DMG: }, - - ./chip-tool thermostat read occupied-heating-setpoint 1 1 - - On TH(chip-tool) verify that the occupied heating setpoint attribute value which is provided in previous step - [1661756337.957444][3574:3579] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_0012 DataVersion: 1052267276 - [1661756337.957573][3574:3579] CHIP:TOO: OccupiedHeatingSetpoint: 2000 - [1661756337.957876][3574:3579] CHIP:EM: Sending Standalone Ack for MessageCounter:176529588 on exchange 9927i - [1661756337.958020][3574:3579] CHIP:IN: Prepared secure message 0xffff867cd978 to 0x0000000000000001 (1) of type 0x10 and p - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" - - label: "Reads UnoccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is within range" command: "readAttribute" attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018 - response: - constraints: - type: int16s - minValue: MinCoolSetpointLimit - maxValue: MaxCoolSetpointLimit - - - label: - "Reads UnoccupiedCoolingSetpoint attribute from Server DUT and - verifies that the value is within range" - command: "readAttribute" - attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.A0018 + PICS: TSTAT.S.F02 && TSTAT.S.F01 response: + value: 2600 constraints: type: int16s minValue: 1600 @@ -515,147 +238,49 @@ tests: MinCoolSetpointLimit" command: "writeAttribute" attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017 + PICS: TSTAT.S.F02 && TSTAT.S.F01 arguments: value: 1002 response: error: CONSTRAINT_ERROR - #MinCoolSetpointLimit might be negative if not checked before decrement - - label: - "Writes UnoccupiedCoolingSetpoint to value below the - MinCoolSetpointLimit" - PICS: TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0017 && PICS_SKIP_SAMPLE_APP - verification: | - Optional Attribute - If it is supported, then in TH(chip-tool) log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE - - ./chip-tool thermostat write unoccupied-cooling-setpoint 2200 1 1 - - https://github.com/project-chip/connectedhomeip/issues/15627 - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" - - label: "Writes UnoccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit" command: "writeAttribute" attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0018 + PICS: TSTAT.S.F02 && TSTAT.S.F01 arguments: value: 4010 response: error: CONSTRAINT_ERROR - - label: - "Writes UnoccupiedCoolingSetpoint to value above the - MaxCoolSetpointLimit" - command: "writeAttribute" - attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0018 - arguments: - value: MaxCoolSetpointLimit + 1000 - response: - error: CONSTRAINT_ERROR - - - label: - "Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint - attribute" - command: "writeAttribute" - attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.F05 - arguments: - value: 1600 - - - label: - "Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint - attribute" - command: "writeAttribute" - attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017 && TSTAT.S.F05 - arguments: - value: 1600 - response: - error: CONSTRAINT_ERROR - - label: "Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute" command: "writeAttribute" attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.F05 - arguments: - value: MinCoolSetpointLimit - - #LowerLimit = Max(MinCoolSetpointLimit,(UnoccupiedCoolingSetpoint + MinSetpointDeadBand)) not possible in YAML - - label: - "Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(MinCoolSetpointLimit, - (UnoccupiedCoolingSetpoint + MinSetpointDeadBand)) to - UnoccupiedCoolingSetpoint attribute" - PICS: - TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0013 && TSTAT.S.F05 && - PICS_SKIP_SAMPLE_APP - verification: | - Optional Attribute - If it is supported, then in TH(chip-tool) log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE - - ./chip-tool thermostat read unoccupied-cooling-setpoint 1 1 - - Verify in TH(chip-tool) Log: - - [1650451290.847810][5403:5408] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - [1650451290.847903][5403:5408] CHIP:EM: Sending Standalone Ack for MessageCounter:5212350 on exchange 30170i - https://github.com/project-chip/connectedhomeip/issues/15627 - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" - - - label: - "Writes the limit of MaxCoolSetpointLimit to UnoccupiedCoolingSetpoint - attribute" - command: "writeAttribute" - attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0018 && !TSTAT.S.F05 + PICS: TSTAT.S.F02 && TSTAT.S.F01 arguments: - value: 3200 + value: 1800 - label: "Writes the limit of MaxCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute" command: "writeAttribute" attribute: "UnoccupiedCoolingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.F05 + PICS: TSTAT.S.F02 && TSTAT.S.F01 arguments: - value: MaxCoolSetpointLimit - - - label: - "Reads UnoccupiedHeatingSetpoint attribute from Server DUT and - verifies that the value is within range" - command: "readAttribute" - attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016 - response: - constraints: - type: int16s - minValue: MinHeatSetpointLimit - maxValue: MaxHeatSetpointLimit + value: 3000 - label: "Reads UnoccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is within range" command: "readAttribute" attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0015 && !TSTAT.S.A0016 + PICS: TSTAT.S.F02 && TSTAT.S.F00 response: + value: 2000 constraints: type: int16s minValue: 700 @@ -664,6 +289,7 @@ tests: - label: "Writes a value back that is different but valid for UnoccupiedHeatingSetpoint attribute" + command: "writeAttribute" attribute: "UnoccupiedHeatingSetpoint" PICS: TSTAT.S.F02 && TSTAT.S.F00 @@ -684,152 +310,49 @@ tests: MinHeatSetpointLimit" command: "writeAttribute" attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0015 + PICS: TSTAT.S.F02 && TSTAT.S.F00 arguments: value: 500 response: error: CONSTRAINT_ERROR - #MinHeatSetpointLimit might be negative if not checked before decrement - - label: - "Writes UnoccupiedHeatingSetpoint to value below the - MinHeatSetpointLimit" - PICS: TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0015 && PICS_SKIP_SAMPLE_APP - verification: | - Optional Attribute - If it is supported, then in TH(chip-tool) log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE - - ./chip-tool thermostat read unoccupied-heating-setpoint 1 1 - As its an optional attribute, we are not getting expected result - [1658389018.789254][3201:3206] CHIP:DMG: SuppressResponse = true, - [1658389018.789288][3201:3206] CHIP:DMG: InteractionModelRevision = 1 - [1658389018.789312][3201:3206] CHIP:DMG: } - [1658389018.789426][3201:3206] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - [1658389018.789511][3201:3206] CHIP:EM: Sending Standalone Ack for MessageCounter:175660806 on exchange 16788i - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" - - label: "Writes UnoccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit" command: "writeAttribute" attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0016 + PICS: TSTAT.S.F02 && TSTAT.S.F00 arguments: value: 4010 response: error: CONSTRAINT_ERROR - - label: - "Writes UnoccupiedHeatingSetpoint to value above the - MaxHeatSetpointLimit" - command: "writeAttribute" - attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0016 - arguments: - value: MaxHeatSetpointLimit + 1000 - response: - error: CONSTRAINT_ERROR - - - label: - "Writes the limit of MinHeatSetpointLimit to UnoccupiedHeatingSetpoint - attribute" - command: "writeAttribute" - attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0015 - arguments: - value: 700 - - label: "Writes the limit of MinHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute" command: "writeAttribute" attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0015 - arguments: - value: MinHeatSetpointLimit - - - label: - "Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint - attribute" - command: "writeAttribute" - attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0016 && !TSTAT.S.F05 - arguments: - value: 3000 - - - label: - "Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint - attribute" - command: "writeAttribute" - attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 + PICS: TSTAT.S.F02 && TSTAT.S.F00 arguments: - value: MaxHeatSetpointLimit + value: 1800 - label: "Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute" command: "writeAttribute" attribute: "UnoccupiedHeatingSetpoint" - PICS: TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0016 && TSTAT.S.F05 + PICS: TSTAT.S.F02 && TSTAT.S.F00 arguments: value: 3000 - response: - error: CONSTRAINT_ERROR - - #UpperLimit = Min(MaxHeatSetpointLimit,(UnoccupiedCoolingSetpoint - MinSetpointDeadBand)) not possible in YAML - - label: - "Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(MaxHeatSetpointLimit, - (UnoccupiedCoolingSetpoint - MinSetpointDeadBand)) to - UnoccupiedHeatingSetpoint attribute when Auto is enabled." - PICS: - TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0013 && TSTAT.S.F05 && - PICS_SKIP_SAMPLE_APP - verification: | - Optional Attribute - If it is supported, then in TH (chip-tool) log it will results in displaying the value, else it will display UNSUPPORTED_ATTRIBUTE - - ./chip-tool thermostat read unoccupied-heating-setpoint 1 1 - As its an optional attribute, we are not getting expected result - [1658389070.439643][3209:3214] CHIP:DMG: - [1658389070.439678][3209:3214] CHIP:DMG: SuppressResponse = true, - [1658389070.439715][3209:3214] CHIP:DMG: InteractionModelRevision = 1 - [1658389070.439750][3209:3214] CHIP:DMG: } - [1658389070.439896][3209:3214] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - [1658389070.439997][3209:3214] CHIP:EM: Sending Standalone Ack for MessageCounter:26480890 on exchange 13280i - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" - label: "Reads MinHeatSetpointLimit attribute from Server DUT and verifies that the value is within range" command: "readAttribute" attribute: "MinHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016 && TSTAT.S.A0003 - response: - constraints: - type: int16s - minValue: AbsMinHeatSetpointLimitValue - maxValue: MaxHeatSetpointLimit - - - label: - "Reads MinHeatSetpointLimit attribute from Server DUT and verifies - that the value is within range" - command: "readAttribute" - attribute: "MinHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.A0016 && !TSTAT.S.A0003 + PICS: TSTAT.S.F00 && TSTAT.S.A0015 response: + value: 700 constraints: type: int16s minValue: 700 @@ -867,148 +390,49 @@ tests: AbsMinHeatSetpointLimit " command: "writeAttribute" attribute: "MinHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.A0003 + PICS: TSTAT.S.F00 && TSTAT.S.A0015 arguments: - value: 100 + value: 650 response: error: CONSTRAINT_ERROR - #AbsMinHeatSetpointLimit might be negative if not checked before decrement - - label: - "Writes MinHeatSetpointLimit to value below the - AbsMinHeatSetpointLimit " - PICS: - TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0003 && PICS_SKIP_SAMPLE_APP - verification: | - ./chip-tool thermostat write min-heat-setpoint-limit 300 1 1 - On TH (chip-tool) verify that DUT sends a CONSTRAINT_ERROR (0x87) - [1658389492.560607][3266:3272] CHIP:DMG: InteractionModelRevision = 1 - [1658389492.560644][3266:3272] CHIP:DMG: } - [1658389492.560749][3266:3272] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1658389492.560915][3266:3272] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR) - [1658389492.561002][3266:3272] CHIP:EM: Sending Standalone Ack for MessageCounter:252582472 on exchange 3434i - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" - - label: "Writes MinHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit " command: "writeAttribute" attribute: "MinHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.A0016 + PICS: TSTAT.S.F00 && TSTAT.S.A0015 arguments: value: 4050 response: error: CONSTRAINT_ERROR - - label: - "Writes MinHeatSetpointLimit to value above the - AbsMaxHeatSetpointLimit " - command: "writeAttribute" - attribute: "MinHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016 - arguments: - value: MaxHeatSetpointLimit + 1000 - response: - error: CONSTRAINT_ERROR - - label: "Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute" command: "writeAttribute" attribute: "MinHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.A0003 + PICS: TSTAT.S.F00 && TSTAT.S.A0015 arguments: value: 700 - label: - "Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit - attribute" - command: "writeAttribute" - attribute: "MinHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0003 - arguments: - value: AbsMinHeatSetpointLimitValue - - - label: - "Writes the limit of MaxHeatSetpointLimit to MinHeatSetpointLimit + "Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit attribute" command: "writeAttribute" attribute: "MinHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.F05 && !TSTAT.S.A0016 + PICS: TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.F05 arguments: value: 3000 - - label: - "Writes the limit of MaxHeatSetpointLimit to MinHeatSetpointimit - attribute" - command: "writeAttribute" - attribute: "MinHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.F05 && TSTAT.S.A0016 - arguments: - value: MaxHeatSetpointLimit - - #UpperLimit = Min(MaxHeatSetpointLimit,(MinCoolSetpointLimit - MinSetpointDeadBand)) not possible in YAML - - label: - "Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(MaxHeatSetpointLimit, - (MinCoolSetpointLimit - MinSetpointDeadBand)) to MinHeatSetpointLimit - attribute when Auto is enabled" - PICS: - TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.F05 && TSTAT.S.A0005 && - PICS_SKIP_SAMPLE_APP - verification: | - ./chip-tool thermostat write min-heat-setpoint-limit 1000 1 1 - - On TH(chip-tool) verify that DUT sends a success response - [1658389641.734245][3279:3284] CHIP:DMG: Endpoint = 0x1, - [1658389641.734285][3279:3284] CHIP:DMG: Cluster = 0x201, - [1658389641.734326][3279:3284] CHIP:DMG: Attribute = 0x0000_0015, - [1658389641.734360][3279:3284] CHIP:DMG: } - [1658389641.734402][3279:3284] CHIP:DMG: - [1658389641.734438][3279:3284] CHIP:DMG: StatusIB = - [1658389641.734475][3279:3284] CHIP:DMG: { - [1658389641.734512][3279:3284] CHIP:DMG: status = 0x00 (SUCCESS), - [1658389641.734549][3279:3284] CHIP:DMG: }, - [1658389641.734586][3279:3284] CHIP:DMG: - [1658389641.734617][3279:3284] CHIP:DMG: }, - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" - - label: "Reads MaxHeatSetpointLimit attribute from Server DUT and verifies that the value is within range" command: "readAttribute" attribute: "MaxHeatSetpointLimit" - PICS: - TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 && TSTAT.S.A0004 && - TSTAT.S.A0016 - response: - constraints: - type: int16s - minValue: MinHeatSetpointLimit - maxValue: AbsMaxHeatSetpointLimitValue - - - label: - "Reads MaxHeatSetpointLimit attribute from Server DUT and verifies - that the value is within range" - command: "readAttribute" - attribute: "MaxHeatSetpointLimit" - PICS: - " TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 && !TSTAT.S.A0004 && - !TSTAT.S.A0016 " + PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 response: + value: 3000 constraints: type: int16s minValue: 700 @@ -1057,158 +481,49 @@ tests: AbsMinHeatSetpointLimit " command: "writeAttribute" attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.A0015 + PICS: TSTAT.S.F00 && TSTAT.S.A0016 arguments: value: 500 response: error: CONSTRAINT_ERROR - #MinHeatSetpointLimit might be negative if not checked before decrement - - label: - "Writes MaxHeatSetpointLimit to value below the MinHeatSetpointLimit" - PICS: - TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.A0015 && PICS_SKIP_SAMPLE_APP - verification: | - Optional Attribute - - - ./chip-tool thermostat write max-heat-setpoint-limit 7000 1 1 - - On TH(chip-tool) verify that DUT sends a CONSTRAINT_ERROR (0x87) - - [1658389771.305508][3310:3315] CHIP:DMG: ], - [1658389771.305555][3310:3315] CHIP:DMG: - [1658389771.305594][3310:3315] CHIP:DMG: InteractionModelRevision = 1 - [1658389771.305632][3310:3315] CHIP:DMG: } - [1658389771.305737][3310:3315] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1658389771.305785][3310:3315] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR) - [1658389771.305867][3310:3315] CHIP:EM: Sending Standalone Ack for MessageCounter:187660216 on exchange 59285i - - ./chip-tool thermostat write max-heat-setpoint-limit 100 1 1 - On TH(chip-tool) verify that DUT sends a CONSTRAINT_ERROR (0x87) - [1658389806.716013][3316:3321] CHIP:DMG: - [1658389806.716046][3316:3321] CHIP:DMG: StatusIB = - [1658389806.716084][3316:3321] CHIP:DMG: { - [1658389806.716121][3316:3321] CHIP:DMG: status = 0x87 (CONSTRAINT_ERROR), - [1658389806.716158][3316:3321] CHIP:DMG: }, - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" - - label: "Writes MaxHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit " command: "writeAttribute" attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.A0004 + PICS: TSTAT.S.F00 && TSTAT.S.A0016 arguments: value: 4000 response: error: CONSTRAINT_ERROR - label: - "Writes MaxHeatSetpointLimit to value above the - AbsMaxHeatSetpointLimit " - command: "writeAttribute" - attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.A0004 - arguments: - value: AbsMaxHeatSetpointLimitValue + 1000 - response: - error: CONSTRAINT_ERROR - - - label: - "Writes the limit of MinHeatSetpointLimit to MaxHeatSetpointLimit + "Writes the limit of AbsMinHeatSetpointLimit to MaxHeatSetpointLimit attribute" command: "writeAttribute" attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.A0015 + PICS: TSTAT.S.F00 && TSTAT.S.A0016 arguments: value: 700 - - label: - "Writes the limit of MinHeatSetpointLimit to MaxHeatSetpointLimit - attribute" - command: "writeAttribute" - attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.A0015 - arguments: - value: MinHeatSetpointLimit - - label: "Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit attribute" command: "writeAttribute" attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 && !TSTAT.S.A0004 + PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 arguments: value: 3000 - - label: - "Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit - attribute" - command: "writeAttribute" - attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 && TSTAT.S.A0004 - arguments: - value: AbsMaxHeatSetpointLimitValue - - #UpperLimit = Min(AbsMaxHeatSetpointLimit,(MaxCoolSetpointLimit - MinSetpointDeadBand)) not possible in YAML - - label: - "Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(AbsMaxHeatSetpointLimit, - (MaxCoolSetpointLimit - MinSetpointDeadBand)) to MaxHeatSetpointLimit - attribute" - PICS: - TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.F05 && TSTAT.S.A0018 && - PICS_SKIP_SAMPLE_APP - verification: | - ./chip-tool thermostat write max-heat-setpoint-limit 2000 1 1 - On TH(chip-tool) verify that DUT sends a success response - [1658389911.809423][3333:3338] CHIP:DMG: Endpoint = 0x1, - [1658389911.809492][3333:3338] CHIP:DMG: Cluster = 0x201, - [1658389911.809562][3333:3338] CHIP:DMG: Attribute = 0x0000_0016, - [1658389911.809627][3333:3338] CHIP:DMG: } - [1658389911.809698][3333:3338] CHIP:DMG: - [1658389911.809761][3333:3338] CHIP:DMG: StatusIB = - [1658389911.809827][3333:3338] CHIP:DMG: { - [1658389911.809892][3333:3338] CHIP:DMG: status = 0x00 (SUCCESS), - [1658389911.809957][3333:3338] CHIP:DMG: }, - [1658389911.809994][3333:3338] CHIP:DMG: - [1658389911.810021][3333:3338] CHIP:DMG: }, - [1658389911.810051][3333:3338] CHIP:DMG: - [1658389911.810076][3333:3338] CHIP:DMG: ], - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" - - - label: - "Reads MinCoolSetpointLimit attribute from Server DUT and verifies - that the value is within range" - command: "readAttribute" - attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018 && TSTAT.S.A0005 - response: - constraints: - type: int16s - minValue: AbsMinCoolSetpointLimit - maxValue: MaxCoolSetpointLimit - - label: "Reads MinCoolSetpointLimit attribute from Server DUT and verifies that the value is within range" command: "readAttribute" attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0018 && !TSTAT.S.A0005 + PICS: TSTAT.S.F01 && TSTAT.S.A0017 response: + value: 1600 constraints: type: int16s minValue: 1600 @@ -1237,144 +552,57 @@ tests: AbsMinCoolSetpointLimit " command: "writeAttribute" attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0005 + PICS: TSTAT.S.F01 && TSTAT.S.A0017 arguments: value: 1000 response: error: CONSTRAINT_ERROR - #AbsMinCoolSetpointLimit might be negative if not checked before decrement - - label: - "Writes MinCoolSetpointLimit to value below the - AbsMinCoolSetpointLimit" - PICS: - TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0005 && PICS_SKIP_SAMPLE_APP - verification: | - Optional Attribute - - - - ./chip-tool thermostat write max-heat-setpoint-limit 9000 1 1 - On TH(chip-tool) verify that DUT sends a CONSTRAINT_ERROR (0x87) - [1658390040.444407][3343:3348] CHIP:DMG: - [1658390040.444443][3343:3348] CHIP:DMG: }, - [1658390040.444483][3343:3348] CHIP:DMG: - [1658390040.444515][3343:3348] CHIP:DMG: ], - [1658390040.444553][3343:3348] CHIP:DMG: - [1658390040.444585][3343:3348] CHIP:DMG: InteractionModelRevision = 1 - [1658390040.444616][3343:3348] CHIP:DMG: } - [1658390040.444703][3343:3348] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1658390040.444744][3343:3348] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR) - [1658390040.444843][3343:3348] CHIP:EM: Sending Standalone Ack for MessageCounter:137523063 on exchange 39419i - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" - label: "Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit " command: "writeAttribute" attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0018 + PICS: TSTAT.S.F01 && TSTAT.S.A0017 arguments: value: 4000 response: error: CONSTRAINT_ERROR - - label: - "Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit " - command: "writeAttribute" - attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018 - arguments: - value: MaxCoolSetpointLimit + 1000 - response: - error: CONSTRAINT_ERROR - - label: "Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute" command: "writeAttribute" attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0005 && !TSTAT.S.F05 + PICS: TSTAT.S.F01 && TSTAT.S.A0017 arguments: value: 1600 - - label: - "Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit - attribute" - command: "writeAttribute" - attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0005 && !TSTAT.S.F05 - arguments: - value: AbsMinCoolSetpointLimit - - #LowerLimit = Max(AbsMinCoolSetpointLimit,(MinHeatSetpointLimit + MinSetpointDeadBand)) not possible in YAML - - label: - "Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(AbsMinCoolSetpointLimit, - (MinHeatSetpointLimit + MinSetpointDeadBand)) to MinCoolSetpointLimit - attribute" - PICS: - TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0015 && TSTAT.S.F05 && - PICS_SKIP_SAMPLE_APP - verification: | - ./chip-tool thermostat write max-heat-setpoint-limit 2000 1 1 - - Verify in TH(chip-tool) Log: - [1658390406.512865][3384:3389] CHIP:DMG: - [1658390406.512895][3384:3389] CHIP:DMG: StatusIB = - [1658390406.512927][3384:3389] CHIP:DMG: { - [1658390406.512958][3384:3389] CHIP:DMG: status = 0x00 (SUCCESS), - [1658390406.512992][3384:3389] CHIP:DMG: }, - [1658390406.513023][3384:3389] CHIP:DMG: - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" - - label: "Writes the limit of MaxCoolSetpointLimit to MinCoolSetpointLimit attribute" command: "writeAttribute" attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0018 + PICS: TSTAT.S.F01 && TSTAT.S.A0017 arguments: value: 3200 - label: - "Writes the limit of MaxCoolSetpointLimit to MinCoolSetpointLimit + "Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute" command: "writeAttribute" attribute: "MinCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018 + PICS: TSTAT.S.F01 && TSTAT.S.A0017 arguments: - value: MaxCoolSetpointLimit - - - label: - "Reads MaxCoolSetpointLimit attribute from Server DUT and verifies - that the value is within range" - command: "readAttribute" - attribute: "MaxCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0017 && TSTAT.S.A0006 - response: - constraints: - type: int16s - minValue: MinCoolSetpointLimit - maxValue: AbsMaxCoolSetpointLimit + value: 1600 - label: "Reads MaxCoolSetpointLimit attribute from Server DUT and verifies that the value is within range" command: "readAttribute" attribute: "MaxCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0017 && !TSTAT.S.A0006 + PICS: TSTAT.S.F01 && TSTAT.S.A0018 response: + value: 3200 constraints: type: int16s minValue: 1600 @@ -1403,131 +631,40 @@ tests: AbsMinCoolSetpointLimit " command: "writeAttribute" attribute: "MaxCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0017 + PICS: TSTAT.S.F01 && TSTAT.S.A0018 arguments: value: 1000 response: error: CONSTRAINT_ERROR - #AbsMinCoolSetpointLimit might be negative if not checked before decrement - - label: - "Writes MaxCoolSetpointLimit to value below the - AbsMinCoolSetpointLimit" - PICS: - TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0017 && PICS_SKIP_SAMPLE_APP - verification: | - Optional attribute so its not compulsory to get the expected outcome - - ./chip-tool thermostat write max-cool-setpoint-limit 9100 1 1 - On TH(chip-tool)(chip-tool) verify that DUT sends a CONSTRAINT_ERROR (0x87) - [1658396137.669807][3677:3682] CHIP:DMG: - [1658396137.669832][3677:3682] CHIP:DMG: InteractionModelRevision = 1 - [1658396137.669857][3677:3682] CHIP:DMG: } - [1658396137.669929][3677:3682] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1658396137.669964][3677:3682] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR) - [1658396137.670019][3677:3682] CHIP:EM: Sending Standalone Ack for MessageCounter:77698449 on exchange 47844i - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" - - label: "Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit " command: "writeAttribute" attribute: "MaxCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0006 + PICS: TSTAT.S.F01 && TSTAT.S.A0018 arguments: value: 4000 response: error: CONSTRAINT_ERROR - label: - "Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit " - command: "writeAttribute" - attribute: "MaxCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0006 - arguments: - value: AbsMaxCoolSetpointLimit + 1000 - response: - error: CONSTRAINT_ERROR - - - label: - "Writes the limit of MinCoolSetpointLimit to MaxCoolSetpointLimit - attribute" - command: "writeAttribute" - attribute: "MaxCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0017 && !TSTAT.S.F05 - arguments: - value: 1600 - - - label: - "Writes the limit of MinCoolSetpointLimit to MaxCoolSetpointLimit + "Writes the limit of AbsMinCoolSetpointLimit to MaxCoolSetpointLimit attribute" command: "writeAttribute" attribute: "MaxCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0017 && TSTAT.S.F05 + PICS: TSTAT.S.F01 && TSTAT.S.A0018 arguments: value: 1600 - response: - error: CONSTRAINT_ERROR - label: - "Writes the limit of MinCoolSetpointLimit to MaxCoolSetpointLimit + "Writes the limit of MaxCoolSetpointLimit to MaxCoolSetpointLimit attribute" command: "writeAttribute" attribute: "MaxCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0017 && !TSTAT.S.F05 - arguments: - value: MinCoolSetpointLimit - - #LowerLimit = Max(MinCoolSetpointLimit,(MaxHeatSetpointLimit + MinSetpointDeadBand)) not possible in YAML - - label: - "Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(MinCoolSetpointLimit, - (MaxHeatSetpointLimit + MinSetpointDeadBand)) to MaxCoolSetpointLimit - attribute" - PICS: - TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0016 && TSTAT.S.F05 && - PICS_SKIP_SAMPLE_APP - verification: | - Optional attribute so its not compulsory to get the expected outcome - - ./chip-tool thermostat write max-cool-setpoint-limit 1600 1 1 - On TH verify that DUT sends a success response - [1661766260.648041][10448:10453] CHIP:DMG: StatusIB = - [1661766260.648070][10448:10453] CHIP:DMG: { - [1661766260.648100][10448:10453] CHIP:DMG: status = 0x87 (CONSTRAINT_ERROR), - [1661766260.648127][10448:10453] CHIP:DMG: }, - cluster: "LogCommands" - command: "UserPrompt" - arguments: - values: - - name: "message" - value: "Please enter 'y' after success" - - name: "expectedValue" - value: "y" - - - label: - "Writes the limit of AbsMaxCoolSetpointLimit to MaxCoolSetpointLimit - attribute" - command: "writeAttribute" - attribute: "MaxCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0006 + PICS: TSTAT.S.F01 && TSTAT.S.A0018 arguments: value: 3200 - - label: - "Writes the limit of AbsMaxCoolSetpointLimit to MaxCoolSetpointLimit - attribute" - command: "writeAttribute" - attribute: "MaxCoolSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0006 - arguments: - value: AbsMaxCoolSetpointLimit - - label: "Writes (sets back) default value of MinHeatSetpointLimit" command: "writeAttribute" attribute: "MinHeatSetpointLimit" @@ -1545,7 +682,7 @@ tests: - label: "Writes MaxHeatSetpointLimit That meets the deadband of 2.5C" command: "writeAttribute" attribute: "MaxHeatSetpointLimit" - PICS: TSTAT.S.F01 && TSTAT.S.A0016 && !TSTAT.S.F05 + PICS: TSTAT.S.F01 && TSTAT.S.A0016 &&!TSTAT.S.F05 arguments: value: 2950 @@ -1570,6 +707,7 @@ tests: attribute: "MinSetpointDeadBand" PICS: TSTAT.S.F05 response: + value: 25 constraints: type: int8s minValue: 0 @@ -1580,7 +718,7 @@ tests: MinSetpointDeadBand attribute" command: "writeAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable + PICS: TSTAT.S.F05 arguments: value: 5 @@ -1589,14 +727,14 @@ tests: MinSetpointDeadBand attribute" command: "readAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable + PICS: TSTAT.S.F05 response: value: 5 - label: "Writes the value below MinSetpointDeadBand" command: "writeAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable + PICS: TSTAT.S.F05 arguments: value: -1 response: @@ -1605,7 +743,7 @@ tests: - label: "Writes the value above MinSetpointDeadBand " command: "writeAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable + PICS: TSTAT.S.F05 arguments: value: 30 response: @@ -1614,14 +752,14 @@ tests: - label: "Writes the min limit of MinSetpointDeadBand" command: "writeAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable + PICS: TSTAT.S.F05 arguments: value: 0 - label: "Writes the max limit of MinSetpointDeadBand" command: "writeAttribute" attribute: "MinSetpointDeadBand" - PICS: TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable + PICS: TSTAT.S.F05 arguments: value: 25 diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values index f7ea6ee0e55372..9930fc5b2bc112 100644 --- a/src/app/tests/suites/certification/ci-pics-values +++ b/src/app/tests/suites/certification/ci-pics-values @@ -1496,7 +1496,6 @@ TSTAT.S.A0044=0 TSTAT.S.A0045=0 TSTAT.S.A0046=0 TSTAT.S.A0047=0 -TSTAT.S.M.MinSetpointDeadBandWritable=1 #Server commands TSTAT.S.C00.Rsp=1 diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index 69ea5069e34347..ad9398eac22d6f 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -33529,7 +33529,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", 68, 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); @@ -33550,16 +33550,6 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand chip::Optional mEndpoint; chip::Optional mTimeout; - int16_t AbsMinCoolSetpointLimitStep5; - int8_t MinSetpointDeadBand; - int16_t AbsMaxCoolSetpointLimitStep6; - int16_t MinCoolSetpointLimit; - int16_t MaxCoolSetpointLimit; - int16_t OccupiedCoolingSetpoint; - int16_t AbsMinHeat; - int16_t AbsMaxHeat; - int16_t UnoccupiedCoolingSetpoint; - chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } // @@ -33577,78 +33567,6 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand shouldContinue = true; break; case 1: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - AbsMinCoolSetpointLimitStep5 = value; - } - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int8_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - MinSetpointDeadBand = value; - } - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - AbsMaxCoolSetpointLimitStep6 = value; - } - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - MinCoolSetpointLimit = value; - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - MaxCoolSetpointLimit = value; - } - break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - OccupiedCoolingSetpoint = value; - } - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - AbsMinHeat = value; - } - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - AbsMaxHeat = value; - } - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - UnoccupiedCoolingSetpoint = value; - } - break; - case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -33658,7 +33576,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); } break; - case 11: + case 2: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -33668,7 +33586,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); } break; - case 12: + case 3: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -33678,25 +33596,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 1U)); } break; - case 13: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMaxValue("value", value, AbsMinCoolSetpointLimitStep5 - MinSetpointDeadBand)); - } - break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 1575)); - } - break; - case 15: + case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -33706,7 +33606,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); } break; - case 16: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -33716,7 +33616,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); } break; - case 17: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -33726,7 +33626,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); } break; - case 18: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -33736,7 +33636,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); } break; - case 19: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -33746,7 +33646,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 100U)); } break; - case 20: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -33756,7 +33656,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 100U)); } break; - case 21: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -33766,27 +33666,17 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 63U)); } break; - case 22: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int8_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "int8s", "int8s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, -25)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 25)); - } - break; - case 23: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, MinCoolSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, MaxCoolSetpointLimit)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 25)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, -25)); } break; - case 24: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -33796,17 +33686,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); } break; - case 25: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, AbsMinCoolSetpointLimitStep5)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, OccupiedCoolingSetpoint - MinSetpointDeadBand)); - } - break; - case 26: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -33816,17 +33696,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); } break; - case 27: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, AbsMinHeat)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, AbsMaxHeat)); - } - break; - case 28: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -33836,37 +33706,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); } break; - case 29: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, UnoccupiedCoolingSetpoint - MinSetpointDeadBand)); - } - break; - case 30: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); - } - break; - case 31: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, MinCoolSetpointLimit - MinSetpointDeadBand)); - } - break; - case 32: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -33876,7 +33716,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); } break; - case 33: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; @@ -33886,47 +33726,37 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); } break; - case 34: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, MaxCoolSetpointLimit - MinSetpointDeadBand)); - } - break; - case 35: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, AbsMinCoolSetpointLimitStep5)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, MaxCoolSetpointLimit)); + VerifyOrReturn(CheckConstraintMinValue("value", value, -27315)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); } break; - case 36: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 1600)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); + VerifyOrReturn(CheckConstraintMinValue("value", value, -27315)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); } break; - case 37: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, MinCoolSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, AbsMaxCoolSetpointLimitStep6)); + VerifyOrReturn(CheckConstraintMinValue("value", value, -27315)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); } break; - case 38: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int8_t value; @@ -33936,7 +33766,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 25)); } break; - case 39: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -33946,7 +33776,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 7U)); } break; - case 40: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::Clusters::Thermostat::ThermostatControlSequence value; @@ -33956,7 +33786,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 5U)); } break; - case 41: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -33966,7 +33796,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 9U)); } break; - case 42: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -33976,7 +33806,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 9U)); } break; - case 43: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -33986,7 +33816,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 6U)); } break; - case 44: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -33996,7 +33826,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 45: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -34006,7 +33836,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 46: + case 28: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -34016,7 +33846,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 1U)); } break; - case 47: + case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -34026,7 +33856,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 1440U)); } break; - case 48: + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -34036,7 +33866,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 7U)); } break; - case 49: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -34046,7 +33876,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 127U)); } break; - case 50: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -34056,7 +33886,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 2U)); } break; - case 51: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -34066,7 +33896,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); } break; - case 52: + case 34: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint32_t value; @@ -34074,7 +33904,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "utc", "utc")); } break; - case 53: + case 35: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -34084,7 +33914,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 54: + case 36: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -34094,7 +33924,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 55: + case 37: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -34104,7 +33934,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 56: + case 38: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -34114,7 +33944,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 57: + case 39: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -34124,7 +33954,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 58: + case 40: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -34134,7 +33964,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 59: + case 41: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -34144,7 +33974,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 255U)); } break; - case 60: + case 42: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -34154,7 +33984,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 4U)); } break; - case 61: + case 43: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint16_t value; @@ -34164,7 +33994,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 65535U)); } break; - case 62: + case 44: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -34174,7 +34004,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 3U)); } break; - case 63: + case 45: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -34184,7 +34014,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 3U)); } break; - case 64: + case 46: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint32_t value; @@ -34192,7 +34022,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "bitmap32", "bitmap32")); } break; - case 65: + case 47: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -34202,7 +34032,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 5U)); } break; - case 66: + case 48: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::Nullable value; @@ -34212,7 +34042,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxValue("value", value, 32767)); } break; - case 67: + case 49: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { uint8_t value; @@ -34244,412 +34074,292 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand return WaitForCommissionee(kIdentityAlpha, value); } case 1: { - LogStep(1, "Saving value for comparision in step 5 read AbsMinCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::AbsMinCoolSetpointLimit::Id, true, chip::NullOptional); + LogStep(1, "Reads mandatory attributes from DUT: LocalTemperature"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::LocalTemperature::Id, true, + chip::NullOptional); } case 2: { - LogStep(2, "Saving value for comparision in step 5 read attribute MinSetpointDeadBand attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0019"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinSetpointDeadBand::Id, + LogStep(2, "Read OutdoorTemperature attribute from the DUT"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OutdoorTemperature::Id, true, chip::NullOptional); } case 3: { - LogStep(3, "Saving value for comparision in step 6 read AbsMaxCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::AbsMaxCoolSetpointLimit::Id, true, chip::NullOptional); - } - case 4: { - LogStep(4, "Saving value for comparision in step 17 read MinCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, - true, chip::NullOptional); - } - case 5: { - LogStep(5, "Saving value for comparision in step 17 read MaxCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, - true, chip::NullOptional); - } - case 6: { - LogStep(6, "Saving value for comparision in step 13 read attribute OccupiedCoolingSetpoint"); - 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 7: { - LogStep(7, "Saving value for comparision in step 15 read attribute AbsMinHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::AbsMinHeatSetpointLimit::Id, true, chip::NullOptional); - } - case 8: { - LogStep(8, "Saving value for comparision in step 15 read attribute AbsMaxHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::AbsMaxHeatSetpointLimit::Id, true, chip::NullOptional); - } - case 9: { - LogStep(9, "Saving value for comparision in step 16 read UnoccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, true, chip::NullOptional); - } - case 10: { - LogStep(10, "Reads mandatory attributes from DUT: LocalTemperature"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::LocalTemperature::Id, true, - chip::NullOptional); - } - case 11: { - LogStep(11, "Read OutdoorTemperature attribute from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OutdoorTemperature::Id, - true, chip::NullOptional); - } - case 12: { - LogStep(12, "Read Occupancy attribute from the DUT"); + LogStep(3, "Read Occupancy attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::Occupancy::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Read attribute AbsMinHeatSetpointLimit if TSTAT.S.F05 feature is supported"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0003 && TSTAT.S.A0005 && TSTAT.S.F05"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::AbsMinHeatSetpointLimit::Id, true, chip::NullOptional); - } - case 14: { - LogStep(14, "Read attribute AbsMinHeatSetpointLimit if TSTAT.S.F05 feature is supported"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0003 && !TSTAT.S.A0005 && TSTAT.S.F05"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::AbsMinHeatSetpointLimit::Id, true, chip::NullOptional); - } - case 15: { - LogStep(15, "Read attribute AbsMinHeatSetpointLimit from DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0003 && !TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 4: { + LogStep(4, "Reads mandatory attributes from DUT: AbsMinHeatSetpointLimit"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AbsMinHeatSetpointLimit::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, "Reads mandatory attributes from DUT: AbsMaxHeatSetpointLimit"); + case 5: { + LogStep(5, "Reads mandatory attributes from DUT: AbsMaxHeatSetpointLimit"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AbsMaxHeatSetpointLimit::Id, true, chip::NullOptional); } - case 17: { - LogStep(17, "Read attribute AbsMinCoolSetpointLimit from DUT"); + case 6: { + LogStep(6, "Reads optional attributes from DUT: AbsMinCoolSetpointLimit"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AbsMinCoolSetpointLimit::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, "Read attribute AbsMaxCoolSetpointLimit from DUT"); + case 7: { + LogStep(7, "Reads optional attributes from DUT: AbsMaxCoolSetpointLimit"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AbsMaxCoolSetpointLimit::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, "Read PICoolingDemand attribute from the DUT"); + case 8: { + LogStep(8, "Read PICoolingDemand attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::PICoolingDemand::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, "Read PIHeatingDemand attribute from the DUT"); + case 9: { + LogStep(9, "Read PIHeatingDemand attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::PIHeatingDemand::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, "Read HVACSystemTypeConfiguration attribute from the DUT"); + case 10: { + LogStep(10, "Read HVACSystemTypeConfiguration attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::HVACSystemTypeConfiguration::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, "Read LocalTemperatureCalibration attribute from the DUT"); + case 11: { + LogStep(11, "Read LocalTemperatureCalibration attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::LocalTemperatureCalibration::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, "Read attribute OccupiedCoolingSetpoint from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedCoolingSetpoint::Id, true, chip::NullOptional); - } - case 24: { - LogStep(24, "Read attribute OccupiedCoolingSetpoint from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.A0018"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 12: { + LogStep(12, "Reads optional attributes from DUT: OccupiedCoolingSetpoint"); + 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 25: { - LogStep(25, "Read attribute OccupiedHeatingSetpoint if TSTAT.S.F05 feature is supported"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedHeatingSetpoint::Id, true, chip::NullOptional); - } - case 26: { - LogStep(26, "Read attribute OccupiedHeatingSetpoint from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && !TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 13: { + LogStep(13, "Reads mandatory attributes from DUT: OccupiedHeatingSetpoint"); + 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 27: { - LogStep(27, "Read UnoccupiedCoolingSetpoint attribute from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, true, chip::NullOptional); - } - case 28: { - LogStep(28, "Read UnoccupiedCoolingSetpoint attribute from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02 && !TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 14: { + LogStep(14, "Read UnoccupiedCoolingSetpoint attribute from the DUT"); + 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 29: { - LogStep(29, "Read UnoccupiedHeatingSetpoint attribute from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02 && TSTAT.S.F05 && TSTAT.S.A0013"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, true, chip::NullOptional); - } - case 30: { - LogStep(30, "Read UnoccupiedHeatingSetpoint attribute from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02 && !TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 15: { + LogStep(15, "Read UnoccupiedHeatingSetpoint attribute from the DUT"); + 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 31: { - LogStep(31, "Reads attribute from DUT: MinHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0015 && TSTAT.S.F05 && TSTAT.S.A0017"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, - true, chip::NullOptional); - } - case 32: { - LogStep(32, "Read attribute MinHeatSetpointLimit from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0015 && !TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 16: { + 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 33: { - LogStep(33, "Read attribute MaxHeatSetpointLimit from the DUT"); - VerifyOrDo(!ShouldSkip("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 34: { - LogStep(34, "Reads attribute from DUT: MaxHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0016 && TSTAT.S.F05 && TSTAT.S.A0018"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 17: { + 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); } - case 35: { - LogStep(35, "Read attribute MinCoolSetpointLimit from DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0017 && TSTAT.S.A0018 && TSTAT.S.A0005"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, - true, chip::NullOptional); - } - case 36: { - LogStep(36, "Read attribute MinCoolSetpointLimit from DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0017 && !TSTAT.S.A0018 && !TSTAT.S.A0005"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 18: { + LogStep(18, "Reads optional attributes from DUT: MinCoolSetpointLimit"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, true, chip::NullOptional); } - case 37: { - LogStep(37, "Read attribute MaxCoolSetpointLimit from DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0018 && TSTAT.S.A0006 && TSTAT.S.A0017"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 19: { + LogStep(19, "Reads optional attributes from DUT: MaxCoolSetpointLimit"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, true, chip::NullOptional); } - case 38: { - LogStep(38, "Read attribute MinSetpointDeadBand from DUT"); + case 20: { + LogStep(20, "Reads optional attributes from DUT: MinSetpointDeadBand"); 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 39: { - LogStep(39, "Read RemoteSensing attribute from the DUT"); + case 21: { + LogStep(21, "Read RemoteSensing attribute from the DUT"); VerifyOrDo(!ShouldSkip("TSTAT.S.A001a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::RemoteSensing::Id, true, chip::NullOptional); } - case 40: { - LogStep(40, "Read attribute ControlSequenceOfOperation from DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A001b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 22: { + LogStep(22, "Reads mandatory attributes from DUT: ControlSequenceOfOperation"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::ControlSequenceOfOperation::Id, true, chip::NullOptional); } - case 41: { - LogStep(41, "Read attribute SystemMode from DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A001c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 23: { + LogStep(23, "Reads mandatory attributes from DUT: SystemMode"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::SystemMode::Id, true, chip::NullOptional); } - case 42: { - LogStep(42, "Read ThermostatRunningMode attribute from the DUT"); + case 24: { + 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 43: { - LogStep(43, "Reads constraints of optional attributes from DUT: StartOfWeek"); + 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 44: { - LogStep(44, "Reads optional attributes from DUT: NumberOfWeeklyTransitions"); + 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 45: { - LogStep(45, "Reads optional attributes from DUT: NumberOfDailyTransitions"); + 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 46: { - LogStep(46, "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 47: { - LogStep(47, "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 48: { - LogStep(48, "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 49: { - LogStep(49, "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 50: { - LogStep(50, "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 51: { - LogStep(51, "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 52: { - LogStep(52, "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 53: { - LogStep(53, "Read OccupiedSetback attribute from the DUT"); + 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 54: { - LogStep(54, "Read OccupiedSetbackMin attribute from the DUT"); + 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 55: { - LogStep(55, "Read OccupiedSetbackMax attribute from the DUT"); + 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 56: { - LogStep(56, "Read UnoccupiedSetback attribute from the DUT"); + 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 57: { - LogStep(57, "Read UnoccupiedSetbackMin attribute from the DUT"); + 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 58: { - LogStep(58, "Read UnoccupiedSetbackMax attribute from the DUT"); + 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 59: { - LogStep(59, "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 60: { - LogStep(60, "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 61: { - LogStep(61, "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 62: { - LogStep(62, "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 63: { - LogStep(63, "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 64: { - LogStep(64, "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 65: { - LogStep(65, "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 66: { - LogStep(66, "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 67: { - LogStep(67, "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); @@ -34662,7 +34372,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand class Test_TC_TSTAT_2_2Suite : public TestCommand { public: - Test_TC_TSTAT_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSTAT_2_2", 162, credsIssuerConfig) + Test_TC_TSTAT_2_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSTAT_2_2", 102, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -34683,19 +34393,6 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand chip::Optional mEndpoint; chip::Optional mTimeout; - int16_t MinCoolSetpointLimit; - int16_t MaxCoolSetpointLimit; - int8_t MinSetpointDeadBand; - int16_t MinHeatSetpointLimit; - int16_t UnoccupiedCoolingSetpoint; - int16_t MaxHeatSetpointLimit; - int16_t OccupiedHeatingSetpoint; - int16_t OccupiedCoolingSetpoint; - int16_t AbsMinHeatSetpointLimitValue; - int16_t AbsMaxHeatSetpointLimitValue; - int16_t AbsMinCoolSetpointLimit; - int16_t AbsMaxCoolSetpointLimit; - chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } // @@ -34717,302 +34414,259 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - MinCoolSetpointLimit = value; + VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("value", value, 1600)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); } break; case 2: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - MaxCoolSetpointLimit = value; - } break; case 3: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - int8_t value; + int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - MinSetpointDeadBand = value; + VerifyOrReturn(CheckValue("occupiedCoolingSetpoint", value, 2500)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - MinHeatSetpointLimit = value; - } + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - UnoccupiedCoolingSetpoint = value; - } + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - MaxHeatSetpointLimit = value; - } break; case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - OccupiedHeatingSetpoint = value; - } + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - OccupiedCoolingSetpoint = value; - } break; case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - AbsMinHeatSetpointLimitValue = value; + VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); } break; case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - AbsMaxHeatSetpointLimitValue = value; - } break; case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - AbsMinCoolSetpointLimit = value; + VerifyOrReturn(CheckValue("occupiedHeatingSetpoint", value, 2100)); } break; case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - AbsMaxCoolSetpointLimit = value; - } + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, MinCoolSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, MaxCoolSetpointLimit)); + VerifyOrReturn(CheckValue("occupiedHeatingSetpoint", value, 700)); } break; - case 14: + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 17: + 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)); { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("unoccupiedCoolingSetpoint", value, 2600)); VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("value", value, 1600)); VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); } break; - case 15: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 16: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("occupiedCoolingSetpoint", value, 2500)); + VerifyOrReturn(CheckValue("unoccupiedCoolingSetpoint", value, 2500)); } break; - case 17: - 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)); - shouldContinue = true; - break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 20: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; case 21: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 22: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 25: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("unoccupiedHeatingSetpoint", value, 2000)); VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, MinHeatSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, MaxHeatSetpointLimit)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); } break; + case 26: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); + VerifyOrReturn(CheckValue("unoccupiedHeatingSetpoint", value, 2500)); } break; case 28: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 29: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("occupiedHeatingSetpoint", value, 2100)); - } + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 30: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 32: - 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("minHeatSetpointLimit", value, 700)); + VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); + } break; case 33: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 34: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + 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), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 36: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + 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), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); 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", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, MinCoolSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, MaxCoolSetpointLimit)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); } break; case 41: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 1600)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); - } 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; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("unoccupiedCoolingSetpoint", value, 2500)); + 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), 0)); - shouldContinue = true; + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 46: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 47: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 48: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 49: - 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("minCoolSetpointLimit", value, 1600)); + VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("value", value, 1600)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); + } break; case 50: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 51: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + int16_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("minCoolSetpointLimit", value, 2000)); + } break; case 52: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + 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)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, MinHeatSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, MaxHeatSetpointLimit)); - } break; case 55: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); - } break; case 56: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -35022,15 +34676,22 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("unoccupiedHeatingSetpoint", value, 2500)); + VerifyOrReturn(CheckValue("maxCoolSetpointLimit", value, 3200)); + VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("value", value, 1600)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); } break; case 58: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 59: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + 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)); @@ -35051,30 +34712,23 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 66: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 67: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 68: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, AbsMinHeatSetpointLimitValue)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, MaxHeatSetpointLimit)); - } break; case 69: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - int16_t value; + int8_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); + VerifyOrReturn(CheckValue("minSetpointDeadBand", value, 25)); + VerifyOrReturn(CheckConstraintType("value", "int8s", "int8s")); + VerifyOrReturn(CheckConstraintMinValue("value", value, 0)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 25)); } break; case 70: @@ -35083,9 +34737,9 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand case 71: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - int16_t value; + int8_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("minHeatSetpointLimit", value, 800)); + VerifyOrReturn(CheckValue("minSetpointDeadBand", value, 5)); } break; case 72: @@ -35096,19 +34750,31 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand break; case 74: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 75: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 76: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::Thermostat::ThermostatControlSequence value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("controlSequenceOfOperation", value, 4U)); + VerifyOrReturn(CheckConstraintType("value", "enum8", "enum8")); + VerifyOrReturn(CheckConstraintMinValue("value", value, 0U)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 5U)); + } break; case 77: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 78: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::Clusters::Thermostat::ThermostatControlSequence value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("controlSequenceOfOperation", value, 2U)); + } break; case 79: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -35118,57 +34784,56 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand break; case 81: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 82: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, MinHeatSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, AbsMaxHeatSetpointLimitValue)); - } break; case 83: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 700)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 3000)); + VerifyOrReturn(CheckValue("occupiedHeatingSetpoint", value, 1700)); } break; case 84: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 85: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + 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, 2300)); + } break; case 87: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 88: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("maxHeatSetpointLimit", value, 2900)); + VerifyOrReturn(CheckValue("occupiedCoolingSetpoint", value, 2300)); } break; - case 88: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; case 89: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; break; case 90: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 91: - 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("occupiedCoolingSetpoint", value, 2900)); + } break; case 92: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -35180,32 +34845,27 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 95: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 96: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 97: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, AbsMinCoolSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, MaxCoolSetpointLimit)); + VerifyOrReturn(CheckValue("occupiedCoolingSetpoint", value, 2300)); } break; - case 98: + case 96: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 1600)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); + VerifyOrReturn(CheckValue("occupiedHeatingSetpoint", value, 1700)); } break; + case 97: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 98: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; case 99: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; @@ -35214,390 +34874,47 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand { int16_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("minCoolSetpointLimit", value, 2000)); + VerifyOrReturn(CheckValue("occupiedCoolingSetpoint", value, 2900)); } break; case 101: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 102: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 103: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 104: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 105: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 106: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + int16_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("occupiedHeatingSetpoint", value, 2300)); + } break; - case 107: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 108: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 109: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 110: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, MinCoolSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, AbsMaxCoolSetpointLimit)); - } - break; - case 111: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 1600)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 3200)); - } - break; - case 112: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 113: - 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 114: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 115: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 116: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 117: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 118: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 119: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 120: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 121: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 122: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 123: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 124: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 125: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 126: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 127: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 128: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 129: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int8_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "int8s", "int8s")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 0)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 25)); - } - break; - case 130: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 131: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int8_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("minSetpointDeadBand", value, 5)); - } - break; - case 132: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 133: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 134: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 135: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 136: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::Thermostat::ThermostatControlSequence value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("controlSequenceOfOperation", value, 4U)); - VerifyOrReturn(CheckConstraintType("value", "enum8", "enum8")); - VerifyOrReturn(CheckConstraintMinValue("value", value, 0U)); - VerifyOrReturn(CheckConstraintMaxValue("value", value, 5U)); - } - break; - case 137: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 138: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::Clusters::Thermostat::ThermostatControlSequence value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("controlSequenceOfOperation", value, 2U)); - } - break; - case 139: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 140: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 141: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 142: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 143: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("occupiedHeatingSetpoint", value, 1700)); - } - break; - case 144: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 145: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 146: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("occupiedHeatingSetpoint", value, 2300)); - } - break; - case 147: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 148: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("occupiedCoolingSetpoint", value, 2300)); - } - break; - case 149: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 150: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 151: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("occupiedCoolingSetpoint", value, 2900)); - } - break; - case 152: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 153: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 154: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 155: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("occupiedCoolingSetpoint", value, 2300)); - } - break; - case 156: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("occupiedHeatingSetpoint", value, 1700)); - } - break; - case 157: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 158: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 159: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 160: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("occupiedCoolingSetpoint", value, 2900)); - } - break; - case 161: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - int16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("occupiedHeatingSetpoint", value, 2300)); - } - break; - default: - LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); - } - - if (shouldContinue) - { - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - } - - CHIP_ERROR DoTestStep(uint16_t testIndex) override - { - using namespace chip::app::Clusters; - switch (testIndex) - { - case 0: { - LogStep(0, "Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 1: { - LogStep(1, "Saving value for comparision in step 2a read MinCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, - true, chip::NullOptional); - } - case 2: { - LogStep(2, "Saving value for comparision in step 2a read MaxCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, - true, chip::NullOptional); - } - case 3: { - LogStep(3, "Saving value for comparision in step 2c read attribute MinSetpointDeadBand"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0019"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinSetpointDeadBand::Id, - true, chip::NullOptional); - } - case 4: { - LogStep(4, "Saving value for comparision in step 3a read 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 5: { - LogStep(5, "Saving value for comparision in step 3 reads UnoccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, true, chip::NullOptional); - } - case 6: { - LogStep(6, "Saving value for comparision in step 3a read 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); - } - case 7: { - LogStep(7, "Saving value for comparision in step3c read attribute OccupiedHeatingSetpoint"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedHeatingSetpoint::Id, true, chip::NullOptional); - } - case 8: { - LogStep(8, "Saving value for comparision in step3c read attribute OccupiedCoolingSetpoint"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedCoolingSetpoint::Id, true, chip::NullOptional); - } - case 9: { - LogStep(9, "Saving value for comparision in step 6a read attribute AbsMinHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::AbsMinHeatSetpointLimit::Id, true, chip::NullOptional); - } - case 10: { - LogStep(10, "Saving value for comparision in step 7a read attribute AbsMaxHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::AbsMaxHeatSetpointLimit::Id, true, chip::NullOptional); - } - case 11: { - LogStep(11, "Saving value for comparision in step 8a read attribute AbsMinCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::AbsMinCoolSetpointLimit::Id, true, chip::NullOptional); + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } - case 12: { - LogStep(12, "Saving value for comparision in step9a read attribute AbsMaxCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::AbsMaxCoolSetpointLimit::Id, true, chip::NullOptional); + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); } - case 13: { - LogStep(13, "Read attribute OccupiedCoolingSetpoint from the DUT"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedCoolingSetpoint::Id, true, chip::NullOptional); + } + + CHIP_ERROR DoTestStep(uint16_t testIndex) override + { + using namespace chip::app::Clusters; + switch (testIndex) + { + case 0: { + LogStep(0, "Wait for the commissioned device to be retrieved"); + ListFreer listFreer; + chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; + return WaitForCommissionee(kIdentityAlpha, value); } - case 14: { - LogStep(14, "Reads OccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.A0018"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 1: { + LogStep(1, "Reads OccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is within range"); + 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 15: { - LogStep(15, "Writes a value back that is different but valid for OccupiedCoolingSetpoint attribute"); + case 2: { + LogStep(2, "Writes a value back that is different but valid for OccupiedCoolingSetpoint attribute"); VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; @@ -35606,15 +34923,15 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::OccupiedCoolingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 16: { - LogStep(16, "Reads it back again to confirm the successful write of OccupiedCoolingSetpoint attribute"); + case 3: { + LogStep(3, "Reads it back again to confirm the successful write of OccupiedCoolingSetpoint attribute"); 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 17: { - LogStep(17, "Writes OccupiedCoolingSetpoint to value below the MinCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && !TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 4: { + 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; @@ -35622,20 +34939,9 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::OccupiedCoolingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 18: { - LogStep(18, "Writes OccupiedCoolingSetpoint to value below the MinCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 19: { - LogStep(19, "Writes OccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && !TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 5: { + LogStep(5, "Writes OccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 4000; @@ -35643,20 +34949,9 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::OccupiedCoolingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 20: { - LogStep(20, "Writes OccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = static_cast(MaxCoolSetpointLimit + 1000); - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedCoolingSetpoint::Id, value, chip::NullOptional, - chip::NullOptional); - } - case 21: { - LogStep(21, "Writes the limit of MinCoolSetpointLimit to OccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && !TSTAT.S.F05 && !TSTAT.S.A0017"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 6: { + LogStep(6, "Writes the limit of MinCoolSetpointLimit to OccupiedCoolingSetpoint attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && !TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 1600; @@ -35664,32 +34959,19 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::OccupiedCoolingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 22: { - LogStep(22, "Writes the limit of MinCoolSetpointLimit to OccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && !TSTAT.S.F05 && TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 7: { + LogStep(7, "Writes the CoolingSetpoint below the HeatingSetpoint when auto is enabled"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; - value = MinCoolSetpointLimit; + value = 1600; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::OccupiedCoolingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 23: { - LogStep(23, - "Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(MinCoolSetpointLimit, (OccupiedHeatingSetpoint + " - "MinSetpointDeadBand)) to OccupiedCoolingSetpoint attribute when Auto is enabled"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.A0012 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 24: { - LogStep(24, "Writes the limit of MaxCoolSetpointLimit to OccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && !TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 8: { + LogStep(8, "Writes the limit of MaxCoolSetpointLimit to OccupiedCoolingSetpoint attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 3200; @@ -35697,32 +34979,14 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::OccupiedCoolingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 25: { - LogStep(25, "Writes the limit of MaxCoolSetpointLimit to OccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = MaxCoolSetpointLimit; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedCoolingSetpoint::Id, value, chip::NullOptional, - chip::NullOptional); - } - case 26: { - LogStep(26, "Reads OccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedHeatingSetpoint::Id, true, chip::NullOptional); - } - case 27: { - LogStep(27, "Reads OccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && !TSTAT.S.A0015 && !TSTAT.S.A0016"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 9: { + LogStep(9, "Reads OccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is within range"); + 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 28: { - LogStep(28, "Writes a value back that is different but valid for OccupiedHeatingSetpoint attribute"); + case 10: { + LogStep(10, "Writes a value back that is different but valid for OccupiedHeatingSetpoint attribute"); VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; @@ -35731,373 +34995,185 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 29: { - LogStep(29, "Reads it back again to confirm the successful write of OccupiedHeatingSetpoint attribute"); + case 11: { + LogStep(11, "Reads it back again to confirm the successful write of OccupiedHeatingSetpoint attribute"); 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 30: { - LogStep(30, "Writes OccupiedHeatingSetpoint to value below the MinHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && !TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = 600; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, - chip::NullOptional); - } - case 31: { - LogStep(31, "Writes OccupiedHeatingSetpoint to value below the MinHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 32: { - LogStep(32, "Writes OccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && !TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = 4010; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, - chip::NullOptional); - } - case 33: { - LogStep(33, "Writes OccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = static_cast(MaxHeatSetpointLimit + 1000); - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, - chip::NullOptional); - } - case 34: { - LogStep(34, "Writes the limit of MinHeatSetpointLimit to OccupiedHeatingSetpoint 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::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, - chip::NullOptional); - } - case 35: { - LogStep(35, "Writes the limit of MinHeatSetpointLimit to OccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = MinHeatSetpointLimit; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, - chip::NullOptional); - } - case 36: { - LogStep(36, "Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && !TSTAT.S.F05 && !TSTAT.S.A0016"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = 3000; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, - chip::NullOptional); - } - case 37: { - LogStep(37, "Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && !TSTAT.S.F05 && TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = MaxHeatSetpointLimit; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, - chip::NullOptional); - } - case 38: { - LogStep(38, "Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && !TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = 3000; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, - chip::NullOptional); - } - case 39: { - LogStep(39, - "Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(MaxHeatSetpointLimit, (OccupiedCoolingSetpoint - " - "MinSetpointDeadBand)) to OccupiedHeatingSetpoint attribute when Auto is enabled"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.A0011 && TSTAT.S.A0012 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 40: { - LogStep(40, "Reads UnoccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, true, chip::NullOptional); - } - case 41: { - LogStep(41, "Reads UnoccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.A0018"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, true, chip::NullOptional); - } - case 42: { - LogStep(42, "Writes a value back that is different but valid for UnoccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = 2500; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, value, chip::NullOptional, - chip::NullOptional); - } - case 43: { - LogStep(43, "Reads it back again to confirm the successful write of UnoccupiedCoolingSetpoint attribute"); - 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 44: { - LogStep(44, "Writes UnoccupiedCoolingSetpoint to value below the MinCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = 1002; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, value, chip::NullOptional, - chip::NullOptional); - } - case 45: { - LogStep(45, "Writes UnoccupiedCoolingSetpoint to value below the MinCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0017 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 46: { - LogStep(46, "Writes UnoccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = 4010; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, value, chip::NullOptional, - chip::NullOptional); - } - case 47: { - LogStep(47, "Writes UnoccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = static_cast(MaxCoolSetpointLimit + 1000); - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, value, chip::NullOptional, - chip::NullOptional); - } - case 48: { - LogStep(48, "Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.F05"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 12: { + LogStep(12, "Writes OccupiedHeatingSetpoint to value below the MinHeatSetpointLimit"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; - value = 1600; + value = 600; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, value, chip::NullOptional, + Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 49: { - LogStep(49, "Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017 && TSTAT.S.F05"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 13: { + LogStep(13, "Writes OccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; - value = 1600; + value = 4010; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, value, chip::NullOptional, + Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 50: { - LogStep(50, "Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.F05"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 14: { + LogStep(14, "Writes the limit of MinHeatSetpointLimit to OccupiedHeatingSetpoint attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; - value = MinCoolSetpointLimit; + value = 700; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, value, chip::NullOptional, + Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 51: { - LogStep(51, - "Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(MinCoolSetpointLimit, (UnoccupiedCoolingSetpoint + " - "MinSetpointDeadBand)) to UnoccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0013 && TSTAT.S.F05 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + case 15: { + LogStep(15, "Reads it back again to confirm the successful write of OccupiedHeatingSetpoint attribute"); + 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 52: { - LogStep(52, "Writes the limit of MaxCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0018 && !TSTAT.S.F05"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 16: { + LogStep(16, "Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && !TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; - value = 3200; + value = 3000; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, value, chip::NullOptional, + Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 53: { - LogStep(53, "Writes the limit of MaxCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.F05"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 17: { + LogStep(17, "Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; - value = MaxCoolSetpointLimit; + value = 3000; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, value, chip::NullOptional, + Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 54: { - LogStep(54, "Reads UnoccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, true, chip::NullOptional); - } - case 55: { - LogStep(55, "Reads UnoccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0015 && !TSTAT.S.A0016"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 18: { + LogStep(18, "Reads UnoccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is within range"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, true, chip::NullOptional); + Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, true, chip::NullOptional); } - case 56: { - LogStep(56, "Writes a value back that is different but valid for UnoccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 19: { + LogStep(19, "Writes a value back that is different but valid for UnoccupiedCoolingSetpoint attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 2500; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, value, chip::NullOptional, + Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 57: { - LogStep(57, "Reads it back again to confirm the successful write of UnoccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 20: { + LogStep(20, "Reads it back again to confirm the successful write of UnoccupiedCoolingSetpoint attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, true, chip::NullOptional); + Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, true, chip::NullOptional); } - case 58: { - LogStep(58, "Writes UnoccupiedHeatingSetpoint to value below the MinHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 21: { + 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 = 500; + value = 1002; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, value, chip::NullOptional, + Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 59: { - LogStep(59, "Writes UnoccupiedHeatingSetpoint to value below the MinHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0015 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 22: { + LogStep(22, "Writes UnoccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); + int16_t value; + value = 4010; + return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, + Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, value, chip::NullOptional, + chip::NullOptional); } - case 60: { - LogStep(60, "Writes UnoccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 23: { + LogStep(23, "Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; - value = 4010; + value = 1800; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, value, chip::NullOptional, + Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 61: { - LogStep(61, "Writes UnoccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 24: { + LogStep(24, "Writes the limit of MaxCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; - value = static_cast(MaxHeatSetpointLimit + 1000); + value = 3000; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, - Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, value, chip::NullOptional, + Thermostat::Attributes::UnoccupiedCoolingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 62: { - LogStep(62, "Writes the limit of MinHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 25: { + LogStep(25, "Reads UnoccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is within range"); + 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.F02 && TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; - value = 700; + value = 2500; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 63: { - LogStep(63, "Writes the limit of MinHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 27: { + LogStep(27, "Reads it back again to confirm the successful write of UnoccupiedHeatingSetpoint attribute"); + 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.F02 && TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; - value = MinHeatSetpointLimit; + value = 500; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 64: { - LogStep(64, "Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0016 && !TSTAT.S.F05"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 29: { + LogStep(29, "Writes UnoccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; - value = 3000; + value = 4010; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 65: { - LogStep(65, "Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 30: { + LogStep(30, "Writes the limit of MinHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; - value = MaxHeatSetpointLimit; + value = 1800; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 66: { - LogStep(66, "Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0016 && TSTAT.S.F05"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 31: { + LogStep(31, "Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; value = 3000; @@ -36105,35 +35181,14 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::UnoccupiedHeatingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 67: { - LogStep(67, - "Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(MaxHeatSetpointLimit, (UnoccupiedCoolingSetpoint - " - "MinSetpointDeadBand)) to UnoccupiedHeatingSetpoint attribute when Auto is enabled."); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0013 && TSTAT.S.F05 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 68: { - LogStep(68, "Reads MinHeatSetpointLimit attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016 && TSTAT.S.A0003"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, - true, chip::NullOptional); - } - case 69: { - LogStep(69, "Reads MinHeatSetpointLimit attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.A0016 && !TSTAT.S.A0003"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 32: { + LogStep(32, "Reads MinHeatSetpointLimit attribute from Server DUT and verifies that the value is within range"); + 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 70: { - LogStep(70, "Writes a value back that is different but valid for MinHeatSetpointLimit attribute"); + case 33: { + LogStep(33, "Writes a value back that is different but valid for MinHeatSetpointLimit attribute"); VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; @@ -36141,14 +35196,14 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 71: { - LogStep(71, "Reads it back again to confirm the successful write of MinHeatSetpointLimit attribute"); + case 34: { + LogStep(34, "Reads it back again to confirm the successful write of MinHeatSetpointLimit attribute"); 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 72: { - LogStep(72, "Writes a value back that is different but violates the deadband"); + case 35: { + 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; @@ -36156,70 +35211,36 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 73: { - LogStep(73, "Writes MinHeatSetpointLimit to value below the AbsMinHeatSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.A0003"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 36: { + 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 = 100; + value = 650; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 74: { - LogStep(74, "Writes MinHeatSetpointLimit to value below the AbsMinHeatSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0003 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 75: { - LogStep(75, "Writes MinHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.A0016"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 37: { + 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 = 4050; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 76: { - LogStep(76, "Writes MinHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = static_cast(MaxHeatSetpointLimit + 1000); - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, - value, chip::NullOptional, chip::NullOptional); - } - case 77: { - LogStep(77, "Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.A0003"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 38: { + 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; int16_t value; value = 700; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 78: { - LogStep(78, "Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0003"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = AbsMinHeatSetpointLimitValue; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, - value, chip::NullOptional, chip::NullOptional); - } - case 79: { - LogStep(79, "Writes the limit of MaxHeatSetpointLimit to MinHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.F05 && !TSTAT.S.A0016"), + case 39: { + 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; int16_t value; @@ -36227,45 +35248,15 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 80: { - LogStep(80, "Writes the limit of MaxHeatSetpointLimit to MinHeatSetpointimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.F05 && TSTAT.S.A0016"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = MaxHeatSetpointLimit; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, - value, chip::NullOptional, chip::NullOptional); - } - case 81: { - LogStep(81, - "Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(MaxHeatSetpointLimit, (MinCoolSetpointLimit - " - "MinSetpointDeadBand)) to MinHeatSetpointLimit attribute when Auto is enabled"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.F05 && TSTAT.S.A0005 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 82: { - LogStep(82, "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 && TSTAT.S.A0004 && TSTAT.S.A0016"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, - true, chip::NullOptional); - } - case 83: { - LogStep(83, "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 && !TSTAT.S.A0004 && !TSTAT.S.A0016 "), + case 40: { + 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 84: { - LogStep(84, "Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute"); + 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; @@ -36273,8 +35264,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 85: { - LogStep(85, "Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit attribute"); + 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; @@ -36282,8 +35273,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 86: { - LogStep(86, "Writes a value back that is different but valid for MaxHeatSetpointLimit attribute"); + 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; @@ -36291,122 +35282,57 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 87: { - LogStep(87, "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 88: { - LogStep(88, "Writes MaxHeatSetpointLimit to value below the AbsMinHeatSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.A0015"), - 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 89: { - LogStep(89, "Writes MaxHeatSetpointLimit to value below the MinHeatSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.A0015 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 90: { - LogStep(90, "Writes MaxHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.A0004"), - 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 91: { - LogStep(91, "Writes MaxHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.A0004"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = static_cast(AbsMaxHeatSetpointLimitValue + 1000); - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, - value, chip::NullOptional, chip::NullOptional); + 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 92: { - LogStep(92, "Writes the limit of MinHeatSetpointLimit to MaxHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.A0015"), - 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 = 700; + value = 500; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 93: { - LogStep(93, "Writes the limit of MinHeatSetpointLimit to MaxHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.A0015"), - 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 = MinHeatSetpointLimit; + value = 4000; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 94: { - LogStep(94, "Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 && !TSTAT.S.A0004"), - 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 = 3000; + value = 700; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 95: { - LogStep(95, "Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 && TSTAT.S.A0004"), + 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; int16_t value; - value = AbsMaxHeatSetpointLimitValue; + value = 3000; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 96: { - LogStep(96, - "Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(AbsMaxHeatSetpointLimit, (MaxCoolSetpointLimit - " - "MinSetpointDeadBand)) to MaxHeatSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.F05 && TSTAT.S.A0018 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 97: { - LogStep(97, "Reads MinCoolSetpointLimit attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018 && TSTAT.S.A0005"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, - true, chip::NullOptional); - } - case 98: { - LogStep(98, "Reads MinCoolSetpointLimit attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0018 && !TSTAT.S.A0005"), - 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 99: { - LogStep(99, "Writes a value back that is different but valid for MinCoolSetpointLimit attribute"); + 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; @@ -36414,122 +35340,65 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 100: { - LogStep(100, "Reads it back again to confirm the successful write of MinCoolSetpointLimit attribute"); + 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 101: { - LogStep(101, "Writes MinCoolSetpointLimit to value below the AbsMinCoolSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0005"), - 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 102: { - LogStep(102, "Writes MinCoolSetpointLimit to value below the AbsMinCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0005 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 103: { - LogStep(103, "Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0018"), - 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 104: { - LogStep(104, "Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = static_cast(MaxCoolSetpointLimit + 1000); - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, - value, chip::NullOptional, chip::NullOptional); - } - case 105: { - LogStep(105, "Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0005 && !TSTAT.S.F05"), - 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 106: { - LogStep(106, "Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0005 && !TSTAT.S.F05"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = AbsMinCoolSetpointLimit; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, - value, chip::NullOptional, chip::NullOptional); - } - case 107: { - LogStep(107, - "Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(AbsMinCoolSetpointLimit, (MinHeatSetpointLimit + " - "MinSetpointDeadBand)) to MinCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0015 && TSTAT.S.F05 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 108: { - LogStep(108, "Writes the limit of MaxCoolSetpointLimit to MinCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0018"), - 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 109: { - LogStep(109, "Writes the limit of MaxCoolSetpointLimit to MinCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018"), - 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 = MaxCoolSetpointLimit; + value = 1600; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 110: { - LogStep(110, "Reads MaxCoolSetpointLimit attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0017 && TSTAT.S.A0006"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, - true, chip::NullOptional); - } - case 111: { - LogStep(111, "Reads MaxCoolSetpointLimit attribute from Server DUT and verifies that the value is within range"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0017 && !TSTAT.S.A0006"), - 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 112: { - LogStep(112, "Writes a value back that is different but valid for MaxCoolSetpointLimit attribute"); + case 58: { + 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; int16_t value; @@ -36537,118 +35406,50 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 113: { - LogStep(113, "Reads it back again to confirm the successful write of MaxCoolSetpointLimit attribute"); + case 59: { + 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 114: { - LogStep(114, "Writes MaxCoolSetpointLimit to value below the AbsMinCoolSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0017"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + 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 115: { - LogStep(115, "Writes MaxCoolSetpointLimit to value below the AbsMinCoolSetpointLimit"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0017 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 116: { - LogStep(116, "Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0006"), - 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 117: { - LogStep(117, "Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit "); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0006"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = static_cast(AbsMaxCoolSetpointLimit + 1000); - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, - value, chip::NullOptional, chip::NullOptional); - } - case 118: { - LogStep(118, "Writes the limit of MinCoolSetpointLimit to MaxCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0017 && !TSTAT.S.F05"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = 1600; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, - value, chip::NullOptional, chip::NullOptional); - } - case 119: { - LogStep(119, "Writes the limit of MinCoolSetpointLimit to MaxCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0017 && TSTAT.S.F05"), - 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; int16_t value; value = 1600; return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 120: { - LogStep(120, "Writes the limit of MinCoolSetpointLimit to MaxCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0017 && !TSTAT.S.F05"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = MinCoolSetpointLimit; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, - value, chip::NullOptional, chip::NullOptional); - } - case 121: { - LogStep(121, - "Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(MinCoolSetpointLimit, (MaxHeatSetpointLimit + " - "MinSetpointDeadBand)) to MaxCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0016 && TSTAT.S.F05 && PICS_SKIP_SAMPLE_APP"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 122: { - LogStep(122, "Writes the limit of AbsMaxCoolSetpointLimit to MaxCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0006"), - 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 123: { - LogStep(123, "Writes the limit of AbsMaxCoolSetpointLimit to MaxCoolSetpointLimit attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0006"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - int16_t value; - value = AbsMaxCoolSetpointLimit; - return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, - value, chip::NullOptional, chip::NullOptional); - } - case 124: { - LogStep(124, "Writes (sets back) default value of MinHeatSetpointLimit"); + 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; @@ -36656,8 +35457,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 125: { - LogStep(125, "Writes (sets back)default value of MaxHeatSetpointLimit"); + 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; int16_t value; @@ -36665,17 +35466,17 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 126: { - LogStep(126, "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)); + 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 127: { - LogStep(127, "Writes (sets back) default value of MinCoolSetpointLimit"); + 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; @@ -36683,8 +35484,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MinCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 128: { - LogStep(128, "Writes (sets back) default value of MaxCoolSetpointLimit"); + 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; @@ -36692,77 +35493,71 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxCoolSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 129: { - LogStep(129, "Reads MinSetpointDeadBand attribute from Server DUT and verifies that the value is within range"); + 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 130: { - LogStep(130, "Writes a value back that is different but valid for MinSetpointDeadBand attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable"), - 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 131: { - LogStep(131, "Reads it back again to confirm the successful write of MinSetpointDeadBand attribute"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable"), - 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 132: { - LogStep(132, "Writes the value below MinSetpointDeadBand"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable"), - 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 133: { - LogStep(133, "Writes the value above MinSetpointDeadBand "); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable"), - 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 134: { - LogStep(134, "Writes the min limit of MinSetpointDeadBand"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable"), - 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 135: { - LogStep(135, "Writes the max limit of MinSetpointDeadBand"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable"), - 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 136: { - LogStep(136, "Reads ControlSequenceOfOperation from Server DUT and verifies that the value is valid"); + 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 137: { - LogStep(137, "Write Attribute command for ControlSequenceOfOperation with a new valid value"); + 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; @@ -36771,14 +35566,14 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::ControlSequenceOfOperation::Id, value, chip::NullOptional, chip::NullOptional); } - case 138: { - LogStep(138, "Read it back again to confirm the successful write"); + 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 139: { - LogStep(139, "Writes MaxHeatSetpointLimit attribute to default value of 2950 to meet deadband constraint"); + 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; @@ -36786,8 +35581,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand return WriteAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::MaxHeatSetpointLimit::Id, value, chip::NullOptional, chip::NullOptional); } - case 140: { - LogStep(140, "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; @@ -36796,8 +35591,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::OccupiedCoolingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 141: { - LogStep(141, "Sets OccupiedHeatingSetpoint to default value"); + case 81: { + LogStep(81, "Sets OccupiedHeatingSetpoint to default value"); VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; @@ -36806,8 +35601,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 142: { - LogStep(142, "Sends SetpointRaise Command Heat Only"); + 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; @@ -36818,14 +35613,14 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand ); } - case 143: { - LogStep(143, "Reads back OccupiedHeatingSetpoint to confirm the success of the write"); + 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 144: { - LogStep(144, "Sets OccupiedHeatingSetpoint to default value"); + case 84: { + LogStep(84, "Sets OccupiedHeatingSetpoint to default value"); VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; @@ -36834,8 +35629,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 145: { - LogStep(145, "Sends SetpointRaise Command Heat Only"); + 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; @@ -36846,14 +35641,14 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand ); } - case 146: { - LogStep(146, "Reads back OccupiedHeatingSetpoint to confirm the success of the write"); + 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 147: { - LogStep(147, "Sends SetpointRaise Command Cool Only"); + case 87: { + 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; @@ -36864,14 +35659,14 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand ); } - case 148: { - LogStep(148, "Reads back OccupiedCoolingSetpoint to confirm the success of the write"); + case 88: { + LogStep(88, "Reads back OccupiedCoolingSetpoint to confirm the success of the write"); 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 149: { - LogStep(149, "Sets OccupiedCoolingSetpoint to default value"); + case 89: { + LogStep(89, "Sets OccupiedCoolingSetpoint to default value"); VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; @@ -36880,8 +35675,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::OccupiedCoolingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 150: { - LogStep(150, "Sends SetpointRaise Command Cool Only"); + case 90: { + 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; @@ -36892,14 +35687,14 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand ); } - case 151: { - LogStep(151, "Reads back OccupiedCoolingSetpoint to confirm the success of the write"); + case 91: { + LogStep(91, "Reads back OccupiedCoolingSetpoint to confirm the success of the write"); 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 152: { - LogStep(152, "Sets OccupiedCoolingSetpoint to default value"); + case 92: { + LogStep(92, "Sets OccupiedCoolingSetpoint to default value"); VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; @@ -36908,8 +35703,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::OccupiedCoolingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 153: { - LogStep(153, "Sets OccupiedHeatingSetpoint to default value"); + case 93: { + LogStep(93, "Sets OccupiedHeatingSetpoint to default value"); VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; @@ -36918,8 +35713,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 154: { - LogStep(154, "Sends SetpointRaise Command Heat & Cool"); + case 94: { + 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; @@ -36930,20 +35725,20 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand ); } - case 155: { - LogStep(155, "Reads back OccupiedCoolingSetpoint to confirm the success of the write"); + case 95: { + LogStep(95, "Reads back OccupiedCoolingSetpoint to confirm the success of the write"); 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 156: { - LogStep(156, "Reads back OccupiedHeatingSetpoint to confirm the success of the write"); + case 96: { + LogStep(96, "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 157: { - LogStep(157, "Sets OccupiedCoolingSetpoint to default value"); + case 97: { + LogStep(97, "Sets OccupiedCoolingSetpoint to default value"); VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; @@ -36952,8 +35747,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::OccupiedCoolingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 158: { - LogStep(158, "Sets OccupiedHeatingSetpoint to default value"); + case 98: { + LogStep(98, "Sets OccupiedHeatingSetpoint to default value"); VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; int16_t value; @@ -36962,8 +35757,8 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand Thermostat::Attributes::OccupiedHeatingSetpoint::Id, value, chip::NullOptional, chip::NullOptional); } - case 159: { - LogStep(159, "Sends SetpointRaise Command Heat & Cool"); + case 99: { + 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; @@ -36974,14 +35769,14 @@ class Test_TC_TSTAT_2_2Suite : public TestCommand ); } - case 160: { - LogStep(160, "Reads back OccupiedCoolingSetpoint to confirm the success of the write"); + case 100: { + LogStep(100, "Reads back OccupiedCoolingSetpoint to confirm the success of the write"); 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 161: { - LogStep(161, "Reads back OccupiedHeatingSetpoint to confirm the success of the write"); + case 101: { + LogStep(101, "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); 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 c514cf58e40552..a829f8f8e892c0 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -53731,548 +53731,384 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { err = TestWaitForTheCommissionedDeviceToBeRetrieved_0(); break; case 1: - ChipLogProgress( - chipTool, " ***** Test Step 1 : Saving value for comparision in step 5 read AbsMinCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.A0005")) { - NextTest(); - return; - } - err = TestSavingValueForComparisionInStep5ReadAbsMinCoolSetpointLimitAttribute_1(); + ChipLogProgress(chipTool, " ***** Test Step 1 : Reads mandatory attributes from DUT: LocalTemperature\n"); + err = TestReadsMandatoryAttributesFromDutLocalTemperature_1(); break; case 2: - ChipLogProgress(chipTool, - " ***** Test Step 2 : Saving value for comparision in step 5 read attribute MinSetpointDeadBand attribute\n"); - if (ShouldSkip("TSTAT.S.A0019")) { + ChipLogProgress(chipTool, " ***** Test Step 2 : Read OutdoorTemperature attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.A0001")) { NextTest(); return; } - err = TestSavingValueForComparisionInStep5ReadAttributeMinSetpointDeadBandAttribute_2(); + err = TestReadOutdoorTemperatureAttributeFromTheDut_2(); break; case 3: - ChipLogProgress( - chipTool, " ***** Test Step 3 : Saving value for comparision in step 6 read AbsMaxCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.A0006")) { + ChipLogProgress(chipTool, " ***** Test Step 3 : Read Occupancy attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.F02")) { NextTest(); return; } - err = TestSavingValueForComparisionInStep6ReadAbsMaxCoolSetpointLimitAttribute_3(); + err = TestReadOccupancyAttributeFromTheDut_3(); break; case 4: - ChipLogProgress( - chipTool, " ***** Test Step 4 : Saving value for comparision in step 17 read MinCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.A0017")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Reads mandatory attributes from DUT: AbsMinHeatSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.A0003")) { NextTest(); return; } - err = TestSavingValueForComparisionInStep17ReadMinCoolSetpointLimitAttribute_4(); + err = TestReadsMandatoryAttributesFromDutAbsMinHeatSetpointLimit_4(); break; case 5: - ChipLogProgress( - chipTool, " ***** Test Step 5 : Saving value for comparision in step 17 read MaxCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.A0018")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : Reads mandatory attributes from DUT: AbsMaxHeatSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.A0004")) { NextTest(); return; } - err = TestSavingValueForComparisionInStep17ReadMaxCoolSetpointLimitAttribute_5(); + err = TestReadsMandatoryAttributesFromDutAbsMaxHeatSetpointLimit_5(); break; case 6: - ChipLogProgress( - chipTool, " ***** Test Step 6 : Saving value for comparision in step 13 read attribute OccupiedCoolingSetpoint\n"); - if (ShouldSkip("TSTAT.S.F01")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Reads optional attributes from DUT: AbsMinCoolSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.A0005")) { NextTest(); return; } - err = TestSavingValueForComparisionInStep13ReadAttributeOccupiedCoolingSetpoint_6(); + err = TestReadsOptionalAttributesFromDutAbsMinCoolSetpointLimit_6(); break; case 7: - ChipLogProgress( - chipTool, " ***** Test Step 7 : Saving value for comparision in step 15 read attribute AbsMinHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0003")) { + ChipLogProgress(chipTool, " ***** Test Step 7 : Reads optional attributes from DUT: AbsMaxCoolSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.A0006")) { NextTest(); return; } - err = TestSavingValueForComparisionInStep15ReadAttributeAbsMinHeatSetpointLimit_7(); + err = TestReadsOptionalAttributesFromDutAbsMaxCoolSetpointLimit_7(); break; case 8: - ChipLogProgress( - chipTool, " ***** Test Step 8 : Saving value for comparision in step 15 read attribute AbsMaxHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0004")) { + ChipLogProgress(chipTool, " ***** Test Step 8 : Read PICoolingDemand attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.A0007")) { NextTest(); return; } - err = TestSavingValueForComparisionInStep15ReadAttributeAbsMaxHeatSetpointLimit_8(); + err = TestReadPICoolingDemandAttributeFromTheDut_8(); break; case 9: - ChipLogProgress(chipTool, - " ***** Test Step 9 : Saving value for comparision in step 16 read UnoccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.A0013")) { + ChipLogProgress(chipTool, " ***** Test Step 9 : Read PIHeatingDemand attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.A0008")) { NextTest(); return; } - err = TestSavingValueForComparisionInStep16ReadUnoccupiedCoolingSetpointAttribute_9(); + err = TestReadPIHeatingDemandAttributeFromTheDut_9(); break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Reads mandatory attributes from DUT: LocalTemperature\n"); - err = TestReadsMandatoryAttributesFromDutLocalTemperature_10(); + ChipLogProgress(chipTool, " ***** Test Step 10 : Read HVACSystemTypeConfiguration attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.A0009")) { + NextTest(); + return; + } + err = TestReadHVACSystemTypeConfigurationAttributeFromTheDut_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Read OutdoorTemperature attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0001")) { + ChipLogProgress(chipTool, " ***** Test Step 11 : Read LocalTemperatureCalibration attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.A0010")) { NextTest(); return; } - err = TestReadOutdoorTemperatureAttributeFromTheDut_11(); + err = TestReadLocalTemperatureCalibrationAttributeFromTheDut_11(); break; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Read Occupancy attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.F02")) { + ChipLogProgress(chipTool, " ***** Test Step 12 : Reads optional attributes from DUT: OccupiedCoolingSetpoint\n"); + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestReadOccupancyAttributeFromTheDut_12(); + err = TestReadsOptionalAttributesFromDutOccupiedCoolingSetpoint_12(); break; case 13: - ChipLogProgress( - chipTool, " ***** Test Step 13 : Read attribute AbsMinHeatSetpointLimit if TSTAT.S.F05 feature is supported\n"); - if (ShouldSkip("TSTAT.S.A0003 && TSTAT.S.A0005 && TSTAT.S.F05")) { + ChipLogProgress(chipTool, " ***** Test Step 13 : Reads mandatory attributes from DUT: OccupiedHeatingSetpoint\n"); + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestReadAttributeAbsMinHeatSetpointLimitIfTstatsf05FeatureIsSupported_13(); + err = TestReadsMandatoryAttributesFromDutOccupiedHeatingSetpoint_13(); break; case 14: - ChipLogProgress( - chipTool, " ***** Test Step 14 : Read attribute AbsMinHeatSetpointLimit if TSTAT.S.F05 feature is supported\n"); - if (ShouldSkip("TSTAT.S.A0003 && !TSTAT.S.A0005 && TSTAT.S.F05")) { + ChipLogProgress(chipTool, " ***** Test Step 14 : Read UnoccupiedCoolingSetpoint attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02")) { NextTest(); return; } - err = TestReadAttributeAbsMinHeatSetpointLimitIfTstatsf05FeatureIsSupported_14(); + err = TestReadUnoccupiedCoolingSetpointAttributeFromTheDut_14(); break; case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Read attribute AbsMinHeatSetpointLimit from DUT\n"); - if (ShouldSkip("TSTAT.S.A0003 && !TSTAT.S.F05")) { + ChipLogProgress(chipTool, " ***** Test Step 15 : Read UnoccupiedHeatingSetpoint attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02")) { NextTest(); return; } - err = TestReadAttributeAbsMinHeatSetpointLimitFromDut_15(); + err = TestReadUnoccupiedHeatingSetpointAttributeFromTheDut_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Reads mandatory attributes from DUT: AbsMaxHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0004")) { + ChipLogProgress(chipTool, " ***** Test Step 16 : Reads attribute from DUT: MinHeatSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.A0015")) { NextTest(); return; } - err = TestReadsMandatoryAttributesFromDutAbsMaxHeatSetpointLimit_16(); + err = TestReadsAttributeFromDutMinHeatSetpointLimit_16(); break; case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Read attribute AbsMinCoolSetpointLimit from DUT\n"); - if (ShouldSkip("TSTAT.S.A0005")) { + ChipLogProgress(chipTool, " ***** Test Step 17 : Reads attribute from DUT: MaxHeatSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.A0016")) { NextTest(); return; } - err = TestReadAttributeAbsMinCoolSetpointLimitFromDut_17(); + err = TestReadsAttributeFromDutMaxHeatSetpointLimit_17(); break; case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : Read attribute AbsMaxCoolSetpointLimit from DUT\n"); - if (ShouldSkip("TSTAT.S.A0006")) { + ChipLogProgress(chipTool, " ***** Test Step 18 : Reads optional attributes from DUT: MinCoolSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.A0017")) { NextTest(); return; } - err = TestReadAttributeAbsMaxCoolSetpointLimitFromDut_18(); + err = TestReadsOptionalAttributesFromDutMinCoolSetpointLimit_18(); break; case 19: - ChipLogProgress(chipTool, " ***** Test Step 19 : Read PICoolingDemand attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0007")) { + ChipLogProgress(chipTool, " ***** Test Step 19 : Reads optional attributes from DUT: MaxCoolSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.A0018")) { NextTest(); return; } - err = TestReadPICoolingDemandAttributeFromTheDut_19(); + err = TestReadsOptionalAttributesFromDutMaxCoolSetpointLimit_19(); break; case 20: - ChipLogProgress(chipTool, " ***** Test Step 20 : Read PIHeatingDemand attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0008")) { + ChipLogProgress(chipTool, " ***** Test Step 20 : Reads optional attributes from DUT: MinSetpointDeadBand\n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestReadPIHeatingDemandAttributeFromTheDut_20(); + err = TestReadsOptionalAttributesFromDutMinSetpointDeadBand_20(); break; case 21: - ChipLogProgress(chipTool, " ***** Test Step 21 : Read HVACSystemTypeConfiguration attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0009")) { + ChipLogProgress(chipTool, " ***** Test Step 21 : Read RemoteSensing attribute from the DUT\n"); + if (ShouldSkip("TSTAT.S.A001a")) { NextTest(); return; } - err = TestReadHVACSystemTypeConfigurationAttributeFromTheDut_21(); + err = TestReadRemoteSensingAttributeFromTheDut_21(); break; case 22: - ChipLogProgress(chipTool, " ***** Test Step 22 : Read LocalTemperatureCalibration attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0010")) { - NextTest(); - return; - } - err = TestReadLocalTemperatureCalibrationAttributeFromTheDut_22(); + ChipLogProgress(chipTool, " ***** Test Step 22 : Reads mandatory attributes from DUT: ControlSequenceOfOperation\n"); + err = TestReadsMandatoryAttributesFromDutControlSequenceOfOperation_22(); break; case 23: - ChipLogProgress(chipTool, " ***** Test Step 23 : Read attribute OccupiedCoolingSetpoint from the DUT\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018")) { - NextTest(); - return; - } - err = TestReadAttributeOccupiedCoolingSetpointFromTheDut_23(); + ChipLogProgress(chipTool, " ***** Test Step 23 : Reads mandatory attributes from DUT: SystemMode\n"); + err = TestReadsMandatoryAttributesFromDutSystemMode_23(); break; case 24: - ChipLogProgress(chipTool, " ***** Test Step 24 : Read attribute OccupiedCoolingSetpoint from the DUT\n"); - if (ShouldSkip("TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.A0018")) { - NextTest(); - return; - } - err = TestReadAttributeOccupiedCoolingSetpointFromTheDut_24(); - break; - case 25: - ChipLogProgress( - chipTool, " ***** Test Step 25 : Read attribute OccupiedHeatingSetpoint if TSTAT.S.F05 feature is supported\n"); - if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.F00")) { - NextTest(); - return; - } - err = TestReadAttributeOccupiedHeatingSetpointIfTstatsf05FeatureIsSupported_25(); - break; - case 26: - ChipLogProgress(chipTool, " ***** Test Step 26 : Read attribute OccupiedHeatingSetpoint from the DUT\n"); - if (ShouldSkip("TSTAT.S.F00 && !TSTAT.S.F05")) { - NextTest(); - return; - } - err = TestReadAttributeOccupiedHeatingSetpointFromTheDut_26(); - break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Read UnoccupiedCoolingSetpoint attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.A0013")) { - NextTest(); - return; - } - err = TestReadUnoccupiedCoolingSetpointAttributeFromTheDut_27(); - break; - case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Read UnoccupiedCoolingSetpoint attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02 && !TSTAT.S.F05")) { - NextTest(); - return; - } - err = TestReadUnoccupiedCoolingSetpointAttributeFromTheDut_28(); - break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Read UnoccupiedHeatingSetpoint attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02 && TSTAT.S.F05 && TSTAT.S.A0013")) { - NextTest(); - return; - } - err = TestReadUnoccupiedHeatingSetpointAttributeFromTheDut_29(); - break; - case 30: - ChipLogProgress(chipTool, " ***** Test Step 30 : Read UnoccupiedHeatingSetpoint attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02 && !TSTAT.S.F05")) { - NextTest(); - return; - } - err = TestReadUnoccupiedHeatingSetpointAttributeFromTheDut_30(); - break; - case 31: - ChipLogProgress(chipTool, " ***** Test Step 31 : Reads attribute from DUT: MinHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0015 && TSTAT.S.F05 && TSTAT.S.A0017")) { - NextTest(); - return; - } - err = TestReadsAttributeFromDutMinHeatSetpointLimit_31(); - break; - case 32: - ChipLogProgress(chipTool, " ***** Test Step 32 : Read attribute MinHeatSetpointLimit from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0015 && !TSTAT.S.F05")) { - NextTest(); - return; - } - err = TestReadAttributeMinHeatSetpointLimitFromTheDut_32(); - break; - case 33: - ChipLogProgress(chipTool, " ***** Test Step 33 : Read attribute MaxHeatSetpointLimit from the DUT\n"); - if (ShouldSkip("TSTAT.S.A0016 && !TSTAT.S.F05")) { - NextTest(); - return; - } - err = TestReadAttributeMaxHeatSetpointLimitFromTheDut_33(); - break; - case 34: - ChipLogProgress(chipTool, " ***** Test Step 34 : Reads attribute from DUT: MaxHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0016 && TSTAT.S.F05 && TSTAT.S.A0018")) { - NextTest(); - return; - } - err = TestReadsAttributeFromDutMaxHeatSetpointLimit_34(); - break; - case 35: - ChipLogProgress(chipTool, " ***** Test Step 35 : Read attribute MinCoolSetpointLimit from DUT\n"); - if (ShouldSkip("TSTAT.S.A0017 && TSTAT.S.A0018 && TSTAT.S.A0005")) { - NextTest(); - return; - } - err = TestReadAttributeMinCoolSetpointLimitFromDut_35(); - break; - case 36: - ChipLogProgress(chipTool, " ***** Test Step 36 : Read attribute MinCoolSetpointLimit from DUT\n"); - if (ShouldSkip("TSTAT.S.A0017 && !TSTAT.S.A0018 && !TSTAT.S.A0005")) { - NextTest(); - return; - } - err = TestReadAttributeMinCoolSetpointLimitFromDut_36(); - break; - case 37: - ChipLogProgress(chipTool, " ***** Test Step 37 : Read attribute MaxCoolSetpointLimit from DUT\n"); - if (ShouldSkip("TSTAT.S.A0018 && TSTAT.S.A0006 && TSTAT.S.A0017")) { - NextTest(); - return; - } - err = TestReadAttributeMaxCoolSetpointLimitFromDut_37(); - break; - case 38: - ChipLogProgress(chipTool, " ***** Test Step 38 : Read attribute MinSetpointDeadBand from DUT\n"); - if (ShouldSkip("TSTAT.S.F05")) { - NextTest(); - return; - } - err = TestReadAttributeMinSetpointDeadBandFromDut_38(); - break; - case 39: - ChipLogProgress(chipTool, " ***** Test Step 39 : Read RemoteSensing attribute from the DUT\n"); - if (ShouldSkip("TSTAT.S.A001a")) { - NextTest(); - return; - } - err = TestReadRemoteSensingAttributeFromTheDut_39(); - break; - case 40: - ChipLogProgress(chipTool, " ***** Test Step 40 : Read attribute ControlSequenceOfOperation from DUT\n"); - if (ShouldSkip("TSTAT.S.A001b")) { - NextTest(); - return; - } - err = TestReadAttributeControlSequenceOfOperationFromDut_40(); - break; - case 41: - ChipLogProgress(chipTool, " ***** Test Step 41 : Read attribute SystemMode from DUT\n"); - if (ShouldSkip("TSTAT.S.A001c")) { - NextTest(); - return; - } - err = TestReadAttributeSystemModeFromDut_41(); - break; - case 42: - ChipLogProgress(chipTool, " ***** Test Step 42 : Read ThermostatRunningMode attribute from the DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 24 : Read ThermostatRunningMode attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A001e")) { NextTest(); return; } - err = TestReadThermostatRunningModeAttributeFromTheDut_42(); + err = TestReadThermostatRunningModeAttributeFromTheDut_24(); break; - case 43: - ChipLogProgress(chipTool, " ***** Test Step 43 : Reads constraints of optional attributes from DUT: StartOfWeek\n"); + case 25: + ChipLogProgress(chipTool, " ***** Test Step 25 : Reads constraints of optional attributes from DUT: StartOfWeek\n"); if (ShouldSkip("TSTAT.S.F03")) { NextTest(); return; } - err = TestReadsConstraintsOfOptionalAttributesFromDutStartOfWeek_43(); + err = TestReadsConstraintsOfOptionalAttributesFromDutStartOfWeek_25(); break; - case 44: - ChipLogProgress(chipTool, " ***** Test Step 44 : Reads optional attributes from DUT: NumberOfWeeklyTransitions\n"); + case 26: + ChipLogProgress(chipTool, " ***** Test Step 26 : Reads optional attributes from DUT: NumberOfWeeklyTransitions\n"); if (ShouldSkip("TSTAT.S.F03")) { NextTest(); return; } - err = TestReadsOptionalAttributesFromDutNumberOfWeeklyTransitions_44(); + err = TestReadsOptionalAttributesFromDutNumberOfWeeklyTransitions_26(); break; - case 45: - ChipLogProgress(chipTool, " ***** Test Step 45 : Reads optional attributes from DUT: NumberOfDailyTransitions\n"); + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Reads optional attributes from DUT: NumberOfDailyTransitions\n"); if (ShouldSkip("TSTAT.S.F03")) { NextTest(); return; } - err = TestReadsOptionalAttributesFromDutNumberOfDailyTransitions_45(); + err = TestReadsOptionalAttributesFromDutNumberOfDailyTransitions_27(); break; - case 46: - ChipLogProgress(chipTool, " ***** Test Step 46 : Read TemperatureSetpointHold attribute from the DUT\n"); + case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Read TemperatureSetpointHold attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A0023")) { NextTest(); return; } - err = TestReadTemperatureSetpointHoldAttributeFromTheDut_46(); + err = TestReadTemperatureSetpointHoldAttributeFromTheDut_28(); break; - case 47: - ChipLogProgress(chipTool, " ***** Test Step 47 : Read TemperatureSetpointHoldDuration attribute from the DUT\n"); + case 29: + ChipLogProgress(chipTool, " ***** Test Step 29 : Read TemperatureSetpointHoldDuration attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A0024")) { NextTest(); return; } - err = TestReadTemperatureSetpointHoldDurationAttributeFromTheDut_47(); + err = TestReadTemperatureSetpointHoldDurationAttributeFromTheDut_29(); break; - case 48: - ChipLogProgress(chipTool, " ***** Test Step 48 : Read ThermostatProgrammingOperationMode attribute from the DUT\n"); + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : Read ThermostatProgrammingOperationMode attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A0025")) { NextTest(); return; } - err = TestReadThermostatProgrammingOperationModeAttributeFromTheDut_48(); + err = TestReadThermostatProgrammingOperationModeAttributeFromTheDut_30(); break; - case 49: - ChipLogProgress(chipTool, " ***** Test Step 49 : Read ThermostatRunningState attribute from the DUT\n"); + case 31: + ChipLogProgress(chipTool, " ***** Test Step 31 : Read ThermostatRunningState attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A0029")) { NextTest(); return; } - err = TestReadThermostatRunningStateAttributeFromTheDut_49(); + err = TestReadThermostatRunningStateAttributeFromTheDut_31(); break; - case 50: - ChipLogProgress(chipTool, " ***** Test Step 50 : Read SetpointChangeSource attribute from the DUT\n"); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : Read SetpointChangeSource attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A0030")) { NextTest(); return; } - err = TestReadSetpointChangeSourceAttributeFromTheDut_50(); + err = TestReadSetpointChangeSourceAttributeFromTheDut_32(); break; - case 51: - ChipLogProgress(chipTool, " ***** Test Step 51 : Read SetpointChangeAmount attribute from the DUT\n"); + case 33: + ChipLogProgress(chipTool, " ***** Test Step 33 : Read SetpointChangeAmount attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A0031")) { NextTest(); return; } - err = TestReadSetpointChangeAmountAttributeFromTheDut_51(); + err = TestReadSetpointChangeAmountAttributeFromTheDut_33(); break; - case 52: - ChipLogProgress(chipTool, " ***** Test Step 52 : Read SetpointChangeSourceTimestamp attribute from the DUT\n"); + case 34: + ChipLogProgress(chipTool, " ***** Test Step 34 : Read SetpointChangeSourceTimestamp attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A0032")) { NextTest(); return; } - err = TestReadSetpointChangeSourceTimestampAttributeFromTheDut_52(); + err = TestReadSetpointChangeSourceTimestampAttributeFromTheDut_34(); break; - case 53: - ChipLogProgress(chipTool, " ***** Test Step 53 : Read OccupiedSetback attribute from the DUT\n"); + case 35: + ChipLogProgress(chipTool, " ***** Test Step 35 : Read OccupiedSetback attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.F02")) { NextTest(); return; } - err = TestReadOccupiedSetbackAttributeFromTheDut_53(); + err = TestReadOccupiedSetbackAttributeFromTheDut_35(); break; - case 54: - ChipLogProgress(chipTool, " ***** Test Step 54 : Read OccupiedSetbackMin attribute from the DUT\n"); + case 36: + ChipLogProgress(chipTool, " ***** Test Step 36 : Read OccupiedSetbackMin attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.F02")) { NextTest(); return; } - err = TestReadOccupiedSetbackMinAttributeFromTheDut_54(); + err = TestReadOccupiedSetbackMinAttributeFromTheDut_36(); break; - case 55: - ChipLogProgress(chipTool, " ***** Test Step 55 : Read OccupiedSetbackMax attribute from the DUT\n"); + case 37: + ChipLogProgress(chipTool, " ***** Test Step 37 : Read OccupiedSetbackMax attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.F02")) { NextTest(); return; } - err = TestReadOccupiedSetbackMaxAttributeFromTheDut_55(); + err = TestReadOccupiedSetbackMaxAttributeFromTheDut_37(); break; - case 56: - ChipLogProgress(chipTool, " ***** Test Step 56 : Read UnoccupiedSetback attribute from the DUT\n"); + case 38: + ChipLogProgress(chipTool, " ***** Test Step 38 : Read UnoccupiedSetback attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F04")) { NextTest(); return; } - err = TestReadUnoccupiedSetbackAttributeFromTheDut_56(); + err = TestReadUnoccupiedSetbackAttributeFromTheDut_38(); break; - case 57: - ChipLogProgress(chipTool, " ***** Test Step 57 : Read UnoccupiedSetbackMin attribute from the DUT\n"); + case 39: + ChipLogProgress(chipTool, " ***** Test Step 39 : Read UnoccupiedSetbackMin attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F04")) { NextTest(); return; } - err = TestReadUnoccupiedSetbackMinAttributeFromTheDut_57(); + err = TestReadUnoccupiedSetbackMinAttributeFromTheDut_39(); break; - case 58: - ChipLogProgress(chipTool, " ***** Test Step 58 : Read UnoccupiedSetbackMax attribute from the DUT\n"); + case 40: + ChipLogProgress(chipTool, " ***** Test Step 40 : Read UnoccupiedSetbackMax attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F04")) { NextTest(); return; } - err = TestReadUnoccupiedSetbackMaxAttributeFromTheDut_58(); + err = TestReadUnoccupiedSetbackMaxAttributeFromTheDut_40(); break; - case 59: - ChipLogProgress(chipTool, " ***** Test Step 59 : Read EmergencyHeatDelta attribute from the DUT\n"); + case 41: + ChipLogProgress(chipTool, " ***** Test Step 41 : Read EmergencyHeatDelta attribute from the DUT\n"); if (ShouldSkip("TSTAT.S.A003a")) { NextTest(); return; } - err = TestReadEmergencyHeatDeltaAttributeFromTheDut_59(); + err = TestReadEmergencyHeatDeltaAttributeFromTheDut_41(); break; - case 60: - ChipLogProgress(chipTool, " ***** Test Step 60 : 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_60(); + err = TestReadACTypeAttributeFromTheDut_42(); break; - case 61: - ChipLogProgress(chipTool, " ***** Test Step 61 : 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_61(); + err = TestReadACCapacityAttributeFromTheDut_43(); break; - case 62: - ChipLogProgress(chipTool, " ***** Test Step 62 : 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_62(); + err = TestReadACRefrigerantTypeAttributeFromTheDut_44(); break; - case 63: - ChipLogProgress(chipTool, " ***** Test Step 63 : 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_63(); + err = TestReadACCompressorTypeAttributeFromTheDut_45(); break; - case 64: - ChipLogProgress(chipTool, " ***** Test Step 64 : 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_64(); + err = TestReadACErrorCodeAttributeFromTheDut_46(); break; - case 65: - ChipLogProgress(chipTool, " ***** Test Step 65 : 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_65(); + err = TestReadACLouverPositionAttributeFromTheDut_47(); break; - case 66: - ChipLogProgress(chipTool, " ***** Test Step 66 : 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_66(); + err = TestReadACCoilTemperatureAttributeFromTheDut_48(); break; - case 67: - ChipLogProgress(chipTool, " ***** Test Step 67 : 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_67(); + err = TestReadACCapacityFormatAttributeFromTheDut_49(); break; } @@ -54435,60 +54271,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; - case 51: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 52: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 53: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 54: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 55: - 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)); - break; - case 58: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 59: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 60: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 61: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 62: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 63: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 64: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 65: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 66: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 67: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -54502,7 +54284,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 68; + const uint16_t mTestCount = 50; chip::Optional mNodeId; chip::Optional mCluster; @@ -54515,9 +54297,8 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; return WaitForCommissionee("alpha", value); } - NSNumber * _Nonnull AbsMinCoolSetpointLimitStep5; - CHIP_ERROR TestSavingValueForComparisionInStep5ReadAbsMinCoolSetpointLimitAttribute_1() + CHIP_ERROR TestReadsMandatoryAttributesFromDutLocalTemperature_1() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54525,13 +54306,16 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAbsMinCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 5 read AbsMinCoolSetpointLimit attribute Error: %@", err); + [cluster readAttributeLocalTemperatureWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads mandatory attributes from DUT: LocalTemperature Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - AbsMinCoolSetpointLimitStep5 = value; + if (value != nil) { + + VerifyOrReturn(CheckConstraintType("localTemperature", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("localTemperature", [value shortValue], -27315)); + VerifyOrReturn(CheckConstraintMaxValue("localTemperature", [value shortValue], 32767)); } NextTest(); @@ -54539,9 +54323,8 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - NSNumber * _Nonnull MinSetpointDeadBand; - CHIP_ERROR TestSavingValueForComparisionInStep5ReadAttributeMinSetpointDeadBandAttribute_2() + CHIP_ERROR TestReadOutdoorTemperatureAttributeFromTheDut_2() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54549,13 +54332,16 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeMinSetpointDeadBandWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 5 read attribute MinSetpointDeadBand attribute Error: %@", err); + [cluster readAttributeOutdoorTemperatureWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read OutdoorTemperature attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - MinSetpointDeadBand = value; + if (value != nil) { + + VerifyOrReturn(CheckConstraintType("outdoorTemperature", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("outdoorTemperature", [value shortValue], -27315)); + VerifyOrReturn(CheckConstraintMaxValue("outdoorTemperature", [value shortValue], 32767)); } NextTest(); @@ -54563,9 +54349,8 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - NSNumber * _Nonnull AbsMaxCoolSetpointLimitStep6; - CHIP_ERROR TestSavingValueForComparisionInStep6ReadAbsMaxCoolSetpointLimitAttribute_3() + CHIP_ERROR TestReadOccupancyAttributeFromTheDut_3() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54573,23 +54358,22 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAbsMaxCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 6 read AbsMaxCoolSetpointLimit attribute Error: %@", err); + [cluster readAttributeOccupancyWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read Occupancy attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - AbsMaxCoolSetpointLimitStep6 = value; - } + VerifyOrReturn(CheckConstraintType("occupancy", "bitmap8", "bitmap8")); + VerifyOrReturn(CheckConstraintMinValue("occupancy", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("occupancy", [value unsignedCharValue], 1U)); NextTest(); }]; return CHIP_NO_ERROR; } - NSNumber * _Nonnull MinCoolSetpointLimit; - CHIP_ERROR TestSavingValueForComparisionInStep17ReadMinCoolSetpointLimitAttribute_4() + CHIP_ERROR TestReadsMandatoryAttributesFromDutAbsMinHeatSetpointLimit_4() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54597,23 +54381,22 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeMinCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 17 read MinCoolSetpointLimit attribute Error: %@", err); + [cluster readAttributeAbsMinHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads mandatory attributes from DUT: AbsMinHeatSetpointLimit Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - MinCoolSetpointLimit = value; - } + VerifyOrReturn(CheckConstraintType("absMinHeatSetpointLimit", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("absMinHeatSetpointLimit", [value shortValue], -27315)); + VerifyOrReturn(CheckConstraintMaxValue("absMinHeatSetpointLimit", [value shortValue], 32767)); NextTest(); }]; return CHIP_NO_ERROR; } - NSNumber * _Nonnull MaxCoolSetpointLimit; - CHIP_ERROR TestSavingValueForComparisionInStep17ReadMaxCoolSetpointLimitAttribute_5() + CHIP_ERROR TestReadsMandatoryAttributesFromDutAbsMaxHeatSetpointLimit_5() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54621,23 +54404,22 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeMaxCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 17 read MaxCoolSetpointLimit attribute Error: %@", err); + [cluster readAttributeAbsMaxHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads mandatory attributes from DUT: AbsMaxHeatSetpointLimit Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - MaxCoolSetpointLimit = value; - } + VerifyOrReturn(CheckConstraintType("absMaxHeatSetpointLimit", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("absMaxHeatSetpointLimit", [value shortValue], -27315)); + VerifyOrReturn(CheckConstraintMaxValue("absMaxHeatSetpointLimit", [value shortValue], 32767)); NextTest(); }]; return CHIP_NO_ERROR; } - NSNumber * _Nonnull OccupiedCoolingSetpoint; - CHIP_ERROR TestSavingValueForComparisionInStep13ReadAttributeOccupiedCoolingSetpoint_6() + CHIP_ERROR TestReadsOptionalAttributesFromDutAbsMinCoolSetpointLimit_6() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54645,23 +54427,22 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeOccupiedCoolingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 13 read attribute OccupiedCoolingSetpoint Error: %@", err); + [cluster readAttributeAbsMinCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads optional attributes from DUT: AbsMinCoolSetpointLimit Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - OccupiedCoolingSetpoint = value; - } + VerifyOrReturn(CheckConstraintType("absMinCoolSetpointLimit", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("absMinCoolSetpointLimit", [value shortValue], -27315)); + VerifyOrReturn(CheckConstraintMaxValue("absMinCoolSetpointLimit", [value shortValue], 32767)); NextTest(); }]; return CHIP_NO_ERROR; } - NSNumber * _Nonnull AbsMinHeat; - CHIP_ERROR TestSavingValueForComparisionInStep15ReadAttributeAbsMinHeatSetpointLimit_7() + CHIP_ERROR TestReadsOptionalAttributesFromDutAbsMaxCoolSetpointLimit_7() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54669,23 +54450,22 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAbsMinHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 15 read attribute AbsMinHeatSetpointLimit Error: %@", err); + [cluster readAttributeAbsMaxCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads optional attributes from DUT: AbsMaxCoolSetpointLimit Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - AbsMinHeat = value; - } + VerifyOrReturn(CheckConstraintType("absMaxCoolSetpointLimit", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("absMaxCoolSetpointLimit", [value shortValue], -27315)); + VerifyOrReturn(CheckConstraintMaxValue("absMaxCoolSetpointLimit", [value shortValue], 32767)); NextTest(); }]; return CHIP_NO_ERROR; } - NSNumber * _Nonnull AbsMaxHeat; - CHIP_ERROR TestSavingValueForComparisionInStep15ReadAttributeAbsMaxHeatSetpointLimit_8() + CHIP_ERROR TestReadPICoolingDemandAttributeFromTheDut_8() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54693,23 +54473,22 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAbsMaxHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 15 read attribute AbsMaxHeatSetpointLimit Error: %@", err); + [cluster readAttributePICoolingDemandWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read PICoolingDemand attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - AbsMaxHeat = value; - } + VerifyOrReturn(CheckConstraintType("PICoolingDemand", "int8u", "int8u")); + VerifyOrReturn(CheckConstraintMinValue("PICoolingDemand", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("PICoolingDemand", [value unsignedCharValue], 100U)); NextTest(); }]; return CHIP_NO_ERROR; } - NSNumber * _Nonnull UnoccupiedCoolingSetpoint; - CHIP_ERROR TestSavingValueForComparisionInStep16ReadUnoccupiedCoolingSetpointAttribute_9() + CHIP_ERROR TestReadPIHeatingDemandAttributeFromTheDut_9() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54717,14 +54496,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeUnoccupiedCoolingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 16 read UnoccupiedCoolingSetpoint attribute Error: %@", err); + [cluster readAttributePIHeatingDemandWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read PIHeatingDemand attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - UnoccupiedCoolingSetpoint = value; - } + VerifyOrReturn(CheckConstraintType("PIHeatingDemand", "int8u", "int8u")); + VerifyOrReturn(CheckConstraintMinValue("PIHeatingDemand", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("PIHeatingDemand", [value unsignedCharValue], 100U)); NextTest(); }]; @@ -54732,7 +54511,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsMandatoryAttributesFromDutLocalTemperature_10() + CHIP_ERROR TestReadHVACSystemTypeConfigurationAttributeFromTheDut_10() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54740,17 +54519,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeLocalTemperatureWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads mandatory attributes from DUT: LocalTemperature Error: %@", err); + [cluster readAttributeHVACSystemTypeConfigurationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read HVACSystemTypeConfiguration attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - if (value != nil) { - - VerifyOrReturn(CheckConstraintType("localTemperature", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("localTemperature", [value shortValue], -27315)); - VerifyOrReturn(CheckConstraintMaxValue("localTemperature", [value shortValue], 32767)); - } + VerifyOrReturn(CheckConstraintType("HVACSystemTypeConfiguration", "bitmap8", "bitmap8")); + VerifyOrReturn(CheckConstraintMinValue("HVACSystemTypeConfiguration", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("HVACSystemTypeConfiguration", [value unsignedCharValue], 63U)); NextTest(); }]; @@ -54758,7 +54534,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadOutdoorTemperatureAttributeFromTheDut_11() + CHIP_ERROR TestReadLocalTemperatureCalibrationAttributeFromTheDut_11() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54766,17 +54542,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeOutdoorTemperatureWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read OutdoorTemperature attribute from the DUT Error: %@", err); + [cluster readAttributeLocalTemperatureCalibrationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read LocalTemperatureCalibration attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - if (value != nil) { - - VerifyOrReturn(CheckConstraintType("outdoorTemperature", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("outdoorTemperature", [value shortValue], -27315)); - VerifyOrReturn(CheckConstraintMaxValue("outdoorTemperature", [value shortValue], 32767)); - } + VerifyOrReturn(CheckConstraintType("localTemperatureCalibration", "int8s", "int8s")); + VerifyOrReturn(CheckConstraintMinValue("localTemperatureCalibration", [value charValue], 25)); + VerifyOrReturn(CheckConstraintMaxValue("localTemperatureCalibration", [value charValue], -25)); NextTest(); }]; @@ -54784,7 +54557,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadOccupancyAttributeFromTheDut_12() + CHIP_ERROR TestReadsOptionalAttributesFromDutOccupiedCoolingSetpoint_12() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54792,14 +54565,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeOccupancyWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read Occupancy attribute from the DUT Error: %@", err); + [cluster readAttributeOccupiedCoolingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads optional attributes from DUT: OccupiedCoolingSetpoint Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("occupancy", "bitmap8", "bitmap8")); - VerifyOrReturn(CheckConstraintMinValue("occupancy", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("occupancy", [value unsignedCharValue], 1U)); + VerifyOrReturn(CheckConstraintType("occupiedCoolingSetpoint", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("occupiedCoolingSetpoint", [value shortValue], 1600)); + VerifyOrReturn(CheckConstraintMaxValue("occupiedCoolingSetpoint", [value shortValue], 3200)); NextTest(); }]; @@ -54807,7 +54580,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeAbsMinHeatSetpointLimitIfTstatsf05FeatureIsSupported_13() + CHIP_ERROR TestReadsMandatoryAttributesFromDutOccupiedHeatingSetpoint_13() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54815,14 +54588,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAbsMinHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute AbsMinHeatSetpointLimit if TSTAT.S.F05 feature is supported Error: %@", err); + [cluster readAttributeOccupiedHeatingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads mandatory attributes from DUT: OccupiedHeatingSetpoint Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("absMinHeatSetpointLimit", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMaxValue( - "absMinHeatSetpointLimit", [value shortValue], AbsMinCoolSetpointLimitStep5 - MinSetpointDeadBand)); + VerifyOrReturn(CheckConstraintType("occupiedHeatingSetpoint", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("occupiedHeatingSetpoint", [value shortValue], 700)); + VerifyOrReturn(CheckConstraintMaxValue("occupiedHeatingSetpoint", [value shortValue], 3000)); NextTest(); }]; @@ -54830,7 +54603,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeAbsMinHeatSetpointLimitIfTstatsf05FeatureIsSupported_14() + CHIP_ERROR TestReadUnoccupiedCoolingSetpointAttributeFromTheDut_14() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54838,13 +54611,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAbsMinHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute AbsMinHeatSetpointLimit if TSTAT.S.F05 feature is supported Error: %@", err); + [cluster readAttributeUnoccupiedCoolingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read UnoccupiedCoolingSetpoint attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("absMinHeatSetpointLimit", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMaxValue("absMinHeatSetpointLimit", [value shortValue], 1575)); + VerifyOrReturn(CheckConstraintType("unoccupiedCoolingSetpoint", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("unoccupiedCoolingSetpoint", [value shortValue], 1600)); + VerifyOrReturn(CheckConstraintMaxValue("unoccupiedCoolingSetpoint", [value shortValue], 3200)); NextTest(); }]; @@ -54852,7 +54626,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeAbsMinHeatSetpointLimitFromDut_15() + CHIP_ERROR TestReadUnoccupiedHeatingSetpointAttributeFromTheDut_15() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54860,14 +54634,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAbsMinHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute AbsMinHeatSetpointLimit from DUT Error: %@", err); + [cluster readAttributeUnoccupiedHeatingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read UnoccupiedHeatingSetpoint attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("absMinHeatSetpointLimit", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("absMinHeatSetpointLimit", [value shortValue], -27315)); - VerifyOrReturn(CheckConstraintMaxValue("absMinHeatSetpointLimit", [value shortValue], 32767)); + VerifyOrReturn(CheckConstraintType("unoccupiedHeatingSetpoint", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("unoccupiedHeatingSetpoint", [value shortValue], 700)); + VerifyOrReturn(CheckConstraintMaxValue("unoccupiedHeatingSetpoint", [value shortValue], 3000)); NextTest(); }]; @@ -54875,7 +54649,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsMandatoryAttributesFromDutAbsMaxHeatSetpointLimit_16() + CHIP_ERROR TestReadsAttributeFromDutMinHeatSetpointLimit_16() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54883,14 +54657,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAbsMaxHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads mandatory attributes from DUT: AbsMaxHeatSetpointLimit Error: %@", err); + [cluster readAttributeMinHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads attribute from DUT: MinHeatSetpointLimit Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("absMaxHeatSetpointLimit", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("absMaxHeatSetpointLimit", [value shortValue], -27315)); - VerifyOrReturn(CheckConstraintMaxValue("absMaxHeatSetpointLimit", [value shortValue], 32767)); + VerifyOrReturn(CheckConstraintType("minHeatSetpointLimit", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("minHeatSetpointLimit", [value shortValue], 700)); + VerifyOrReturn(CheckConstraintMaxValue("minHeatSetpointLimit", [value shortValue], 3000)); NextTest(); }]; @@ -54898,7 +54672,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeAbsMinCoolSetpointLimitFromDut_17() + CHIP_ERROR TestReadsAttributeFromDutMaxHeatSetpointLimit_17() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54906,14 +54680,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAbsMinCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute AbsMinCoolSetpointLimit from DUT Error: %@", err); + [cluster readAttributeMaxHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads attribute from DUT: MaxHeatSetpointLimit Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("absMinCoolSetpointLimit", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("absMinCoolSetpointLimit", [value shortValue], -27315)); - VerifyOrReturn(CheckConstraintMaxValue("absMinCoolSetpointLimit", [value shortValue], 32767)); + VerifyOrReturn(CheckConstraintType("maxHeatSetpointLimit", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("maxHeatSetpointLimit", [value shortValue], -27315)); + VerifyOrReturn(CheckConstraintMaxValue("maxHeatSetpointLimit", [value shortValue], 32767)); NextTest(); }]; @@ -54921,7 +54695,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeAbsMaxCoolSetpointLimitFromDut_18() + CHIP_ERROR TestReadsOptionalAttributesFromDutMinCoolSetpointLimit_18() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54929,14 +54703,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAbsMaxCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute AbsMaxCoolSetpointLimit from DUT Error: %@", err); + [cluster readAttributeMinCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads optional attributes from DUT: MinCoolSetpointLimit Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("absMaxCoolSetpointLimit", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("absMaxCoolSetpointLimit", [value shortValue], -27315)); - VerifyOrReturn(CheckConstraintMaxValue("absMaxCoolSetpointLimit", [value shortValue], 32767)); + VerifyOrReturn(CheckConstraintType("minCoolSetpointLimit", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("minCoolSetpointLimit", [value shortValue], -27315)); + VerifyOrReturn(CheckConstraintMaxValue("minCoolSetpointLimit", [value shortValue], 32767)); NextTest(); }]; @@ -54944,7 +54718,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadPICoolingDemandAttributeFromTheDut_19() + CHIP_ERROR TestReadsOptionalAttributesFromDutMaxCoolSetpointLimit_19() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54952,14 +54726,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributePICoolingDemandWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read PICoolingDemand attribute from the DUT Error: %@", err); + [cluster readAttributeMaxCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads optional attributes from DUT: MaxCoolSetpointLimit Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("PICoolingDemand", "int8u", "int8u")); - VerifyOrReturn(CheckConstraintMinValue("PICoolingDemand", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("PICoolingDemand", [value unsignedCharValue], 100U)); + VerifyOrReturn(CheckConstraintType("maxCoolSetpointLimit", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("maxCoolSetpointLimit", [value shortValue], -27315)); + VerifyOrReturn(CheckConstraintMaxValue("maxCoolSetpointLimit", [value shortValue], 32767)); NextTest(); }]; @@ -54967,7 +54741,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadPIHeatingDemandAttributeFromTheDut_20() + CHIP_ERROR TestReadsOptionalAttributesFromDutMinSetpointDeadBand_20() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54975,14 +54749,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributePIHeatingDemandWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read PIHeatingDemand attribute from the DUT Error: %@", err); + [cluster readAttributeMinSetpointDeadBandWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads optional attributes from DUT: MinSetpointDeadBand Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("PIHeatingDemand", "int8u", "int8u")); - VerifyOrReturn(CheckConstraintMinValue("PIHeatingDemand", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("PIHeatingDemand", [value unsignedCharValue], 100U)); + VerifyOrReturn(CheckConstraintType("minSetpointDeadBand", "int8s", "int8s")); + VerifyOrReturn(CheckConstraintMinValue("minSetpointDeadBand", [value charValue], 0)); + VerifyOrReturn(CheckConstraintMaxValue("minSetpointDeadBand", [value charValue], 25)); NextTest(); }]; @@ -54990,7 +54764,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadHVACSystemTypeConfigurationAttributeFromTheDut_21() + CHIP_ERROR TestReadRemoteSensingAttributeFromTheDut_21() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -54998,14 +54772,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeHVACSystemTypeConfigurationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read HVACSystemTypeConfiguration attribute from the DUT Error: %@", err); + [cluster readAttributeRemoteSensingWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read RemoteSensing attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("HVACSystemTypeConfiguration", "bitmap8", "bitmap8")); - VerifyOrReturn(CheckConstraintMinValue("HVACSystemTypeConfiguration", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("HVACSystemTypeConfiguration", [value unsignedCharValue], 63U)); + VerifyOrReturn(CheckConstraintType("remoteSensing", "bitmap8", "bitmap8")); + VerifyOrReturn(CheckConstraintMinValue("remoteSensing", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("remoteSensing", [value unsignedCharValue], 7U)); NextTest(); }]; @@ -55013,7 +54787,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadLocalTemperatureCalibrationAttributeFromTheDut_22() + CHIP_ERROR TestReadsMandatoryAttributesFromDutControlSequenceOfOperation_22() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55021,14 +54795,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeLocalTemperatureCalibrationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read LocalTemperatureCalibration attribute from the DUT Error: %@", err); + [cluster readAttributeControlSequenceOfOperationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads mandatory attributes from DUT: ControlSequenceOfOperation Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("localTemperatureCalibration", "int8s", "int8s")); - VerifyOrReturn(CheckConstraintMinValue("localTemperatureCalibration", [value charValue], -25)); - VerifyOrReturn(CheckConstraintMaxValue("localTemperatureCalibration", [value charValue], 25)); + VerifyOrReturn(CheckConstraintType("controlSequenceOfOperation", "enum8", "enum8")); + VerifyOrReturn(CheckConstraintMinValue("controlSequenceOfOperation", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("controlSequenceOfOperation", [value unsignedCharValue], 5U)); NextTest(); }]; @@ -55036,7 +54810,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeOccupiedCoolingSetpointFromTheDut_23() + CHIP_ERROR TestReadsMandatoryAttributesFromDutSystemMode_23() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55044,14 +54818,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeOccupiedCoolingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute OccupiedCoolingSetpoint from the DUT Error: %@", err); + [cluster readAttributeSystemModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads mandatory attributes from DUT: SystemMode Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("occupiedCoolingSetpoint", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("occupiedCoolingSetpoint", [value shortValue], MinCoolSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("occupiedCoolingSetpoint", [value shortValue], MaxCoolSetpointLimit)); + VerifyOrReturn(CheckConstraintType("systemMode", "enum8", "enum8")); + VerifyOrReturn(CheckConstraintMinValue("systemMode", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("systemMode", [value unsignedCharValue], 9U)); NextTest(); }]; @@ -55059,7 +54833,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeOccupiedCoolingSetpointFromTheDut_24() + CHIP_ERROR TestReadThermostatRunningModeAttributeFromTheDut_24() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55067,14 +54841,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeOccupiedCoolingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute OccupiedCoolingSetpoint from the DUT Error: %@", err); + [cluster readAttributeThermostatRunningModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read ThermostatRunningMode attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("occupiedCoolingSetpoint", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("occupiedCoolingSetpoint", [value shortValue], 1600)); - VerifyOrReturn(CheckConstraintMaxValue("occupiedCoolingSetpoint", [value shortValue], 3200)); + VerifyOrReturn(CheckConstraintType("thermostatRunningMode", "enum8", "enum8")); + VerifyOrReturn(CheckConstraintMinValue("thermostatRunningMode", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("thermostatRunningMode", [value unsignedCharValue], 9U)); NextTest(); }]; @@ -55082,7 +54856,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeOccupiedHeatingSetpointIfTstatsf05FeatureIsSupported_25() + CHIP_ERROR TestReadsConstraintsOfOptionalAttributesFromDutStartOfWeek_25() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55090,16 +54864,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeOccupiedHeatingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute OccupiedHeatingSetpoint if TSTAT.S.F05 feature is supported Error: %@", err); + [cluster readAttributeStartOfWeekWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads constraints of optional attributes from DUT: StartOfWeek Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("occupiedHeatingSetpoint", "int16s", "int16s")); - VerifyOrReturn( - CheckConstraintMinValue("occupiedHeatingSetpoint", [value shortValue], AbsMinCoolSetpointLimitStep5)); - VerifyOrReturn(CheckConstraintMaxValue( - "occupiedHeatingSetpoint", [value shortValue], OccupiedCoolingSetpoint - MinSetpointDeadBand)); + VerifyOrReturn(CheckConstraintType("startOfWeek", "enum8", "enum8")); + VerifyOrReturn(CheckConstraintMinValue("startOfWeek", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("startOfWeek", [value unsignedCharValue], 6U)); NextTest(); }]; @@ -55107,7 +54879,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeOccupiedHeatingSetpointFromTheDut_26() + CHIP_ERROR TestReadsOptionalAttributesFromDutNumberOfWeeklyTransitions_26() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55115,14 +54887,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeOccupiedHeatingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute OccupiedHeatingSetpoint from the DUT Error: %@", err); + [cluster readAttributeNumberOfWeeklyTransitionsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads optional attributes from DUT: NumberOfWeeklyTransitions Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("occupiedHeatingSetpoint", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("occupiedHeatingSetpoint", [value shortValue], 700)); - VerifyOrReturn(CheckConstraintMaxValue("occupiedHeatingSetpoint", [value shortValue], 3000)); + VerifyOrReturn(CheckConstraintType("numberOfWeeklyTransitions", "int8u", "int8u")); + VerifyOrReturn(CheckConstraintMinValue("numberOfWeeklyTransitions", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("numberOfWeeklyTransitions", [value unsignedCharValue], 255U)); NextTest(); }]; @@ -55130,7 +54902,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadUnoccupiedCoolingSetpointAttributeFromTheDut_27() + CHIP_ERROR TestReadsOptionalAttributesFromDutNumberOfDailyTransitions_27() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55138,14 +54910,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeUnoccupiedCoolingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read UnoccupiedCoolingSetpoint attribute from the DUT Error: %@", err); + [cluster readAttributeNumberOfDailyTransitionsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads optional attributes from DUT: NumberOfDailyTransitions Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("unoccupiedCoolingSetpoint", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("unoccupiedCoolingSetpoint", [value shortValue], AbsMinHeat)); - VerifyOrReturn(CheckConstraintMaxValue("unoccupiedCoolingSetpoint", [value shortValue], AbsMaxHeat)); + VerifyOrReturn(CheckConstraintType("numberOfDailyTransitions", "int8u", "int8u")); + VerifyOrReturn(CheckConstraintMinValue("numberOfDailyTransitions", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("numberOfDailyTransitions", [value unsignedCharValue], 255U)); NextTest(); }]; @@ -55153,7 +54925,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadUnoccupiedCoolingSetpointAttributeFromTheDut_28() + CHIP_ERROR TestReadTemperatureSetpointHoldAttributeFromTheDut_28() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55161,14 +54933,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeUnoccupiedCoolingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read UnoccupiedCoolingSetpoint attribute from the DUT Error: %@", err); + [cluster readAttributeTemperatureSetpointHoldWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read TemperatureSetpointHold attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("unoccupiedCoolingSetpoint", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("unoccupiedCoolingSetpoint", [value shortValue], 1600)); - VerifyOrReturn(CheckConstraintMaxValue("unoccupiedCoolingSetpoint", [value shortValue], 3200)); + VerifyOrReturn(CheckConstraintType("temperatureSetpointHold", "enum8", "enum8")); + VerifyOrReturn(CheckConstraintMinValue("temperatureSetpointHold", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("temperatureSetpointHold", [value unsignedCharValue], 1U)); NextTest(); }]; @@ -55176,7 +54948,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadUnoccupiedHeatingSetpointAttributeFromTheDut_29() + CHIP_ERROR TestReadTemperatureSetpointHoldDurationAttributeFromTheDut_29() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55184,15 +54956,19 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeUnoccupiedHeatingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read UnoccupiedHeatingSetpoint attribute from the DUT Error: %@", err); + [cluster readAttributeTemperatureSetpointHoldDurationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read TemperatureSetpointHoldDuration attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("unoccupiedHeatingSetpoint", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("unoccupiedHeatingSetpoint", [value shortValue], 700)); - VerifyOrReturn(CheckConstraintMaxValue( - "unoccupiedHeatingSetpoint", [value shortValue], UnoccupiedCoolingSetpoint - MinSetpointDeadBand)); + if (value != nil) { + + VerifyOrReturn(CheckConstraintType("temperatureSetpointHoldDuration", "int16u", "int16u")); + VerifyOrReturn( + CheckConstraintMinValue("temperatureSetpointHoldDuration", [value unsignedShortValue], 0U)); + VerifyOrReturn( + CheckConstraintMaxValue("temperatureSetpointHoldDuration", [value unsignedShortValue], 1440U)); + } NextTest(); }]; @@ -55200,7 +54976,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadUnoccupiedHeatingSetpointAttributeFromTheDut_30() + CHIP_ERROR TestReadThermostatProgrammingOperationModeAttributeFromTheDut_30() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55208,22 +54984,23 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeUnoccupiedHeatingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read UnoccupiedHeatingSetpoint attribute from the DUT Error: %@", err); + [cluster readAttributeThermostatProgrammingOperationModeWithCompletion:^( + NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read ThermostatProgrammingOperationMode attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("unoccupiedHeatingSetpoint", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("unoccupiedHeatingSetpoint", [value shortValue], 700)); - VerifyOrReturn(CheckConstraintMaxValue("unoccupiedHeatingSetpoint", [value shortValue], 3000)); - + VerifyOrReturn(CheckConstraintType("thermostatProgrammingOperationMode", "bitmap8", "bitmap8")); + VerifyOrReturn(CheckConstraintMinValue("thermostatProgrammingOperationMode", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("thermostatProgrammingOperationMode", [value unsignedCharValue], 7U)); + NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsAttributeFromDutMinHeatSetpointLimit_31() + CHIP_ERROR TestReadThermostatRunningStateAttributeFromTheDut_31() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55231,15 +55008,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeMinHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads attribute from DUT: MinHeatSetpointLimit Error: %@", err); + [cluster readAttributeThermostatRunningStateWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read ThermostatRunningState attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("minHeatSetpointLimit", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("minHeatSetpointLimit", [value shortValue], 700)); - VerifyOrReturn(CheckConstraintMaxValue( - "minHeatSetpointLimit", [value shortValue], MinCoolSetpointLimit - MinSetpointDeadBand)); + VerifyOrReturn(CheckConstraintType("thermostatRunningState", "bitmap16", "bitmap16")); + VerifyOrReturn(CheckConstraintMinValue("thermostatRunningState", [value unsignedShortValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("thermostatRunningState", [value unsignedShortValue], 127U)); NextTest(); }]; @@ -55247,7 +55023,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeMinHeatSetpointLimitFromTheDut_32() + CHIP_ERROR TestReadSetpointChangeSourceAttributeFromTheDut_32() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55255,14 +55031,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeMinHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute MinHeatSetpointLimit from the DUT Error: %@", err); + [cluster readAttributeSetpointChangeSourceWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read SetpointChangeSource attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("minHeatSetpointLimit", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("minHeatSetpointLimit", [value shortValue], 700)); - VerifyOrReturn(CheckConstraintMaxValue("minHeatSetpointLimit", [value shortValue], 3000)); + VerifyOrReturn(CheckConstraintType("setpointChangeSource", "enum8", "enum8")); + VerifyOrReturn(CheckConstraintMinValue("setpointChangeSource", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("setpointChangeSource", [value unsignedCharValue], 2U)); NextTest(); }]; @@ -55270,7 +55046,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeMaxHeatSetpointLimitFromTheDut_33() + CHIP_ERROR TestReadSetpointChangeAmountAttributeFromTheDut_33() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55278,14 +55054,17 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeMaxHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute MaxHeatSetpointLimit from the DUT Error: %@", err); + [cluster readAttributeSetpointChangeAmountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read SetpointChangeAmount attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("maxHeatSetpointLimit", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("maxHeatSetpointLimit", [value shortValue], 700)); - VerifyOrReturn(CheckConstraintMaxValue("maxHeatSetpointLimit", [value shortValue], 3000)); + if (value != nil) { + + VerifyOrReturn(CheckConstraintType("setpointChangeAmount", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("setpointChangeAmount", [value shortValue], -27315)); + VerifyOrReturn(CheckConstraintMaxValue("setpointChangeAmount", [value shortValue], 32767)); + } NextTest(); }]; @@ -55293,7 +55072,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsAttributeFromDutMaxHeatSetpointLimit_34() + CHIP_ERROR TestReadSetpointChangeSourceTimestampAttributeFromTheDut_34() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55301,23 +55080,19 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeMaxHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads attribute from DUT: MaxHeatSetpointLimit Error: %@", err); + [cluster readAttributeSetpointChangeSourceTimestampWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read SetpointChangeSourceTimestamp attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("maxHeatSetpointLimit", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("maxHeatSetpointLimit", [value shortValue], 700)); - VerifyOrReturn(CheckConstraintMaxValue( - "maxHeatSetpointLimit", [value shortValue], MaxCoolSetpointLimit - MinSetpointDeadBand)); - + VerifyOrReturn(CheckConstraintType("setpointChangeSourceTimestamp", "utc", "utc")); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeMinCoolSetpointLimitFromDut_35() + CHIP_ERROR TestReadOccupiedSetbackAttributeFromTheDut_35() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55325,15 +55100,17 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeMinCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute MinCoolSetpointLimit from DUT Error: %@", err); + [cluster readAttributeOccupiedSetbackWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read OccupiedSetback attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("minCoolSetpointLimit", "int16s", "int16s")); - VerifyOrReturn( - CheckConstraintMinValue("minCoolSetpointLimit", [value shortValue], AbsMinCoolSetpointLimitStep5)); - VerifyOrReturn(CheckConstraintMaxValue("minCoolSetpointLimit", [value shortValue], MaxCoolSetpointLimit)); + if (value != nil) { + + VerifyOrReturn(CheckConstraintType("occupiedSetback", "int8u", "int8u")); + VerifyOrReturn(CheckConstraintMinValue("occupiedSetback", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("occupiedSetback", [value unsignedCharValue], 255U)); + } NextTest(); }]; @@ -55341,7 +55118,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeMinCoolSetpointLimitFromDut_36() + CHIP_ERROR TestReadOccupiedSetbackMinAttributeFromTheDut_36() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55349,14 +55126,17 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeMinCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute MinCoolSetpointLimit from DUT Error: %@", err); + [cluster readAttributeOccupiedSetbackMinWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read OccupiedSetbackMin attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("minCoolSetpointLimit", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("minCoolSetpointLimit", [value shortValue], 1600)); - VerifyOrReturn(CheckConstraintMaxValue("minCoolSetpointLimit", [value shortValue], 3200)); + if (value != nil) { + + VerifyOrReturn(CheckConstraintType("occupiedSetbackMin", "int8u", "int8u")); + VerifyOrReturn(CheckConstraintMinValue("occupiedSetbackMin", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("occupiedSetbackMin", [value unsignedCharValue], 255U)); + } NextTest(); }]; @@ -55364,7 +55144,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeMaxCoolSetpointLimitFromDut_37() + CHIP_ERROR TestReadOccupiedSetbackMaxAttributeFromTheDut_37() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55372,15 +55152,17 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeMaxCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute MaxCoolSetpointLimit from DUT Error: %@", err); + [cluster readAttributeOccupiedSetbackMaxWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read OccupiedSetbackMax attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("maxCoolSetpointLimit", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("maxCoolSetpointLimit", [value shortValue], MinCoolSetpointLimit)); - VerifyOrReturn( - CheckConstraintMaxValue("maxCoolSetpointLimit", [value shortValue], AbsMaxCoolSetpointLimitStep6)); + if (value != nil) { + + VerifyOrReturn(CheckConstraintType("occupiedSetbackMax", "int8u", "int8u")); + VerifyOrReturn(CheckConstraintMinValue("occupiedSetbackMax", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("occupiedSetbackMax", [value unsignedCharValue], 255U)); + } NextTest(); }]; @@ -55388,7 +55170,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeMinSetpointDeadBandFromDut_38() + CHIP_ERROR TestReadUnoccupiedSetbackAttributeFromTheDut_38() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55396,14 +55178,17 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeMinSetpointDeadBandWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute MinSetpointDeadBand from DUT Error: %@", err); + [cluster readAttributeUnoccupiedSetbackWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read UnoccupiedSetback attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("minSetpointDeadBand", "int8s", "int8s")); - VerifyOrReturn(CheckConstraintMinValue("minSetpointDeadBand", [value charValue], 0)); - VerifyOrReturn(CheckConstraintMaxValue("minSetpointDeadBand", [value charValue], 25)); + if (value != nil) { + + VerifyOrReturn(CheckConstraintType("unoccupiedSetback", "int8u", "int8u")); + VerifyOrReturn(CheckConstraintMinValue("unoccupiedSetback", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("unoccupiedSetback", [value unsignedCharValue], 255U)); + } NextTest(); }]; @@ -55411,7 +55196,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadRemoteSensingAttributeFromTheDut_39() + CHIP_ERROR TestReadUnoccupiedSetbackMinAttributeFromTheDut_39() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55419,14 +55204,17 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeRemoteSensingWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read RemoteSensing attribute from the DUT Error: %@", err); + [cluster readAttributeUnoccupiedSetbackMinWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read UnoccupiedSetbackMin attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("remoteSensing", "bitmap8", "bitmap8")); - VerifyOrReturn(CheckConstraintMinValue("remoteSensing", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("remoteSensing", [value unsignedCharValue], 7U)); + if (value != nil) { + + VerifyOrReturn(CheckConstraintType("unoccupiedSetbackMin", "int8u", "int8u")); + VerifyOrReturn(CheckConstraintMinValue("unoccupiedSetbackMin", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("unoccupiedSetbackMin", [value unsignedCharValue], 255U)); + } NextTest(); }]; @@ -55434,7 +55222,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeControlSequenceOfOperationFromDut_40() + CHIP_ERROR TestReadUnoccupiedSetbackMaxAttributeFromTheDut_40() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55442,14 +55230,17 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeControlSequenceOfOperationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute ControlSequenceOfOperation from DUT Error: %@", err); + [cluster readAttributeUnoccupiedSetbackMaxWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read UnoccupiedSetbackMax attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("controlSequenceOfOperation", "enum8", "enum8")); - VerifyOrReturn(CheckConstraintMinValue("controlSequenceOfOperation", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("controlSequenceOfOperation", [value unsignedCharValue], 5U)); + if (value != nil) { + + VerifyOrReturn(CheckConstraintType("unoccupiedSetbackMax", "int8u", "int8u")); + VerifyOrReturn(CheckConstraintMinValue("unoccupiedSetbackMax", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("unoccupiedSetbackMax", [value unsignedCharValue], 255U)); + } NextTest(); }]; @@ -55457,7 +55248,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadAttributeSystemModeFromDut_41() + CHIP_ERROR TestReadEmergencyHeatDeltaAttributeFromTheDut_41() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55465,14 +55256,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeSystemModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute SystemMode from DUT Error: %@", err); + [cluster readAttributeEmergencyHeatDeltaWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read EmergencyHeatDelta attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("systemMode", "enum8", "enum8")); - VerifyOrReturn(CheckConstraintMinValue("systemMode", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("systemMode", [value unsignedCharValue], 9U)); + VerifyOrReturn(CheckConstraintType("emergencyHeatDelta", "int8u", "int8u")); + VerifyOrReturn(CheckConstraintMinValue("emergencyHeatDelta", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("emergencyHeatDelta", [value unsignedCharValue], 255U)); NextTest(); }]; @@ -55480,7 +55271,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadThermostatRunningModeAttributeFromTheDut_42() + CHIP_ERROR TestReadACTypeAttributeFromTheDut_42() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55488,14 +55279,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeThermostatRunningModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read ThermostatRunningMode attribute from the DUT Error: %@", err); + [cluster readAttributeACTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read ACType attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("thermostatRunningMode", "enum8", "enum8")); - VerifyOrReturn(CheckConstraintMinValue("thermostatRunningMode", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("thermostatRunningMode", [value unsignedCharValue], 9U)); + VerifyOrReturn(CheckConstraintType("ACType", "enum8", "enum8")); + VerifyOrReturn(CheckConstraintMinValue("ACType", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("ACType", [value unsignedCharValue], 4U)); NextTest(); }]; @@ -55503,7 +55294,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsConstraintsOfOptionalAttributesFromDutStartOfWeek_43() + CHIP_ERROR TestReadACCapacityAttributeFromTheDut_43() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55511,14 +55302,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeStartOfWeekWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads constraints of optional attributes from DUT: StartOfWeek Error: %@", err); + [cluster readAttributeACCapacityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read ACCapacity attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("startOfWeek", "enum8", "enum8")); - VerifyOrReturn(CheckConstraintMinValue("startOfWeek", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("startOfWeek", [value unsignedCharValue], 6U)); + VerifyOrReturn(CheckConstraintType("ACCapacity", "int16u", "int16u")); + VerifyOrReturn(CheckConstraintMinValue("ACCapacity", [value unsignedShortValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("ACCapacity", [value unsignedShortValue], 65535U)); NextTest(); }]; @@ -55526,7 +55317,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsOptionalAttributesFromDutNumberOfWeeklyTransitions_44() + CHIP_ERROR TestReadACRefrigerantTypeAttributeFromTheDut_44() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55534,14 +55325,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeNumberOfWeeklyTransitionsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads optional attributes from DUT: NumberOfWeeklyTransitions Error: %@", err); + [cluster readAttributeACRefrigerantTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read ACRefrigerantType attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("numberOfWeeklyTransitions", "int8u", "int8u")); - VerifyOrReturn(CheckConstraintMinValue("numberOfWeeklyTransitions", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("numberOfWeeklyTransitions", [value unsignedCharValue], 255U)); + VerifyOrReturn(CheckConstraintType("ACRefrigerantType", "enum8", "enum8")); + VerifyOrReturn(CheckConstraintMinValue("ACRefrigerantType", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("ACRefrigerantType", [value unsignedCharValue], 3U)); NextTest(); }]; @@ -55549,7 +55340,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsOptionalAttributesFromDutNumberOfDailyTransitions_45() + CHIP_ERROR TestReadACCompressorTypeAttributeFromTheDut_45() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55557,14 +55348,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeNumberOfDailyTransitionsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads optional attributes from DUT: NumberOfDailyTransitions Error: %@", err); + [cluster readAttributeACCompressorTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read ACCompressorType attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("numberOfDailyTransitions", "int8u", "int8u")); - VerifyOrReturn(CheckConstraintMinValue("numberOfDailyTransitions", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("numberOfDailyTransitions", [value unsignedCharValue], 255U)); + VerifyOrReturn(CheckConstraintType("ACCompressorType", "enum8", "enum8")); + VerifyOrReturn(CheckConstraintMinValue("ACCompressorType", [value unsignedCharValue], 0U)); + VerifyOrReturn(CheckConstraintMaxValue("ACCompressorType", [value unsignedCharValue], 3U)); NextTest(); }]; @@ -55572,7 +55363,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTemperatureSetpointHoldAttributeFromTheDut_46() + CHIP_ERROR TestReadACErrorCodeAttributeFromTheDut_46() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55580,22 +55371,19 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeTemperatureSetpointHoldWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read TemperatureSetpointHold attribute from the DUT Error: %@", err); + [cluster readAttributeACErrorCodeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read ACErrorCode attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("temperatureSetpointHold", "enum8", "enum8")); - VerifyOrReturn(CheckConstraintMinValue("temperatureSetpointHold", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("temperatureSetpointHold", [value unsignedCharValue], 1U)); - + VerifyOrReturn(CheckConstraintType("ACErrorCode", "bitmap32", "bitmap32")); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestReadTemperatureSetpointHoldDurationAttributeFromTheDut_47() + CHIP_ERROR TestReadACLouverPositionAttributeFromTheDut_47() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55603,19 +55391,14 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeTemperatureSetpointHoldDurationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read TemperatureSetpointHoldDuration attribute from the DUT Error: %@", err); + [cluster readAttributeACLouverPositionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read ACLouverPosition attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - if (value != nil) { - - VerifyOrReturn(CheckConstraintType("temperatureSetpointHoldDuration", "int16u", "int16u")); - VerifyOrReturn( - CheckConstraintMinValue("temperatureSetpointHoldDuration", [value unsignedShortValue], 0U)); - VerifyOrReturn( - CheckConstraintMaxValue("temperatureSetpointHoldDuration", [value unsignedShortValue], 1440U)); - } + VerifyOrReturn(CheckConstraintType("ACLouverPosition", "enum8", "enum8")); + VerifyOrReturn(CheckConstraintMinValue("ACLouverPosition", [value unsignedCharValue], 1U)); + VerifyOrReturn(CheckConstraintMaxValue("ACLouverPosition", [value unsignedCharValue], 5U)); NextTest(); }]; @@ -55623,7 +55406,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadThermostatProgrammingOperationModeAttributeFromTheDut_48() + CHIP_ERROR TestReadACCoilTemperatureAttributeFromTheDut_48() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55631,15 +55414,17 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeThermostatProgrammingOperationModeWithCompletion:^( - NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read ThermostatProgrammingOperationMode attribute from the DUT Error: %@", err); + [cluster readAttributeACCoilTemperatureWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read ACCoilTemperature attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("thermostatProgrammingOperationMode", "bitmap8", "bitmap8")); - VerifyOrReturn(CheckConstraintMinValue("thermostatProgrammingOperationMode", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("thermostatProgrammingOperationMode", [value unsignedCharValue], 7U)); + if (value != nil) { + + VerifyOrReturn(CheckConstraintType("ACCoilTemperature", "int16s", "int16s")); + VerifyOrReturn(CheckConstraintMinValue("ACCoilTemperature", [value shortValue], -27315)); + VerifyOrReturn(CheckConstraintMaxValue("ACCoilTemperature", [value shortValue], 32767)); + } NextTest(); }]; @@ -55647,7 +55432,7 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadThermostatRunningStateAttributeFromTheDut_49() + CHIP_ERROR TestReadACCapacityFormatAttributeFromTheDut_49() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -55655,1944 +55440,961 @@ class Test_TC_TSTAT_2_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeThermostatRunningStateWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read ThermostatRunningState attribute from the DUT Error: %@", err); + [cluster readAttributeACCapacityformatWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Read ACCapacityFormat attribute from the DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("thermostatRunningState", "bitmap16", "bitmap16")); - VerifyOrReturn(CheckConstraintMinValue("thermostatRunningState", [value unsignedShortValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("thermostatRunningState", [value unsignedShortValue], 127U)); + { + id actualValue = value; + VerifyOrReturn(CheckValue("ACCapacityformat", actualValue, 0U)); + } + VerifyOrReturn(CheckConstraintType("ACCapacityformat", "enum8", "enum8")); NextTest(); }]; return CHIP_NO_ERROR; } +}; - CHIP_ERROR TestReadSetpointChangeSourceAttributeFromTheDut_50() +class Test_TC_TSTAT_2_2 : public TestCommandBridge { +public: + // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced + Test_TC_TSTAT_2_2() + : TestCommandBridge("Test_TC_TSTAT_2_2") + , mTestIndex(0) { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) - [cluster readAttributeSetpointChangeSourceWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read SetpointChangeSource attribute from the DUT Error: %@", err); + ~Test_TC_TSTAT_2_2() {} - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + /////////// TestCommand Interface ///////// + void NextTest() override + { + CHIP_ERROR err = CHIP_NO_ERROR; - VerifyOrReturn(CheckConstraintType("setpointChangeSource", "enum8", "enum8")); - VerifyOrReturn(CheckConstraintMinValue("setpointChangeSource", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("setpointChangeSource", [value unsignedCharValue], 2U)); + if (0 == mTestIndex) { + ChipLogProgress(chipTool, " **** Test Start: Test_TC_TSTAT_2_2\n"); + } - NextTest(); - }]; + if (mTestCount == mTestIndex) { + ChipLogProgress(chipTool, " **** Test Complete: Test_TC_TSTAT_2_2\n"); + SetCommandExitStatus(CHIP_NO_ERROR); + return; + } - return CHIP_NO_ERROR; - } + Wait(); - CHIP_ERROR TestReadSetpointChangeAmountAttributeFromTheDut_51() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeSetpointChangeAmountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read SetpointChangeAmount attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - if (value != nil) { - - VerifyOrReturn(CheckConstraintType("setpointChangeAmount", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("setpointChangeAmount", [value shortValue], -27315)); - VerifyOrReturn(CheckConstraintMaxValue("setpointChangeAmount", [value shortValue], 32767)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadSetpointChangeSourceTimestampAttributeFromTheDut_52() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeSetpointChangeSourceTimestampWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read SetpointChangeSourceTimestamp attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("setpointChangeSourceTimestamp", "utc", "utc")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadOccupiedSetbackAttributeFromTheDut_53() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeOccupiedSetbackWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read OccupiedSetback attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - if (value != nil) { - - VerifyOrReturn(CheckConstraintType("occupiedSetback", "int8u", "int8u")); - VerifyOrReturn(CheckConstraintMinValue("occupiedSetback", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("occupiedSetback", [value unsignedCharValue], 255U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadOccupiedSetbackMinAttributeFromTheDut_54() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeOccupiedSetbackMinWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read OccupiedSetbackMin attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - if (value != nil) { - - VerifyOrReturn(CheckConstraintType("occupiedSetbackMin", "int8u", "int8u")); - VerifyOrReturn(CheckConstraintMinValue("occupiedSetbackMin", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("occupiedSetbackMin", [value unsignedCharValue], 255U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadOccupiedSetbackMaxAttributeFromTheDut_55() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeOccupiedSetbackMaxWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read OccupiedSetbackMax attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - if (value != nil) { - - VerifyOrReturn(CheckConstraintType("occupiedSetbackMax", "int8u", "int8u")); - VerifyOrReturn(CheckConstraintMinValue("occupiedSetbackMax", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("occupiedSetbackMax", [value unsignedCharValue], 255U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadUnoccupiedSetbackAttributeFromTheDut_56() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeUnoccupiedSetbackWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read UnoccupiedSetback attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - if (value != nil) { - - VerifyOrReturn(CheckConstraintType("unoccupiedSetback", "int8u", "int8u")); - VerifyOrReturn(CheckConstraintMinValue("unoccupiedSetback", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("unoccupiedSetback", [value unsignedCharValue], 255U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadUnoccupiedSetbackMinAttributeFromTheDut_57() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeUnoccupiedSetbackMinWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read UnoccupiedSetbackMin attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - if (value != nil) { - - VerifyOrReturn(CheckConstraintType("unoccupiedSetbackMin", "int8u", "int8u")); - VerifyOrReturn(CheckConstraintMinValue("unoccupiedSetbackMin", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("unoccupiedSetbackMin", [value unsignedCharValue], 255U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadUnoccupiedSetbackMaxAttributeFromTheDut_58() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeUnoccupiedSetbackMaxWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read UnoccupiedSetbackMax attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - if (value != nil) { - - VerifyOrReturn(CheckConstraintType("unoccupiedSetbackMax", "int8u", "int8u")); - VerifyOrReturn(CheckConstraintMinValue("unoccupiedSetbackMax", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("unoccupiedSetbackMax", [value unsignedCharValue], 255U)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadEmergencyHeatDeltaAttributeFromTheDut_59() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeEmergencyHeatDeltaWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read EmergencyHeatDelta attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("emergencyHeatDelta", "int8u", "int8u")); - VerifyOrReturn(CheckConstraintMinValue("emergencyHeatDelta", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("emergencyHeatDelta", [value unsignedCharValue], 255U)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadACTypeAttributeFromTheDut_60() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeACTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read ACType attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("ACType", "enum8", "enum8")); - VerifyOrReturn(CheckConstraintMinValue("ACType", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("ACType", [value unsignedCharValue], 4U)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadACCapacityAttributeFromTheDut_61() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeACCapacityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read ACCapacity attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("ACCapacity", "int16u", "int16u")); - VerifyOrReturn(CheckConstraintMinValue("ACCapacity", [value unsignedShortValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("ACCapacity", [value unsignedShortValue], 65535U)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadACRefrigerantTypeAttributeFromTheDut_62() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeACRefrigerantTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read ACRefrigerantType attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("ACRefrigerantType", "enum8", "enum8")); - VerifyOrReturn(CheckConstraintMinValue("ACRefrigerantType", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("ACRefrigerantType", [value unsignedCharValue], 3U)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadACCompressorTypeAttributeFromTheDut_63() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeACCompressorTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read ACCompressorType attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("ACCompressorType", "enum8", "enum8")); - VerifyOrReturn(CheckConstraintMinValue("ACCompressorType", [value unsignedCharValue], 0U)); - VerifyOrReturn(CheckConstraintMaxValue("ACCompressorType", [value unsignedCharValue], 3U)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadACErrorCodeAttributeFromTheDut_64() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeACErrorCodeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read ACErrorCode attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("ACErrorCode", "bitmap32", "bitmap32")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadACLouverPositionAttributeFromTheDut_65() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeACLouverPositionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read ACLouverPosition attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("ACLouverPosition", "enum8", "enum8")); - VerifyOrReturn(CheckConstraintMinValue("ACLouverPosition", [value unsignedCharValue], 1U)); - VerifyOrReturn(CheckConstraintMaxValue("ACLouverPosition", [value unsignedCharValue], 5U)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadACCoilTemperatureAttributeFromTheDut_66() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeACCoilTemperatureWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read ACCoilTemperature attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - if (value != nil) { - - VerifyOrReturn(CheckConstraintType("ACCoilTemperature", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("ACCoilTemperature", [value shortValue], -27315)); - VerifyOrReturn(CheckConstraintMaxValue("ACCoilTemperature", [value shortValue], 32767)); - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadACCapacityFormatAttributeFromTheDut_67() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeACCapacityformatWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read ACCapacityFormat attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("ACCapacityformat", actualValue, 0U)); - } - - VerifyOrReturn(CheckConstraintType("ACCapacityformat", "enum8", "enum8")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } -}; - -class Test_TC_TSTAT_2_2 : public TestCommandBridge { -public: - // NOLINTBEGIN(clang-analyzer-nullability.NullPassedToNonnull): Test constructor nullability not enforced - Test_TC_TSTAT_2_2() - : TestCommandBridge("Test_TC_TSTAT_2_2") - , mTestIndex(0) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - // NOLINTEND(clang-analyzer-nullability.NullPassedToNonnull) - - ~Test_TC_TSTAT_2_2() {} - - /////////// TestCommand Interface ///////// - void NextTest() override - { - CHIP_ERROR err = CHIP_NO_ERROR; - - if (0 == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Start: Test_TC_TSTAT_2_2\n"); - } - - if (mTestCount == mTestIndex) { - ChipLogProgress(chipTool, " **** Test Complete: Test_TC_TSTAT_2_2\n"); - SetCommandExitStatus(CHIP_NO_ERROR); - return; - } - - Wait(); - - // Ensure we increment mTestIndex before we start running the relevant - // command. That way if we lose the timeslice after we send the message - // but before our function call returns, we won't end up with an - // incorrect mTestIndex value observed when we get the response. - switch (mTestIndex++) { - case 0: - ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the commissioned device to be retrieved\n"); - err = TestWaitForTheCommissionedDeviceToBeRetrieved_0(); - break; - case 1: - ChipLogProgress(chipTool, " ***** Test Step 1 : Saving value for comparision in step 2a read MinCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0005")) { - NextTest(); - return; - } - err = TestSavingValueForComparisionInStep2aReadMinCoolSetpointLimit_1(); - break; - case 2: - ChipLogProgress(chipTool, " ***** Test Step 2 : Saving value for comparision in step 2a read MaxCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0006")) { - NextTest(); - return; - } - err = TestSavingValueForComparisionInStep2aReadMaxCoolSetpointLimit_2(); - break; - case 3: - ChipLogProgress( - chipTool, " ***** Test Step 3 : Saving value for comparision in step 2c read attribute MinSetpointDeadBand\n"); - if (ShouldSkip("TSTAT.S.A0019")) { - NextTest(); - return; - } - err = TestSavingValueForComparisionInStep2cReadAttributeMinSetpointDeadBand_3(); - break; - case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Saving value for comparision in step 3a read MinHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0015")) { - NextTest(); - return; - } - err = TestSavingValueForComparisionInStep3aReadMinHeatSetpointLimit_4(); - break; - case 5: - ChipLogProgress(chipTool, - " ***** Test Step 5 : Saving value for comparision in step 3 reads UnoccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.A0013")) { - NextTest(); - return; - } - err = TestSavingValueForComparisionInStep3ReadsUnoccupiedCoolingSetpointAttribute_5(); - break; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Saving value for comparision in step 3a read MaxHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0016")) { - NextTest(); - return; - } - err = TestSavingValueForComparisionInStep3aReadMaxHeatSetpointLimit_6(); - break; - case 7: - ChipLogProgress( - chipTool, " ***** Test Step 7 : Saving value for comparision in step3c read attribute OccupiedHeatingSetpoint\n"); - if (ShouldSkip("TSTAT.S.A0012")) { - NextTest(); - return; - } - err = TestSavingValueForComparisionInStep3cReadAttributeOccupiedHeatingSetpoint_7(); - break; - case 8: - ChipLogProgress( - chipTool, " ***** Test Step 8 : Saving value for comparision in step3c read attribute OccupiedCoolingSetpoint\n"); - if (ShouldSkip("TSTAT.S.A0011")) { - NextTest(); - return; - } - err = TestSavingValueForComparisionInStep3cReadAttributeOccupiedCoolingSetpoint_8(); - break; - case 9: - ChipLogProgress( - chipTool, " ***** Test Step 9 : Saving value for comparision in step 6a read attribute AbsMinHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0003")) { - NextTest(); - return; - } - err = TestSavingValueForComparisionInStep6aReadAttributeAbsMinHeatSetpointLimit_9(); - break; - case 10: - ChipLogProgress( - chipTool, " ***** Test Step 10 : Saving value for comparision in step 7a read attribute AbsMaxHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0004")) { - NextTest(); - return; - } - err = TestSavingValueForComparisionInStep7aReadAttributeAbsMaxHeatSetpointLimit_10(); - break; - case 11: - ChipLogProgress( - chipTool, " ***** Test Step 11 : Saving value for comparision in step 8a read attribute AbsMinCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0005")) { - NextTest(); - return; - } - err = TestSavingValueForComparisionInStep8aReadAttributeAbsMinCoolSetpointLimit_11(); - break; - case 12: - ChipLogProgress( - chipTool, " ***** Test Step 12 : Saving value for comparision in step9a read attribute AbsMaxCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.A0006")) { - NextTest(); - return; - } - err = TestSavingValueForComparisionInStep9aReadAttributeAbsMaxCoolSetpointLimit_12(); - break; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Read attribute OccupiedCoolingSetpoint from the DUT\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018")) { - NextTest(); - return; - } - err = TestReadAttributeOccupiedCoolingSetpointFromTheDut_13(); - break; - case 14: - ChipLogProgress(chipTool, - " ***** Test Step 14 : Reads OccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is " - "within range\n"); - if (ShouldSkip("TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.A0018")) { - NextTest(); - return; - } - err = TestReadsOccupiedCoolingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_14(); - break; - case 15: - ChipLogProgress(chipTool, - " ***** Test Step 15 : Writes a value back that is different but valid for OccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F01")) { - NextTest(); - return; - } - err = TestWritesAValueBackThatIsDifferentButValidForOccupiedCoolingSetpointAttribute_15(); - break; - case 16: - ChipLogProgress(chipTool, - " ***** Test Step 16 : Reads it back again to confirm the successful write of OccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F01")) { - NextTest(); - return; - } - err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfOccupiedCoolingSetpointAttribute_16(); - break; - case 17: - ChipLogProgress( - chipTool, " ***** Test Step 17 : Writes OccupiedCoolingSetpoint to value below the MinCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F01 && !TSTAT.S.A0017")) { - NextTest(); - return; - } - err = TestWritesOccupiedCoolingSetpointToValueBelowTheMinCoolSetpointLimit_17(); - break; - case 18: - ChipLogProgress( - chipTool, " ***** Test Step 18 : Writes OccupiedCoolingSetpoint to value below the MinCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && PICS_SKIP_SAMPLE_APP")) { - NextTest(); - return; - } - err = TestWritesOccupiedCoolingSetpointToValueBelowTheMinCoolSetpointLimit_18(); - break; - case 19: - ChipLogProgress( - chipTool, " ***** Test Step 19 : Writes OccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F01 && !TSTAT.S.A0017")) { - NextTest(); - return; - } - err = TestWritesOccupiedCoolingSetpointToValueAboveTheMaxCoolSetpointLimit_19(); - break; - case 20: - ChipLogProgress( - chipTool, " ***** Test Step 20 : Writes OccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { - NextTest(); - return; - } - err = TestWritesOccupiedCoolingSetpointToValueAboveTheMaxCoolSetpointLimit_20(); - break; - case 21: - ChipLogProgress( - chipTool, " ***** Test Step 21 : Writes the limit of MinCoolSetpointLimit to OccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && !TSTAT.S.F05 && !TSTAT.S.A0017")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMinCoolSetpointLimitToOccupiedCoolingSetpointAttribute_21(); - break; - case 22: - ChipLogProgress( - chipTool, " ***** Test Step 22 : Writes the limit of MinCoolSetpointLimit to OccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && !TSTAT.S.F05 && TSTAT.S.A0017")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMinCoolSetpointLimitToOccupiedCoolingSetpointAttribute_22(); - break; - case 23: - ChipLogProgress(chipTool, - " ***** Test Step 23 : Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(MinCoolSetpointLimit, (OccupiedHeatingSetpoint " - "+ MinSetpointDeadBand)) to OccupiedCoolingSetpoint attribute when Auto is enabled\n"); - if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.A0012 && PICS_SKIP_SAMPLE_APP")) { - NextTest(); - return; - } - err = TestWritesIfTstatsf05autoLowerLimitMaxMinCoolSetpointLimitOccupiedHeatingSetpointMinSetpointDeadBandToOccupiedCoolingSetpointAttributeWhenAutoIsEnabled_23(); - break; - case 24: - ChipLogProgress( - chipTool, " ***** Test Step 24 : Writes the limit of MaxCoolSetpointLimit to OccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && !TSTAT.S.A0017")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMaxCoolSetpointLimitToOccupiedCoolingSetpointAttribute_24(); - break; - case 25: - ChipLogProgress( - chipTool, " ***** Test Step 25 : Writes the limit of MaxCoolSetpointLimit to OccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMaxCoolSetpointLimitToOccupiedCoolingSetpointAttribute_25(); - break; - case 26: - ChipLogProgress(chipTool, - " ***** Test Step 26 : Reads OccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is " - "within range\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016")) { - NextTest(); - return; - } - err = TestReadsOccupiedHeatingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_26(); - break; - case 27: - ChipLogProgress(chipTool, - " ***** Test Step 27 : Reads OccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is " - "within range\n"); - if (ShouldSkip("TSTAT.S.F00 && !TSTAT.S.A0015 && !TSTAT.S.A0016")) { - NextTest(); - return; - } - err = TestReadsOccupiedHeatingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_27(); - break; - case 28: - ChipLogProgress(chipTool, - " ***** Test Step 28 : Writes a value back that is different but valid for OccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F00")) { - NextTest(); - return; - } - err = TestWritesAValueBackThatIsDifferentButValidForOccupiedHeatingSetpointAttribute_28(); - break; - case 29: - ChipLogProgress(chipTool, - " ***** Test Step 29 : Reads it back again to confirm the successful write of OccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F00")) { - NextTest(); - return; - } - err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfOccupiedHeatingSetpointAttribute_29(); - break; - case 30: - ChipLogProgress( - chipTool, " ***** Test Step 30 : Writes OccupiedHeatingSetpoint to value below the MinHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F00 && !TSTAT.S.A0015")) { - NextTest(); - return; - } - err = TestWritesOccupiedHeatingSetpointToValueBelowTheMinHeatSetpointLimit_30(); - break; - case 31: - ChipLogProgress( - chipTool, " ***** Test Step 31 : Writes OccupiedHeatingSetpoint to value below the MinHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && PICS_SKIP_SAMPLE_APP")) { - NextTest(); - return; - } - err = TestWritesOccupiedHeatingSetpointToValueBelowTheMinHeatSetpointLimit_31(); - break; - case 32: - ChipLogProgress( - chipTool, " ***** Test Step 32 : Writes OccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F00 && !TSTAT.S.A0016")) { - NextTest(); - return; - } - err = TestWritesOccupiedHeatingSetpointToValueAboveTheMaxHeatSetpointLimit_32(); - break; - case 33: - ChipLogProgress( - chipTool, " ***** Test Step 33 : Writes OccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016")) { - NextTest(); - return; - } - err = TestWritesOccupiedHeatingSetpointToValueAboveTheMaxHeatSetpointLimit_33(); - break; - case 34: - ChipLogProgress( - chipTool, " ***** Test Step 34 : Writes the limit of MinHeatSetpointLimit to OccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && !TSTAT.S.A0015")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMinHeatSetpointLimitToOccupiedHeatingSetpointAttribute_34(); - break; - case 35: - ChipLogProgress( - chipTool, " ***** Test Step 35 : Writes the limit of MinHeatSetpointLimit to OccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMinHeatSetpointLimitToOccupiedHeatingSetpointAttribute_35(); - break; - case 36: - ChipLogProgress( - chipTool, " ***** Test Step 36 : Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && !TSTAT.S.F05 && !TSTAT.S.A0016")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMaxHeatSetpointLimitToOccupiedHeatingSetpointAttribute_36(); - break; - case 37: - ChipLogProgress( - chipTool, " ***** Test Step 37 : Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && !TSTAT.S.F05 && TSTAT.S.A0016")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMaxHeatSetpointLimitToOccupiedHeatingSetpointAttribute_37(); - break; - case 38: - ChipLogProgress( - chipTool, " ***** Test Step 38 : Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F05 && !TSTAT.S.A0015")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMaxHeatSetpointLimitToOccupiedHeatingSetpointAttribute_38(); - break; - case 39: - ChipLogProgress(chipTool, - " ***** Test Step 39 : Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(MaxHeatSetpointLimit, (OccupiedCoolingSetpoint " - "- MinSetpointDeadBand)) to OccupiedHeatingSetpoint attribute when Auto is enabled\n"); - if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.A0011 && TSTAT.S.A0012 && PICS_SKIP_SAMPLE_APP")) { - NextTest(); - return; - } - err = TestWritesIfTstatsf05autoUpperLimitMinMaxHeatSetpointLimitOccupiedCoolingSetpointMinSetpointDeadBandToOccupiedHeatingSetpointAttributeWhenAutoIsEnabled_39(); - break; - case 40: - ChipLogProgress(chipTool, - " ***** Test Step 40 : Reads UnoccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is " - "within range\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018")) { - NextTest(); - return; - } - err = TestReadsUnoccupiedCoolingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_40(); + // Ensure we increment mTestIndex before we start running the relevant + // command. That way if we lose the timeslice after we send the message + // but before our function call returns, we won't end up with an + // incorrect mTestIndex value observed when we get the response. + switch (mTestIndex++) { + case 0: + ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the commissioned device to be retrieved\n"); + err = TestWaitForTheCommissionedDeviceToBeRetrieved_0(); break; - case 41: + case 1: ChipLogProgress(chipTool, - " ***** Test Step 41 : Reads UnoccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is " + " ***** Test Step 1 : Reads OccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is " "within range\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.A0018")) { + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestReadsUnoccupiedCoolingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_41(); + err = TestReadsOccupiedCoolingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_1(); break; - case 42: + case 2: ChipLogProgress(chipTool, - " ***** Test Step 42 : Writes a value back that is different but valid for UnoccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { + " ***** Test Step 2 : Writes a value back that is different but valid for OccupiedCoolingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestWritesAValueBackThatIsDifferentButValidForUnoccupiedCoolingSetpointAttribute_42(); + err = TestWritesAValueBackThatIsDifferentButValidForOccupiedCoolingSetpointAttribute_2(); break; - case 43: + case 3: ChipLogProgress(chipTool, - " ***** Test Step 43 : Reads it back again to confirm the successful write of UnoccupiedCoolingSetpoint " - "attribute\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { + " ***** Test Step 3 : Reads it back again to confirm the successful write of OccupiedCoolingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfUnoccupiedCoolingSetpointAttribute_43(); + err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfOccupiedCoolingSetpointAttribute_3(); break; - case 44: + case 4: ChipLogProgress( - chipTool, " ***** Test Step 44 : Writes UnoccupiedCoolingSetpoint to value below the MinCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017")) { + chipTool, " ***** Test Step 4 : Writes OccupiedCoolingSetpoint to value below the ABSMinCoolSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestWritesUnoccupiedCoolingSetpointToValueBelowTheMinCoolSetpointLimit_44(); + err = TestWritesOccupiedCoolingSetpointToValueBelowTheABSMinCoolSetpointLimit_4(); break; - case 45: + case 5: ChipLogProgress( - chipTool, " ***** Test Step 45 : Writes UnoccupiedCoolingSetpoint to value below the MinCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0017 && PICS_SKIP_SAMPLE_APP")) { + chipTool, " ***** Test Step 5 : Writes OccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestWritesUnoccupiedCoolingSetpointToValueBelowTheMinCoolSetpointLimit_45(); + err = TestWritesOccupiedCoolingSetpointToValueAboveTheMaxCoolSetpointLimit_5(); break; - case 46: + case 6: ChipLogProgress( - chipTool, " ***** Test Step 46 : Writes UnoccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0018")) { + chipTool, " ***** Test Step 6 : Writes the limit of MinCoolSetpointLimit to OccupiedCoolingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F01 && !TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesUnoccupiedCoolingSetpointToValueAboveTheMaxCoolSetpointLimit_46(); + err = TestWritesTheLimitOfMinCoolSetpointLimitToOccupiedCoolingSetpointAttribute_6(); break; - case 47: + case 7: ChipLogProgress( - chipTool, " ***** Test Step 47 : Writes UnoccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0018")) { - NextTest(); - return; - } - err = TestWritesUnoccupiedCoolingSetpointToValueAboveTheMaxCoolSetpointLimit_47(); - break; - case 48: - ChipLogProgress(chipTool, - " ***** Test Step 48 : Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.F05")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMinCoolSetpointLimitToUnoccupiedCoolingSetpointAttribute_48(); - break; - case 49: - ChipLogProgress(chipTool, - " ***** Test Step 49 : Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0017 && TSTAT.S.F05")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMinCoolSetpointLimitToUnoccupiedCoolingSetpointAttribute_49(); - break; - case 50: - ChipLogProgress(chipTool, - " ***** Test Step 50 : Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.F05")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMinCoolSetpointLimitToUnoccupiedCoolingSetpointAttribute_50(); - break; - case 51: - ChipLogProgress(chipTool, - " ***** Test Step 51 : Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(MinCoolSetpointLimit, " - "(UnoccupiedCoolingSetpoint + MinSetpointDeadBand)) to UnoccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0013 && TSTAT.S.F05 && PICS_SKIP_SAMPLE_APP")) { - NextTest(); - return; - } - err = TestWritesIfTstatsf05autoLowerLimitMaxMinCoolSetpointLimitUnoccupiedCoolingSetpointMinSetpointDeadBandToUnoccupiedCoolingSetpointAttribute_51(); - break; - case 52: - ChipLogProgress(chipTool, - " ***** Test Step 52 : Writes the limit of MaxCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && !TSTAT.S.A0018 && !TSTAT.S.F05")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMaxCoolSetpointLimitToUnoccupiedCoolingSetpointAttribute_52(); - break; - case 53: - ChipLogProgress(chipTool, - " ***** Test Step 53 : Writes the limit of MaxCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.F05")) { + chipTool, " ***** Test Step 7 : Writes the CoolingSetpoint below the HeatingSetpoint when auto is enabled\n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesTheLimitOfMaxCoolSetpointLimitToUnoccupiedCoolingSetpointAttribute_53(); + err = TestWritesTheCoolingSetpointBelowTheHeatingSetpointWhenAutoIsEnabled_7(); break; - case 54: - ChipLogProgress(chipTool, - " ***** Test Step 54 : Reads UnoccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is " - "within range\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016")) { + case 8: + ChipLogProgress( + chipTool, " ***** Test Step 8 : Writes the limit of MaxCoolSetpointLimit to OccupiedCoolingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestReadsUnoccupiedHeatingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_54(); + err = TestWritesTheLimitOfMaxCoolSetpointLimitToOccupiedCoolingSetpointAttribute_8(); break; - case 55: + case 9: ChipLogProgress(chipTool, - " ***** Test Step 55 : Reads UnoccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is " + " ***** Test Step 9 : Reads OccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is " "within range\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0015 && !TSTAT.S.A0016")) { + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestReadsUnoccupiedHeatingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_55(); + err = TestReadsOccupiedHeatingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_9(); break; - case 56: + case 10: ChipLogProgress(chipTool, - " ***** Test Step 56 : Writes a value back that is different but valid for UnoccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { + " ***** Test Step 10 : Writes a value back that is different but valid for OccupiedHeatingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestWritesAValueBackThatIsDifferentButValidForUnoccupiedHeatingSetpointAttribute_56(); + err = TestWritesAValueBackThatIsDifferentButValidForOccupiedHeatingSetpointAttribute_10(); break; - case 57: + case 11: ChipLogProgress(chipTool, - " ***** Test Step 57 : Reads it back again to confirm the successful write of UnoccupiedHeatingSetpoint " - "attribute\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { - NextTest(); - return; - } - err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfUnoccupiedHeatingSetpointAttribute_57(); - break; - case 58: - ChipLogProgress( - chipTool, " ***** Test Step 58 : Writes UnoccupiedHeatingSetpoint to value below the MinHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0015")) { + " ***** Test Step 11 : Reads it back again to confirm the successful write of OccupiedHeatingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestWritesUnoccupiedHeatingSetpointToValueBelowTheMinHeatSetpointLimit_58(); + err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfOccupiedHeatingSetpointAttribute_11(); break; - case 59: + case 12: ChipLogProgress( - chipTool, " ***** Test Step 59 : Writes UnoccupiedHeatingSetpoint to value below the MinHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0015 && PICS_SKIP_SAMPLE_APP")) { + chipTool, " ***** Test Step 12 : Writes OccupiedHeatingSetpoint to value below the MinHeatSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestWritesUnoccupiedHeatingSetpointToValueBelowTheMinHeatSetpointLimit_59(); + err = TestWritesOccupiedHeatingSetpointToValueBelowTheMinHeatSetpointLimit_12(); break; - case 60: + case 13: ChipLogProgress( - chipTool, " ***** Test Step 60 : Writes UnoccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0016")) { + chipTool, " ***** Test Step 13 : Writes OccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestWritesUnoccupiedHeatingSetpointToValueAboveTheMaxHeatSetpointLimit_60(); + err = TestWritesOccupiedHeatingSetpointToValueAboveTheMaxHeatSetpointLimit_13(); break; - case 61: + case 14: ChipLogProgress( - chipTool, " ***** Test Step 61 : Writes UnoccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0016")) { - NextTest(); - return; - } - err = TestWritesUnoccupiedHeatingSetpointToValueAboveTheMaxHeatSetpointLimit_61(); - break; - case 62: - ChipLogProgress(chipTool, - " ***** Test Step 62 : Writes the limit of MinHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0015")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMinHeatSetpointLimitToUnoccupiedHeatingSetpointAttribute_62(); - break; - case 63: - ChipLogProgress(chipTool, - " ***** Test Step 63 : Writes the limit of MinHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0015")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMinHeatSetpointLimitToUnoccupiedHeatingSetpointAttribute_63(); - break; - case 64: - ChipLogProgress(chipTool, - " ***** Test Step 64 : Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0016 && !TSTAT.S.F05")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMaxHeatSetpointLimitToUnoccupiedHeatingSetpointAttribute_64(); - break; - case 65: - ChipLogProgress(chipTool, - " ***** Test Step 65 : Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMaxHeatSetpointLimitToUnoccupiedHeatingSetpointAttribute_65(); - break; - case 66: - ChipLogProgress(chipTool, - " ***** Test Step 66 : Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && !TSTAT.S.A0016 && TSTAT.S.F05")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfMaxHeatSetpointLimitToUnoccupiedHeatingSetpointAttribute_66(); - break; - case 67: - ChipLogProgress(chipTool, - " ***** Test Step 67 : Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(MaxHeatSetpointLimit, " - "(UnoccupiedCoolingSetpoint - MinSetpointDeadBand)) to UnoccupiedHeatingSetpoint attribute when Auto is " - "enabled.\n"); - if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00 && TSTAT.S.A0013 && TSTAT.S.F05 && PICS_SKIP_SAMPLE_APP")) { - NextTest(); - return; - } - err = TestWritesIfTstatsf05autoUpperLimitMinMaxHeatSetpointLimitUnoccupiedCoolingSetpointMinSetpointDeadBandToUnoccupiedHeatingSetpointAttributeWhenAutoIsEnabled_67(); - break; - case 68: - ChipLogProgress(chipTool, - " ***** Test Step 68 : Reads MinHeatSetpointLimit attribute from Server DUT and verifies that the value is within " - "range\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016 && TSTAT.S.A0003")) { - NextTest(); - return; - } - err = TestReadsMinHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_68(); - break; - case 69: - ChipLogProgress(chipTool, - " ***** Test Step 69 : Reads MinHeatSetpointLimit attribute from Server DUT and verifies that the value is within " - "range\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.A0016 && !TSTAT.S.A0003")) { - NextTest(); - return; - } - err = TestReadsMinHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_69(); - break; - case 70: - ChipLogProgress(chipTool, - " ***** Test Step 70 : Writes a value back that is different but valid for MinHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { + chipTool, " ***** Test Step 14 : Writes the limit of MinHeatSetpointLimit to OccupiedHeatingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestWritesAValueBackThatIsDifferentButValidForMinHeatSetpointLimitAttribute_70(); + err = TestWritesTheLimitOfMinHeatSetpointLimitToOccupiedHeatingSetpointAttribute_14(); break; - case 71: + case 15: ChipLogProgress(chipTool, - " ***** Test Step 71 : Reads it back again to confirm the successful write of MinHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { - NextTest(); - return; - } - err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinHeatSetpointLimitAttribute_71(); - break; - case 72: - ChipLogProgress(chipTool, " ***** Test Step 72 : Writes a value back that is different but violates the deadband\n"); - if (ShouldSkip("TSTAT.S.A0015 && TSTAT.S.F05")) { - NextTest(); - return; - } - err = TestWritesAValueBackThatIsDifferentButViolatesTheDeadband_72(); - break; - case 73: - ChipLogProgress( - chipTool, " ***** Test Step 73 : Writes MinHeatSetpointLimit to value below the AbsMinHeatSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.A0003")) { - NextTest(); - return; - } - err = TestWritesMinHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_73(); - break; - case 74: - ChipLogProgress( - chipTool, " ***** Test Step 74 : Writes MinHeatSetpointLimit to value below the AbsMinHeatSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0003 && PICS_SKIP_SAMPLE_APP")) { - NextTest(); - return; - } - err = TestWritesMinHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_74(); - break; - case 75: - ChipLogProgress( - chipTool, " ***** Test Step 75 : Writes MinHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.A0016")) { - NextTest(); - return; - } - err = TestWritesMinHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_75(); - break; - case 76: - ChipLogProgress( - chipTool, " ***** Test Step 76 : Writes MinHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0016")) { - NextTest(); - return; - } - err = TestWritesMinHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_76(); - break; - case 77: - ChipLogProgress( - chipTool, " ***** Test Step 77 : Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.A0003")) { - NextTest(); - return; - } - err = TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_77(); - break; - case 78: - ChipLogProgress( - chipTool, " ***** Test Step 78 : Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.A0003")) { + " ***** Test Step 15 : Reads it back again to confirm the successful write of OccupiedHeatingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_78(); + err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfOccupiedHeatingSetpointAttribute_15(); break; - case 79: + case 16: ChipLogProgress( - chipTool, " ***** Test Step 79 : Writes the limit of MaxHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.F05 && !TSTAT.S.A0016")) { + chipTool, " ***** Test Step 16 : Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F00 && !TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesTheLimitOfMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_79(); + err = TestWritesTheLimitOfMaxHeatSetpointLimitToOccupiedHeatingSetpointAttribute_16(); break; - case 80: + case 17: ChipLogProgress( - chipTool, " ***** Test Step 80 : Writes the limit of MaxHeatSetpointLimit to MinHeatSetpointimit attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && !TSTAT.S.F05 && TSTAT.S.A0016")) { + chipTool, " ***** Test Step 17 : Writes the limit of MaxHeatSetpointLimit to OccupiedHeatingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesTheLimitOfMaxHeatSetpointLimitToMinHeatSetpointimitAttribute_80(); + err = TestWritesTheLimitOfMaxHeatSetpointLimitToOccupiedHeatingSetpointAttribute_17(); break; - case 81: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 81 : Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(MaxHeatSetpointLimit, (MinCoolSetpointLimit - " - "MinSetpointDeadBand)) to MinHeatSetpointLimit attribute when Auto is enabled\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015 && TSTAT.S.F05 && TSTAT.S.A0005 && PICS_SKIP_SAMPLE_APP")) { + " ***** Test Step 18 : Reads UnoccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is " + "within range\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { NextTest(); return; } - err = TestWritesIfTstatsf05autoUpperLimitMinMaxHeatSetpointLimitMinCoolSetpointLimitMinSetpointDeadBandToMinHeatSetpointLimitAttributeWhenAutoIsEnabled_81(); + err = TestReadsUnoccupiedCoolingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_18(); break; - case 82: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 82 : 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 && TSTAT.S.A0004 && TSTAT.S.A0016")) { + " ***** Test Step 19 : Writes a value back that is different but valid for UnoccupiedCoolingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { NextTest(); return; } - err = TestReadsMaxHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_82(); + err = TestWritesAValueBackThatIsDifferentButValidForUnoccupiedCoolingSetpointAttribute_19(); break; - case 83: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 83 : 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 && !TSTAT.S.A0004 && !TSTAT.S.A0016 ")) { + " ***** Test Step 20 : Reads it back again to confirm the successful write of UnoccupiedCoolingSetpoint " + "attribute\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { NextTest(); return; } - err = TestReadsMaxHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_83(); + err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfUnoccupiedCoolingSetpointAttribute_20(); break; - case 84: + case 21: ChipLogProgress( - chipTool, " ***** Test Step 84 : Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { + chipTool, " ***** Test Step 21 : Writes UnoccupiedCoolingSetpoint to value below the MinCoolSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_84(); + err = TestWritesUnoccupiedCoolingSetpointToValueBelowTheMinCoolSetpointLimit_21(); break; - case 85: + case 22: ChipLogProgress( - chipTool, " ***** Test Step 85 : Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.A0015 && TSTAT.S.F05")) { + chipTool, " ***** Test Step 22 : Writes UnoccupiedCoolingSetpoint to value above the MaxCoolSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_85(); + err = TestWritesUnoccupiedCoolingSetpointToValueAboveTheMaxCoolSetpointLimit_22(); break; - case 86: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 86 : Writes a value back that is different but valid for MaxHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05")) { + " ***** Test Step 23 : Writes the limit of MinCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { NextTest(); return; } - err = TestWritesAValueBackThatIsDifferentButValidForMaxHeatSetpointLimitAttribute_86(); + err = TestWritesTheLimitOfMinCoolSetpointLimitToUnoccupiedCoolingSetpointAttribute_23(); break; - case 87: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 87 : Reads it back again to confirm the successful write of MaxHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05")) { + " ***** Test Step 24 : Writes the limit of MaxCoolSetpointLimit to UnoccupiedCoolingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F01")) { NextTest(); return; } - err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxHeatSetpointLimitAttribute_87(); + err = TestWritesTheLimitOfMaxCoolSetpointLimitToUnoccupiedCoolingSetpointAttribute_24(); break; - case 88: - ChipLogProgress( - chipTool, " ***** Test Step 88 : Writes MaxHeatSetpointLimit to value below the AbsMinHeatSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.A0015")) { + case 25: + ChipLogProgress(chipTool, + " ***** Test Step 25 : Reads UnoccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is " + "within range\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { NextTest(); return; } - err = TestWritesMaxHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_88(); + err = TestReadsUnoccupiedHeatingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_25(); break; - case 89: - ChipLogProgress( - chipTool, " ***** Test Step 89 : Writes MaxHeatSetpointLimit to value below the MinHeatSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.A0015 && PICS_SKIP_SAMPLE_APP")) { + case 26: + ChipLogProgress(chipTool, + " ***** Test Step 26 : Writes a value back that is different but valid for UnoccupiedHeatingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { NextTest(); return; } - err = TestWritesMaxHeatSetpointLimitToValueBelowTheMinHeatSetpointLimit_89(); + err = TestWritesAValueBackThatIsDifferentButValidForUnoccupiedHeatingSetpointAttribute_26(); break; - case 90: - ChipLogProgress( - chipTool, " ***** Test Step 90 : Writes MaxHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.A0004")) { + case 27: + ChipLogProgress(chipTool, + " ***** Test Step 27 : Reads it back again to confirm the successful write of UnoccupiedHeatingSetpoint " + "attribute\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { NextTest(); return; } - err = TestWritesMaxHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_90(); + err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfUnoccupiedHeatingSetpointAttribute_27(); break; - case 91: + case 28: ChipLogProgress( - chipTool, " ***** Test Step 91 : Writes MaxHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.A0004")) { + chipTool, " ***** Test Step 28 : Writes UnoccupiedHeatingSetpoint to value below the MinHeatSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { NextTest(); return; } - err = TestWritesMaxHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_91(); + err = TestWritesUnoccupiedHeatingSetpointToValueBelowTheMinHeatSetpointLimit_28(); break; - case 92: + case 29: ChipLogProgress( - chipTool, " ***** Test Step 92 : Writes the limit of MinHeatSetpointLimit to MaxHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.A0015")) { + chipTool, " ***** Test Step 29 : Writes UnoccupiedHeatingSetpoint to value above the MaxHeatSetpointLimit\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { NextTest(); return; } - err = TestWritesTheLimitOfMinHeatSetpointLimitToMaxHeatSetpointLimitAttribute_92(); + err = TestWritesUnoccupiedHeatingSetpointToValueAboveTheMaxHeatSetpointLimit_29(); break; - case 93: - ChipLogProgress( - chipTool, " ***** Test Step 93 : Writes the limit of MinHeatSetpointLimit to MaxHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.A0015")) { + case 30: + ChipLogProgress(chipTool, + " ***** Test Step 30 : Writes the limit of MinHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { NextTest(); return; } - err = TestWritesTheLimitOfMinHeatSetpointLimitToMaxHeatSetpointLimitAttribute_93(); + err = TestWritesTheLimitOfMinHeatSetpointLimitToUnoccupiedHeatingSetpointAttribute_30(); break; - case 94: - ChipLogProgress( - chipTool, " ***** Test Step 94 : Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 && !TSTAT.S.A0004")) { + case 31: + ChipLogProgress(chipTool, + " ***** Test Step 31 : Writes the limit of MaxHeatSetpointLimit to UnoccupiedHeatingSetpoint attribute\n"); + if (ShouldSkip("TSTAT.S.F02 && TSTAT.S.F00")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMaxHeatSetpointLimitAttribute_94(); + err = TestWritesTheLimitOfMaxHeatSetpointLimitToUnoccupiedHeatingSetpointAttribute_31(); break; - case 95: - ChipLogProgress( - chipTool, " ***** Test Step 95 : Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && !TSTAT.S.F05 && TSTAT.S.A0004")) { + case 32: + ChipLogProgress(chipTool, + " ***** Test Step 32 : Reads MinHeatSetpointLimit attribute from Server DUT and verifies that the value is within " + "range\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMaxHeatSetpointLimitAttribute_95(); + err = TestReadsMinHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_32(); break; - case 96: + case 33: ChipLogProgress(chipTool, - " ***** Test Step 96 : Writes If TSTAT.S.F05(AUTO) UpperLimit = Min(AbsMaxHeatSetpointLimit, (MaxCoolSetpointLimit " - "- MinSetpointDeadBand)) to MaxHeatSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016 && TSTAT.S.F05 && TSTAT.S.A0018 && PICS_SKIP_SAMPLE_APP")) { + " ***** Test Step 33 : Writes a value back that is different but valid for MinHeatSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } - err = TestWritesIfTstatsf05autoUpperLimitMinAbsMaxHeatSetpointLimitMaxCoolSetpointLimitMinSetpointDeadBandToMaxHeatSetpointLimitAttribute_96(); + err = TestWritesAValueBackThatIsDifferentButValidForMinHeatSetpointLimitAttribute_33(); break; - case 97: + case 34: ChipLogProgress(chipTool, - " ***** Test Step 97 : Reads MinCoolSetpointLimit attribute from Server DUT and verifies that the value is within " - "range\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018 && TSTAT.S.A0005")) { + " ***** Test Step 34 : Reads it back again to confirm the successful write of MinHeatSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } - err = TestReadsMinCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_97(); + err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinHeatSetpointLimitAttribute_34(); break; - case 98: - ChipLogProgress(chipTool, - " ***** Test Step 98 : Reads MinCoolSetpointLimit attribute from Server DUT and verifies that the value is within " - "range\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0018 && !TSTAT.S.A0005")) { + case 35: + 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 = TestReadsMinCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_98(); + err = TestWritesAValueBackThatIsDifferentButViolatesTheDeadband_35(); break; - case 99: - ChipLogProgress(chipTool, - " ***** Test Step 99 : Writes a value back that is different but valid for MinCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { + case 36: + ChipLogProgress( + chipTool, " ***** Test Step 36 : Writes MinHeatSetpointLimit to value below the AbsMinHeatSetpointLimit \n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } - err = TestWritesAValueBackThatIsDifferentButValidForMinCoolSetpointLimitAttribute_99(); + err = TestWritesMinHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_36(); break; - case 100: - ChipLogProgress(chipTool, - " ***** Test Step 100 : Reads it back again to confirm the successful write of MinCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { + case 37: + ChipLogProgress( + chipTool, " ***** Test Step 37 : Writes MinHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit \n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } - err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinCoolSetpointLimitAttribute_100(); + err = TestWritesMinHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_37(); break; - case 101: + case 38: ChipLogProgress( - chipTool, " ***** Test Step 101 : Writes MinCoolSetpointLimit to value below the AbsMinCoolSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0005")) { + chipTool, " ***** Test Step 38 : Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } - err = TestWritesMinCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_101(); + err = TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_38(); break; - case 102: + case 39: ChipLogProgress( - chipTool, " ***** Test Step 102 : Writes MinCoolSetpointLimit to value below the AbsMinCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0005 && PICS_SKIP_SAMPLE_APP")) { + 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 = TestWritesMinCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_102(); + err = TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_39(); break; - case 103: - ChipLogProgress( - chipTool, " ***** Test Step 103 : Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0018")) { + case 40: + 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 = TestWritesMinCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_103(); + err = TestReadsMaxHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_40(); break; - case 104: + case 41: ChipLogProgress( - chipTool, " ***** Test Step 104 : Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018")) { + chipTool, " ***** Test Step 41 : Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } - err = TestWritesMinCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_104(); + err = TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_41(); break; - case 105: + case 42: ChipLogProgress( - chipTool, " ***** Test Step 105 : Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0005 && !TSTAT.S.F05")) { + chipTool, " ***** Test Step 42 : Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.A0015 && TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_105(); + err = TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_42(); break; - case 106: - ChipLogProgress( - chipTool, " ***** Test Step 106 : Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0005 && !TSTAT.S.F05")) { + case 43: + ChipLogProgress(chipTool, + " ***** 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 = TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_106(); + err = TestWritesAValueBackThatIsDifferentButValidForMaxHeatSetpointLimitAttribute_43(); break; - case 107: + case 44: ChipLogProgress(chipTool, - " ***** Test Step 107 : Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(AbsMinCoolSetpointLimit, " - "(MinHeatSetpointLimit + MinSetpointDeadBand)) to MinCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0015 && TSTAT.S.F05 && PICS_SKIP_SAMPLE_APP")) { + " ***** 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 = TestWritesIfTstatsf05autoLowerLimitMaxAbsMinCoolSetpointLimitMinHeatSetpointLimitMinSetpointDeadBandToMinCoolSetpointLimitAttribute_107(); + err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxHeatSetpointLimitAttribute_44(); break; - case 108: + case 45: ChipLogProgress( - chipTool, " ***** Test Step 108 : Writes the limit of MaxCoolSetpointLimit to MinCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && !TSTAT.S.A0018")) { + chipTool, " ***** Test Step 45 : Writes MaxHeatSetpointLimit to value below the AbsMinHeatSetpointLimit \n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016")) { NextTest(); return; } - err = TestWritesTheLimitOfMaxCoolSetpointLimitToMinCoolSetpointLimitAttribute_108(); + err = TestWritesMaxHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_45(); break; - case 109: + case 46: ChipLogProgress( - chipTool, " ***** Test Step 109 : Writes the limit of MaxCoolSetpointLimit to MinCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018")) { + chipTool, " ***** Test Step 46 : Writes MaxHeatSetpointLimit to value above the AbsMaxHeatSetpointLimit \n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016")) { NextTest(); return; } - err = TestWritesTheLimitOfMaxCoolSetpointLimitToMinCoolSetpointLimitAttribute_109(); + err = TestWritesMaxHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_46(); break; - case 110: - ChipLogProgress(chipTool, - " ***** Test Step 110 : Reads MaxCoolSetpointLimit attribute from Server DUT and verifies that the value is within " - "range\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0017 && TSTAT.S.A0006")) { + case 47: + ChipLogProgress( + chipTool, " ***** Test Step 47 : Writes the limit of AbsMinHeatSetpointLimit to MaxHeatSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016")) { NextTest(); return; } - err = TestReadsMaxCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_110(); + err = TestWritesTheLimitOfAbsMinHeatSetpointLimitToMaxHeatSetpointLimitAttribute_47(); break; - case 111: + case 48: + 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 = TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMaxHeatSetpointLimitAttribute_48(); + break; + case 49: ChipLogProgress(chipTool, - " ***** Test Step 111 : Reads MaxCoolSetpointLimit attribute from Server DUT and verifies that the value is within " + " ***** 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.A0018 && !TSTAT.S.A0017 && !TSTAT.S.A0006")) { + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestReadsMaxCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_111(); + err = TestReadsMinCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_49(); break; - case 112: + case 50: ChipLogProgress(chipTool, - " ***** Test Step 112 : Writes a value back that is different but valid for MaxCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.F05")) { + " ***** 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 = TestWritesAValueBackThatIsDifferentButValidForMaxCoolSetpointLimitAttribute_112(); + err = TestWritesAValueBackThatIsDifferentButValidForMinCoolSetpointLimitAttribute_50(); break; - case 113: + case 51: ChipLogProgress(chipTool, - " ***** Test Step 113 : Reads it back again to confirm the successful write of MaxCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.F05")) { + " ***** 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 = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxCoolSetpointLimitAttribute_113(); + err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinCoolSetpointLimitAttribute_51(); break; - case 114: + case 52: ChipLogProgress( - chipTool, " ***** Test Step 114 : Writes MaxCoolSetpointLimit to value below the AbsMinCoolSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !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 = TestWritesMaxCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_114(); + err = TestWritesMinCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_52(); break; - case 115: + case 53: ChipLogProgress( - chipTool, " ***** Test Step 115 : Writes MaxCoolSetpointLimit to value below the AbsMinCoolSetpointLimit\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0017 && PICS_SKIP_SAMPLE_APP")) { + chipTool, " ***** Test Step 53 : Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit \n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestWritesMaxCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_115(); + err = TestWritesMinCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_53(); break; - case 116: + case 54: ChipLogProgress( - chipTool, " ***** Test Step 116 : Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0006")) { + chipTool, " ***** Test Step 54 : Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestWritesMaxCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_116(); + err = TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_54(); break; - case 117: + case 55: ChipLogProgress( - chipTool, " ***** Test Step 117 : Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit \n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0006")) { + chipTool, " ***** Test Step 55 : Writes the limit of MaxCoolSetpointLimit to MinCoolSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestWritesMaxCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_117(); + err = TestWritesTheLimitOfMaxCoolSetpointLimitToMinCoolSetpointLimitAttribute_55(); break; - case 118: + case 56: ChipLogProgress( - chipTool, " ***** Test Step 118 : Writes the limit of MinCoolSetpointLimit to MaxCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0017 && !TSTAT.S.F05")) { + chipTool, " ***** Test Step 56 : Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestWritesTheLimitOfMinCoolSetpointLimitToMaxCoolSetpointLimitAttribute_118(); + err = TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_56(); break; - case 119: - ChipLogProgress( - chipTool, " ***** Test Step 119 : Writes the limit of MinCoolSetpointLimit to MaxCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0017 && TSTAT.S.F05")) { + case 57: + ChipLogProgress(chipTool, + " ***** 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 = TestWritesTheLimitOfMinCoolSetpointLimitToMaxCoolSetpointLimitAttribute_119(); + err = TestReadsMaxCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_57(); break; - case 120: - ChipLogProgress( - chipTool, " ***** Test Step 120 : Writes the limit of MinCoolSetpointLimit to MaxCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0017 && !TSTAT.S.F05")) { + case 58: + ChipLogProgress(chipTool, + " ***** 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 = TestWritesTheLimitOfMinCoolSetpointLimitToMaxCoolSetpointLimitAttribute_120(); + err = TestWritesAValueBackThatIsDifferentButValidForMaxCoolSetpointLimitAttribute_58(); break; - case 121: + case 59: ChipLogProgress(chipTool, - " ***** Test Step 121 : Writes If TSTAT.S.F05(AUTO) LowerLimit = Max(MinCoolSetpointLimit, (MaxHeatSetpointLimit + " - "MinSetpointDeadBand)) to MaxCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0016 && TSTAT.S.F05 && PICS_SKIP_SAMPLE_APP")) { + " ***** 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 = TestWritesIfTstatsf05autoLowerLimitMaxMinCoolSetpointLimitMaxHeatSetpointLimitMinSetpointDeadBandToMaxCoolSetpointLimitAttribute_121(); + err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxCoolSetpointLimitAttribute_59(); break; - case 122: + case 60: ChipLogProgress( - chipTool, " ***** Test Step 122 : Writes the limit of AbsMaxCoolSetpointLimit to MaxCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && !TSTAT.S.A0006")) { + chipTool, " ***** Test Step 60 : Writes MaxCoolSetpointLimit to value below the AbsMinCoolSetpointLimit \n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMaxCoolSetpointLimitToMaxCoolSetpointLimitAttribute_122(); + err = TestWritesMaxCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_60(); break; - case 123: + case 61: ChipLogProgress( - chipTool, " ***** Test Step 123 : Writes the limit of AbsMaxCoolSetpointLimit to MaxCoolSetpointLimit attribute\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018 && TSTAT.S.A0006")) { + chipTool, " ***** Test Step 61 : Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit \n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018")) { NextTest(); return; } - err = TestWritesTheLimitOfAbsMaxCoolSetpointLimitToMaxCoolSetpointLimitAttribute_123(); + err = TestWritesMaxCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_61(); break; - case 124: - ChipLogProgress(chipTool, " ***** Test Step 124 : Writes (sets back) default value of MinHeatSetpointLimit\n"); + case 62: + ChipLogProgress( + chipTool, " ***** Test Step 62 : Writes the limit of AbsMinCoolSetpointLimit to MaxCoolSetpointLimit attribute\n"); + if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018")) { + NextTest(); + return; + } + err = TestWritesTheLimitOfAbsMinCoolSetpointLimitToMaxCoolSetpointLimitAttribute_62(); + break; + case 63: + 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 = TestWritesTheLimitOfMaxCoolSetpointLimitToMaxCoolSetpointLimitAttribute_63(); + break; + case 64: + ChipLogProgress(chipTool, " ***** Test Step 64 : Writes (sets back) default value of MinHeatSetpointLimit\n"); if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0015")) { NextTest(); return; } - err = TestWritesSetsBackDefaultValueOfMinHeatSetpointLimit_124(); + err = TestWritesSetsBackDefaultValueOfMinHeatSetpointLimit_64(); break; - case 125: - ChipLogProgress(chipTool, " ***** Test Step 125 : Writes (sets back)default value of MaxHeatSetpointLimit\n"); + case 65: + 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 = TestWritesSetsBackdefaultValueOfMaxHeatSetpointLimit_125(); + err = TestWritesSetsBackdefaultValueOfMaxHeatSetpointLimit_65(); break; - case 126: - ChipLogProgress(chipTool, " ***** Test Step 126 : Writes MaxHeatSetpointLimit That meets the deadband of 2.5C\n"); - if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0016 && !TSTAT.S.F05")) { + case 66: + 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 = TestWritesMaxHeatSetpointLimitThatMeetsTheDeadbandOf25c_126(); + err = TestWritesMaxHeatSetpointLimitThatMeetsTheDeadbandOf25c_66(); break; - case 127: - ChipLogProgress(chipTool, " ***** Test Step 127 : Writes (sets back) default value of MinCoolSetpointLimit\n"); + case 67: + ChipLogProgress(chipTool, " ***** Test Step 67 : Writes (sets back) default value of MinCoolSetpointLimit\n"); if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestWritesSetsBackDefaultValueOfMinCoolSetpointLimit_127(); + err = TestWritesSetsBackDefaultValueOfMinCoolSetpointLimit_67(); break; - case 128: - ChipLogProgress(chipTool, " ***** Test Step 128 : Writes (sets back) default value of MaxCoolSetpointLimit\n"); + case 68: + ChipLogProgress(chipTool, " ***** Test Step 68 : Writes (sets back) default value of MaxCoolSetpointLimit\n"); if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018")) { NextTest(); return; } - err = TestWritesSetsBackDefaultValueOfMaxCoolSetpointLimit_128(); + err = TestWritesSetsBackDefaultValueOfMaxCoolSetpointLimit_68(); break; - case 129: + case 69: ChipLogProgress(chipTool, - " ***** Test Step 129 : Reads MinSetpointDeadBand attribute from Server DUT and verifies that the value is within " + " ***** 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 = TestReadsMinSetpointDeadBandAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_129(); + err = TestReadsMinSetpointDeadBandAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_69(); break; - case 130: + case 70: ChipLogProgress(chipTool, - " ***** Test Step 130 : Writes a value back that is different but valid for MinSetpointDeadBand attribute\n"); - if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable")) { + " ***** Test Step 70 : Writes a value back that is different but valid for MinSetpointDeadBand attribute\n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesAValueBackThatIsDifferentButValidForMinSetpointDeadBandAttribute_130(); + err = TestWritesAValueBackThatIsDifferentButValidForMinSetpointDeadBandAttribute_70(); break; - case 131: + case 71: ChipLogProgress(chipTool, - " ***** Test Step 131 : Reads it back again to confirm the successful write of MinSetpointDeadBand attribute\n"); - if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable")) { + " ***** Test Step 71 : Reads it back again to confirm the successful write of MinSetpointDeadBand attribute\n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinSetpointDeadBandAttribute_131(); + err = TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinSetpointDeadBandAttribute_71(); break; - case 132: - ChipLogProgress(chipTool, " ***** Test Step 132 : Writes the value below MinSetpointDeadBand\n"); - if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable")) { + case 72: + ChipLogProgress(chipTool, " ***** Test Step 72 : Writes the value below MinSetpointDeadBand\n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesTheValueBelowMinSetpointDeadBand_132(); + err = TestWritesTheValueBelowMinSetpointDeadBand_72(); break; - case 133: - ChipLogProgress(chipTool, " ***** Test Step 133 : Writes the value above MinSetpointDeadBand \n"); - if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable")) { + case 73: + ChipLogProgress(chipTool, " ***** Test Step 73 : Writes the value above MinSetpointDeadBand \n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesTheValueAboveMinSetpointDeadBand_133(); + err = TestWritesTheValueAboveMinSetpointDeadBand_73(); break; - case 134: - ChipLogProgress(chipTool, " ***** Test Step 134 : Writes the min limit of MinSetpointDeadBand\n"); - if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable")) { + case 74: + ChipLogProgress(chipTool, " ***** Test Step 74 : Writes the min limit of MinSetpointDeadBand\n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesTheMinLimitOfMinSetpointDeadBand_134(); + err = TestWritesTheMinLimitOfMinSetpointDeadBand_74(); break; - case 135: - ChipLogProgress(chipTool, " ***** Test Step 135 : Writes the max limit of MinSetpointDeadBand\n"); - if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.M.MinSetpointDeadBandWritable")) { + case 75: + ChipLogProgress(chipTool, " ***** Test Step 75 : Writes the max limit of MinSetpointDeadBand\n"); + if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestWritesTheMaxLimitOfMinSetpointDeadBand_135(); + err = TestWritesTheMaxLimitOfMinSetpointDeadBand_75(); break; - case 136: + case 76: ChipLogProgress(chipTool, - " ***** Test Step 136 : Reads ControlSequenceOfOperation from Server DUT and verifies that the value is valid\n"); + " ***** 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 = TestReadsControlSequenceOfOperationFromServerDutAndVerifiesThatTheValueIsValid_136(); + err = TestReadsControlSequenceOfOperationFromServerDutAndVerifiesThatTheValueIsValid_76(); break; - case 137: + case 77: ChipLogProgress( - chipTool, " ***** Test Step 137 : Write Attribute command for ControlSequenceOfOperation with a new valid value\n"); + 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 = TestWriteAttributeCommandForControlSequenceOfOperationWithANewValidValue_137(); + err = TestWriteAttributeCommandForControlSequenceOfOperationWithANewValidValue_77(); break; - case 138: - ChipLogProgress(chipTool, " ***** Test Step 138 : Read it back again to confirm the successful write\n"); + case 78: + 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 = TestReadItBackAgainToConfirmTheSuccessfulWrite_138(); + err = TestReadItBackAgainToConfirmTheSuccessfulWrite_78(); break; - case 139: + case 79: ChipLogProgress(chipTool, - " ***** Test Step 139 : Writes MaxHeatSetpointLimit attribute to default value of 2950 to meet deadband " + " ***** 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 = TestWritesMaxHeatSetpointLimitAttributeToDefaultValueOf2950ToMeetDeadbandConstraint_139(); + err = TestWritesMaxHeatSetpointLimitAttributeToDefaultValueOf2950ToMeetDeadbandConstraint_79(); break; - case 140: - ChipLogProgress(chipTool, " ***** Test Step 140 : Sets OccupiedCoolingSetpoint to default value\n"); + case 80: + ChipLogProgress(chipTool, " ***** Test Step 80 : Sets OccupiedCoolingSetpoint to default value\n"); if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestSetsOccupiedCoolingSetpointToDefaultValue_140(); + err = TestSetsOccupiedCoolingSetpointToDefaultValue_80(); break; - case 141: - ChipLogProgress(chipTool, " ***** Test Step 141 : Sets OccupiedHeatingSetpoint to default value\n"); + case 81: + ChipLogProgress(chipTool, " ***** Test Step 81 : Sets OccupiedHeatingSetpoint to default value\n"); if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestSetsOccupiedHeatingSetpointToDefaultValue_141(); + err = TestSetsOccupiedHeatingSetpointToDefaultValue_81(); break; - case 142: - ChipLogProgress(chipTool, " ***** Test Step 142 : Sends SetpointRaise Command Heat Only\n"); + case 82: + ChipLogProgress(chipTool, " ***** Test Step 82 : Sends SetpointRaise Command Heat Only\n"); if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestSendsSetpointRaiseCommandHeatOnly_142(); + err = TestSendsSetpointRaiseCommandHeatOnly_82(); break; - case 143: + case 83: ChipLogProgress( - chipTool, " ***** Test Step 143 : Reads back OccupiedHeatingSetpoint to confirm the success of the write\n"); + chipTool, " ***** Test Step 83 : Reads back OccupiedHeatingSetpoint to confirm the success of the write\n"); if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_143(); + err = TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_83(); break; - case 144: - ChipLogProgress(chipTool, " ***** Test Step 144 : Sets OccupiedHeatingSetpoint to default value\n"); + case 84: + ChipLogProgress(chipTool, " ***** Test Step 84 : Sets OccupiedHeatingSetpoint to default value\n"); if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestSetsOccupiedHeatingSetpointToDefaultValue_144(); + err = TestSetsOccupiedHeatingSetpointToDefaultValue_84(); break; - case 145: - ChipLogProgress(chipTool, " ***** Test Step 145 : Sends SetpointRaise Command Heat Only\n"); + case 85: + ChipLogProgress(chipTool, " ***** Test Step 85 : Sends SetpointRaise Command Heat Only\n"); if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestSendsSetpointRaiseCommandHeatOnly_145(); + err = TestSendsSetpointRaiseCommandHeatOnly_85(); break; - case 146: + case 86: ChipLogProgress( - chipTool, " ***** Test Step 146 : Reads back OccupiedHeatingSetpoint to confirm the success of the write\n"); + chipTool, " ***** Test Step 86 : Reads back OccupiedHeatingSetpoint to confirm the success of the write\n"); if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_146(); + err = TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_86(); break; - case 147: - ChipLogProgress(chipTool, " ***** Test Step 147 : Sends SetpointRaise Command Cool Only\n"); + case 87: + ChipLogProgress(chipTool, " ***** Test Step 87 : Sends SetpointRaise Command Cool Only\n"); if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestSendsSetpointRaiseCommandCoolOnly_147(); + err = TestSendsSetpointRaiseCommandCoolOnly_87(); break; - case 148: + case 88: ChipLogProgress( - chipTool, " ***** Test Step 148 : Reads back OccupiedCoolingSetpoint to confirm the success of the write\n"); + chipTool, " ***** Test Step 88 : Reads back OccupiedCoolingSetpoint to confirm the success of the write\n"); if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_148(); + err = TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_88(); break; - case 149: - ChipLogProgress(chipTool, " ***** Test Step 149 : Sets OccupiedCoolingSetpoint to default value\n"); + case 89: + ChipLogProgress(chipTool, " ***** Test Step 89 : Sets OccupiedCoolingSetpoint to default value\n"); if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestSetsOccupiedCoolingSetpointToDefaultValue_149(); + err = TestSetsOccupiedCoolingSetpointToDefaultValue_89(); break; - case 150: - ChipLogProgress(chipTool, " ***** Test Step 150 : Sends SetpointRaise Command Cool Only\n"); + case 90: + ChipLogProgress(chipTool, " ***** Test Step 90 : Sends SetpointRaise Command Cool Only\n"); if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestSendsSetpointRaiseCommandCoolOnly_150(); + err = TestSendsSetpointRaiseCommandCoolOnly_90(); break; - case 151: + case 91: ChipLogProgress( - chipTool, " ***** Test Step 151 : Reads back OccupiedCoolingSetpoint to confirm the success of the write\n"); + chipTool, " ***** Test Step 91 : Reads back OccupiedCoolingSetpoint to confirm the success of the write\n"); if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_151(); + err = TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_91(); break; - case 152: - ChipLogProgress(chipTool, " ***** Test Step 152 : Sets OccupiedCoolingSetpoint to default value\n"); + case 92: + ChipLogProgress(chipTool, " ***** Test Step 92 : Sets OccupiedCoolingSetpoint to default value\n"); if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestSetsOccupiedCoolingSetpointToDefaultValue_152(); + err = TestSetsOccupiedCoolingSetpointToDefaultValue_92(); break; - case 153: - ChipLogProgress(chipTool, " ***** Test Step 153 : Sets OccupiedHeatingSetpoint to default value\n"); + case 93: + ChipLogProgress(chipTool, " ***** Test Step 93 : Sets OccupiedHeatingSetpoint to default value\n"); if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestSetsOccupiedHeatingSetpointToDefaultValue_153(); + err = TestSetsOccupiedHeatingSetpointToDefaultValue_93(); break; - case 154: - ChipLogProgress(chipTool, " ***** Test Step 154 : Sends SetpointRaise Command Heat & Cool\n"); + case 94: + ChipLogProgress(chipTool, " ***** Test Step 94 : Sends SetpointRaise Command Heat & Cool\n"); if (ShouldSkip("TSTAT.S.F00 || TSTAT.S.F01")) { NextTest(); return; } - err = TestSendsSetpointRaiseCommandHeatCool_154(); + err = TestSendsSetpointRaiseCommandHeatCool_94(); break; - case 155: + case 95: ChipLogProgress( - chipTool, " ***** Test Step 155 : Reads back OccupiedCoolingSetpoint to confirm the success of the write\n"); + chipTool, " ***** Test Step 95 : Reads back OccupiedCoolingSetpoint to confirm the success of the write\n"); if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_155(); + err = TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_95(); break; - case 156: + case 96: ChipLogProgress( - chipTool, " ***** Test Step 156 : Reads back OccupiedHeatingSetpoint to confirm the success of the write\n"); + chipTool, " ***** Test Step 96 : Reads back OccupiedHeatingSetpoint to confirm the success of the write\n"); if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_156(); + err = TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_96(); break; - case 157: - ChipLogProgress(chipTool, " ***** Test Step 157 : Sets OccupiedCoolingSetpoint to default value\n"); + case 97: + ChipLogProgress(chipTool, " ***** Test Step 97 : Sets OccupiedCoolingSetpoint to default value\n"); if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestSetsOccupiedCoolingSetpointToDefaultValue_157(); + err = TestSetsOccupiedCoolingSetpointToDefaultValue_97(); break; - case 158: - ChipLogProgress(chipTool, " ***** Test Step 158 : Sets OccupiedHeatingSetpoint to default value\n"); + case 98: + ChipLogProgress(chipTool, " ***** Test Step 98 : Sets OccupiedHeatingSetpoint to default value\n"); if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestSetsOccupiedHeatingSetpointToDefaultValue_158(); + err = TestSetsOccupiedHeatingSetpointToDefaultValue_98(); break; - case 159: - ChipLogProgress(chipTool, " ***** Test Step 159 : Sends SetpointRaise Command Heat & Cool\n"); + case 99: + ChipLogProgress(chipTool, " ***** Test Step 99 : Sends SetpointRaise Command Heat & Cool\n"); if (ShouldSkip("TSTAT.S.F00 || TSTAT.S.F01")) { NextTest(); return; } - err = TestSendsSetpointRaiseCommandHeatCool_159(); + err = TestSendsSetpointRaiseCommandHeatCool_99(); break; - case 160: + case 100: ChipLogProgress( - chipTool, " ***** Test Step 160 : Reads back OccupiedCoolingSetpoint to confirm the success of the write\n"); + chipTool, " ***** Test Step 100 : Reads back OccupiedCoolingSetpoint to confirm the success of the write\n"); if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_160(); + err = TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_100(); break; - case 161: + case 101: ChipLogProgress( - chipTool, " ***** Test Step 161 : Reads back OccupiedHeatingSetpoint to confirm the success of the write\n"); + chipTool, " ***** Test Step 101 : Reads back OccupiedHeatingSetpoint to confirm the success of the write\n"); if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_161(); + err = TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_101(); break; } @@ -57618,16 +56420,16 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -57642,10 +56444,10 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 13: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -57663,16 +56465,16 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 20: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 21: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 22: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -57690,37 +56492,37 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 28: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 29: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 30: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 32: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 33: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 34: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 35: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 36: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + 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), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 39: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -57732,28 +56534,28 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { 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), 0)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 46: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); break; case 47: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 48: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 49: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 50: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -57762,10 +56564,10 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 52: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + 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)); @@ -57780,7 +56582,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 58: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 59: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -57804,7 +56606,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 66: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 67: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -57831,10 +56633,10 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 75: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 76: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 77: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -57861,7 +56663,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 85: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 86: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -57870,16 +56672,16 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 88: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 89: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 90: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 91: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; case 92: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -57887,549 +56689,58 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { case 93: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 94: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 95: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 96: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 97: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 98: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 99: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 100: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 101: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 102: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 103: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 104: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 105: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 106: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 107: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 108: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 109: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 110: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 111: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 112: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 113: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 114: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 115: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 116: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 117: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 118: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 119: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 120: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 121: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 122: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 123: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 124: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 125: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 126: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 127: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 128: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 129: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 130: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 131: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 132: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 133: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - break; - case 134: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 135: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 136: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 137: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 138: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 139: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 140: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 141: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 142: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 143: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 144: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 145: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 146: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 147: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 148: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 149: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 150: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 151: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 152: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 153: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 154: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 155: + case 94: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 156: + case 95: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 157: + case 96: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 158: + case 97: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 159: + case 98: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 160: + case 99: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 161: + case 100: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - } - - // Go on to the next test. - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - - chip::System::Clock::Timeout GetWaitDuration() const override - { - return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); - } - -private: - std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 162; - - chip::Optional mNodeId; - chip::Optional mCluster; - chip::Optional mEndpoint; - chip::Optional mTimeout; - - CHIP_ERROR TestWaitForTheCommissionedDeviceToBeRetrieved_0() - { - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee("alpha", value); - } - NSNumber * _Nonnull MinCoolSetpointLimit; - - CHIP_ERROR TestSavingValueForComparisionInStep2aReadMinCoolSetpointLimit_1() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeMinCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 2a read MinCoolSetpointLimit Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - MinCoolSetpointLimit = value; - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - NSNumber * _Nonnull MaxCoolSetpointLimit; - - CHIP_ERROR TestSavingValueForComparisionInStep2aReadMaxCoolSetpointLimit_2() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeMaxCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 2a read MaxCoolSetpointLimit Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - MaxCoolSetpointLimit = value; - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - NSNumber * _Nonnull MinSetpointDeadBand; - - CHIP_ERROR TestSavingValueForComparisionInStep2cReadAttributeMinSetpointDeadBand_3() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeMinSetpointDeadBandWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 2c read attribute MinSetpointDeadBand Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - MinSetpointDeadBand = value; - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - NSNumber * _Nonnull MinHeatSetpointLimit; - - CHIP_ERROR TestSavingValueForComparisionInStep3aReadMinHeatSetpointLimit_4() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeMinHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 3a read MinHeatSetpointLimit Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - MinHeatSetpointLimit = value; - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - NSNumber * _Nonnull UnoccupiedCoolingSetpoint; - - CHIP_ERROR TestSavingValueForComparisionInStep3ReadsUnoccupiedCoolingSetpointAttribute_5() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeUnoccupiedCoolingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 3 reads UnoccupiedCoolingSetpoint attribute Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - UnoccupiedCoolingSetpoint = value; - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - NSNumber * _Nonnull MaxHeatSetpointLimit; - - CHIP_ERROR TestSavingValueForComparisionInStep3aReadMaxHeatSetpointLimit_6() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeMaxHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 3a read MaxHeatSetpointLimit Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - MaxHeatSetpointLimit = value; - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - NSNumber * _Nonnull OccupiedHeatingSetpoint; - - CHIP_ERROR TestSavingValueForComparisionInStep3cReadAttributeOccupiedHeatingSetpoint_7() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeOccupiedHeatingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step3c read attribute OccupiedHeatingSetpoint Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - OccupiedHeatingSetpoint = value; - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - NSNumber * _Nonnull OccupiedCoolingSetpoint; - - CHIP_ERROR TestSavingValueForComparisionInStep3cReadAttributeOccupiedCoolingSetpoint_8() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeOccupiedCoolingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step3c read attribute OccupiedCoolingSetpoint Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - OccupiedCoolingSetpoint = value; - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - NSNumber * _Nonnull AbsMinHeatSetpointLimitValue; - - CHIP_ERROR TestSavingValueForComparisionInStep6aReadAttributeAbsMinHeatSetpointLimit_9() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAbsMinHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 6a read attribute AbsMinHeatSetpointLimit Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - AbsMinHeatSetpointLimitValue = value; - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - NSNumber * _Nonnull AbsMaxHeatSetpointLimitValue; - - CHIP_ERROR TestSavingValueForComparisionInStep7aReadAttributeAbsMaxHeatSetpointLimit_10() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAbsMaxHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 7a read attribute AbsMaxHeatSetpointLimit Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - AbsMaxHeatSetpointLimitValue = value; - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - NSNumber * _Nonnull AbsMinCoolSetpointLimit; - - CHIP_ERROR TestSavingValueForComparisionInStep8aReadAttributeAbsMinCoolSetpointLimit_11() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAbsMinCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step 8a read attribute AbsMinCoolSetpointLimit Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - AbsMinCoolSetpointLimit = value; - } - - NextTest(); - }]; + case 101: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + } - return CHIP_NO_ERROR; + // Go on to the next test. + ContinueOnChipMainThread(CHIP_NO_ERROR); } - NSNumber * _Nonnull AbsMaxCoolSetpointLimit; - CHIP_ERROR TestSavingValueForComparisionInStep9aReadAttributeAbsMaxCoolSetpointLimit_12() + chip::System::Clock::Timeout GetWaitDuration() const override { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAbsMaxCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Saving value for comparision in step9a read attribute AbsMaxCoolSetpointLimit Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - AbsMaxCoolSetpointLimit = value; - } - - NextTest(); - }]; - - return CHIP_NO_ERROR; + return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); } - CHIP_ERROR TestReadAttributeOccupiedCoolingSetpointFromTheDut_13() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeOccupiedCoolingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Read attribute OccupiedCoolingSetpoint from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("occupiedCoolingSetpoint", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("occupiedCoolingSetpoint", [value shortValue], MinCoolSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("occupiedCoolingSetpoint", [value shortValue], MaxCoolSetpointLimit)); +private: + std::atomic_uint16_t mTestIndex; + const uint16_t mTestCount = 102; - NextTest(); - }]; + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; - return CHIP_NO_ERROR; + CHIP_ERROR TestWaitForTheCommissionedDeviceToBeRetrieved_0() + { + chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; + return WaitForCommissionee("alpha", value); } - CHIP_ERROR TestReadsOccupiedCoolingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_14() + CHIP_ERROR TestReadsOccupiedCoolingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_1() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58453,7 +56764,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForOccupiedCoolingSetpointAttribute_15() + CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForOccupiedCoolingSetpointAttribute_2() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58477,7 +56788,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfOccupiedCoolingSetpointAttribute_16() + CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfOccupiedCoolingSetpointAttribute_3() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58501,7 +56812,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesOccupiedCoolingSetpointToValueBelowTheMinCoolSetpointLimit_17() + CHIP_ERROR TestWritesOccupiedCoolingSetpointToValueBelowTheABSMinCoolSetpointLimit_4() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58514,7 +56825,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { [cluster writeAttributeOccupiedCoolingSetpointWithValue:occupiedCoolingSetpointArgument completion:^(NSError * _Nullable err) { NSLog(@"Writes OccupiedCoolingSetpoint to value below the " - @"MinCoolSetpointLimit Error: %@", + @"ABSMinCoolSetpointLimit Error: %@", err); VerifyOrReturn(CheckValue("status", @@ -58529,16 +56840,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesOccupiedCoolingSetpointToValueBelowTheMinCoolSetpointLimit_18() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestWritesOccupiedCoolingSetpointToValueAboveTheMaxCoolSetpointLimit_19() + CHIP_ERROR TestWritesOccupiedCoolingSetpointToValueAboveTheMaxCoolSetpointLimit_5() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58566,35 +56868,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesOccupiedCoolingSetpointToValueAboveTheMaxCoolSetpointLimit_20() - { - 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:[MaxCoolSetpointLimit shortValue] + 1000]; - [cluster writeAttributeOccupiedCoolingSetpointWithValue:occupiedCoolingSetpointArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes OccupiedCoolingSetpoint to value above the " - @"MaxCoolSetpointLimit 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 TestWritesTheLimitOfMinCoolSetpointLimitToOccupiedCoolingSetpointAttribute_21() + CHIP_ERROR TestWritesTheLimitOfMinCoolSetpointLimitToOccupiedCoolingSetpointAttribute_6() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58618,7 +56892,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfMinCoolSetpointLimitToOccupiedCoolingSetpointAttribute_22() + CHIP_ERROR TestWritesTheCoolingSetpointBelowTheHeatingSetpointWhenAutoIsEnabled_7() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58627,32 +56901,26 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); id occupiedCoolingSetpointArgument; - occupiedCoolingSetpointArgument = [MinCoolSetpointLimit copy]; + occupiedCoolingSetpointArgument = [NSNumber numberWithShort:1600]; [cluster writeAttributeOccupiedCoolingSetpointWithValue:occupiedCoolingSetpointArgument completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MinCoolSetpointLimit to " - @"OccupiedCoolingSetpoint attribute Error: %@", + NSLog(@"Writes the CoolingSetpoint below the HeatingSetpoint when auto is " + @"enabled Error: %@", err); - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - + 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 - TestWritesIfTstatsf05autoLowerLimitMaxMinCoolSetpointLimitOccupiedHeatingSetpointMinSetpointDeadBandToOccupiedCoolingSetpointAttributeWhenAutoIsEnabled_23() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestWritesTheLimitOfMaxCoolSetpointLimitToOccupiedCoolingSetpointAttribute_24() + CHIP_ERROR TestWritesTheLimitOfMaxCoolSetpointLimitToOccupiedCoolingSetpointAttribute_8() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58676,55 +56944,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfMaxCoolSetpointLimitToOccupiedCoolingSetpointAttribute_25() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id occupiedCoolingSetpointArgument; - occupiedCoolingSetpointArgument = [MaxCoolSetpointLimit copy]; - [cluster writeAttributeOccupiedCoolingSetpointWithValue:occupiedCoolingSetpointArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MaxCoolSetpointLimit to " - @"OccupiedCoolingSetpoint attribute Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsOccupiedHeatingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_26() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeOccupiedHeatingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Reads OccupiedHeatingSetpoint attribute from Server DUT and verifies that the value is within range Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("occupiedHeatingSetpoint", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("occupiedHeatingSetpoint", [value shortValue], MinHeatSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("occupiedHeatingSetpoint", [value shortValue], MaxHeatSetpointLimit)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsOccupiedHeatingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_27() + CHIP_ERROR TestReadsOccupiedHeatingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_9() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58748,7 +56968,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForOccupiedHeatingSetpointAttribute_28() + CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForOccupiedHeatingSetpointAttribute_10() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58772,7 +56992,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfOccupiedHeatingSetpointAttribute_29() + CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfOccupiedHeatingSetpointAttribute_11() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58796,7 +57016,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesOccupiedHeatingSetpointToValueBelowTheMinHeatSetpointLimit_30() + CHIP_ERROR TestWritesOccupiedHeatingSetpointToValueBelowTheMinHeatSetpointLimit_12() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58824,16 +57044,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesOccupiedHeatingSetpointToValueBelowTheMinHeatSetpointLimit_31() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestWritesOccupiedHeatingSetpointToValueAboveTheMaxHeatSetpointLimit_32() + CHIP_ERROR TestWritesOccupiedHeatingSetpointToValueAboveTheMaxHeatSetpointLimit_13() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58861,35 +57072,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesOccupiedHeatingSetpointToValueAboveTheMaxHeatSetpointLimit_33() - { - 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:[MaxHeatSetpointLimit shortValue] + 1000]; - [cluster writeAttributeOccupiedHeatingSetpointWithValue:occupiedHeatingSetpointArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes OccupiedHeatingSetpoint to value above the " - @"MaxHeatSetpointLimit 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 TestWritesTheLimitOfMinHeatSetpointLimitToOccupiedHeatingSetpointAttribute_34() + CHIP_ERROR TestWritesTheLimitOfMinHeatSetpointLimitToOccupiedHeatingSetpointAttribute_14() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58913,7 +57096,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfMinHeatSetpointLimitToOccupiedHeatingSetpointAttribute_35() + CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfOccupiedHeatingSetpointAttribute_15() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58921,47 +57104,23 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - id occupiedHeatingSetpointArgument; - occupiedHeatingSetpointArgument = [MinHeatSetpointLimit copy]; - [cluster writeAttributeOccupiedHeatingSetpointWithValue:occupiedHeatingSetpointArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MinHeatSetpointLimit to " - @"OccupiedHeatingSetpoint attribute Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestWritesTheLimitOfMaxHeatSetpointLimitToOccupiedHeatingSetpointAttribute_36() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeOccupiedHeatingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads it back again to confirm the successful write of OccupiedHeatingSetpoint attribute Error: %@", err); - id occupiedHeatingSetpointArgument; - occupiedHeatingSetpointArgument = [NSNumber numberWithShort:3000]; - [cluster writeAttributeOccupiedHeatingSetpointWithValue:occupiedHeatingSetpointArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MaxHeatSetpointLimit to " - @"OccupiedHeatingSetpoint attribute Error: %@", - err); + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + { + id actualValue = value; + VerifyOrReturn(CheckValue("OccupiedHeatingSetpoint", actualValue, 700)); + } - NextTest(); - }]; + NextTest(); + }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfMaxHeatSetpointLimitToOccupiedHeatingSetpointAttribute_37() + CHIP_ERROR TestWritesTheLimitOfMaxHeatSetpointLimitToOccupiedHeatingSetpointAttribute_16() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58970,7 +57129,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); id occupiedHeatingSetpointArgument; - occupiedHeatingSetpointArgument = [MaxHeatSetpointLimit copy]; + occupiedHeatingSetpointArgument = [NSNumber numberWithShort:3000]; [cluster writeAttributeOccupiedHeatingSetpointWithValue:occupiedHeatingSetpointArgument completion:^(NSError * _Nullable err) { NSLog(@"Writes the limit of MaxHeatSetpointLimit to " @@ -58985,7 +57144,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfMaxHeatSetpointLimitToOccupiedHeatingSetpointAttribute_38() + CHIP_ERROR TestWritesTheLimitOfMaxHeatSetpointLimitToOccupiedHeatingSetpointAttribute_17() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -58999,56 +57158,21 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { completion:^(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 - TestWritesIfTstatsf05autoUpperLimitMinMaxHeatSetpointLimitOccupiedCoolingSetpointMinSetpointDeadBandToOccupiedHeatingSetpointAttributeWhenAutoIsEnabled_39() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestReadsUnoccupiedCoolingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_40() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeUnoccupiedCoolingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog( - @"Reads UnoccupiedCoolingSetpoint attribute from Server DUT and verifies that the value is within range Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("unoccupiedCoolingSetpoint", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("unoccupiedCoolingSetpoint", [value shortValue], MinCoolSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("unoccupiedCoolingSetpoint", [value shortValue], MaxCoolSetpointLimit)); + err); - NextTest(); - }]; + 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_41() + CHIP_ERROR TestReadsUnoccupiedCoolingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_18() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59063,6 +57187,11 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + { + id actualValue = value; + VerifyOrReturn(CheckValue("UnoccupiedCoolingSetpoint", actualValue, 2600)); + } + VerifyOrReturn(CheckConstraintType("unoccupiedCoolingSetpoint", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("unoccupiedCoolingSetpoint", [value shortValue], 1600)); VerifyOrReturn(CheckConstraintMaxValue("unoccupiedCoolingSetpoint", [value shortValue], 3200)); @@ -59073,7 +57202,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForUnoccupiedCoolingSetpointAttribute_42() + CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForUnoccupiedCoolingSetpointAttribute_19() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59097,7 +57226,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfUnoccupiedCoolingSetpointAttribute_43() + CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfUnoccupiedCoolingSetpointAttribute_20() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59121,7 +57250,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesUnoccupiedCoolingSetpointToValueBelowTheMinCoolSetpointLimit_44() + CHIP_ERROR TestWritesUnoccupiedCoolingSetpointToValueBelowTheMinCoolSetpointLimit_21() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59149,16 +57278,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesUnoccupiedCoolingSetpointToValueBelowTheMinCoolSetpointLimit_45() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestWritesUnoccupiedCoolingSetpointToValueAboveTheMaxCoolSetpointLimit_46() + CHIP_ERROR TestWritesUnoccupiedCoolingSetpointToValueAboveTheMaxCoolSetpointLimit_22() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59186,87 +57306,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesUnoccupiedCoolingSetpointToValueAboveTheMaxCoolSetpointLimit_47() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id unoccupiedCoolingSetpointArgument; - unoccupiedCoolingSetpointArgument = [NSNumber numberWithShort:[MaxCoolSetpointLimit shortValue] + 1000]; - [cluster writeAttributeUnoccupiedCoolingSetpointWithValue:unoccupiedCoolingSetpointArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes UnoccupiedCoolingSetpoint to value above the " - @"MaxCoolSetpointLimit 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 TestWritesTheLimitOfMinCoolSetpointLimitToUnoccupiedCoolingSetpointAttribute_48() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id unoccupiedCoolingSetpointArgument; - unoccupiedCoolingSetpointArgument = [NSNumber numberWithShort:1600]; - [cluster writeAttributeUnoccupiedCoolingSetpointWithValue:unoccupiedCoolingSetpointArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MinCoolSetpointLimit to " - @"UnoccupiedCoolingSetpoint attribute Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestWritesTheLimitOfMinCoolSetpointLimitToUnoccupiedCoolingSetpointAttribute_49() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id unoccupiedCoolingSetpointArgument; - unoccupiedCoolingSetpointArgument = [NSNumber numberWithShort:1600]; - [cluster writeAttributeUnoccupiedCoolingSetpointWithValue:unoccupiedCoolingSetpointArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MinCoolSetpointLimit to " - @"UnoccupiedCoolingSetpoint 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 TestWritesTheLimitOfMinCoolSetpointLimitToUnoccupiedCoolingSetpointAttribute_50() + CHIP_ERROR TestWritesTheLimitOfMinCoolSetpointLimitToUnoccupiedCoolingSetpointAttribute_23() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59275,7 +57315,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); id unoccupiedCoolingSetpointArgument; - unoccupiedCoolingSetpointArgument = [MinCoolSetpointLimit copy]; + unoccupiedCoolingSetpointArgument = [NSNumber numberWithShort:1800]; [cluster writeAttributeUnoccupiedCoolingSetpointWithValue:unoccupiedCoolingSetpointArgument completion:^(NSError * _Nullable err) { NSLog(@"Writes the limit of MinCoolSetpointLimit to " @@ -59290,41 +57330,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR - TestWritesIfTstatsf05autoLowerLimitMaxMinCoolSetpointLimitUnoccupiedCoolingSetpointMinSetpointDeadBandToUnoccupiedCoolingSetpointAttribute_51() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestWritesTheLimitOfMaxCoolSetpointLimitToUnoccupiedCoolingSetpointAttribute_52() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id unoccupiedCoolingSetpointArgument; - unoccupiedCoolingSetpointArgument = [NSNumber numberWithShort:3200]; - [cluster writeAttributeUnoccupiedCoolingSetpointWithValue:unoccupiedCoolingSetpointArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MaxCoolSetpointLimit to " - @"UnoccupiedCoolingSetpoint attribute Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestWritesTheLimitOfMaxCoolSetpointLimitToUnoccupiedCoolingSetpointAttribute_53() + CHIP_ERROR TestWritesTheLimitOfMaxCoolSetpointLimitToUnoccupiedCoolingSetpointAttribute_24() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59333,7 +57339,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); id unoccupiedCoolingSetpointArgument; - unoccupiedCoolingSetpointArgument = [MaxCoolSetpointLimit copy]; + unoccupiedCoolingSetpointArgument = [NSNumber numberWithShort:3000]; [cluster writeAttributeUnoccupiedCoolingSetpointWithValue:unoccupiedCoolingSetpointArgument completion:^(NSError * _Nullable err) { NSLog(@"Writes the limit of MaxCoolSetpointLimit to " @@ -59348,7 +57354,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsUnoccupiedHeatingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_54() + CHIP_ERROR TestReadsUnoccupiedHeatingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_25() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59363,30 +57369,10 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("unoccupiedHeatingSetpoint", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("unoccupiedHeatingSetpoint", [value shortValue], MinHeatSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("unoccupiedHeatingSetpoint", [value shortValue], MaxHeatSetpointLimit)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsUnoccupiedHeatingSetpointAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_55() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeUnoccupiedHeatingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog( - @"Reads UnoccupiedHeatingSetpoint 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("UnoccupiedHeatingSetpoint", actualValue, 2000)); + } VerifyOrReturn(CheckConstraintType("unoccupiedHeatingSetpoint", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("unoccupiedHeatingSetpoint", [value shortValue], 700)); @@ -59398,7 +57384,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForUnoccupiedHeatingSetpointAttribute_56() + CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForUnoccupiedHeatingSetpointAttribute_26() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59422,7 +57408,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfUnoccupiedHeatingSetpointAttribute_57() + CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfUnoccupiedHeatingSetpointAttribute_27() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59446,7 +57432,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesUnoccupiedHeatingSetpointToValueBelowTheMinHeatSetpointLimit_58() + CHIP_ERROR TestWritesUnoccupiedHeatingSetpointToValueBelowTheMinHeatSetpointLimit_28() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59466,128 +57452,15 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { err ? ([err.domain isEqualToString:MTRInteractionErrorDomain] ? err.code : EMBER_ZCL_STATUS_FAILURE) - : 0, - EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestWritesUnoccupiedHeatingSetpointToValueBelowTheMinHeatSetpointLimit_59() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestWritesUnoccupiedHeatingSetpointToValueAboveTheMaxHeatSetpointLimit_60() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id unoccupiedHeatingSetpointArgument; - unoccupiedHeatingSetpointArgument = [NSNumber numberWithShort:4010]; - [cluster writeAttributeUnoccupiedHeatingSetpointWithValue:unoccupiedHeatingSetpointArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes UnoccupiedHeatingSetpoint to value above the " - @"MaxHeatSetpointLimit 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 TestWritesUnoccupiedHeatingSetpointToValueAboveTheMaxHeatSetpointLimit_61() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id unoccupiedHeatingSetpointArgument; - unoccupiedHeatingSetpointArgument = [NSNumber numberWithShort:[MaxHeatSetpointLimit shortValue] + 1000]; - [cluster writeAttributeUnoccupiedHeatingSetpointWithValue:unoccupiedHeatingSetpointArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes UnoccupiedHeatingSetpoint to value above the " - @"MaxHeatSetpointLimit 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 TestWritesTheLimitOfMinHeatSetpointLimitToUnoccupiedHeatingSetpointAttribute_62() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id unoccupiedHeatingSetpointArgument; - unoccupiedHeatingSetpointArgument = [NSNumber numberWithShort:700]; - [cluster writeAttributeUnoccupiedHeatingSetpointWithValue:unoccupiedHeatingSetpointArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MinHeatSetpointLimit to " - @"UnoccupiedHeatingSetpoint attribute Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestWritesTheLimitOfMinHeatSetpointLimitToUnoccupiedHeatingSetpointAttribute_63() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id unoccupiedHeatingSetpointArgument; - unoccupiedHeatingSetpointArgument = [MinHeatSetpointLimit copy]; - [cluster writeAttributeUnoccupiedHeatingSetpointWithValue:unoccupiedHeatingSetpointArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MinHeatSetpointLimit to " - @"UnoccupiedHeatingSetpoint attribute Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - + : 0, + EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfMaxHeatSetpointLimitToUnoccupiedHeatingSetpointAttribute_64() + CHIP_ERROR TestWritesUnoccupiedHeatingSetpointToValueAboveTheMaxHeatSetpointLimit_29() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59596,22 +57469,26 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); id unoccupiedHeatingSetpointArgument; - unoccupiedHeatingSetpointArgument = [NSNumber numberWithShort:3000]; + unoccupiedHeatingSetpointArgument = [NSNumber numberWithShort:4010]; [cluster writeAttributeUnoccupiedHeatingSetpointWithValue:unoccupiedHeatingSetpointArgument completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MaxHeatSetpointLimit to " - @"UnoccupiedHeatingSetpoint attribute Error: %@", + NSLog(@"Writes UnoccupiedHeatingSetpoint to value above the " + @"MaxHeatSetpointLimit Error: %@", err); - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - + 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 TestWritesTheLimitOfMaxHeatSetpointLimitToUnoccupiedHeatingSetpointAttribute_65() + CHIP_ERROR TestWritesTheLimitOfMinHeatSetpointLimitToUnoccupiedHeatingSetpointAttribute_30() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59620,10 +57497,10 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); id unoccupiedHeatingSetpointArgument; - unoccupiedHeatingSetpointArgument = [MaxHeatSetpointLimit copy]; + unoccupiedHeatingSetpointArgument = [NSNumber numberWithShort:1800]; [cluster writeAttributeUnoccupiedHeatingSetpointWithValue:unoccupiedHeatingSetpointArgument completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MaxHeatSetpointLimit to " + NSLog(@"Writes the limit of MinHeatSetpointLimit to " @"UnoccupiedHeatingSetpoint attribute Error: %@", err); @@ -59635,7 +57512,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfMaxHeatSetpointLimitToUnoccupiedHeatingSetpointAttribute_66() + CHIP_ERROR TestWritesTheLimitOfMaxHeatSetpointLimitToUnoccupiedHeatingSetpointAttribute_31() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59651,29 +57528,15 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { @"UnoccupiedHeatingSetpoint attribute Error: %@", err); - VerifyOrReturn(CheckValue("status", - err ? ([err.domain isEqualToString:MTRInteractionErrorDomain] - ? err.code - : EMBER_ZCL_STATUS_FAILURE) - : 0, - EMBER_ZCL_STATUS_CONSTRAINT_ERROR)); + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR - TestWritesIfTstatsf05autoUpperLimitMinMaxHeatSetpointLimitUnoccupiedCoolingSetpointMinSetpointDeadBandToUnoccupiedHeatingSetpointAttributeWhenAutoIsEnabled_67() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestReadsMinHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_68() + CHIP_ERROR TestReadsMinHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_32() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59687,30 +57550,10 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("minHeatSetpointLimit", "int16s", "int16s")); - VerifyOrReturn( - CheckConstraintMinValue("minHeatSetpointLimit", [value shortValue], AbsMinHeatSetpointLimitValue)); - VerifyOrReturn(CheckConstraintMaxValue("minHeatSetpointLimit", [value shortValue], MaxHeatSetpointLimit)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsMinHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_69() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeMinHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog( - @"Reads MinHeatSetpointLimit 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("MinHeatSetpointLimit", actualValue, 700)); + } VerifyOrReturn(CheckConstraintType("minHeatSetpointLimit", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("minHeatSetpointLimit", [value shortValue], 700)); @@ -59722,7 +57565,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMinHeatSetpointLimitAttribute_70() + CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMinHeatSetpointLimitAttribute_33() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59746,7 +57589,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinHeatSetpointLimitAttribute_71() + CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinHeatSetpointLimitAttribute_34() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59770,7 +57613,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesAValueBackThatIsDifferentButViolatesTheDeadband_72() + CHIP_ERROR TestWritesAValueBackThatIsDifferentButViolatesTheDeadband_35() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59798,7 +57641,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMinHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_73() + CHIP_ERROR TestWritesMinHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_36() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59807,7 +57650,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); id minHeatSetpointLimitArgument; - minHeatSetpointLimitArgument = [NSNumber numberWithShort:100]; + minHeatSetpointLimitArgument = [NSNumber numberWithShort:650]; [cluster writeAttributeMinHeatSetpointLimitWithValue:minHeatSetpointLimitArgument completion:^(NSError * _Nullable err) { NSLog(@"Writes MinHeatSetpointLimit to value below the " @@ -59826,16 +57669,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMinHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_74() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestWritesMinHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_75() + CHIP_ERROR TestWritesMinHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_37() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59863,35 +57697,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMinHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_76() - { - 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:[MaxHeatSetpointLimit shortValue] + 1000]; - [cluster writeAttributeMinHeatSetpointLimitWithValue:minHeatSetpointLimitArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes MinHeatSetpointLimit to value above the " - @"AbsMaxHeatSetpointLimit 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 TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_77() + CHIP_ERROR TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_38() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59915,31 +57721,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_78() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id minHeatSetpointLimitArgument; - minHeatSetpointLimitArgument = [AbsMinHeatSetpointLimitValue copy]; - [cluster writeAttributeMinHeatSetpointLimitWithValue:minHeatSetpointLimitArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of AbsMinHeatSetpointLimit to MinHeatSetpointLimit " - @"attribute Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestWritesTheLimitOfMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_79() + CHIP_ERROR TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_39() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -59951,31 +57733,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { minHeatSetpointLimitArgument = [NSNumber numberWithShort:3000]; [cluster writeAttributeMinHeatSetpointLimitWithValue:minHeatSetpointLimitArgument completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MaxHeatSetpointLimit to MinHeatSetpointLimit " - @"attribute Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestWritesTheLimitOfMaxHeatSetpointLimitToMinHeatSetpointimitAttribute_80() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id minHeatSetpointLimitArgument; - minHeatSetpointLimitArgument = [MaxHeatSetpointLimit copy]; - [cluster writeAttributeMinHeatSetpointLimitWithValue:minHeatSetpointLimitArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MaxHeatSetpointLimit to MinHeatSetpointimit " + NSLog(@"Writes the limit of AbsMaxHeatSetpointLimit to MinHeatSetpointLimit " @"attribute Error: %@", err); @@ -59987,17 +57745,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR - TestWritesIfTstatsf05autoUpperLimitMinMaxHeatSetpointLimitMinCoolSetpointLimitMinSetpointDeadBandToMinHeatSetpointLimitAttributeWhenAutoIsEnabled_81() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestReadsMaxHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_82() + CHIP_ERROR TestReadsMaxHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_40() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60011,30 +57759,10 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("maxHeatSetpointLimit", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("maxHeatSetpointLimit", [value shortValue], MinHeatSetpointLimit)); - VerifyOrReturn( - CheckConstraintMaxValue("maxHeatSetpointLimit", [value shortValue], AbsMaxHeatSetpointLimitValue)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsMaxHeatSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_83() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeMaxHeatSetpointLimitWithCompletion:^(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", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("maxHeatSetpointLimit", [value shortValue], 700)); @@ -60046,7 +57774,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_84() + CHIP_ERROR TestWritesTheLimitOfAbsMinHeatSetpointLimitToMinHeatSetpointLimitAttribute_41() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60070,7 +57798,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_85() + CHIP_ERROR TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMinHeatSetpointLimitAttribute_42() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60098,7 +57826,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMaxHeatSetpointLimitAttribute_86() + CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMaxHeatSetpointLimitAttribute_43() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60122,7 +57850,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxHeatSetpointLimitAttribute_87() + CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxHeatSetpointLimitAttribute_44() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60146,7 +57874,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMaxHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_88() + CHIP_ERROR TestWritesMaxHeatSetpointLimitToValueBelowTheAbsMinHeatSetpointLimit_45() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60160,110 +57888,21 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { completion:^(NSError * _Nullable err) { NSLog(@"Writes MaxHeatSetpointLimit to value below the " @"AbsMinHeatSetpointLimit 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 TestWritesMaxHeatSetpointLimitToValueBelowTheMinHeatSetpointLimit_89() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestWritesMaxHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_90() - { - 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:4000]; - [cluster writeAttributeMaxHeatSetpointLimitWithValue:maxHeatSetpointLimitArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes MaxHeatSetpointLimit to value above the " - @"AbsMaxHeatSetpointLimit 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 TestWritesMaxHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_91() - { - 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:[AbsMaxHeatSetpointLimitValue shortValue] + 1000]; - [cluster writeAttributeMaxHeatSetpointLimitWithValue:maxHeatSetpointLimitArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes MaxHeatSetpointLimit to value above the " - @"AbsMaxHeatSetpointLimit 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 TestWritesTheLimitOfMinHeatSetpointLimitToMaxHeatSetpointLimitAttribute_92() - { - 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:700]; - [cluster writeAttributeMaxHeatSetpointLimitWithValue:maxHeatSetpointLimitArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MinHeatSetpointLimit to MaxHeatSetpointLimit " - @"attribute Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + 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 TestWritesTheLimitOfMinHeatSetpointLimitToMaxHeatSetpointLimitAttribute_93() + CHIP_ERROR TestWritesMaxHeatSetpointLimitToValueAboveTheAbsMaxHeatSetpointLimit_46() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60272,22 +57911,26 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); id maxHeatSetpointLimitArgument; - maxHeatSetpointLimitArgument = [MinHeatSetpointLimit copy]; + maxHeatSetpointLimitArgument = [NSNumber numberWithShort:4000]; [cluster writeAttributeMaxHeatSetpointLimitWithValue:maxHeatSetpointLimitArgument completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MinHeatSetpointLimit to MaxHeatSetpointLimit " - @"attribute Error: %@", + NSLog(@"Writes MaxHeatSetpointLimit to value above the " + @"AbsMaxHeatSetpointLimit Error: %@", err); - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - + 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 TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMaxHeatSetpointLimitAttribute_94() + CHIP_ERROR TestWritesTheLimitOfAbsMinHeatSetpointLimitToMaxHeatSetpointLimitAttribute_47() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60296,10 +57939,10 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); id maxHeatSetpointLimitArgument; - maxHeatSetpointLimitArgument = [NSNumber numberWithShort:3000]; + maxHeatSetpointLimitArgument = [NSNumber numberWithShort:700]; [cluster writeAttributeMaxHeatSetpointLimitWithValue:maxHeatSetpointLimitArgument completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit " + NSLog(@"Writes the limit of AbsMinHeatSetpointLimit to MaxHeatSetpointLimit " @"attribute Error: %@", err); @@ -60311,7 +57954,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMaxHeatSetpointLimitAttribute_95() + CHIP_ERROR TestWritesTheLimitOfAbsMaxHeatSetpointLimitToMaxHeatSetpointLimitAttribute_48() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60320,7 +57963,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); id maxHeatSetpointLimitArgument; - maxHeatSetpointLimitArgument = [AbsMaxHeatSetpointLimitValue copy]; + maxHeatSetpointLimitArgument = [NSNumber numberWithShort:3000]; [cluster writeAttributeMaxHeatSetpointLimitWithValue:maxHeatSetpointLimitArgument completion:^(NSError * _Nullable err) { NSLog(@"Writes the limit of AbsMaxHeatSetpointLimit to MaxHeatSetpointLimit " @@ -60335,17 +57978,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR - TestWritesIfTstatsf05autoUpperLimitMinAbsMaxHeatSetpointLimitMaxCoolSetpointLimitMinSetpointDeadBandToMaxHeatSetpointLimitAttribute_96() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestReadsMinCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_97() + CHIP_ERROR TestReadsMinCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_49() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60359,29 +57992,10 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("minCoolSetpointLimit", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("minCoolSetpointLimit", [value shortValue], AbsMinCoolSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("minCoolSetpointLimit", [value shortValue], MaxCoolSetpointLimit)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsMinCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_98() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeMinCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog( - @"Reads MinCoolSetpointLimit 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("MinCoolSetpointLimit", actualValue, 1600)); + } VerifyOrReturn(CheckConstraintType("minCoolSetpointLimit", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("minCoolSetpointLimit", [value shortValue], 1600)); @@ -60393,7 +58007,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMinCoolSetpointLimitAttribute_99() + CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMinCoolSetpointLimitAttribute_50() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60417,7 +58031,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinCoolSetpointLimitAttribute_100() + CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinCoolSetpointLimitAttribute_51() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60441,7 +58055,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMinCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_101() + CHIP_ERROR TestWritesMinCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_52() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60469,16 +58083,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMinCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_102() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestWritesMinCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_103() + CHIP_ERROR TestWritesMinCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_53() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60506,35 +58111,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMinCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_104() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id minCoolSetpointLimitArgument; - minCoolSetpointLimitArgument = [NSNumber numberWithShort:[MaxCoolSetpointLimit shortValue] + 1000]; - [cluster writeAttributeMinCoolSetpointLimitWithValue:minCoolSetpointLimitArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes MinCoolSetpointLimit to value above the MaxCoolSetpointLimit " - @"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 TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_105() + CHIP_ERROR TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_54() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60558,41 +58135,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_106() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id minCoolSetpointLimitArgument; - minCoolSetpointLimitArgument = [AbsMinCoolSetpointLimit copy]; - [cluster writeAttributeMinCoolSetpointLimitWithValue:minCoolSetpointLimitArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit " - @"attribute Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR - TestWritesIfTstatsf05autoLowerLimitMaxAbsMinCoolSetpointLimitMinHeatSetpointLimitMinSetpointDeadBandToMinCoolSetpointLimitAttribute_107() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestWritesTheLimitOfMaxCoolSetpointLimitToMinCoolSetpointLimitAttribute_108() + CHIP_ERROR TestWritesTheLimitOfMaxCoolSetpointLimitToMinCoolSetpointLimitAttribute_55() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60616,7 +58159,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheLimitOfMaxCoolSetpointLimitToMinCoolSetpointLimitAttribute_109() + CHIP_ERROR TestWritesTheLimitOfAbsMinCoolSetpointLimitToMinCoolSetpointLimitAttribute_56() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60625,10 +58168,10 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); id minCoolSetpointLimitArgument; - minCoolSetpointLimitArgument = [MaxCoolSetpointLimit copy]; + minCoolSetpointLimitArgument = [NSNumber numberWithShort:1600]; [cluster writeAttributeMinCoolSetpointLimitWithValue:minCoolSetpointLimitArgument completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MaxCoolSetpointLimit to MinCoolSetpointLimit " + NSLog(@"Writes the limit of AbsMinCoolSetpointLimit to MinCoolSetpointLimit " @"attribute Error: %@", err); @@ -60640,7 +58183,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsMaxCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_110() + CHIP_ERROR TestReadsMaxCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_57() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60654,29 +58197,10 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("maxCoolSetpointLimit", "int16s", "int16s")); - VerifyOrReturn(CheckConstraintMinValue("maxCoolSetpointLimit", [value shortValue], MinCoolSetpointLimit)); - VerifyOrReturn(CheckConstraintMaxValue("maxCoolSetpointLimit", [value shortValue], AbsMaxCoolSetpointLimit)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestReadsMaxCoolSetpointLimitAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_111() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeMaxCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog( - @"Reads MaxCoolSetpointLimit 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("MaxCoolSetpointLimit", actualValue, 3200)); + } VerifyOrReturn(CheckConstraintType("maxCoolSetpointLimit", "int16s", "int16s")); VerifyOrReturn(CheckConstraintMinValue("maxCoolSetpointLimit", [value shortValue], 1600)); @@ -60688,7 +58212,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMaxCoolSetpointLimitAttribute_112() + CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMaxCoolSetpointLimitAttribute_58() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60712,7 +58236,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxCoolSetpointLimitAttribute_113() + CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMaxCoolSetpointLimitAttribute_59() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60736,7 +58260,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMaxCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_114() + CHIP_ERROR TestWritesMaxCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_60() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60764,16 +58288,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMaxCoolSetpointLimitToValueBelowTheAbsMinCoolSetpointLimit_115() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestWritesMaxCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_116() + CHIP_ERROR TestWritesMaxCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_61() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60801,59 +58316,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMaxCoolSetpointLimitToValueAboveTheMaxCoolSetpointLimit_117() - { - 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:[AbsMaxCoolSetpointLimit shortValue] + 1000]; - [cluster writeAttributeMaxCoolSetpointLimitWithValue:maxCoolSetpointLimitArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes MaxCoolSetpointLimit to value above the MaxCoolSetpointLimit " - @"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 TestWritesTheLimitOfMinCoolSetpointLimitToMaxCoolSetpointLimitAttribute_118() - { - 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 - completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MinCoolSetpointLimit to MaxCoolSetpointLimit " - @"attribute Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestWritesTheLimitOfMinCoolSetpointLimitToMaxCoolSetpointLimitAttribute_119() + CHIP_ERROR TestWritesTheLimitOfAbsMinCoolSetpointLimitToMaxCoolSetpointLimitAttribute_62() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60865,35 +58328,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { maxCoolSetpointLimitArgument = [NSNumber numberWithShort:1600]; [cluster writeAttributeMaxCoolSetpointLimitWithValue:maxCoolSetpointLimitArgument completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MinCoolSetpointLimit to MaxCoolSetpointLimit " - @"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 TestWritesTheLimitOfMinCoolSetpointLimitToMaxCoolSetpointLimitAttribute_120() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id maxCoolSetpointLimitArgument; - maxCoolSetpointLimitArgument = [MinCoolSetpointLimit copy]; - [cluster writeAttributeMaxCoolSetpointLimitWithValue:maxCoolSetpointLimitArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of MinCoolSetpointLimit to MaxCoolSetpointLimit " + NSLog(@"Writes the limit of AbsMinCoolSetpointLimit to MaxCoolSetpointLimit " @"attribute Error: %@", err); @@ -60905,17 +58340,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR - TestWritesIfTstatsf05autoLowerLimitMaxMinCoolSetpointLimitMaxHeatSetpointLimitMinSetpointDeadBandToMaxCoolSetpointLimitAttribute_121() - { - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' after successgarbage: not in length on purpose", 30); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestWritesTheLimitOfAbsMaxCoolSetpointLimitToMaxCoolSetpointLimitAttribute_122() + CHIP_ERROR TestWritesTheLimitOfMaxCoolSetpointLimitToMaxCoolSetpointLimitAttribute_63() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60927,31 +58352,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { maxCoolSetpointLimitArgument = [NSNumber numberWithShort:3200]; [cluster writeAttributeMaxCoolSetpointLimitWithValue:maxCoolSetpointLimitArgument completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of AbsMaxCoolSetpointLimit to MaxCoolSetpointLimit " - @"attribute Error: %@", - err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestWritesTheLimitOfAbsMaxCoolSetpointLimitToMaxCoolSetpointLimitAttribute_123() - { - MTRBaseDevice * device = GetDevice("alpha"); - MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device - endpoint:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - id maxCoolSetpointLimitArgument; - maxCoolSetpointLimitArgument = [AbsMaxCoolSetpointLimit copy]; - [cluster writeAttributeMaxCoolSetpointLimitWithValue:maxCoolSetpointLimitArgument - completion:^(NSError * _Nullable err) { - NSLog(@"Writes the limit of AbsMaxCoolSetpointLimit to MaxCoolSetpointLimit " + NSLog(@"Writes the limit of MaxCoolSetpointLimit to MaxCoolSetpointLimit " @"attribute Error: %@", err); @@ -60963,7 +58364,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesSetsBackDefaultValueOfMinHeatSetpointLimit_124() + CHIP_ERROR TestWritesSetsBackDefaultValueOfMinHeatSetpointLimit_64() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -60986,7 +58387,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesSetsBackdefaultValueOfMaxHeatSetpointLimit_125() + CHIP_ERROR TestWritesSetsBackdefaultValueOfMaxHeatSetpointLimit_65() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61009,7 +58410,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMaxHeatSetpointLimitThatMeetsTheDeadbandOf25c_126() + CHIP_ERROR TestWritesMaxHeatSetpointLimitThatMeetsTheDeadbandOf25c_66() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61033,7 +58434,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesSetsBackDefaultValueOfMinCoolSetpointLimit_127() + CHIP_ERROR TestWritesSetsBackDefaultValueOfMinCoolSetpointLimit_67() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61056,7 +58457,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesSetsBackDefaultValueOfMaxCoolSetpointLimit_128() + CHIP_ERROR TestWritesSetsBackDefaultValueOfMaxCoolSetpointLimit_68() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61079,7 +58480,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsMinSetpointDeadBandAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_129() + CHIP_ERROR TestReadsMinSetpointDeadBandAttributeFromServerDutAndVerifiesThatTheValueIsWithinRange_69() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61093,6 +58494,11 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + { + id actualValue = value; + VerifyOrReturn(CheckValue("MinSetpointDeadBand", actualValue, 25)); + } + VerifyOrReturn(CheckConstraintType("minSetpointDeadBand", "int8s", "int8s")); VerifyOrReturn(CheckConstraintMinValue("minSetpointDeadBand", [value charValue], 0)); VerifyOrReturn(CheckConstraintMaxValue("minSetpointDeadBand", [value charValue], 25)); @@ -61103,7 +58509,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMinSetpointDeadBandAttribute_130() + CHIP_ERROR TestWritesAValueBackThatIsDifferentButValidForMinSetpointDeadBandAttribute_70() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61127,7 +58533,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinSetpointDeadBandAttribute_131() + CHIP_ERROR TestReadsItBackAgainToConfirmTheSuccessfulWriteOfMinSetpointDeadBandAttribute_71() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61151,7 +58557,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheValueBelowMinSetpointDeadBand_132() + CHIP_ERROR TestWritesTheValueBelowMinSetpointDeadBand_72() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61177,7 +58583,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheValueAboveMinSetpointDeadBand_133() + CHIP_ERROR TestWritesTheValueAboveMinSetpointDeadBand_73() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61203,7 +58609,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheMinLimitOfMinSetpointDeadBand_134() + CHIP_ERROR TestWritesTheMinLimitOfMinSetpointDeadBand_74() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61225,7 +58631,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesTheMaxLimitOfMinSetpointDeadBand_135() + CHIP_ERROR TestWritesTheMaxLimitOfMinSetpointDeadBand_75() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61247,7 +58653,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsControlSequenceOfOperationFromServerDutAndVerifiesThatTheValueIsValid_136() + CHIP_ERROR TestReadsControlSequenceOfOperationFromServerDutAndVerifiesThatTheValueIsValid_76() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61275,7 +58681,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWriteAttributeCommandForControlSequenceOfOperationWithANewValidValue_137() + CHIP_ERROR TestWriteAttributeCommandForControlSequenceOfOperationWithANewValidValue_77() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61299,7 +58705,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadItBackAgainToConfirmTheSuccessfulWrite_138() + CHIP_ERROR TestReadItBackAgainToConfirmTheSuccessfulWrite_78() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61323,7 +58729,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWritesMaxHeatSetpointLimitAttributeToDefaultValueOf2950ToMeetDeadbandConstraint_139() + CHIP_ERROR TestWritesMaxHeatSetpointLimitAttributeToDefaultValueOf2950ToMeetDeadbandConstraint_79() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61347,7 +58753,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSetsOccupiedCoolingSetpointToDefaultValue_140() + CHIP_ERROR TestSetsOccupiedCoolingSetpointToDefaultValue_80() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61369,7 +58775,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSetsOccupiedHeatingSetpointToDefaultValue_141() + CHIP_ERROR TestSetsOccupiedHeatingSetpointToDefaultValue_81() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61391,7 +58797,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendsSetpointRaiseCommandHeatOnly_142() + CHIP_ERROR TestSendsSetpointRaiseCommandHeatOnly_82() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61414,7 +58820,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_143() + CHIP_ERROR TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_83() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61438,7 +58844,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSetsOccupiedHeatingSetpointToDefaultValue_144() + CHIP_ERROR TestSetsOccupiedHeatingSetpointToDefaultValue_84() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61460,7 +58866,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendsSetpointRaiseCommandHeatOnly_145() + CHIP_ERROR TestSendsSetpointRaiseCommandHeatOnly_85() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61483,7 +58889,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_146() + CHIP_ERROR TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_86() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61507,7 +58913,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendsSetpointRaiseCommandCoolOnly_147() + CHIP_ERROR TestSendsSetpointRaiseCommandCoolOnly_87() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61530,7 +58936,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_148() + CHIP_ERROR TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_88() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61554,7 +58960,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSetsOccupiedCoolingSetpointToDefaultValue_149() + CHIP_ERROR TestSetsOccupiedCoolingSetpointToDefaultValue_89() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61576,7 +58982,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendsSetpointRaiseCommandCoolOnly_150() + CHIP_ERROR TestSendsSetpointRaiseCommandCoolOnly_90() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61599,7 +59005,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_151() + CHIP_ERROR TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_91() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61623,7 +59029,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSetsOccupiedCoolingSetpointToDefaultValue_152() + CHIP_ERROR TestSetsOccupiedCoolingSetpointToDefaultValue_92() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61645,7 +59051,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSetsOccupiedHeatingSetpointToDefaultValue_153() + CHIP_ERROR TestSetsOccupiedHeatingSetpointToDefaultValue_93() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61667,7 +59073,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendsSetpointRaiseCommandHeatCool_154() + CHIP_ERROR TestSendsSetpointRaiseCommandHeatCool_94() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61690,7 +59096,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_155() + CHIP_ERROR TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_95() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61714,7 +59120,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_156() + CHIP_ERROR TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_96() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61738,7 +59144,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSetsOccupiedCoolingSetpointToDefaultValue_157() + CHIP_ERROR TestSetsOccupiedCoolingSetpointToDefaultValue_97() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61760,7 +59166,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSetsOccupiedHeatingSetpointToDefaultValue_158() + CHIP_ERROR TestSetsOccupiedHeatingSetpointToDefaultValue_98() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61782,7 +59188,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestSendsSetpointRaiseCommandHeatCool_159() + CHIP_ERROR TestSendsSetpointRaiseCommandHeatCool_99() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61805,7 +59211,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_160() + CHIP_ERROR TestReadsBackOccupiedCoolingSetpointToConfirmTheSuccessOfTheWrite_100() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device @@ -61829,7 +59235,7 @@ class Test_TC_TSTAT_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_161() + CHIP_ERROR TestReadsBackOccupiedHeatingSetpointToConfirmTheSuccessOfTheWrite_101() { MTRBaseDevice * device = GetDevice("alpha"); MTRBaseClusterThermostat * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device