| # 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: |
| Window Covering [TC-WNCV-3.1] UpOrOpen command & OperationalStatus attribute |
| Verification DUT_Server |
| |
| PICS: |
| - WNCV.S |
| |
| # TC-WNCV tests featuremap conditional dependencies -> use PICS |
| |
| config: |
| nodeId: 0x12344321 |
| cluster: "Window Covering" |
| endpoint: 1 |
| |
| tests: |
| - label: "0: Wait for the commissioned device to be retrieved" |
| cluster: "DelayCommands" |
| command: "WaitForCommissionee" |
| arguments: |
| values: |
| - name: "nodeId" |
| value: nodeId |
| |
| ################ Position Init Phase ############# |
| ### Step 1x -> Initialize the Covering position before any testing |
| ### MANDATORY Init Commands |
| - label: |
| "1a: TH sends DownOrClose command to preposition the DUT in the |
| opposite direction" |
| PICS: WNCV.S.C01.Rsp |
| command: "DownOrClose" |
| |
| - label: "1b: TH Waits for 10 seconds movement(s) on the device" |
| cluster: "DelayCommands" |
| command: "WaitForMs" |
| arguments: |
| values: |
| - name: "ms" |
| value: 10000 |
| |
| ### |
| ### Mandatory Depends on the FeatureMap |
| - label: |
| "1c: If (PA & LF) TH reads CurrentPositionLiftPercent100ths attribute |
| from DUT" |
| command: "readAttribute" |
| attribute: "CurrentPositionLiftPercent100ths" |
| PICS: WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A000e |
| response: |
| constraints: |
| type: Percent100ths |
| minValue: 1 |
| maxValue: 10000 |
| |
| ### Optional Depends on the FeatureMap |
| - label: |
| "1d: If (PA & LF) TH reads CurrentPositionLiftPercentage optional |
| attribute from DUT" |
| command: "readAttribute" |
| attribute: "CurrentPositionLiftPercentage" |
| PICS: WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A0008 |
| response: |
| constraints: |
| type: Percent |
| minValue: 1 |
| maxValue: 100 |
| |
| ### Mandatory Depends on the FeatureMap |
| - label: |
| "1e: If (PA & TL) TH reads CurrentPositionTiltPercent100ths attribute |
| from DUT" |
| command: "readAttribute" |
| attribute: "CurrentPositionTiltPercent100ths" |
| PICS: WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A000f |
| response: |
| constraints: |
| type: Percent100ths |
| minValue: 1 |
| maxValue: 10000 |
| |
| ### Optional Depends on the FeatureMap |
| - label: |
| "1f: If (PA & TL) TH reads CurrentPositionTiltPercentage optional |
| attribute from DUT" |
| command: "readAttribute" |
| attribute: "CurrentPositionTiltPercentage" |
| PICS: WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A0009 |
| response: |
| constraints: |
| type: Percent |
| minValue: 1 |
| maxValue: 100 |
| |
| ######## UpOrOpen Command ####### |
| ### Step 2x -> Check UpOrOpen Fast effects |
| |
| - label: "2: Subscribe to DUT reports on OperationalStatus attribute" |
| command: "subscribeAttribute" |
| attribute: "OperationalStatus" |
| minInterval: 4 |
| maxInterval: 5 |
| response: |
| constraints: |
| type: bitmap8 |
| |
| ### MANDATORY Command |
| - label: "2a: TH sends UpOrOpen command to DUT" |
| command: "UpOrOpen" |
| PICS: WNCV.S.C00.Rsp |
| |
| ### Depending on the DUT specs we might prefer a arguments here |
| - label: "2b: DUT updates its attributes" |
| cluster: "DelayCommands" |
| command: "WaitForMs" |
| arguments: |
| values: |
| - name: "ms" |
| value: 100 |
| |
| ### Mandatory Depends on the FeatureMap |
| - label: |
| "2c: If (PA & LF) TH reads TargetPositionLiftPercent100ths attribute |
| from DUT" |
| command: "readAttribute" |
| attribute: "TargetPositionLiftPercent100ths" |
| PICS: WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A000b |
| response: |
| value: 0 |
| |
| ### Mandatory Depends on the FeatureMap |
| - label: |
| "2d: If (PA & TL) TH reads TargetPositionTiltPercent100ths attribute |
| from DUT" |
| command: "readAttribute" |
| attribute: "TargetPositionTiltPercent100ths" |
| PICS: WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A000c |
| response: |
| value: 0 |
| |
| - label: "2e: TH leave the device moving for 2 seconds" |
| cluster: "DelayCommands" |
| command: "WaitForMs" |
| arguments: |
| values: |
| - name: "ms" |
| value: 2000 |
| |
| ######## UpOrOpen Reports ####### |
| ### Step 3x -> Check UpOrOpen Mid term effects |
| ### Depends on the FeatureMap |
| # The value of bit 0..1 must be 01b & if (LF) value of bit 2..3 must be 01b else 00b & if (TL) value of bit 4..5 must be 01b else 00b |
| # Only 3 possibilities are possible here : 05h = 5, 11h = 17 or 15h = 21 then check a range for simplicity [5 - 21] |
| - label: "3a: TH reads OperationalStatus attribute's bit 0..1" |
| PICS: WNCV.S.A000a |
| command: "readAttribute" |
| attribute: "OperationalStatus" |
| response: |
| constraints: |
| type: bitmap8 |
| hasMasksSet: [0x1] |
| hasMasksClear: [0x2] |
| |
| - label: |
| "3a: TH reads OperationalStatus attribute's bit 2..3 (WNCV.S.F00(LF))" |
| PICS: WNCV.S.A000a && WNCV.S.F00 |
| command: "readAttribute" |
| attribute: "OperationalStatus" |
| response: |
| constraints: |
| type: bitmap8 |
| hasMasksSet: [0x4] |
| hasMasksClear: [0x8] |
| |
| - label: |
| "3a: TH reads OperationalStatus attribute's bit 2..3 (WNCV.S.F00(LF))" |
| PICS: WNCV.S.A000a && !WNCV.S.F00 |
| command: "readAttribute" |
| attribute: "OperationalStatus" |
| response: |
| constraints: |
| type: bitmap8 |
| hasMasksClear: [0x4, 0x8] |
| |
| - label: |
| "3a: TH reads OperationalStatus attribute's bit 4..5 (WNCV.S.F01(TL))" |
| PICS: WNCV.S.A000a && WNCV.S.F01 |
| command: "readAttribute" |
| attribute: "OperationalStatus" |
| response: |
| constraints: |
| type: bitmap8 |
| hasMasksSet: [0x10] |
| hasMasksClear: [0x20] |
| |
| - label: |
| "3a: TH reads OperationalStatus attribute's bit 4..5 (WNCV.S.F01(TL))" |
| PICS: WNCV.S.A000a && !WNCV.S.F01 |
| command: "readAttribute" |
| attribute: "OperationalStatus" |
| response: |
| constraints: |
| type: bitmap8 |
| hasMasksClear: [0x10, 0x20] |
| |
| ### Depending on the DUT specs we might prefer a arguments here |
| - label: "3a2: DUT updates its attributes" |
| cluster: "DelayCommands" |
| command: "WaitForMs" |
| arguments: |
| values: |
| - name: "ms" |
| value: 3000 |
| |
| ### Mandatory Depends on the FeatureMap |
| - label: |
| "3b: If (PA & LF) TH reads CurrentPositionLiftPercent100ths attribute |
| from DUT" |
| command: "readAttribute" |
| attribute: "CurrentPositionLiftPercent100ths" |
| PICS: WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A000e |
| response: |
| constraints: |
| type: Percent100ths |
| minValue: 0 |
| maxValue: 9999 |
| |
| ### Optional Depends on the FeatureMap |
| - label: |
| "3c: If (PA & LF) TH reads CurrentPositionLiftPercentage optional |
| attribute from DUT" |
| command: "readAttribute" |
| attribute: "CurrentPositionLiftPercentage" |
| PICS: WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A0008 |
| response: |
| constraints: |
| type: Percent |
| minValue: 0 |
| maxValue: 99 |
| |
| ### Mandatory Depends on the FeatureMap |
| - label: |
| "3d: If (PA & TL) TH reads CurrentPositionTiltPercent100ths attribute |
| from DUT" |
| command: "readAttribute" |
| attribute: "CurrentPositionTiltPercent100ths" |
| PICS: WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A000f |
| response: |
| constraints: |
| type: Percent100ths |
| minValue: 0 |
| maxValue: 9999 |
| |
| ### Optional Depends on the FeatureMap |
| - label: |
| "3e: If (PA & LF) TH reads CurrentPositionTiltPercentage optional |
| attribute from DUT" |
| command: "readAttribute" |
| attribute: "CurrentPositionTiltPercentage" |
| PICS: WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A0009 |
| response: |
| constraints: |
| type: Percent |
| minValue: 0 |
| maxValue: 99 |
| |
| ######## STOP ####### |
| ### Step 4x -> Check StopMotion fast effects |
| ### MANDATORY Command |
| - label: "4a: TH sends a StopMotion command to DUT" |
| command: "StopMotion" |
| PICS: WNCV.S.C02.Rsp |
| |
| - label: |
| "4b: TH waits for 3 seconds the end of inertial movement(s) on the |
| device" |
| cluster: "DelayCommands" |
| command: "WaitForMs" |
| arguments: |
| values: |
| - name: "ms" |
| value: 3000 |
| |
| ### Must Be ZERO |
| # The value of bit 0..1 must be 00b & if (LF) value of bit 2..3 must be 00b & if (TL) value of bit 4..5 must be 00b |
| - label: |
| "4c: Verify DUT update OperationalStatus attribute to TH after a |
| StopMotion" |
| command: "readAttribute" |
| attribute: "OperationalStatus" |
| PICS: WNCV.S.A000a |
| response: |
| value: 0 |
| |
| ### Step 5x -> Check Stop Motion longer period effect |
| - label: "5a: TH waits for x seconds attributes update on the device" |
| cluster: "DelayCommands" |
| command: "WaitForMs" |
| arguments: |
| values: |
| - name: "ms" |
| value: 1000 |
| |
| ### Mandatory Depends on the FeatureMap shall be tested as equals CurrentPositionLiftPercent100ths |
| - label: |
| "5b: If (PA & LF) TH reads TargetPositionLiftPercent100ths attribute |
| from DUT" |
| command: "readAttribute" |
| attribute: "TargetPositionLiftPercent100ths" |
| PICS: WNCV.S.F00 && WNCV.S.F02 && WNCV.S.A000b |
| response: |
| constraints: |
| type: Percent100ths |
| minValue: 0 |
| maxValue: 9999 |
| |
| ### Mandatory Depends on the FeatureMap shall be tested as equals CurrentPositionTiltPercent100ths |
| - label: |
| "5c: If (PA & TL) TH reads TargetPositionTiltPercent100ths attribute |
| from DUT" |
| command: "readAttribute" |
| attribute: "TargetPositionTiltPercent100ths" |
| PICS: WNCV.S.F01 && WNCV.S.F04 && WNCV.S.A000c |
| response: |
| constraints: |
| type: Percent100ths |
| minValue: 0 |
| maxValue: 9999 |