| # 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. |
| # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default |
| |
| name: |
| 22.6.2. [TC-LVL-7.1] Verification of MoveToClosestFrequency command (DUT as |
| Server) |
| |
| PICS: |
| - LVL.S |
| - LVL.S.F02 |
| |
| config: |
| nodeId: 0x12344321 |
| cluster: "Level Control" |
| endpoint: 1 |
| RandomLevelValue: |
| type: int8u |
| defaultValue: 100 |
| RandomFrequencyValue: |
| type: int16u |
| defaultValue: 30000 |
| |
| tests: |
| - label: |
| "Commission DUT to TH (can be skipped if done in a preceding test)." |
| cluster: "DelayCommands" |
| command: "WaitForCommissionee" |
| arguments: |
| values: |
| - name: "nodeId" |
| value: nodeId |
| |
| #Adding below step resolve the issue https://github.com/CHIP-Specifications/chip-certification-tool/issues/499 |
| - label: |
| "Precondition: write default value of OnOffTransitionTime attribute" |
| PICS: LVL.S.A0010 |
| command: "writeAttribute" |
| attribute: "OnOffTransitionTime" |
| arguments: |
| value: 0 |
| |
| - label: "Step 0a: TH writes 0x00 to the Options attribute" |
| PICS: LVL.S.A000f |
| command: "writeAttribute" |
| attribute: "Options" |
| arguments: |
| value: 0 |
| |
| - label: "Step 0b: TH sends On command to DUT" |
| cluster: "On/Off" |
| PICS: OO.S.C01.Rsp |
| command: "On" |
| |
| - label: "Step 1a: TH reads the MinLevel attribute from the DUT" |
| PICS: LVL.S.A0002 |
| command: "readAttribute" |
| attribute: "MinLevel" |
| response: |
| saveAs: minLevelValue |
| constraints: |
| type: int8u |
| minValue: 0 |
| maxValue: 254 |
| |
| - label: "Step 1b: TH reads the MaxLevel attribute from the DUT" |
| PICS: LVL.S.A0003 |
| command: "readAttribute" |
| attribute: "MaxLevel" |
| response: |
| saveAs: maxLevelValue |
| constraints: |
| type: int8u |
| minValue: 0 |
| maxValue: 254 |
| |
| - label: |
| "Step 1c: TH sends a MoveToLevel command to DUT, with the Level field |
| set to a value between the MinLevel and MaxLevel values (if present, |
| otherwise between 0x01 and 0xFE) and the TransitionTime field set to |
| 0x0000 (move immediately)." |
| PICS: LVL.S.C00.Rsp |
| command: "MoveToLevel" |
| arguments: |
| values: |
| - name: "Level" |
| value: RandomLevelValue |
| - name: "TransitionTime" |
| value: 0 |
| - name: "OptionsMask" |
| value: 0 |
| - name: "OptionsOverride" |
| value: 0 |
| |
| - label: "Wait 100ms" |
| cluster: "DelayCommands" |
| command: "WaitForMs" |
| arguments: |
| values: |
| - name: "ms" |
| value: 100 |
| |
| - label: "Step 1d: TH reads CurrentLevel attribute from DUT" |
| PICS: LVL.S.C00.Rsp && LVL.S.A0000 |
| command: "readAttribute" |
| attribute: "CurrentLevel" |
| response: |
| value: RandomLevelValue |
| |
| - label: "Step 2a: TH reads the CurrentFrequency attribute." |
| PICS: LVL.S.A0004 |
| command: "readAttribute" |
| attribute: "CurrentFrequency" |
| response: |
| saveAs: CurrentFrequencyValue |
| constraints: |
| type: int16u |
| minValue: 0 |
| maxValue: 65535 |
| |
| - label: "Step 2b: TH reads the MinFrequency attribute." |
| PICS: LVL.S.A0005 |
| command: "readAttribute" |
| attribute: "MinFrequency" |
| response: |
| saveAs: MinFrequencyValue |
| constraints: |
| type: int16u |
| minValue: 0 |
| maxValue: 65535 |
| |
| - label: |
| "Step 2c: TH reads the MaxFrequency attribute and check, if fmax < |
| fmin, FAIL the test." |
| PICS: LVL.S.A0006 |
| command: "readAttribute" |
| attribute: "MaxFrequency" |
| response: |
| saveAs: MaxFrequencyValue |
| constraints: |
| type: int16u |
| minValue: MinFrequencyValue |
| maxValue: 65535 |
| |
| - label: |
| "Step 2d: sanity check on values read in steps 2a..2c, if fc < fmin, |
| FAIL the test and fc > fmax, FAIL the test" |
| PICS: LVL.S.A0004 |
| command: "readAttribute" |
| attribute: "CurrentFrequency" |
| response: |
| constraints: |
| type: int16u |
| minValue: MinFrequencyValue |
| maxValue: MaxFrequencyValue |
| |
| - label: |
| "Step 3a: TH sends a MoveToClosestFrequency command to DUT, with the |
| frequency field set to a random value frand, chosen such that: fmin < |
| frand < fmax" |
| PICS: LVL.S.C08.Rsp |
| command: "MoveToClosestFrequency" |
| arguments: |
| values: |
| - name: "Frequency" |
| value: RandomFrequencyValue |
| |
| - label: "Wait 100ms" |
| cluster: "DelayCommands" |
| command: "WaitForMs" |
| arguments: |
| values: |
| - name: "ms" |
| value: 100 |
| |
| - label: "Step 3b: TH reads the CurrentFrequency attribute." |
| PICS: LVL.S.C08.Rsp && LVL.S.A0004 |
| command: "readAttribute" |
| attribute: "CurrentFrequency" |
| response: |
| value: RandomFrequencyValue |
| |
| - label: |
| "Step 4a: TH sends a MoveToClosestFrequency command to DUT, with the |
| frequency field set to fmax + 1" |
| PICS: LVL.S.C08.Rsp && PICS_USER_PROMPT |
| verification: | |
| Frequency feature is Optional & is not verifiable at this moment. Please skip this step |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| arguments: |
| values: |
| - name: "message" |
| value: "Please enter 'y' for success" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: "Step 4b: TH reads the CurrentFrequency attribute." |
| PICS: LVL.S.C08.Rsp && LVL.S.A0004 && PICS_USER_PROMPT |
| command: "readAttribute" |
| attribute: "CurrentFrequency" |
| response: |
| value: RandomFrequencyValue |
| |
| - label: |
| "Step 5a: TH sends a MoveToClosestFrequency command to DUT, with the |
| frequency field set to fmin - 1" |
| PICS: LVL.S.C08.Rsp && PICS_USER_PROMPT |
| verification: | |
| Frequency feature is Optional & is not verifiable at this moment. Please skip this step |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| arguments: |
| values: |
| - name: "message" |
| value: "Please enter 'y' for success" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: "Step 5b: TH reads the CurrentFrequency attribute." |
| PICS: LVL.S.C08.Rsp && LVL.S.A0004 && PICS_USER_PROMPT |
| command: "readAttribute" |
| attribute: "CurrentFrequency" |
| response: |
| value: RandomFrequencyValue |