| # 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: |
| 125.2.3. [TC-G-2.3] Commands - GetGroupMembership, AddGroupIfIdentifying |
| [DUT-Server] |
| |
| PICS: |
| - G.S |
| |
| config: |
| nodeId: 0x12344321 |
| cluster: "Basic Information" |
| endpoint: 0 |
| |
| tests: |
| - label: "TH is commissioned with DUT" |
| verification: | |
| |
| disabled: true |
| |
| - label: |
| "Pre-Conditions: TH reads the MaxGroupsPerFabric from Group key |
| Management Cluster and saves it as maxgroups" |
| verification: | |
| ./chip-tool groupkeymanagement read max-groups-per-fabric 1 0 |
| |
| Verify the "MaxGroupsPerFabric value" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| |
| [1674550919.106409][20702:20704] CHIP:DMG: } |
| [1674550919.106442][20702:20704] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0002 DataVersion: 1314349257 |
| [1674550919.106455][20702:20704] CHIP:TOO: MaxGroupsPerFabric: 4 |
| disabled: true |
| |
| - label: | |
| Pre-Conditions: If maxgroups>0, proceed with the following steps |
| |
| TH generates fabric-unique GroupID, GroupName, random key, EpochKey0 |
| and GroupKeySetID. |
| |
| TH generates an EpochKey and saves as epoch_key_set1_epoch0 |
| |
| TH sends a KeySetWriteCommand to the Group Key Management cluster with |
| the following fields set in the GroupKeySet struct: |
| |
| GroupKeySetId is 1 |
| |
| EpochKey0 is epoch_key_set0_epoch0 |
| |
| GroupKeySecurityPolicy = TrustFirst (1) |
| |
| GroupKeyMulticastPolicy = PerGroupID (0) |
| |
| EpochStartTime0 = 0 |
| |
| TH binds GroupId(0x0002 to (maxgroups+1)) with GroupKeySetID in the |
| GroupKeyMap attribute list on GroupKeyManagement cluster with the |
| values provided in the above steps |
| |
| TH binds GroupId(0x0006 to (maxgroups+1)) with GroupKeySetID in the |
| GroupKeyMap attribute list on GroupKeyManagement cluster with the |
| values provided in the above steps |
| verification: | |
| Execute the following command in TH to generate the pre-condition to execute this test case: |
| |
| |
| ./chip-tool groupkeymanagement key-set-write '{"groupKeySetID": 1, |
| "groupKeySecurityPolicy": 0, "epochKey0": |
| "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 2220000,"epochKey1": |
| "d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 2220001,"epochKey2": |
| "d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }' 1 0 |
| |
| Verify the "status is success" on the TH(Chip-tool) Log: |
| |
| [1658316948.574526][4039:4044] CHIP:DMG: StatusIB = |
| [1658316948.574561][4039:4044] CHIP:DMG: { |
| [1658316948.574597][4039:4044] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1658316948.574632][4039:4044] CHIP:DMG: }, |
| |
| Before adding the Groups (0x0002,0x0003) execute this command |
| |
| ./chip-tool groupkeymanagement write group-key-map '[{"groupId":2, "groupKeySetID": 1, "fabricIndex": 1},{"groupId": 3, "groupKeySetID": 1,"fabricIndex": 1} ]' 1 0 |
| |
| |
| Verify the status is success on the TH Log: |
| |
| [1662655615.539611][229172:229177] CHIP:DMG: AttributeStatusIB = |
| [1662655615.539623][229172:229177] CHIP:DMG: { |
| [1662655615.539633][229172:229177] CHIP:DMG: AttributePathIB = |
| [1662655615.539642][229172:229177] CHIP:DMG: { |
| [1662655615.539648][229172:229177] CHIP:DMG: Endpoint = 0x0, |
| [1662655615.539664][229172:229177] CHIP:DMG: Cluster = 0x3f, |
| [1662655615.539677][229172:229177] CHIP:DMG: Attribute = 0x0000_0000, |
| [1662655615.539688][229172:229177] CHIP:DMG: ListIndex = Null, |
| [1662655615.539693][229172:229177] CHIP:DMG: } |
| [1662655615.539707][229172:229177] CHIP:DMG: |
| [1662655615.539715][229172:229177] CHIP:DMG: StatusIB = |
| [1662655615.539729][229172:229177] CHIP:DMG: { |
| [1662655615.539737][229172:229177] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1662655615.539743][229172:229177] CHIP:DMG: }, |
| [1662655615.539753][229172:229177] CHIP:DMG: |
| [1662655615.539766][229172:229177] CHIP:DMG: }, |
| [1662655615.539781][229172:229177] CHIP:DMG: |
| [1662655615.539792][229172:229177] CHIP:DMG: AttributeStatusIB = |
| [1662655615.539802][229172:229177] CHIP:DMG: { |
| [1662655615.539810][229172:229177] CHIP:DMG: AttributePathIB = |
| [1662655615.539816][229172:229177] CHIP:DMG: { |
| [1662655615.539834][229172:229177] CHIP:DMG: Endpoint = 0x0, |
| [1662655615.539844][229172:229177] CHIP:DMG: Cluster = 0x3f, |
| [1662655615.539851][229172:229177] CHIP:DMG: Attribute = 0x0000_0000, |
| [1662655615.539858][229172:229177] CHIP:DMG: ListIndex = Null, |
| [1662655615.539864][229172:229177] CHIP:DMG: } |
| [1662655615.539877][229172:229177] CHIP:DMG: |
| [1662655615.539885][229172:229177] CHIP:DMG: StatusIB = |
| [1662655615.539896][229172:229177] CHIP:DMG: { |
| [1662655615.539904][229172:229177] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1662655615.539910][229172:229177] CHIP:DMG: }, |
| |
| |
| Before adding the Groups (0x0006,0x0007) execute this command |
| |
| ./chip-tool groupkeymanagement write group-key-map '[{"groupId":6, "groupKeySetID": 1, "fabricIndex": 1},{"groupId": 7, "groupKeySetID": 1,"fabricIndex": 1}]' 1 0 |
| |
| |
| Verify the "status is success" on the TH(Chip-tool) Log: |
| |
| [1663071815.843582][23720:23725] CHIP:DMG: WriteClient moving to [ResponseRe] |
| [1663071815.843667][23720:23725] CHIP:DMG: WriteResponseMessage = |
| [1663071815.843695][23720:23725] CHIP:DMG: { |
| [1663071815.843718][23720:23725] CHIP:DMG: AttributeStatusIBs = |
| [1663071815.843750][23720:23725] CHIP:DMG: [ |
| [1663071815.843775][23720:23725] CHIP:DMG: AttributeStatusIB = |
| [1663071815.843809][23720:23725] CHIP:DMG: { |
| [1663071815.843838][23720:23725] CHIP:DMG: AttributePathIB = |
| [1663071815.843874][23720:23725] CHIP:DMG: { |
| [1663071815.843909][23720:23725] CHIP:DMG: Endpoint = 0x0, |
| [1663071815.843947][23720:23725] CHIP:DMG: Cluster = 0x3f, |
| [1663071815.843985][23720:23725] CHIP:DMG: Attribute = 0x0000_0000, |
| [1663071815.844018][23720:23725] CHIP:DMG: } |
| [1663071815.844058][23720:23725] CHIP:DMG: |
| [1663071815.844089][23720:23725] CHIP:DMG: StatusIB = |
| [1663071815.844125][23720:23725] CHIP:DMG: { |
| [1663071815.844159][23720:23725] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1663071815.844192][23720:23725] CHIP:DMG: }, |
| [1663071815.844227][23720:23725] CHIP:DMG: |
| [1663071815.844257][23720:23725] CHIP:DMG: }, |
| [1663071815.844295][23720:23725] CHIP:DMG: |
| [1663071815.844322][23720:23725] CHIP:DMG: AttributeStatusIB = |
| [1663071815.844352][23720:23725] CHIP:DMG: { |
| [1663071815.844380][23720:23725] CHIP:DMG: AttributePathIB = |
| [1663071815.844412][23720:23725] CHIP:DMG: { |
| [1663071815.844445][23720:23725] CHIP:DMG: Endpoint = 0x0, |
| [1663071815.844482][23720:23725] CHIP:DMG: Cluster = 0x3f, |
| [1663071815.844518][23720:23725] CHIP:DMG: Attribute = 0x0000_0000, |
| [1663071815.844555][23720:23725] CHIP:DMG: ListIndex = Null, |
| [1663071815.844587][23720:23725] CHIP:DMG: } |
| [1663071815.844623][23720:23725] CHIP:DMG: |
| [1663071815.844657][23720:23725] CHIP:DMG: StatusIB = |
| [1663071815.844691][23720:23725] CHIP:DMG: { |
| [1663071815.844724][23720:23725] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1663071815.844760][23720:23725] CHIP:DMG: }, |
| [1663071815.844793][23720:23725] CHIP:DMG: |
| [1663071815.844824][23720:23725] CHIP:DMG: }, |
| [1663071815.844866][23720:23725] CHIP:DMG: |
| [1663071815.844893][23720:23725] CHIP:DMG: AttributeStatusIB = |
| [1663071815.844922][23720:23725] CHIP:DMG: { |
| [1663071815.844952][23720:23725] CHIP:DMG: AttributePathIB = |
| [1663071815.844986][23720:23725] CHIP:DMG: { |
| [1663071815.845021][23720:23725] CHIP:DMG: Endpoint = 0x0, |
| [1663071815.845058][23720:23725] CHIP:DMG: Cluster = 0x3f, |
| [1663071815.845097][23720:23725] CHIP:DMG: Attribute = 0x0000_0000, |
| [1663071815.845131][23720:23725] CHIP:DMG: ListIndex = Null, |
| [1663071815.845165][23720:23725] CHIP:DMG: } |
| [1663071815.845202][23720:23725] CHIP:DMG: |
| [1663071815.845236][23720:23725] CHIP:DMG: StatusIB = |
| [1663071815.845269][23720:23725] CHIP:DMG: { |
| [1663071815.845304][23720:23725] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1663071815.845337][23720:23725] CHIP:DMG: }, |
| |
| |
| Before adding the Groups (0x0008,0x0009) execute this command |
| |
| ./chip-tool groupkeymanagement write group-key-map '[{"groupId":8, "groupKeySetID": 1, "fabricIndex": 1},{"groupId": 9, "groupKeySetID": 1,"fabricIndex": 1}]' 1 0 |
| |
| |
| Verify the "status is success" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| |
| [1674551849.075921][20994:20996] CHIP:DMG: WriteResponseMessage = |
| [1674551849.075924][20994:20996] CHIP:DMG: { |
| [1674551849.075926][20994:20996] CHIP:DMG: AttributeStatusIBs = |
| [1674551849.075931][20994:20996] CHIP:DMG: [ |
| [1674551849.075934][20994:20996] CHIP:DMG: AttributeStatusIB = |
| [1674551849.075937][20994:20996] CHIP:DMG: { |
| [1674551849.075940][20994:20996] CHIP:DMG: AttributePathIB = |
| [1674551849.075943][20994:20996] CHIP:DMG: { |
| [1674551849.075947][20994:20996] CHIP:DMG: Endpoint = 0x0, |
| [1674551849.075950][20994:20996] CHIP:DMG: Cluster = 0x3f, |
| [1674551849.075953][20994:20996] CHIP:DMG: Attribute = 0x0000_0000, |
| [1674551849.075956][20994:20996] CHIP:DMG: } |
| [1674551849.075961][20994:20996] CHIP:DMG: |
| [1674551849.075964][20994:20996] CHIP:DMG: StatusIB = |
| [1674551849.075967][20994:20996] CHIP:DMG: { |
| [1674551849.075971][20994:20996] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1674551849.075974][20994:20996] CHIP:DMG: }, |
| [1674551849.075977][20994:20996] CHIP:DMG: |
| [1674551849.075980][20994:20996] CHIP:DMG: }, |
| [1674551849.075986][20994:20996] CHIP:DMG: |
| [1674551849.075989][20994:20996] CHIP:DMG: AttributeStatusIB = |
| [1674551849.075991][20994:20996] CHIP:DMG: { |
| [1674551849.075994][20994:20996] CHIP:DMG: AttributePathIB = |
| [1674551849.075997][20994:20996] CHIP:DMG: { |
| [1674551849.076000][20994:20996] CHIP:DMG: Endpoint = 0x0, |
| [1674551849.076003][20994:20996] CHIP:DMG: Cluster = 0x3f, |
| [1674551849.076006][20994:20996] CHIP:DMG: Attribute = 0x0000_0000, |
| [1674551849.076010][20994:20996] CHIP:DMG: ListIndex = Null, |
| [1674551849.076012][20994:20996] CHIP:DMG: } |
| [1674551849.076017][20994:20996] CHIP:DMG: |
| [1674551849.076020][20994:20996] CHIP:DMG: StatusIB = |
| [1674551849.076022][20994:20996] CHIP:DMG: { |
| [1674551849.076025][20994:20996] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1674551849.076028][20994:20996] CHIP:DMG: }, |
| [1674551849.076031][20994:20996] CHIP:DMG: |
| [1674551849.076034][20994:20996] CHIP:DMG: }, |
| [1674551849.076040][20994:20996] CHIP:DMG: |
| [1674551849.076043][20994:20996] CHIP:DMG: AttributeStatusIB = |
| [1674551849.076046][20994:20996] CHIP:DMG: { |
| [1674551849.076048][20994:20996] CHIP:DMG: AttributePathIB = |
| [1674551849.076051][20994:20996] CHIP:DMG: { |
| [1674551849.076054][20994:20996] CHIP:DMG: Endpoint = 0x0, |
| [1674551849.076057][20994:20996] CHIP:DMG: Cluster = 0x3f, |
| [1674551849.076060][20994:20996] CHIP:DMG: Attribute = 0x0000_0000, |
| [1674551849.076063][20994:20996] CHIP:DMG: ListIndex = Null, |
| [1674551849.076066][20994:20996] CHIP:DMG: } |
| [1674551849.076071][20994:20996] CHIP:DMG: |
| [1674551849.076074][20994:20996] CHIP:DMG: StatusIB = |
| [1674551849.076076][20994:20996] CHIP:DMG: { |
| [1674551849.076080][20994:20996] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1674551849.076082][20994:20996] CHIP:DMG: }, |
| [1674551849.076085][20994:20996] CHIP:DMG: |
| [1674551849.076088][20994:20996] CHIP:DMG: }, |
| [1674551849.076092][20994:20996] CHIP:DMG: |
| [1674551849.076094][20994:20996] CHIP:DMG: ], |
| [1674551849.076102][20994:20996] CHIP:DMG: |
| [1674551849.076105][20994:20996] CHIP:DMG: InteractionModelRevision = 1 |
| [1674551849.076108][20994:20996] CHIP:DMG: } |
| |
| |
| |
| Before adding the Group0x0005 execute this command which is used to check the Resource_Exhausted Condition |
| |
| ./chip-tool groupkeymanagement write group-key-map '[{"groupId": 5, "groupKeySetID": 1, "fabricIndex": 1}]' 1 0 |
| |
| |
| Verify the "status is success" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| |
| [1658319969.849079][4777:4782] CHIP:DMG: StatusIB = |
| [1658319969.849119][4777:4782] CHIP:DMG: { |
| [1658319969.849158][4777:4782] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1658319969.849194][4777:4782] CHIP:DMG: }, |
| [1658319969.849704][4777:4782] CHIP:DMG: StatusIB = |
| [1658319969.849739][4777:4782] CHIP:DMG: { |
| [1658319969.849774][4777:4782] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1658319969.849814][4777:4782] CHIP:DMG: }, |
| disabled: true |
| |
| - label: "DUT supports Identify cluster" |
| verification: | |
| |
| disabled: true |
| |
| - label: |
| "TH sends AddGroup command to DUT as unicast with the following fields |
| : GroupID as 0x0002 GroupName as Gp2" |
| PICS: G.S.C00.Rsp && G.S.C00.Tx |
| verification: | |
| ./chip-tool groups add-group 0x0002 gp2 1 0 |
| |
| Verify the "status is SUCCESS and groupid is 0x0002" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1653552285.195099][2464:2469] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000 |
| [1653552285.197783][2464:2469] CHIP:TOO: AddGroupResponse: { |
| [1653552285.197849][2464:2469] CHIP:TOO: status: 0 |
| [1653552285.197877][2464:2469] CHIP:TOO: groupId: 2 |
| [1653552285.197933][2464:2469] CHIP:TOO: } |
| disabled: true |
| |
| - label: "TH reads GroupTable attribute from the GroupKeyManagement cluster" |
| PICS: GRPKEY.S.A0001 |
| verification: | |
| ./chip-tool groupkeymanagement read group-table 1 0 |
| |
| Verify the "grouptable entries" , GroupID as 0x0002, GroupName as Gp2 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1674551108.507399][20730:20732] CHIP:DMG: } |
| [1674551108.507695][20730:20732] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1314349260 |
| [1674551108.507745][20730:20732] CHIP:TOO: GroupTable: 1 entries |
| [1674551108.507824][20730:20732] CHIP:TOO: [1]: { |
| [1674551108.507857][20730:20732] CHIP:TOO: GroupId: 2 |
| [1674551108.507878][20730:20732] CHIP:TOO: Endpoints: 1 entries |
| [1674551108.507901][20730:20732] CHIP:TOO: [1]: 0 |
| [1674551108.507920][20730:20732] CHIP:TOO: GroupName: gp2 |
| [1674551108.507932][20730:20732] CHIP:TOO: FabricIndex: 1 |
| [1674551108.507942][20730:20732] CHIP:TOO: } |
| disabled: true |
| |
| - label: |
| "If maxgroups > 1 TH sends AddGroup command to DUT as unicast with the |
| following fields : GroupID as 0x0003 GroupName as Gp3" |
| PICS: G.S.C00.Rsp && G.S.C00.Tx |
| verification: | |
| ./chip-tool groups add-group 0x0003 gp3 1 0 |
| |
| Verify the "status is SUCCESS and GroupID is 0x0003" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1674551134.645686][20738:20740] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0000 |
| [1674551134.645698][20738:20740] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000 |
| [1674551134.645709][20738:20740] CHIP:TOO: AddGroupResponse: { |
| [1674551134.645714][20738:20740] CHIP:TOO: status: 0 |
| [1674551134.645717][20738:20740] CHIP:TOO: groupID: 3 |
| [1674551134.645719][20738:20740] CHIP:TOO: } |
| disabled: true |
| |
| - label: |
| "If maxgroups > 1, TH reads GroupTable attribute from the |
| GroupKeyManagement cluster" |
| PICS: GRPKEY.S.A0001 |
| verification: | |
| ./chip-tool groupkeymanagement read group-table 1 0 |
| |
| Verify the "grouptable entries" , GroupId as 0x0003 and GroupName as Gp3 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1674551165.827036][20746:20748] CHIP:DMG: } |
| [1674551165.827146][20746:20748] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1314349260 |
| [1674551165.827163][20746:20748] CHIP:TOO: GroupTable: 2 entries |
| [1674551165.827176][20746:20748] CHIP:TOO: [1]: { |
| [1674551165.827182][20746:20748] CHIP:TOO: GroupId: 2 |
| [1674551165.827186][20746:20748] CHIP:TOO: Endpoints: 1 entries |
| [1674551165.827191][20746:20748] CHIP:TOO: [1]: 0 |
| [1674551165.827194][20746:20748] CHIP:TOO: GroupName: gp2 |
| [1674551165.827197][20746:20748] CHIP:TOO: FabricIndex: 1 |
| [1674551165.827200][20746:20748] CHIP:TOO: } |
| [1674551165.827205][20746:20748] CHIP:TOO: [2]: { |
| [1674551165.827208][20746:20748] CHIP:TOO: GroupId: 3 |
| [1674551165.827211][20746:20748] CHIP:TOO: Endpoints: 1 entries |
| [1674551165.827214][20746:20748] CHIP:TOO: [1]: 0 |
| [1674551165.827217][20746:20748] CHIP:TOO: GroupName: gp3 |
| [1674551165.827219][20746:20748] CHIP:TOO: FabricIndex: 1 |
| [1674551165.827222][20746:20748] CHIP:TOO: } |
| disabled: true |
| |
| - label: |
| "TH sends GetGroupMembership command to DUT on PIXIT.G.ENDPOINT with |
| the following fields : GroupList as NULL" |
| PICS: G.S.C02.Rsp && G.S.C02.Tx |
| verification: | |
| ./chip-tool groups get-group-membership [] 1 0 |
| |
| Verify the "grouplist" entries are in the inclusive range of 0x0001 - 0xffff and Capacity is in the inclusive range of 0 to 254 or null |
| on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| |
| [1653552493.052711][2501:2506] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0002 |
| [1653552493.052792][2501:2506] CHIP:TOO: GetGroupMembershipResponse: { |
| [1653552493.052819][2501:2506] CHIP:TOO: capacity: null |
| [1653552493.052870][2501:2506] CHIP:TOO: groupList: 2 entries |
| [1653552493.052922][2501:2506] CHIP:TOO: [1]: 2 |
| [1653552493.052950][2501:2506] CHIP:TOO: [2]: 3 |
| [1653552493.052978][2501:2506] CHIP:TOO: } |
| disabled: true |
| |
| - label: |
| "TH sends GetGroupMembership command to DUT on PIXIT.G.ENDPOINT with |
| the following fields : GroupList as [0x0002]" |
| PICS: G.S.C02.Rsp && G.S.C02.Tx |
| verification: | |
| ./chip-tool groups get-group-membership [0002] 1 0 |
| |
| |
| Verify the "grouplist" entry has one item 0x0002 and Capacity is in the inclusive range of 0 to 254 or null |
| on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1653294426.515523][3638:3643] CHIP:TOO: GetGroupMembershipResponse: { |
| [1653294426.515571][3638:3643] CHIP:TOO: capacity: null |
| [1653294426.515649][3638:3643] CHIP:TOO: groupList: 1 entries |
| [1653294426.515737][3638:3643] CHIP:TOO: [1]: 2 |
| [1653294426.515916][3638:3643] CHIP:TOO: } |
| disabled: true |
| |
| - label: |
| "if maxgroups > 1, TH sends GetGroupMembership command to DUT on |
| PIXIT.G.ENDPOINT as unicast with the following fields : GroupList as |
| [0x0002, 0x0003]" |
| PICS: G.S.C02.Rsp && G.S.C02.Tx |
| verification: | |
| ./chip-tool groups get-group-membership [0002,0003] 1 0 |
| |
| Verify the "grouplist" entries has 2 items 0x0002 , 0x0003 and Capacity is in the inclusive range of 0 to 254 or null |
| on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1653294490.030740][3646:3651] CHIP:TOO: GetGroupMembershipResponse: { |
| [1653294490.030775][3646:3651] CHIP:TOO: capacity: null |
| [1653294490.030838][3646:3651] CHIP:TOO: groupList: 2 entries |
| [1653294490.030907][3646:3651] CHIP:TOO: [1]: 2 |
| [1653294490.030943][3646:3651] CHIP:TOO: [2]: 3 |
| [1653294490.030979][3646:3651] CHIP:TOO: } |
| disabled: true |
| |
| - label: "TH sends RemoveAllGroups command to DUT as unicast method" |
| PICS: G.S.C04.Rsp |
| verification: | |
| ./chip-tool groups remove-all-groups 1 0 |
| |
| Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1651224377.831704][2989:2994] CHIP:DMG: StatusIB = |
| [1651224377.831757][2989:2994] CHIP:DMG: { |
| [1651224377.831812][2989:2994] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1651224377.831866][2989:2994] CHIP:DMG: }, |
| [1651224377.832439][2989:2994] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0004 Status=0x0 |
| disabled: true |
| |
| - label: |
| "TH sends Identify command to DUT with the IdentifyTime as (0x0078) |
| 120 seconds" |
| PICS: I.S.C00.Rsp |
| verification: | |
| ./chip-tool identify identify 0x0078 1 0 |
| |
| Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1658306666.592846][3044:3049] CHIP:DMG: StatusIB = |
| [1658306666.592889][3044:3049] CHIP:DMG: { |
| [1658306666.592962][3044:3049] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1658306666.593007][3044:3049] CHIP:DMG: }, |
| disabled: true |
| |
| - label: "TH reads immediately IdentifyTime attribute from DUT" |
| PICS: I.S.A0000 |
| verification: | |
| ./chip-tool identify read identify-time 1 0 |
| |
| Verify the "identifytime" attribute has a value approximately equal to 0x0078(120) on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1674551847.513881][20976:20978] CHIP:DMG: } |
| [1674551847.514009][20976:20978] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 216654730 |
| [1674551847.514042][20976:20978] CHIP:TOO: IdentifyTime: 120 |
| disabled: true |
| |
| - label: |
| "If maxgroups>0, TH sends AddGroupIfIdentifying command to DUT as |
| unicast method with the following fields: GroupID as 0x0006 GroupName |
| as Gp6" |
| PICS: G.S.C05.Rsp |
| verification: | |
| ./chip-tool groups add-group-if-identifying 0x0006 gp6 1 0 |
| |
| Verify the "status is SUCCESS" and GroupId is 0x0006 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| |
| [1653552667.307794][2571:2576] CHIP:DMG: StatusIB = |
| [1653552667.307831][2571:2576] CHIP:DMG: { |
| [1653552667.307881][2571:2576] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1653552667.307922][2571:2576] CHIP:DMG: }, |
| disabled: true |
| |
| - label: "TH reads GroupTable attribute from the GroupKeyManagement cluster" |
| PICS: GRPKEY.S.A0001 |
| verification: | |
| ./chip-tool groupkeymanagement read group-table 1 0 |
| |
| Verify "group table" entry has groupid 6, GroupName Gp6 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1674551848.294776][20985:20987] CHIP:DMG: } |
| [1674551848.294875][20985:20987] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1314349287 |
| [1674551848.294904][20985:20987] CHIP:TOO: GroupTable: 1 entries |
| [1674551848.294924][20985:20987] CHIP:TOO: [1]: { |
| [1674551848.294929][20985:20987] CHIP:TOO: GroupId: 6 |
| [1674551848.294935][20985:20987] CHIP:TOO: Endpoints: 1 entries |
| [1674551848.294941][20985:20987] CHIP:TOO: [1]: 0 |
| [1674551848.294945][20985:20987] CHIP:TOO: GroupName: gp6 |
| [1674551848.294948][20985:20987] CHIP:TOO: FabricIndex: 1 |
| [1674551848.294951][20985:20987] CHIP:TOO: } |
| [1674551848.294982][20985:20987] CHIP:EM: <<< [E:163 |
| disabled: true |
| |
| - label: |
| "If maxgroups>1, TH sends AddGroupIfIdentifying command to DUT as |
| unicast method with the following fields: GroupID as 0x0007 GroupName |
| as Gp7" |
| PICS: G.S.C05.Rsp |
| verification: | |
| ./chip-tool groups add-group-if-identifying 0x0007 gp7 1 0 |
| |
| Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| |
| [1658306847.237724][3125:3130] CHIP:DMG: StatusIB = |
| [1658306847.237765][3125:3130] CHIP:DMG: { |
| [1658306847.237818][3125:3130] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1658306847.237869][3125:3130] CHIP:DMG: }, |
| disabled: true |
| |
| - label: "TH reads GroupTable attribute from the GroupKeyManagement cluster" |
| PICS: GRPKEY.S.A0001 |
| verification: | |
| ./chip-tool groupkeymanagement read group-table 1 0 |
| |
| Verify the "grouptable" has an entry, GroupName as Gp7 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1674551848.817117][20991:20993] CHIP:DMG: } |
| [1674551848.817230][20991:20993] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1314349287 |
| [1674551848.817250][20991:20993] CHIP:TOO: GroupTable: 2 entries |
| [1674551848.817271][20991:20993] CHIP:TOO: [1]: { |
| [1674551848.817274][20991:20993] CHIP:TOO: GroupId: 6 |
| [1674551848.817278][20991:20993] CHIP:TOO: Endpoints: 1 entries |
| [1674551848.817282][20991:20993] CHIP:TOO: [1]: 0 |
| [1674551848.817286][20991:20993] CHIP:TOO: GroupName: gp6 |
| [1674551848.817289][20991:20993] CHIP:TOO: FabricIndex: 1 |
| [1674551848.817292][20991:20993] CHIP:TOO: } |
| [1674551848.817297][20991:20993] CHIP:TOO: [2]: { |
| [1674551848.817300][20991:20993] CHIP:TOO: GroupId: 7 |
| [1674551848.817303][20991:20993] CHIP:TOO: Endpoints: 1 entries |
| [1674551848.817306][20991:20993] CHIP:TOO: [1]: 0 |
| [1674551848.817309][20991:20993] CHIP:TOO: GroupName: gp7 |
| [1674551848.817312][20991:20993] CHIP:TOO: FabricIndex: 1 |
| [1674551848.817314][20991:20993] CHIP:TOO: } |
| disabled: true |
| |
| - label: |
| "If maxgroups > 2, TH sends AddGroupIfIdentifying command to DUT with |
| (maxgroups - 2) groups, incrementing the GroupId each time." |
| PICS: G.S.C05.Rsp |
| verification: | |
| ./chip-tool groups add-group-if-identifying 0x0008 gp8 1 0 |
| |
| Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1653552667.307794][2571:2576] CHIP:DMG: StatusIB = |
| [1653552667.307831][2571:2576] CHIP:DMG: { |
| [1653552667.307881][2571:2576] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1653552667.307922][2571:2576] CHIP:DMG: }, |
| |
| |
| ./chip-tool groups add-group-if-identifying 0x0009 gp9 1 0 |
| |
| Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1674551849.597991][21000:21002] CHIP:DMG: StatusIB = |
| [1674551849.597995][21000:21002] CHIP:DMG: { |
| [1674551849.597998][21000:21002] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1674551849.598001][21000:21002] CHIP:DMG: }, |
| disabled: true |
| |
| - label: |
| "If maxgroups>0, TH sends AddGroupIfIdentifying command to DUT |
| (maxgroups+2) times as unicast method with different GroupID" |
| PICS: G.S.C05.Rsp |
| verification: | |
| ./chip-tool groups add-group-if-identifying 0x0005 gp5 1 0 |
| |
| |
| Verify the "status is RESOURCE_EXHAUSTED" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1658317372.589336][4296:4301] CHIP:DMG: StatusIB = |
| [1658317372.589363][4296:4301] CHIP:DMG: { |
| [1658317372.589399][4296:4301] CHIP:DMG: status = 0x89 (RESOURCE_EXHAUSTED), |
| [1658317372.589432][4296:4301] CHIP:DMG: }, |
| disabled: true |
| |
| - label: |
| "TH reads GroupTable attribute from the GroupKeyManagement cluster |
| from DUT" |
| PICS: GRPKEY.S.A0001 |
| verification: | |
| ./chip-tool groupkeymanagement read group-table 1 0 |
| |
| Verify the "grouptable" does not have GroupName gp5 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1674552384.204664][21058:21060] CHIP:DMG: } |
| [1674552384.204841][21058:21060] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1314349292 |
| [1674552384.204867][21058:21060] CHIP:TOO: GroupTable: 4 entries |
| [1674552384.204879][21058:21060] CHIP:TOO: [1]: { |
| [1674552384.204886][21058:21060] CHIP:TOO: GroupId: 6 |
| [1674552384.204890][21058:21060] CHIP:TOO: Endpoints: 1 entries |
| [1674552384.204894][21058:21060] CHIP:TOO: [1]: 0 |
| [1674552384.204898][21058:21060] CHIP:TOO: GroupName: gp6 |
| [1674552384.204901][21058:21060] CHIP:TOO: FabricIndex: 1 |
| [1674552384.204904][21058:21060] CHIP:TOO: } |
| [1674552384.204910][21058:21060] CHIP:TOO: [2]: { |
| [1674552384.204912][21058:21060] CHIP:TOO: GroupId: 7 |
| [1674552384.204915][21058:21060] CHIP:TOO: Endpoints: 1 entries |
| [1674552384.204918][21058:21060] CHIP:TOO: [1]: 0 |
| [1674552384.204921][21058:21060] CHIP:TOO: GroupName: gp7 |
| [1674552384.204923][21058:21060] CHIP:TOO: FabricIndex: 1 |
| [1674552384.204926][21058:21060] CHIP:TOO: } |
| [1674552384.204931][21058:21060] CHIP:TOO: [3]: { |
| [1674552384.204933][21058:21060] CHIP:TOO: GroupId: 8 |
| [1674552384.204936][21058:21060] CHIP:TOO: Endpoints: 1 entries |
| [1674552384.204939][21058:21060] CHIP:TOO: [1]: 0 |
| [1674552384.204941][21058:21060] CHIP:TOO: GroupName: gp8 |
| [1674552384.204944][21058:21060] CHIP:TOO: FabricIndex: 1 |
| [1674552384.204946][21058:21060] CHIP:TOO: } |
| [1674552384.204951][21058:21060] CHIP:TOO: [4]: { |
| [1674552384.204953][21058:21060] CHIP:TOO: GroupId: 9 |
| [1674552384.204956][21058:21060] CHIP:TOO: Endpoints: 1 entries |
| [1674552384.204959][21058:21060] CHIP:TOO: [1]: 0 |
| [1674552384.204962][21058:21060] CHIP:TOO: GroupName: gp9 |
| [1674552384.204964][21058:21060] CHIP:TOO: FabricIndex: 1 |
| [1674552384.204967][21058:21060] CHIP:TOO: } |
| disabled: true |
| |
| - label: "TH sends RemoveAllGroups command to DUT as unicast method" |
| PICS: G.S.C04.Rsp |
| verification: | |
| ./chip-tool groups remove-all-groups 1 0 |
| |
| Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1651224377.831704][2989:2994] CHIP:DMG: StatusIB = |
| [1651224377.831757][2989:2994] CHIP:DMG: { |
| [1651224377.831812][2989:2994] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1651224377.831866][2989:2994] CHIP:DMG: }, |
| [1651224377.832439][2989:2994] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0004 Status=0x0 |
| disabled: true |
| |
| - label: |
| "TH sends AddGroupIfIdentifying command to DUT as unicast method with |
| the following fields: GroupID as 0x0000 GroupName as Gp45" |
| PICS: G.S.C05.Rsp |
| verification: | |
| ./chip-tool groups add-group-if-identifying 0x0000 gp45 1 0 |
| |
| |
| Verify the "status is CONSTRAINT_ERROR" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1658307266.719438][3251:3256] CHIP:DMG: StatusIB = |
| [1658307266.719482][3251:3256] CHIP:DMG: { |
| [1658307266.719527][3251:3256] CHIP:DMG: status = 0x87 (CONSTRAINT_ERROR), |
| [1658307266.719573][3251:3256] CHIP:DMG: }, |
| disabled: true |
| |
| - label: |
| "TH sends AddGroupIfIdentifying command to DUT as unicast method with |
| the following fields: GroupId as 0x0046 GroupName as Gp46" |
| PICS: G.S.C05.Rsp |
| verification: | |
| ./chip-tool groups add-group-if-identifying 0x0045 gp46 1 0 |
| |
| Verify the "status is UNSUPPORTED_ACCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1658307298.568727][3257:3262] CHIP:DMG: StatusIB = |
| [1658307298.568761][3257:3262] CHIP:DMG: { |
| [1658307298.568807][3257:3262] CHIP:DMG: status = 0x7e (UNSUPPORTED_ACCESS), |
| [1658307298.568840][3257:3262] CHIP:DMG: }, |
| disabled: true |
| |
| - label: |
| "TH sends Identify command to DUT with the IdentifyTime as 0x0000 |
| (stop identifying)" |
| PICS: I.S.C00.Rsp |
| verification: | |
| ./chip-tool identify identify 0x0000 1 0 |
| |
| Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| [1658307387.097433][3268:3273] CHIP:DMG: StatusIB = |
| [1658307387.097464][3268:3273] CHIP:DMG: { |
| [1658307387.097502][3268:3273] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1658307387.097533][3268:3273] CHIP:DMG: }, |
| disabled: true |
| |
| - label: "TH reads immediately IdentifyTime attribute from DUT" |
| PICS: I.S.A0000 |
| verification: | |
| ./chip-tool identify read identify-time 1 0 |
| |
| Verify the "identify time" attribute value is 0x0000 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| |
| [1658307393.820520][3274:3279] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3871913767 |
| [1658307393.820575][3274:3279] CHIP:TOO: identify time: 0 |
| disabled: true |
| |
| - label: |
| "TH sends AddGroupIfIdentifying command to DUT as unicast method with |
| the following fields: GroupId as 0x0004 GroupName as Gp4" |
| PICS: G.S.C05.Rsp |
| verification: | |
| ./chip-tool groups add-group-if-identifying 0x0004 gp4 1 0 |
| |
| Verify the "status is SUCCESS" , GroupId is 0x0004 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| |
| [1651224746.146005][3038:3043] CHIP:DMG: StatusIB = |
| [1651224746.146038][3038:3043] CHIP:DMG: { |
| [1651224746.146073][3038:3043] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1651224746.146106][3038:3043] CHIP:DMG: }, |
| disabled: true |
| |
| - label: "TH reads GroupTable attribute from the GroupKeyManagement cluster" |
| PICS: GRPKEY.S.A0001 |
| verification: | |
| ./chip-tool groupkeymanagement read group-table 1 0 |
| |
| Verify the "grouptable entries is 0" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: |
| |
| |
| [1658317914.656772][4650:4655] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 3844079664 |
| [1658317914.656843][4650:4655] CHIP:TOO: GroupTable: 0 entries |
| disabled: true |