| # 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: 123.2.2. [TC-S-2.2] Primary functionality with server as DUT |
| |
| PICS: |
| - S.S |
| |
| config: |
| nodeId: 0x12344321 |
| cluster: "Scenes" |
| endpoint: 1 |
| |
| tests: |
| - label: "Wait for the commissioned device to be retrieved" |
| cluster: "DelayCommands" |
| command: "WaitForCommissionee" |
| arguments: |
| values: |
| - name: "nodeId" |
| value: nodeId |
| |
| - label: "TH sends a RemoveAllGroups command to DUT." |
| PICS: G.S.C04.Rsp |
| cluster: "Groups" |
| endpoint: "1" |
| command: "RemoveAllGroups" |
| |
| - label: "TH reads from the DUT the (0x0006) SceneTableSize attribute" |
| PICS: S.S.A0006 |
| command: "readAttribute" |
| attribute: "SceneTableSize" |
| response: |
| values: |
| - name: "SceneTableSize" |
| saveAs: maxScenes |
| constraints: |
| type: uint16 |
| |
| - label: |
| "preparation step for using commands from Groups cluster: Add KeySet" |
| cluster: "Group Key Management" |
| endpoint: 0 |
| command: "KeySetWrite" |
| arguments: |
| values: |
| - name: "GroupKeySet" |
| value: |
| { |
| GroupKeySetID: 0x01a1, |
| GroupKeySecurityPolicy: 0, |
| EpochKey0: "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9\xaa\xab\xac\xad\xae\xaf", |
| EpochStartTime0: 0, |
| EpochKey1: "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf", |
| EpochStartTime1: 0, |
| EpochKey2: "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf", |
| EpochStartTime2: 0, |
| } |
| |
| - label: |
| "Preparation step for using commands from Groups cluster: Write Group |
| Keys" |
| cluster: "Group Key Management" |
| endpoint: 0 |
| command: "writeAttribute" |
| attribute: "GroupKeyMap" |
| arguments: |
| value: |
| [ |
| { FabricIndex: 1, GroupId: 0x0001, GroupKeySetID: 0x01a1 }, |
| { FabricIndex: 1, GroupId: 0x0002, GroupKeySetID: 0x01a1 }, |
| ] |
| |
| - label: |
| "TH sends a AddGroup command to DUT with the GroupID field set to |
| 0x0001." |
| PICS: G.S.C00.Rsp |
| cluster: "Groups" |
| command: "AddGroup" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "GroupName" |
| value: "Group1" |
| response: |
| values: |
| - name: "Status" |
| value: 0 |
| - name: "GroupID" |
| value: 0x0001 |
| |
| - label: |
| "TH sends a RemoveAllScenes command to DUT with the GroupID field set |
| to 0x0001." |
| PICS: S.S.C03.Rsp |
| command: "RemoveAllScenes" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| response: |
| values: |
| - name: "Status" |
| value: 0 |
| - name: "GroupID" |
| value: 0x0001 |
| |
| - label: |
| "TH sends a GetSceneMembership command to DUT with the GroupID field |
| set to 0x0001." |
| PICS: S.S.C06.Rsp |
| command: "GetSceneMembership" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "Capacity" |
| value: (maxScenes/2) |
| - name: "GroupID" |
| value: 0x0001 |
| |
| - label: |
| "TH configures AC1 on DUT for all implemented application clusters |
| supporting scenes." |
| PICS: PICS_SDK_CI_ONLY |
| cluster: "Level Control" |
| command: "MoveToLevelWithOnOff" |
| arguments: |
| values: |
| - name: "Level" |
| value: 100 |
| - name: "TransitionTime" |
| value: 0 |
| - name: "OptionsMask" |
| value: 0 |
| - name: "OptionsOverride" |
| value: 0 |
| |
| - label: |
| "TH configures AC1 on DUT for all implemented application clusters |
| supporting scenes." |
| verification: | |
| Is DUT configured with AC1? |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| PICS: PICS_SKIP_SAMPLE_APP |
| arguments: |
| values: |
| - name: "message" |
| value: |
| "Please configure AC1 on DUT and enter 'y' after the |
| configuration is complete" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: |
| "TH sends a StoreScene command to DUT with the GroupID field set to |
| 0x0001 and the SceneID field set to 0x01." |
| PICS: S.S.C04.Rsp |
| command: "StoreScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x01 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x01 |
| |
| - label: |
| "TH configures AC2 on DUT for all implemented application clusters |
| supporting scenes." |
| cluster: "Level Control" |
| PICS: PICS_SDK_CI_ONLY |
| command: "MoveToLevelWithOnOff" |
| arguments: |
| values: |
| - name: "Level" |
| value: 200 |
| - name: "TransitionTime" |
| value: 0 |
| - name: "OptionsMask" |
| value: 0 |
| - name: "OptionsOverride" |
| value: 0 |
| |
| - label: |
| "TH configures AC2 on DUT for all implemented application clusters |
| supporting scenes." |
| verification: | |
| Is DUT configured with AC2? |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| PICS: PICS_SKIP_SAMPLE_APP |
| arguments: |
| values: |
| - name: "message" |
| value: |
| "Please configure AC2 on DUT and enter 'y' after the |
| configuration is complete" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: |
| "TH sends a RecallScene command to DUT with the GroupID field set to |
| 0x0001 and the SceneID field set to 0x01." |
| PICS: S.S.C05.Rsp |
| command: "RecallScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x01 |
| |
| - label: "TH reads the SceneCount attribute from DUT." |
| PICS: S.S.A0000 && S.S.A0001 && S.S.A0002 && S.S.A0003 |
| command: "readAttribute" |
| attribute: "SceneCount" |
| response: |
| value: 1 |
| constraints: |
| type: int8u |
| |
| - label: "TH reads the CurrentScene attribute from DUT." |
| PICS: S.S.A0000 && S.S.A0001 && S.S.A0002 && S.S.A0003 |
| command: "readAttribute" |
| attribute: "CurrentScene" |
| response: |
| value: 0x01 |
| constraints: |
| type: int8u |
| |
| - label: "TH reads the CurrentGroup attribute from DUT." |
| PICS: S.S.A0000 && S.S.A0001 && S.S.A0002 && S.S.A0003 |
| command: "readAttribute" |
| attribute: "CurrentGroup" |
| response: |
| value: 0x0001 |
| constraints: |
| type: groupid |
| |
| - label: "TH reads the SceneValid attribute from DUT." |
| PICS: S.S.A0000 && S.S.A0001 && S.S.A0002 && S.S.A0003 |
| command: "readAttribute" |
| attribute: "SceneValid" |
| response: |
| value: true |
| constraints: |
| type: uint8 |
| |
| - label: "Reboot target device" |
| PICS: PICS_SDK_CI_ONLY |
| cluster: "SystemCommands" |
| endpoint: 0 |
| command: "Reboot" |
| |
| - label: "Reboot target device(DUT)" |
| verification: | |
| Did the DUT successfully reboot? |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| PICS: PICS_SKIP_SAMPLE_APP |
| arguments: |
| values: |
| - name: "message" |
| value: "Please reboot the DUT and enter 'y' after DUT starts" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: |
| "TH configures AC2 on DUT for all implemented application clusters |
| supporting scenes." |
| cluster: "Level Control" |
| PICS: PICS_SDK_CI_ONLY |
| command: "MoveToLevelWithOnOff" |
| arguments: |
| values: |
| - name: "Level" |
| value: 200 |
| - name: "TransitionTime" |
| value: 0 |
| - name: "OptionsMask" |
| value: 0 |
| - name: "OptionsOverride" |
| value: 0 |
| |
| - label: |
| "TH configures AC2 on DUT for all implemented application clusters |
| supporting scenes." |
| verification: | |
| Is DUT configured with AC2? |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| PICS: PICS_SKIP_SAMPLE_APP |
| arguments: |
| values: |
| - name: "message" |
| value: |
| "Please configure AC2 on DUT and enter 'y' after the |
| configuration is complete" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: |
| "TH sends a RecallScene command to DUT with the GroupID field set to |
| 0x0001 and the SceneID field set to 0x01." |
| PICS: S.S.C05.Rsp |
| command: "RecallScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x01 |
| |
| - label: |
| "TH sends a ViewScene command to DUT with the GroupID field set to |
| 0x0001 and the SceneID field set to 0x01." |
| PICS: S.S.C01.Rsp && PICS_SDK_CI_ONLY |
| command: "ViewScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x01 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x01 |
| - name: "TransitionTime" |
| value: 0x0000 |
| - name: "ExtensionFieldSets" |
| value: |
| [ |
| { |
| ClusterID: 0x0006, |
| AttributeValueList: |
| [{ AttributeID: 0x0000, AttributeValue: 0x01 }], |
| }, |
| { |
| ClusterID: 0x0008, |
| AttributeValueList: |
| [ |
| { |
| AttributeID: 0x0000, |
| AttributeValue: 0x64, |
| }, |
| { |
| AttributeID: 0x0001, |
| AttributeValue: 0x00, |
| }, |
| ], |
| }, |
| ] |
| |
| - label: |
| "TH sends a ViewScene command to DUT with the GroupID field set to |
| 0x0001 and the SceneID field set to 0x01." |
| PICS: S.S.C01.Rsp && PICS_SKIP_SAMPLE_APP |
| command: "ViewScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x01 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x01 |
| - name: "TransitionTime" |
| value: 0x0000 |
| |
| - label: |
| "TH sends a GetSceneMembership command to DUT with the GroupID field |
| set to 0x0001." |
| PICS: S.S.C06.Rsp |
| command: "GetSceneMembership" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "Capacity" |
| value: (maxScenes/2) - 1 |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneList" |
| value: [0x01] |
| |
| - label: |
| "TH sends a RemoveAllScenes command to DUT with the GroupID field set |
| to 0x0001." |
| PICS: S.S.C03.Rsp |
| command: "RemoveAllScenes" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| response: |
| values: |
| - name: "Status" |
| value: 0 |
| - name: "GroupID" |
| value: 0x0001 |
| |
| - label: |
| "TH sends a GetSceneMembership command to DUT with the GroupID field |
| set to 0x0001." |
| PICS: S.S.C06.Rsp |
| command: "GetSceneMembership" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "Capacity" |
| value: (maxScenes/2) |
| - name: "GroupID" |
| value: 0x0001 |
| # TODO : For Capacity, replace "value: (maxScenes/2)" by following lines when new backend for test is used in CI |
| # constraints: |
| # anyOf: [(maxScenes/2), 0xfe ,0x89] |
| |
| - label: |
| "TH sends a AddScene command to DUT with the GroupID field set to |
| 0x0001, the SceneID field set to 0x01, the TransitionTime field set to |
| 0x0001 and a set of extension fields appropriate to AC1." |
| PICS: S.S.C00.Rsp && && PICS_SDK_CI_ONLY |
| command: "AddScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x0001 |
| - name: "TransitionTime" |
| value: 0x0001 |
| - name: "SceneName" |
| value: "Scene1" |
| - name: "ExtensionFieldSets" |
| value: |
| [ |
| { |
| ClusterID: 0x0006, |
| AttributeValueList: |
| [{ AttributeID: 0x0000, AttributeValue: 0x01 }], |
| }, |
| { |
| ClusterID: 0x0008, |
| AttributeValueList: |
| [ |
| { |
| AttributeID: 0x0000, |
| AttributeValue: 0x64, |
| }, |
| { |
| AttributeID: 0x0001, |
| AttributeValue: 0x00, |
| }, |
| ], |
| }, |
| ] |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x01 |
| |
| - label: |
| "TH sends a AddScene command to DUT with the GroupID field set to |
| 0x0001, the SceneID field set to 0x01, the TransitionTime field set to |
| 0x0001 and a set of extension fields appropriate to AC1." |
| verification: | |
| Execute the following command in TH to generate the pre-condition to execute this test case: |
| |
| ./chip-tool scenes add-scene 0x0001 1 1 "Test Name" '[{"clusterId": value, "attributeValueList":[{"attributeId": value, "attributeValue": value}]}' nodeId endpointId |
| |
| Note: The number of ExtensionFieldSets, the value of clusterId of each ExtensionFieldSet, the number of attributes in attributeValueList and their values varies for each application |
| |
| Verify the "status is success" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| [1670970505.887060][5742:5744] CHIP:DMG: InvokeResponseMessage = |
| [1670970505.887118][5742:5744] CHIP:DMG: { |
| [1670970505.887172][5742:5744] CHIP:DMG: suppressResponse = false, |
| [1670970505.887231][5742:5744] CHIP:DMG: InvokeResponseIBs = |
| [1670970505.887307][5742:5744] CHIP:DMG: [ |
| [1670970505.887366][5742:5744] CHIP:DMG: InvokeResponseIB = |
| [1670970505.887444][5742:5744] CHIP:DMG: { |
| [1670970505.887507][5742:5744] CHIP:DMG: CommandDataIB = |
| [1670970505.887576][5742:5744] CHIP:DMG: { |
| [1670970505.887713][5742:5744] CHIP:DMG: CommandPathIB = |
| [1670970505.887804][5742:5744] CHIP:DMG: { |
| [1670970505.887940][5742:5744] CHIP:DMG: EndpointId = 0x1, |
| [1670970505.888093][5742:5744] CHIP:DMG: ClusterId = 0x5, |
| [1670970505.888242][5742:5744] CHIP:DMG: CommandId = 0x0, |
| [1670970505.888385][5742:5744] CHIP:DMG: }, |
| [1670970505.888692][5742:5744] CHIP:DMG: |
| [1670970505.888769][5742:5744] CHIP:DMG: CommandFields = |
| [1670970505.888852][5742:5744] CHIP:DMG: { |
| [1670970505.889030][5742:5744] CHIP:DMG: 0x0 = 0, |
| [1670970505.889183][5742:5744] CHIP:DMG: 0x1 = 1, |
| [1670970505.889406][5742:5744] CHIP:DMG: 0x2 = 1, |
| [1670970505.889515][5742:5744] CHIP:DMG: }, |
| [1670970505.889603][5742:5744] CHIP:DMG: }, |
| [1670970505.889684][5742:5744] CHIP:DMG: |
| [1670970505.889745][5742:5744] CHIP:DMG: }, |
| [1670970505.889821][5742:5744] CHIP:DMG: |
| [1670970505.889878][5742:5744] CHIP:DMG: ], |
| [1670970505.889953][5742:5744] CHIP:DMG: |
| [1670970505.890009][5742:5744] CHIP:DMG: InteractionModelRevision = 1 |
| [1670970505.890066][5742:5744] CHIP:DMG: }, |
| [1670970505.890212][5742:5744] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0005 Command=0x0000_0000 |
| [1670970505.890328][5742:5744] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0005 Command 0x0000_0000 |
| [1670970505.890458][5742:5744] CHIP:TOO: AddSceneResponse: { |
| [1670970505.890551][5742:5744] CHIP:TOO: status: 0 |
| [1670970505.890608][5742:5744] CHIP:TOO: groupId: 1 |
| [1670970505.890717][5742:5744] CHIP:TOO: sceneId: 1 |
| [1670970505.890774][5742:5744] CHIP:TOO: } |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| PICS: PICS_SKIP_SAMPLE_APP |
| arguments: |
| values: |
| - name: "message" |
| value: |
| "Please execute the add scene command with |
| extensionfieldsets in accordance with AC1 on DUT and enter |
| 'y' if the command is successful" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: |
| "TH sends a GetSceneMembership command to DUT with the GroupID field |
| set to 0x0001." |
| PICS: S.S.C06.Rsp |
| command: "GetSceneMembership" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "Capacity" |
| value: (maxScenes/2) - 1 |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneList" |
| value: [0x01] |
| # TODO : For Capacity, replace "value: (maxScenes/2)" by following lines when new backend for test is used in CI |
| # constraints: |
| # anyOf: [(maxScenes/2), 0xfe ,0x89] |
| |
| - label: |
| "TH sends a RemoveScene command to DUT with the GroupID field set to |
| 0x0001 and the SceneID field set to 0x01." |
| PICS: S.S.C02.Rsp |
| command: "RemoveScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x0001 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x01 |
| |
| - label: |
| "TH sends a GetSceneMembership command to DUT with the GroupID field |
| set to 0x0001." |
| PICS: S.S.C06.Rsp |
| command: "GetSceneMembership" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "Capacity" |
| value: (maxScenes/2) |
| - name: "GroupID" |
| value: 0x0001 |
| # TODO : For Capacity, replace "value: (maxScenes/2)" by following lines when new backend for test is used in CI |
| # constraints: |
| # anyOf: [(maxScenes/2), 0xfe ,0x89] |
| |
| - label: |
| "TH configures AC2 on DUT for all implemented application clusters |
| supporting scenes." |
| cluster: "Level Control" |
| PICS: PICS_SDK_CI_ONLY |
| command: "MoveToLevelWithOnOff" |
| arguments: |
| values: |
| - name: "Level" |
| value: 200 |
| - name: "TransitionTime" |
| value: 0 |
| - name: "OptionsMask" |
| value: 0 |
| - name: "OptionsOverride" |
| value: 0 |
| |
| - label: |
| "TH configures AC2 on DUT for all implemented application clusters |
| supporting scenes." |
| verification: | |
| Is DUT configured with AC2? |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| PICS: PICS_SKIP_SAMPLE_APP |
| arguments: |
| values: |
| - name: "message" |
| value: |
| "Please configure AC2 on DUT and enter 'y' after the |
| configuration is complete" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: |
| "TH sends a RecallScene command to DUT with the GroupID field set to |
| 0x0001 and the SceneID field set to 0x01." |
| PICS: S.S.C05.Rsp |
| command: "RecallScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x01 |
| response: |
| error: NOT_FOUND |
| |
| - label: |
| "TH configures AC1 on DUT for all implemented application clusters |
| supporting scenes." |
| cluster: "Level Control" |
| PICS: PICS_SDK_CI_ONLY |
| command: "MoveToLevelWithOnOff" |
| arguments: |
| values: |
| - name: "Level" |
| value: 100 |
| - name: "TransitionTime" |
| value: 0 |
| - name: "OptionsMask" |
| value: 0 |
| - name: "OptionsOverride" |
| value: 0 |
| |
| - label: |
| "TH configures AC1 on DUT for all implemented application clusters |
| supporting scenes." |
| verification: | |
| Is DUT configured with AC1? |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| PICS: PICS_SKIP_SAMPLE_APP |
| arguments: |
| values: |
| - name: "message" |
| value: |
| "Please configure AC1 on DUT and enter 'y' after the |
| configuration is complete" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: |
| "TH sends a StoreScene command to DUT with the GroupID field set to |
| 0x0001 and the SceneID field set to 0x01." |
| PICS: S.S.C04.Rsp |
| command: "StoreScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x01 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x01 |
| |
| - label: |
| "TH configures AC2 on DUT for all implemented application clusters |
| supporting scenes." |
| cluster: "Level Control" |
| PICS: PICS_SDK_CI_ONLY |
| command: "MoveToLevelWithOnOff" |
| arguments: |
| values: |
| - name: "Level" |
| value: 200 |
| - name: "TransitionTime" |
| value: 0 |
| - name: "OptionsMask" |
| value: 0 |
| - name: "OptionsOverride" |
| value: 0 |
| |
| - label: |
| "TH configures AC2 on DUT for all implemented application clusters |
| supporting scenes." |
| verification: | |
| Is DUT configured with AC2? |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| PICS: PICS_SKIP_SAMPLE_APP |
| arguments: |
| values: |
| - name: "message" |
| value: |
| "Please configure AC2 on DUT and enter 'y' after the |
| configuration is complete" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: |
| "TH sends a StoreScene command to DUT with the GroupID field set to |
| 0x0001 and the SceneID field set to 0x02." |
| PICS: S.S.C04.Rsp |
| command: "StoreScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x02 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneID" |
| value: 0x02 |
| # TODO: For status, replace "- value: 0x00" by following lines when new backend for test is used in CI |
| # saveAs: StoreStatus |
| # constraints: |
| # anyOf: [0x00, 0x89] |
| |
| # TODO: Uncomment once the new backend is implemented, allowing the use of EqualityCommands pseudo cluster |
| #- label: |
| # "Verify that the status of previous command was either 0x00 (SUCCESS) |
| # or 0x89 (INSUFFICIENT_SPACE)" |
| # cluster: "EqualityCommands" |
| # command: "UnsignedNumberEquals" |
| # arguments: |
| # values: |
| # - name: "Value1" |
| # value: 0x00 |
| # - name: "Value2" |
| # value: StoreStatus |
| # response: |
| # - values: |
| # - name: "Equals" |
| # value: true |
| # saveAs: ContinueTest |
| |
| - label: |
| "TH sends a GetSceneMembership command to DUT with the GroupID field |
| set to 0x0001." |
| # TODO : Uncomment runIf statement once new test backend is implemented |
| #runIf: ContinueTest |
| PICS: S.S.C06.Rsp |
| command: "GetSceneMembership" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0001 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "Capacity" |
| value: (maxScenes/2) - 2 |
| - name: "GroupID" |
| value: 0x0001 |
| - name: "SceneList" |
| value: [0x01, 0x02] |
| |
| - label: |
| "If capacity allows, TH sends a AddGroup command to DUT with the |
| GroupID field set to 0x0002." |
| # TODO : Uncomment runIf statement once new test backend is implemented |
| #runIf: ContinueTest |
| PICS: G.S.C00.Rsp |
| cluster: "Groups" |
| command: "AddGroup" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0002 |
| - name: "GroupName" |
| value: "Group2" |
| response: |
| values: |
| - name: "Status" |
| value: 0 |
| - name: "GroupID" |
| value: 0x0002 |
| |
| - label: |
| "TH sends a RemoveAllScenes command to DUT with the GroupID field set |
| to 0x0002." |
| # TODO : Uncomment runIf statement once new test backend is implemented |
| #runIf: ContinueTest |
| PICS: S.S.C03.Rsp |
| command: "RemoveAllScenes" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0002 |
| response: |
| values: |
| - name: "Status" |
| value: 0 |
| - name: "GroupID" |
| value: 0x0002 |
| |
| - label: |
| "TH sends a GetSceneMembership command to DUT with the GroupID field |
| set to 0x0002." |
| # TODO : Uncomment runIf statement once new test backend is implemented |
| #runIf: ContinueTest |
| PICS: S.S.C06.Rsp |
| command: "GetSceneMembership" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0002 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "Capacity" |
| value: (maxScenes/2) - 2 |
| - name: "GroupID" |
| value: 0x0002 |
| |
| - label: |
| "TH configures AC3 on DUT for all implemented application clusters |
| supporting scenes." |
| # TODO : Uncomment runIf statement once new test backend is implemented |
| #runIf: ContinueTest |
| cluster: "Level Control" |
| PICS: PICS_SDK_CI_ONLY |
| command: "MoveToLevelWithOnOff" |
| arguments: |
| values: |
| - name: "Level" |
| value: 1 |
| - name: "TransitionTime" |
| value: 0 |
| - name: "OptionsMask" |
| value: 0 |
| - name: "OptionsOverride" |
| value: 0 |
| |
| - label: |
| "TH configures AC3 on DUT for all implemented application clusters |
| supporting scenes." |
| # TODO : Uncomment runIf statement once new test backend is implemented |
| #runIf: ContinueTest |
| verification: | |
| Is DUT configured with AC3? |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| PICS: PICS_SKIP_SAMPLE_APP |
| arguments: |
| values: |
| - name: "message" |
| value: |
| "Please configure AC3 on DUT and enter 'y' after the |
| configuration is complete" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: |
| "TH sends a StoreScene command to DUT with the GroupID field set to |
| 0x0002 and the SceneID field set to 0x03." |
| # TODO : Uncomment runIf statement once new test backend is implemented |
| #runIf: ContinueTest |
| PICS: S.S.C04.Rsp |
| command: "StoreScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0002 |
| - name: "SceneID" |
| value: 0x03 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "GroupID" |
| value: 0x0002 |
| - name: "SceneID" |
| value: 0x03 |
| # TODO: For Status, replace "- value: 0x00"by following lines when new backend for test is used in CI |
| # saveAs: StoreStatus |
| # constraints: |
| # anyOf: [0x00, 0x89] |
| |
| # TODO: Uncomment once the new backend is implemented, allowing the use of EqualityCommands pseudo cluster |
| #- label: |
| # "Verify that the status of previous command was either 0x00 (SUCCESS) |
| # or 0x89 (INSUFFICIENT_SPACE)" |
| # runIf: ContinueTest |
| # cluster: "EqualityCommands" |
| # command: "UnsignedNumberEquals" |
| # arguments: |
| # values: |
| # - name: "Value1" |
| # value: 0x00 |
| # - name: "Value2" |
| # value: StoreStatus |
| # response: |
| # - values: |
| # - name: "Equals" |
| # value: true |
| # saveAs: ContinueTest |
| |
| - label: |
| "TH sends a GetSceneMembership command to DUT with the GroupID field |
| set to 0x0002." |
| #runIf: ContinueTest |
| PICS: S.S.C06.Rsp |
| command: "GetSceneMembership" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: 0x0002 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "Capacity" |
| value: (maxScenes/2) - 3 |
| - name: "GroupID" |
| value: 0x0002 |
| - name: "SceneList" |
| value: [0x03] |