| # Copyright (c) 2023 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.4. [TC-S-2.4] Recall scene with transition time functionality with DUT |
| as Server |
| |
| PICS: |
| - S.S |
| |
| config: |
| nodeId: 0x12344321 |
| cluster: "Scenes Management" |
| endpoint: 1 |
| G1: |
| type: group_id |
| defaultValue: 0x0001 |
| |
| tests: |
| - label: "Wait for the commissioned device to be retrieved" |
| cluster: "DelayCommands" |
| command: "WaitForCommissionee" |
| arguments: |
| values: |
| - name: "nodeId" |
| value: nodeId |
| |
| - label: |
| "Step 0a: TH sends KeySetWrite command in the GroupKeyManagement |
| cluster to DUT using a key that is pre-installed on the TH. |
| GroupKeySet fields are as follows: 1)GroupKeySetID: 0x01a1 |
| 2)GroupKeySecurityPolicy: TrustFirst (0) 3)EpochKey0: |
| a0a1a2a3a4a5a6a7a8a9aaabacadaeaf 4)EpochStartTime0: 1110000 |
| 5)EpochKey1: b0b1b2b3b4b5b6b7b8b9babbbcbdbebf 6)EpochStartTime1: |
| 1110001 7)EpochKey2: c0c1c2c3c4c5c6c7c8c9cacbcccdcecf |
| 8)EpochStartTime2: 1110002" |
| 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: 1110000, |
| EpochKey1: "\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd\xbe\xbf", |
| EpochStartTime1: 1110001, |
| EpochKey2: "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xcc\xcd\xce\xcf", |
| EpochStartTime2: 1110002, |
| } |
| |
| - label: |
| "Step 0b: TH binds GroupId 0x0001 with GroupKeySetID 0x01a1 in the |
| GroupKeyMap attribute list on GroupKeyManagement cluster by writing |
| the GroupKeyMap attribute with one entry as follows: List item 1: |
| 1)FabricIndex: 1 2)GroupId: 0x0001 3)GroupKeySetId: 0x01a1" |
| cluster: "Group Key Management" |
| endpoint: 0 |
| command: "writeAttribute" |
| attribute: "GroupKeyMap" |
| arguments: |
| value: [{ FabricIndex: 1, GroupId: G1, GroupKeySetID: 0x01a1 }] |
| |
| - label: "Step 1: TH sends a RemoveAllGroups command to DUT." |
| PICS: G.S.C04.Rsp |
| cluster: "Groups" |
| command: "RemoveAllGroups" |
| |
| - label: |
| "Step 2a: TH sends a AddGroup command to DUT with the GroupID field |
| set to G1." |
| PICS: G.S.C00.Rsp |
| cluster: "Groups" |
| command: "AddGroup" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: G1 |
| - name: "GroupName" |
| value: "Group1" |
| response: |
| values: |
| - name: "Status" |
| value: 0 |
| - name: "GroupID" |
| value: G1 |
| |
| - label: |
| "Step 2b: TH sends a RemoveAllScenes command to DUT with the GroupID |
| field set to G1." |
| PICS: S.S.C03.Rsp |
| command: "RemoveAllScenes" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: G1 |
| response: |
| values: |
| - name: "Status" |
| value: 0 |
| - name: "GroupID" |
| value: G1 |
| |
| - label: |
| "Step 3: TH sends a AddScene command to DUT with the GroupID field set |
| to G1, the SceneID field set to 0x01, the TransitionTime field set to |
| 20000 (20s) and no extension fields set." |
| PICS: S.S.C00.Rsp |
| command: "AddScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: G1 |
| - name: "SceneID" |
| value: 0x01 |
| - name: "TransitionTime" |
| value: 20000 |
| - name: "SceneName" |
| value: "Scene1" |
| - name: "ExtensionFieldSets" |
| value: [] |
| |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "GroupID" |
| value: G1 |
| - name: "SceneID" |
| value: 0x01 |
| |
| - label: |
| "Step 4a: 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: |
| "Step 4a: 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: |
| "Step 4b: TH sends a StoreScene command to DUT with the GroupID field |
| set to G1 and the SceneID field set to 0x01." |
| PICS: S.S.C04.Rsp |
| command: "StoreScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: G1 |
| - name: "SceneID" |
| value: 0x01 |
| response: |
| values: |
| - name: "Status" |
| value: 0x00 |
| - name: "GroupID" |
| value: G1 |
| - name: "SceneID" |
| value: 0x01 |
| |
| - label: |
| "Step 5a: TH configures AC2 on DUT for all implemented application |
| clusters supporting scenes." |
| PICS: PICS_SDK_CI_ONLY |
| cluster: "Level Control" |
| command: "MoveToLevelWithOnOff" |
| arguments: |
| values: |
| - name: "Level" |
| value: 200 |
| - name: "TransitionTime" |
| value: 0 |
| - name: "OptionsMask" |
| value: 0 |
| - name: "OptionsOverride" |
| value: 0 |
| |
| - label: "Wait 1s for level to change" |
| cluster: "DelayCommands" |
| command: "WaitForMs" |
| arguments: |
| values: |
| - name: "ms" |
| value: 1000 |
| |
| - label: |
| "TH confirm the DUT reached AC2 (on level control cluster) after 1s, |
| which is different from AC1" |
| PICS: PICS_SDK_CI_ONLY |
| cluster: "Level Control" |
| command: "readAttribute" |
| attribute: "CurrentLevel" |
| response: |
| value: 200 |
| |
| - label: |
| "Step 5a: 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: |
| "Step 5b: TH sends a RecallScene command to DUT with the GroupID field |
| set to G1 and the SceneID field set to 0x01 and the TransitionTime |
| field omitted." |
| PICS: S.S.C05.Rsp |
| command: "RecallScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: G1 |
| - name: "SceneID" |
| value: 0x01 |
| |
| - label: "Wait 20s" |
| cluster: "DelayCommands" |
| command: "WaitForMs" |
| arguments: |
| values: |
| - name: "ms" |
| value: 20500 |
| |
| - label: |
| "TH confirm the DUT reached AC1 (on level control cluster) after 20s" |
| PICS: PICS_SDK_CI_ONLY |
| cluster: "Level Control" |
| command: "readAttribute" |
| attribute: "CurrentLevel" |
| response: |
| value: 100 |
| |
| - label: "DUT transitions to AC1 over 20s." |
| verification: | |
| Is the transition done over 20s? |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| PICS: PICS_SKIP_SAMPLE_APP |
| arguments: |
| values: |
| - name: "message" |
| value: "Please confirm that transition to AC1 was made over 20s" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: |
| "Step 6a: TH configures AC2 on DUT for all implemented application |
| clusters supporting scenes." |
| PICS: S.S.C05.Rsp && PICS_SDK_CI_ONLY |
| cluster: "Level Control" |
| command: "MoveToLevelWithOnOff" |
| arguments: |
| values: |
| - name: "Level" |
| value: 200 |
| - name: "TransitionTime" |
| value: 0 |
| - name: "OptionsMask" |
| value: 0 |
| - name: "OptionsOverride" |
| value: 0 |
| |
| - label: |
| "Step 6a: TH configures AC2 on DUT for all implemented application |
| clusters supporting scenes." |
| verification: | |
| Is DUT configured with AC2? |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| PICS: S.S.C05.Rsp && 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: |
| "Step 6b: TH sends a RecallScene command to DUT with the GroupID field |
| set to G1, the SceneID field set to 0x01 and the TransitionTime field |
| set to 5000 5s." |
| PICS: S.S.C05.Rsp |
| command: "RecallScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: G1 |
| - name: "SceneID" |
| value: 0x01 |
| - name: "TransitionTime" |
| value: 5000 |
| |
| - label: "Wait 5s" |
| PICS: S.S.C05.Rsp |
| cluster: "DelayCommands" |
| command: "WaitForMs" |
| arguments: |
| values: |
| - name: "ms" |
| value: 5500 |
| |
| - label: |
| "TH confirm the DUT reached AC1 (on level control cluster) after 5s" |
| PICS: S.S.C05.Rsp && PICS_SDK_CI_ONLY |
| cluster: "Level Control" |
| command: "readAttribute" |
| attribute: "CurrentLevel" |
| response: |
| value: 100 |
| |
| - label: "DUT transitions to AC1 over 5." |
| verification: | |
| Is the transition done over 5s? |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| PICS: PICS_SKIP_SAMPLE_APP |
| arguments: |
| values: |
| - name: "message" |
| value: "Please confirm that transition to AC1 was made over 5s" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: |
| "Step 7a: TH configures AC2 on DUT for all implemented application |
| clusters supporting scenes." |
| PICS: PICS_SDK_CI_ONLY |
| cluster: "Level Control" |
| command: "MoveToLevelWithOnOff" |
| arguments: |
| values: |
| - name: "Level" |
| value: 200 |
| - name: "TransitionTime" |
| value: 0 |
| - name: "OptionsMask" |
| value: 0 |
| - name: "OptionsOverride" |
| value: 0 |
| |
| - label: |
| "Step 7a: 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: |
| "Step 7b: TH sends a RecallScene command to DUT with the GroupID field |
| set to G1, the SceneID field set to 0x01 and the TransitionTime field |
| set to null (no transition time override)." |
| PICS: S.S.C05.Rsp |
| command: "RecallScene" |
| arguments: |
| values: |
| - name: "GroupID" |
| value: G1 |
| - name: "SceneID" |
| value: 0x01 |
| - name: "TransitionTime" |
| value: null |
| |
| - label: "Wait 20s" |
| PICS: S.S.C05.Rsp |
| cluster: "DelayCommands" |
| command: "WaitForMs" |
| arguments: |
| values: |
| - name: "ms" |
| value: 20500 |
| |
| - label: |
| "TH confirm the DUT reached AC1 (on level control cluster) after 20s" |
| PICS: S.S.C05.Rsp && PICS_SDK_CI_ONLY |
| cluster: "Level Control" |
| command: "readAttribute" |
| attribute: "CurrentLevel" |
| response: |
| value: 100 |
| |
| - label: "DUT transitions to AC1 over 20s." |
| verification: | |
| Is the transition done over 20s? |
| cluster: "LogCommands" |
| command: "UserPrompt" |
| PICS: PICS_SKIP_SAMPLE_APP |
| arguments: |
| values: |
| - name: "message" |
| value: "Please confirm that transition to AC1 was made over 20s" |
| - name: "expectedValue" |
| value: "y" |
| |
| - label: |
| "Step 8: TH removes the Group key set that was added by sending a |
| KeySetRemove command to the GroupKeyManagement cluster with the |
| GroupKeySetID field set to 0x01a1" |
| cluster: "Group Key Management" |
| endpoint: 0 |
| command: "KeySetRemove" |
| arguments: |
| values: |
| - name: GroupKeySetID |
| value: 0x01a1 |