blob: b0fcf202937831055677142dde59f0af944f71b0 [file] [log] [blame]
# 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.3. [TC-S-2.3] Secondary functionality with server as DUT
PICS:
- S.S
config:
nodeId: 0x12344321
cluster: "Scenes"
endpoint: 1
G1:
type: int16u
defaultValue: 0x0001
tests:
- label: "Wait for the commissioned device to be retrieved"
cluster: "DelayCommands"
command: "WaitForCommissionee"
arguments:
values:
- name: "nodeId"
value: nodeId
- 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: G1, GroupKeySetID: 0x01a1 }]
- label:
"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:
"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:
"TH sends a GetSceneMembership command to DUT with the GroupID field
set to G1."
PICS: S.S.C06.Rsp
command: "GetSceneMembership"
arguments:
values:
- name: "GroupID"
value: G1
response:
values:
- name: "Status"
value: 0x00
- name: "Capacity"
value: (maxScenes/2)
- name: "GroupID"
value: G1
- name: "SceneList"
value: []
- label:
"TH sends a EnhancedAddScene command to DUT with the GroupID field set
to G1, the SceneID field set to 0x01, the TransitionTime field set to
0x000a (1s) and a set of extension fields appropriate to AC1."
PICS: S.S.C40.Rsp && PICS_SDK_CI_ONLY
command: "EnhancedAddScene"
arguments:
values:
- name: "GroupID"
value: G1
- name: "SceneID"
value: 0x0001
- name: "TransitionTime"
value: 0x000a
- 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: G1
- name: "SceneID"
value: 0x01
- label:
"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 0x0001
(1s) and a set of extension fields appropriate to AC1."
PICS: (!S.S.C40.Rsp) && PICS_SDK_CI_ONLY
command: "AddScene"
arguments:
values:
- name: "GroupID"
value: G1
- 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: G1
- name: "SceneID"
value: 0x01
- label:
"TH sends a EnhancedAddScene command to DUT with the GroupID field set
to G1, the SceneID field set to 0x01, the TransitionTime field set to
0x000a 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 enhanced-add-scene 0x000a 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 = 0x40,
[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_0040
[1670970505.890328][5742:5744] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0005 Command 0x0000_0040
[1670970505.890458][5742:5744] CHIP:TOO: EnhancedAddSceneResponse: {
[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: S.S.C40.Rsp && PICS_SKIP_SAMPLE_APP
arguments:
values:
- name: "message"
value:
"Please execute the enhanced 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 AddScene command to DUT with the GroupID field set to G1,
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: (!S.S.C40.Rsp) && 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 EnhancedViewScene command to DUT with the GroupID field
set to G1 and the SceneID field set to 0x01."
PICS: S.S.C41.Rsp && PICS_SDK_CI_ONLY
command: "EnhancedViewScene"
arguments:
values:
- name: "GroupID"
value: G1
- name: "SceneID"
value: 0x01
response:
values:
- name: "Status"
value: 0x00
- name: "GroupID"
value: G1
- name: "SceneID"
value: 0x01
- name: "TransitionTime"
value: 0x000a
- 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 G1
and the SceneID field set to 0x01."
PICS: (!S.S.C41.Rsp) && PICS_SDK_CI_ONLY
command: "ViewScene"
arguments:
values:
- name: "GroupID"
value: G1
- name: "SceneID"
value: 0x01
response:
values:
- name: "Status"
value: 0x00
- name: "GroupID"
value: G1
- name: "SceneID"
value: 0x01
- name: "TransitionTime"
value: 0x0001
- 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 EnhancedViewScene command to DUT with the GroupID field
set to G1 and the SceneID field set to 0x01."
PICS: S.S.C41.Rsp && PICS_SKIP_SAMPLE_APP
verification: |
Execute the following command in TH to generate the pre-condition to execute this test case:
./chip-tool scenes enhanced-view-scene GroupId SceneId Node-Id 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 that the extension fields in the log match the ones expected and that
Status = 0x00
GroupID = 0x0001
SceneID = 0x01
TransitionTime = 0x000a
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value:
"Please execute the ehanced-view-scene command and verify
that the extensionfieldsets, status, groupID and SceneID are
in accordance with AC1 on DUT and enter 'y' if the command
is successful"
- name: "expectedValue"
value: "y"
- label:
"TH sends a ViewScene command to DUT with the GroupID field set to G1
and the SceneID field set to 0x01."
PICS: (!S.S.C41.Rsp) && PICS_SKIP_SAMPLE_APP
verification: |
Execute the following command in TH to generate the pre-condition to execute this test case:
./chip-tool scenes view-scene GroupId SceneId Node-Id 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 that the extension fields in the log match the ones expected and that
Status = 0x00
GroupID = 0x0001
SceneID = 0x01
TransitionTime = 0x0001
cluster: "LogCommands"
command: "UserPrompt"
arguments:
values:
- name: "message"
value:
"Please execute the view-scene command and verify that the
extensionfieldsets, status, groupID and SceneID are 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 G1."
PICS: S.S.C06.Rsp
command: "GetSceneMembership"
arguments:
values:
- name: "GroupID"
value: G1
response:
values:
- name: "Status"
value: 0x00
- name: "Capacity"
value: (maxScenes/2) - 1
- name: "GroupID"
value: G1
- name: "SceneList"
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 group G1 with the GroupID field set
to G1 and the scene ID field set to 0x01."
PICS: S.S.C05.Rsp
command: "RecallScene"
groupId: 0x0001
arguments:
values:
- name: "GroupID"
value: G1
- name: "SceneID"
value: 0x01
- label: "Wait 1s"
PICS: PICS_SDK_CI_ONLY
cluster: "DelayCommands"
command: "WaitForMs"
arguments:
values:
- name: "ms"
value: 1000
- label:
"TH confirm the DUT reached AC1 (on level control cluster) after 1s"
PICS: PICS_SDK_CI_ONLY
cluster: "Level Control"
command: "readAttribute"
attribute: "CurrentLevel"
response:
value: 100
- label: "Verify DUT returns to AC1."
verification: |
Is DUT configured with AC1?
cluster: "LogCommands"
command: "UserPrompt"
PICS: PICS_SKIP_SAMPLE_APP
arguments:
values:
- name: "message"
value: "Please confirm AC1 on DUT and enter 'y'."
- name: "expectedValue"
value: "y"
- label:
"TH sends a CopyScene command to DUT with the mode field set to 0x00,
the group identifier from field set to G1, the scene identifier from
field set to 0x01, the group identifier to field set to G1 and the
scene identifier to field set to 0x02."
PICS: S.S.C42.Rsp
verification: |
DUT sends a CopySceneResponse command to TH with the Status field set to 0x00 (SUCCESS), the group identifier from field set to G1 and the scene identifier from field set to 0x01.
command: "CopyScene"
arguments:
values:
- name: "Mode"
value: 0x00
- name: "GroupIdentifierFrom"
value: G1
- name: "SceneIdentifierFrom"
value: 0x01
- name: "GroupIdentifierTo"
value: G1
- name: "SceneIdentifierTo"
value: 0x02
response:
values:
- name: "Status"
value: 0x00
- name: "GroupIdentifierFrom"
value: G1
- name: "SceneIdentifierFrom"
value: 0x01
- label:
"TH sends a GetSceneMembership command to DUT with the GroupID field
set to G1."
PICS: S.S.C06.Rsp
command: "GetSceneMembership"
arguments:
values:
- name: "GroupID"
value: G1
response:
values:
- name: "Status"
value: 0x00
- name: "Capacity"
value: (maxScenes/2) - 2
- name: "GroupID"
value: G1
- name: "SceneList"
value: [0x01, 0x02]