| # Copyright (c) 2021 Project CHIP Authors |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| name: 42.2.1. [TC-TSTAT-2.1] Attributes with server as DUT |
| |
| PICS: |
| - TSTAT.S |
| |
| config: |
| nodeId: 0x12344321 |
| cluster: "Thermostat" |
| endpoint: 1 |
| |
| tests: |
| - label: "Step 1: Commission DUT to TH" |
| cluster: "DelayCommands" |
| command: "WaitForCommissionee" |
| arguments: |
| values: |
| - name: "nodeId" |
| value: nodeId |
| |
| - label: |
| "Saving value for comparision in step 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: MinSetpointDeadBandValue |
| |
| - 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: MinCoolSetpointLimitValue |
| |
| - label: |
| "Saving value for comparision in step 17 read MaxCoolSetpointLimit |
| attribute" |
| PICS: TSTAT.S.A0018 |
| command: "readAttribute" |
| attribute: "MaxCoolSetpointLimit" |
| response: |
| saveAs: MaxCoolSetpointLimitValue |
| |
| - label: "Saving value for comparision in step 17 read MaxHeatSetpointLimit" |
| PICS: TSTAT.S.A0016 |
| command: "readAttribute" |
| attribute: "MaxHeatSetpointLimit" |
| response: |
| saveAs: MaxHeatSetpointLimitValue |
| |
| - label: |
| "Saving value for comparision in step 13 read attribute |
| OccupiedCoolingSetpoint" |
| PICS: TSTAT.S.F01 |
| command: "readAttribute" |
| attribute: "OccupiedCoolingSetpoint" |
| response: |
| saveAs: OccupiedCoolingSetpointValue |
| |
| - label: |
| "Saving value for comparision in step 15 read attribute |
| AbsMinHeatSetpointLimit" |
| PICS: TSTAT.S.A0003 |
| command: "readAttribute" |
| attribute: "AbsMinHeatSetpointLimit" |
| response: |
| saveAs: AbsMinHeatValue |
| |
| - label: |
| "Saving value for comparision in step 15 read attribute |
| AbsMaxHeatSetpointLimit" |
| PICS: TSTAT.S.A0004 |
| command: "readAttribute" |
| attribute: "AbsMaxHeatSetpointLimit" |
| response: |
| saveAs: AbsMaxHeatValue |
| |
| - label: |
| "Saving value for comparision in step 16 read |
| UnoccupiedCoolingSetpoint attribute" |
| PICS: TSTAT.S.A0013 |
| command: "readAttribute" |
| attribute: "UnoccupiedCoolingSetpoint" |
| response: |
| saveAs: UnoccupiedCoolingSetpointValue |
| |
| - label: "Step 2: TH reads the LocalTemperature attribute from the DUT" |
| command: "readAttribute" |
| attribute: "LocalTemperature" |
| response: |
| constraints: |
| type: int16s |
| minValue: -27315 |
| maxValue: 32767 |
| |
| - label: "Step 3: TH reads the OutdoorTemperature attribute from the DUT" |
| PICS: TSTAT.S.A0001 |
| command: "readAttribute" |
| attribute: "OutdoorTemperature" |
| response: |
| constraints: |
| type: int16s |
| minValue: -27315 |
| maxValue: 32767 |
| |
| - label: "Step 4: TH reads the Occupancy attribute from the DUT" |
| PICS: TSTAT.S.F02 |
| command: "readAttribute" |
| attribute: "Occupancy" |
| response: |
| constraints: |
| type: bitmap8 |
| minValue: 0 |
| maxValue: 1 |
| |
| - label: |
| "Step 5a: TH reads 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 - MinSetpointDeadBandValue |
| |
| - label: |
| "Step 5b: TH reads 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: "Step 6a: TH reads attribute AbsMinHeatSetpointLimit from DUT" |
| PICS: TSTAT.S.A0003 && !TSTAT.S.F05 |
| command: "readAttribute" |
| attribute: "AbsMinHeatSetpointLimit" |
| response: |
| constraints: |
| type: int16s |
| minValue: -27315 |
| maxValue: 32767 |
| |
| - label: |
| "Step 6b: TH reads mandatory attributes from DUT: |
| AbsMaxHeatSetpointLimit" |
| PICS: TSTAT.S.A0004 |
| command: "readAttribute" |
| attribute: "AbsMaxHeatSetpointLimit" |
| response: |
| constraints: |
| type: int16s |
| minValue: -27315 |
| maxValue: 32767 |
| |
| - label: |
| "Step 7: TH reads the AbsMinCoolSetpointLimit attribute from the DUT" |
| PICS: TSTAT.S.A0005 |
| command: "readAttribute" |
| attribute: "AbsMinCoolSetpointLimit" |
| response: |
| constraints: |
| type: int16s |
| minValue: -27315 |
| maxValue: 32767 |
| |
| - label: |
| "Step 8: TH reads the AbsMaxCoolSetpointLimit attribute from the DUT" |
| PICS: TSTAT.S.A0006 |
| command: "readAttribute" |
| attribute: "AbsMaxCoolSetpointLimit" |
| response: |
| constraints: |
| type: int16s |
| minValue: -27315 |
| maxValue: 32767 |
| |
| - label: "Step 9: TH reads the PICoolingDemand attribute from the DUT" |
| PICS: TSTAT.S.A0007 |
| command: "readAttribute" |
| attribute: "PICoolingDemand" |
| response: |
| constraints: |
| type: int8u |
| minValue: 0 |
| maxValue: 100 |
| |
| - label: "Step 10: TH reads the PIHeatingDemand attribute from the DUT" |
| PICS: TSTAT.S.A0008 |
| command: "readAttribute" |
| attribute: "PIHeatingDemand" |
| response: |
| constraints: |
| type: int8u |
| minValue: 0 |
| maxValue: 100 |
| |
| - label: |
| "Step 12: TH reads the LocalTemperatureCalibration attribute from the |
| DUT" |
| PICS: TSTAT.S.A0010 |
| command: "readAttribute" |
| attribute: "LocalTemperatureCalibration" |
| response: |
| constraints: |
| type: int8s |
| minValue: -25 |
| maxValue: 25 |
| |
| - label: "Step 13a: TH reads attribute OccupiedCoolingSetpoint from the DUT" |
| PICS: TSTAT.S.F01 && TSTAT.S.A0017 && TSTAT.S.A0018 |
| command: "readAttribute" |
| attribute: "OccupiedCoolingSetpoint" |
| response: |
| constraints: |
| type: int16s |
| minValue: MinCoolSetpointLimitValue |
| maxValue: MaxCoolSetpointLimitValue |
| |
| - label: "Step 13b: TH reads attribute OccupiedCoolingSetpoint from the DUT" |
| PICS: TSTAT.S.F01 && !TSTAT.S.A0017 && !TSTAT.S.A0018 |
| command: "readAttribute" |
| attribute: "OccupiedCoolingSetpoint" |
| response: |
| constraints: |
| type: int16s |
| minValue: 1600 |
| maxValue: 3200 |
| |
| - label: |
| "Step 14a: TH reads 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: OccupiedCoolingSetpointValue - MinSetpointDeadBandValue |
| |
| - label: "Step 14b: TH reads attribute OccupiedHeatingSetpoint from the DUT" |
| PICS: TSTAT.S.F00 && !TSTAT.S.F05 |
| command: "readAttribute" |
| attribute: "OccupiedHeatingSetpoint" |
| response: |
| constraints: |
| type: int16s |
| minValue: 700 |
| maxValue: 3000 |
| |
| - label: |
| "Step 15a: TH reads UnoccupiedCoolingSetpoint attribute from the DUT" |
| PICS: TSTAT.S.F05 && TSTAT.S.A0013 |
| command: "readAttribute" |
| attribute: "UnoccupiedCoolingSetpoint" |
| response: |
| constraints: |
| type: int16s |
| minValue: AbsMinHeatValue |
| maxValue: AbsMaxHeatValue |
| |
| - label: |
| "Step 15b: TH reads UnoccupiedCoolingSetpoint attribute from the DUT" |
| PICS: TSTAT.S.F01 && TSTAT.S.F02 && !TSTAT.S.F05 |
| command: "readAttribute" |
| attribute: "UnoccupiedCoolingSetpoint" |
| response: |
| constraints: |
| type: int16s |
| minValue: 1600 |
| maxValue: 3200 |
| |
| - label: |
| "Step 16a: TH reads 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: |
| UnoccupiedCoolingSetpointValue - MinSetpointDeadBandValue |
| |
| - label: |
| "Step 16b: TH reads UnoccupiedHeatingSetpoint attribute from the DUT" |
| PICS: TSTAT.S.F00 && TSTAT.S.F02 && !TSTAT.S.F05 |
| command: "readAttribute" |
| attribute: "UnoccupiedHeatingSetpoint" |
| response: |
| constraints: |
| type: int16s |
| minValue: 700 |
| maxValue: 3000 |
| |
| - label: "Step 17a: TH reads attribute from DUT: MinHeatSetpointLimit" |
| PICS: TSTAT.S.A0015 && TSTAT.S.F05 && TSTAT.S.A0017 && TSTAT.S.A0019 |
| command: "readAttribute" |
| attribute: "MinHeatSetpointLimit" |
| response: |
| constraints: |
| type: int16s |
| minValue: 700 |
| maxValue: MinCoolSetpointLimitValue - MinSetpointDeadBandValue |
| |
| - label: |
| "Step 17b: TH reads MinHeatSetpointLimit attribute from Server DUT and |
| verifies that the value is within range" |
| command: "readAttribute" |
| attribute: "MinHeatSetpointLimit" |
| PICS: TSTAT.S.A0015 && TSTAT.S.A0016 && TSTAT.S.A0003 && !TSTAT.S.F05 |
| response: |
| constraints: |
| type: int16s |
| minValue: AbsMinHeatValue |
| maxValue: MaxHeatSetpointLimitValue |
| |
| #Using hard coded values when optional attributes are not available |
| - label: |
| "Step 17c: TH reads MinHeatSetpointLimit attribute from Server DUT and |
| verifies that the value is within range" |
| command: "readAttribute" |
| attribute: "MinHeatSetpointLimit" |
| PICS: TSTAT.S.A0015 && !TSTAT.S.A0003 && !TSTAT.S.F05 |
| response: |
| constraints: |
| type: int16s |
| minValue: 700 |
| maxValue: 3000 |
| |
| - label: "Step 18a: TH reads 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: "Step 18b: TH reads attribute from DUT: MaxHeatSetpointLimit" |
| PICS: TSTAT.S.A0016 && TSTAT.S.F05 && TSTAT.S.A0018 |
| command: "readAttribute" |
| attribute: "MaxHeatSetpointLimit" |
| response: |
| constraints: |
| type: int16s |
| minValue: 700 |
| maxValue: MaxCoolSetpointLimitValue - MinSetpointDeadBandValue |
| |
| - label: "Step 19a: TH reads 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: MaxCoolSetpointLimitValue |
| |
| - label: "Step 19b: TH reads attribute MinCoolSetpointLimit from DUT" |
| PICS: TSTAT.S.A0017 && !TSTAT.S.A0018 && !TSTAT.S.A0005 |
| command: "readAttribute" |
| attribute: "MinCoolSetpointLimit" |
| response: |
| constraints: |
| type: int16s |
| minValue: 1600 |
| maxValue: 3200 |
| |
| - label: "Step 20: TH reads the MaxCoolSetpointLimit attribute from the DUT" |
| PICS: TSTAT.S.A0018 && TSTAT.S.A0006 && TSTAT.S.A0017 |
| command: "readAttribute" |
| attribute: "MaxCoolSetpointLimit" |
| response: |
| constraints: |
| type: int16s |
| minValue: MinCoolSetpointLimitValue |
| maxValue: AbsMaxCoolSetpointLimitStep6 |
| |
| - label: "Step 21: TH reads the MinSetpointDeadBand attribute from the DUT" |
| PICS: TSTAT.S.F05 |
| command: "readAttribute" |
| attribute: "MinSetpointDeadBand" |
| response: |
| constraints: |
| type: int8s |
| minValue: 0 |
| maxValue: 25 |
| |
| - label: "Step 22: TH reads the RemoteSensing attribute from the DUT" |
| PICS: TSTAT.S.A001a |
| command: "readAttribute" |
| attribute: "RemoteSensing" |
| response: |
| constraints: |
| type: bitmap8 |
| minValue: 0 |
| maxValue: 7 |
| |
| - label: |
| "Step 23: TH reads the ControlSequenceOfOperation attribute from the |
| DUT" |
| PICS: TSTAT.S.A001b |
| command: "readAttribute" |
| attribute: "ControlSequenceOfOperation" |
| response: |
| constraints: |
| type: enum8 |
| minValue: 0 |
| maxValue: 5 |
| |
| - label: "Step 24: TH reads the SystemMode attribute from the DUT" |
| PICS: TSTAT.S.A001c |
| command: "readAttribute" |
| attribute: "SystemMode" |
| response: |
| constraints: |
| type: enum8 |
| minValue: 0 |
| maxValue: 9 |
| |
| - label: |
| "Step 26: TH reads the ThermostatRunningMode attribute from the DUT" |
| PICS: TSTAT.S.A001e |
| command: "readAttribute" |
| attribute: "ThermostatRunningMode" |
| response: |
| constraints: |
| type: enum8 |
| anyOf: |
| [ |
| ThermostatRunningModeEnum.Off(0), |
| ThermostatRunningModeEnum.Cool(3), |
| ThermostatRunningModeEnum.Heat(4), |
| ] |
| |
| - label: "Step 27: TH reads the StartOfWeek attribute from the DUT" |
| PICS: TSTAT.S.F03 |
| command: "readAttribute" |
| attribute: "StartOfWeek" |
| response: |
| constraints: |
| type: enum8 |
| minValue: 0 |
| maxValue: 6 |
| |
| - label: |
| "Step 28: TH reads the NumberOfWeeklyTransitions attribute from the |
| DUT" |
| PICS: TSTAT.S.F03 |
| command: "readAttribute" |
| attribute: "NumberOfWeeklyTransitions" |
| response: |
| constraints: |
| type: int8u |
| minValue: 0 |
| maxValue: 255 |
| |
| - label: |
| "Step 29: TH reads the NumberOfDailyTransitions attribute from the DUT" |
| PICS: TSTAT.S.F03 |
| command: "readAttribute" |
| attribute: "NumberOfDailyTransitions" |
| response: |
| constraints: |
| type: int8u |
| minValue: 0 |
| maxValue: 255 |
| |
| - label: |
| "Step 30: TH reads the TemperatureSetpointHold attribute from the DUT" |
| PICS: TSTAT.S.A0023 |
| command: "readAttribute" |
| attribute: "TemperatureSetpointHold" |
| response: |
| constraints: |
| type: enum8 |
| minValue: 0 |
| maxValue: 1 |
| |
| - label: |
| "Step 31: TH reads the TemperatureSetpointHoldDuration attribute from |
| the DUT" |
| PICS: TSTAT.S.A0024 |
| command: "readAttribute" |
| attribute: "TemperatureSetpointHoldDuration" |
| response: |
| constraints: |
| type: int16u |
| minValue: 0 |
| maxValue: 1440 |
| |
| - label: |
| "Step 32: TH reads the ThermostatProgrammingOperationMode attribute |
| from the DUT" |
| PICS: TSTAT.S.A0025 |
| command: "readAttribute" |
| attribute: "ThermostatProgrammingOperationMode" |
| response: |
| constraints: |
| type: bitmap8 |
| minValue: 0 |
| maxValue: 7 |
| |
| - label: |
| "Step 33: TH reads the ThermostatRunningState attribute from the DUT" |
| PICS: TSTAT.S.A0029 |
| command: "readAttribute" |
| attribute: "ThermostatRunningState" |
| response: |
| constraints: |
| type: bitmap16 |
| minValue: 0 |
| maxValue: 127 |
| |
| - label: "Step 34: TH reads the SetpointChangeSource attribute from the DUT" |
| PICS: TSTAT.S.A0030 |
| command: "readAttribute" |
| attribute: "SetpointChangeSource" |
| response: |
| constraints: |
| type: enum8 |
| minValue: 0 |
| maxValue: 2 |
| |
| - label: "Step 35: TH reads the SetpointChangeAmount attribute from the DUT" |
| PICS: TSTAT.S.A0031 |
| command: "readAttribute" |
| attribute: "SetpointChangeAmount" |
| response: |
| constraints: |
| type: int16s |
| minValue: -27315 |
| maxValue: 32767 |
| |
| - label: |
| "Step 36: TH reads the SetpointChangeSourceTimestamp attribute from |
| the DUT" |
| PICS: TSTAT.S.A0032 |
| command: "readAttribute" |
| attribute: "SetpointChangeSourceTimestamp" |
| response: |
| constraints: |
| type: epoch_s |
| |
| - label: "Step 37: TH reads the OccupiedSetback attribute from the DUT" |
| PICS: TSTAT.S.F04 |
| command: "readAttribute" |
| attribute: "OccupiedSetback" |
| response: |
| constraints: |
| type: int8u |
| minValue: 0 |
| maxValue: 255 |
| |
| - label: "Step 38: TH reads the OccupiedSetbackMin attribute from the DUT" |
| PICS: TSTAT.S.F04 |
| command: "readAttribute" |
| attribute: "OccupiedSetbackMin" |
| response: |
| constraints: |
| type: int8u |
| minValue: 0 |
| maxValue: 255 |
| |
| - label: "Step 39: TH reads the OccupiedSetbackMax attribute from the DUT" |
| PICS: TSTAT.S.F04 |
| command: "readAttribute" |
| attribute: "OccupiedSetbackMax" |
| response: |
| constraints: |
| type: int8u |
| minValue: 0 |
| maxValue: 255 |
| |
| - label: "Step 40: TH reads the UnoccupiedSetback attribute from the DUT" |
| PICS: TSTAT.S.F02 && TSTAT.S.F04 |
| command: "readAttribute" |
| attribute: "UnoccupiedSetback" |
| response: |
| constraints: |
| type: int8u |
| minValue: 0 |
| maxValue: 255 |
| |
| - label: "Step 41: TH reads the UnoccupiedSetbackMin attribute from the DUT" |
| PICS: TSTAT.S.F02 && TSTAT.S.F04 |
| command: "readAttribute" |
| attribute: "UnoccupiedSetbackMin" |
| response: |
| constraints: |
| type: int8u |
| minValue: 0 |
| maxValue: 255 |
| |
| - label: "Step 42: TH reads the UnoccupiedSetbackMax attribute from the DUT" |
| PICS: TSTAT.S.F02 && TSTAT.S.F04 |
| command: "readAttribute" |
| attribute: "UnoccupiedSetbackMax" |
| response: |
| constraints: |
| type: int8u |
| minValue: 0 |
| maxValue: 255 |
| |
| - label: "Step 43: TH reads the EmergencyHeatDelta attribute from the DUT" |
| PICS: TSTAT.S.A003a |
| command: "readAttribute" |
| attribute: "EmergencyHeatDelta" |
| response: |
| constraints: |
| type: int8u |
| minValue: 0 |
| maxValue: 255 |
| |
| - label: "Step 44: TH reads the ACType attribute from the DUT" |
| PICS: TSTAT.S.A0040 |
| command: "readAttribute" |
| attribute: "ACType" |
| response: |
| constraints: |
| type: enum8 |
| minValue: 0 |
| maxValue: 4 |
| |
| - label: "Step 45: TH reads the ACCapacity attribute from the DUT" |
| PICS: TSTAT.S.A0041 |
| command: "readAttribute" |
| attribute: "ACCapacity" |
| response: |
| constraints: |
| type: int16u |
| minValue: 0 |
| maxValue: 65535 |
| |
| - label: "Step 46: TH reads the ACRefrigerantType attribute from the DUT" |
| PICS: TSTAT.S.A0042 |
| command: "readAttribute" |
| attribute: "ACRefrigerantType" |
| response: |
| constraints: |
| type: enum8 |
| minValue: 0 |
| maxValue: 3 |
| |
| - label: "Step 47: TH reads the ACCompressorType attribute from the DUT" |
| PICS: TSTAT.S.A0043 |
| command: "readAttribute" |
| attribute: "ACCompressorType" |
| response: |
| constraints: |
| type: enum8 |
| minValue: 0 |
| maxValue: 3 |
| |
| - label: "Step 48: TH reads the ACErrorCode attribute from the DUT" |
| PICS: TSTAT.S.A0044 |
| command: "readAttribute" |
| attribute: "ACErrorCode" |
| response: |
| constraints: |
| type: bitmap32 |
| |
| - label: "Step 49: TH reads the ACLouverPosition attribute from the DUT" |
| PICS: TSTAT.S.A0045 |
| command: "readAttribute" |
| attribute: "ACLouverPosition" |
| response: |
| constraints: |
| type: enum8 |
| minValue: 1 |
| maxValue: 5 |
| |
| - label: "Step 50: TH reads the ACCoilTemperature attribute from the DUT" |
| PICS: TSTAT.S.A0046 |
| command: "readAttribute" |
| attribute: "ACCoilTemperature" |
| response: |
| constraints: |
| type: int16s |
| minValue: -27315 |
| maxValue: 32767 |
| |
| - label: "Step 51: TH reads the ACCapacityFormat attribute from the DUT" |
| PICS: TSTAT.S.A0047 |
| command: "readAttribute" |
| attribute: "ACCapacityformat" |
| response: |
| value: 0 |
| constraints: |
| type: enum8 |