# 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: 3.1.1. [TC-BR-1] Basics of Bridging

PICS:
    - MCORE.BRIDGE

config:
    nodeId: 0x12344321
    cluster: "Basic"
    endpoint: 0

tests:
    - label:
          "Read attribute DeviceTypeList of the Descriptor cluster on endpoint 0"
      PICS: MCORE.BRIDGE
      verification: |
          ./chip-tool  descriptor read device-list 1 0

          Verify the attribute contains device type Root Node (Type-22) in TH(chip-tool) Log

          [1657002174.323780][3885:3890] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 3573910940
          [1657002174.323838][3885:3890] CHIP:TOO:   device list: 1 entries
          [1657002174.323919][3885:3890] CHIP:TOO:     [1]: {
          [1657002174.323961][3885:3890] CHIP:TOO:       Type: 22
          [1657002174.323989][3885:3890] CHIP:TOO:       Revision: 1
          [1657002174.324016][3885:3890] CHIP:TOO:      }
      disabled: true

    - label: "Read attribute PartsList of the Descriptor cluster on endpoint 0"
      verification: |
          ./chip-tool  descriptor read parts-list 1 0

          Verify the endpoints listed in TH(chip-tool) Log

          [1657002201.045720][3893:3899] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 3573910940
          [1657002201.045841][3893:3899] CHIP:TOO:   parts list: 12 entries
          [1657002201.045887][3893:3899] CHIP:TOO:     [1]: 1
          [1657002201.045925][3893:3899] CHIP:TOO:     [2]: 3
          [1657002201.045963][3893:3899] CHIP:TOO:     [3]: 4
          [1657002201.046000][3893:3899] CHIP:TOO:     [4]: 5
          [1657002201.046037][3893:3899] CHIP:TOO:     [5]: 6
          [1657002201.046073][3893:3899] CHIP:TOO:     [6]: 7
          [1657002201.046110][3893:3899] CHIP:TOO:     [7]: 8
          [1657002201.046147][3893:3899] CHIP:TOO:     [8]: 9
          [1657002201.046184][3893:3899] CHIP:TOO:     [9]: 10
          [1657002201.046221][3893:3899] CHIP:TOO:     [10]: 11
          [1657002201.046259][3893:3899] CHIP:TOO:     [11]: 12
          [1657002201.046296][3893:3899] CHIP:TOO:     [12]: 13
      disabled: true

    - label:
          "For each of the endpoints read in step 1b, read attribute
          DeviceTypeList of the Descriptor cluster on that endpoint"
      verification: |
          Verify  which of Those endpoints in The previous step results have a DeviceTypeList containing device type Aggregator (Type- 14) for all The following steps. in TH(chip-tool)

          ./chip-tool  descriptor read device-list 1 1

          Verify in TH(chip-tool) Log

          [1657002313.871608][3977:3982] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 3021853414
          [1657002313.871680][3977:3982] CHIP:TOO:   device list: 1 entries
          [1657002313.871740][3977:3982] CHIP:TOO:     [1]: {
          [1657002313.871788][3977:3982] CHIP:TOO:       Type: 14
          [1657002313.871821][3977:3982] CHIP:TOO:       Revision: 1
          [1657002313.871852][3977:3982] :TOOCHIP:      }


          ./chip-tool  descriptor read device-list 1 3

          Verify in TH(chip-tool) Log

          [1657002329.438065][3983:3988] CHIP:TOO: Endpoint: 3 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 2452512872
          [1657002329.438135][3983:3988] CHIP:TOO:   device list: 2 entries
          [1657002329.438193][3983:3988] CHIP:TOO:     [1]: {
          [1657002329.438238][3983:3988] CHIP:TOO:       Type: 256
          [1657002329.438269][3983:3988] CHIP:TOO:       Revision: 1
          [1657002329.438298][3983:3988] CHIP:TOO:      }
          [1657002329.438332][3983:3988] CHIP:TOO:     [2]: {
          [1657002329.438360][3983:3988] CHIP:TOO:       Type: 19
          [1657002329.438389][3983:3988] CHIP:TOO:       Revision: 1
          [1657002329.438416][3983:3988] CHIP:TOO:      }


          ./chip-tool  descriptor read device-list 1 4

          Verify in TH(chip-tool) Log

          [1659351082.975711][12107:12112] CHIP:TOO: Endpoint: 4 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 3999956962
          [1659351082.975821][12107:12112] CHIP:TOO:   device list: 2 entries
          [1659351082.975883][12107:12112] CHIP:TOO:     [1]: {
          [1659351082.975929][12107:12112] CHIP:TOO:       Type: 770
          [1659351082.975973][12107:12112] CHIP:TOO:       Revision: 1
          [1659351082.976015][12107:12112] CHIP:TOO:      }
          [1659351082.976066][12107:12112] CHIP:TOO:     [2]: {
          [1659351082.976109][12107:12112] CHIP:TOO:       Type: 19
          [1659351082.976150][12107:12112] CHIP:TOO:       Revision: 1
          [1659351082.976191][12107:12112] CHIP:TOO:      }




          ./chip-tool  descriptor read device-list 1 5

          Verify in TH(chip-tool) Log

          [1659351100.369601][12113:12118] CHIP:TOO: Endpoint: 5 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 3187411685
          [1659351100.369695][12113:12118] CHIP:TOO:   device list: 2 entries
          [1659351100.369746][12113:12118] CHIP:TOO:     [1]: {
          [1659351100.369781][12113:12118] CHIP:TOO:       Type: 770
          [1659351100.369816][12113:12118] CHIP:TOO:       Revision: 1
          [1659351100.369849][12113:12118] CHIP:TOO:      }
          [1659351100.369889][12113:12118] CHIP:TOO:     [2]: {
          [1659351100.369923][12113:12118] CHIP:TOO:       Type: 19
          [1659351100.369955][12113:12118] CHIP:TOO:       Revision: 1
          [1659351100.369988][12113:12118] CHIP:TOO:      }



          ./chip-tool  descriptor read device-list 1 6

          Verify in TH(chip-tool) Log


          [1659351102.837218][12119:12124] CHIP:TOO: Endpoint: 6 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 1173571869
          [1659351102.837357][12119:12124] CHIP:TOO:   device list: 1 entries
          [1659351102.837437][12119:12124] CHIP:TOO:     [1]: {
          [1659351102.837496][12119:12124] CHIP:TOO:       Type: 19
          [1659351102.837554][12119:12124] CHIP:TOO:       Revision: 1
          [1659351102.837610][12119:12124] CHIP:TOO:      }
          [1659351102.837789][12119:12124] CHIP:EM: Sending Standalone Ack for MessageCounter:92381172 on exchange 45312i




          ./chip-tool  descriptor read device-list 1 7

          Verify in TH(chip-tool) Log

          [1659351105.133982][12125:12130] CHIP:TOO: Endpoint: 7 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 1309892739
          [1659351105.134087][12125:12130] CHIP:TOO:   device list: 1 entries
          [1659351105.134148][12125:12130] CHIP:TOO:     [1]: {
          [1659351105.134192][12125:12130] CHIP:TOO:       Type: 770
          [1659351105.134236][12125:12130] CHIP:TOO:       Revision: 1
          [1659351105.134277][12125:12130] CHIP:TOO:      }
          [1659351105.134419][12125:12130] CHIP:EM: Sending Standalone Ack for MessageCounter:88821004 on exchange 41639i




          ./chip-tool  descriptor read device-list 1 8

          Verify in TH(chip-tool) Log

          [1659351107.202771][12131:12136] CHIP:TOO: Endpoint: 8 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 929721508
          [1659351107.202850][12131:12136] CHIP:TOO:   device list: 1 entries
          [1659351107.202887][12131:12136] CHIP:TOO:     [1]: {
          [1659351107.202912][12131:12136] CHIP:TOO:       Type: 770
          [1659351107.202937][12131:12136] CHIP:TOO:       Revision: 1
          [1659351107.202961][12131:12136] CHIP:TOO:      }
          [1659351107.203062][12131:12136] CHIP:EM: Sending Standalone Ack for MessageCounter:193017490 on exchange 10260i




          ./chip-tool  descriptor read device-list 1 9

          Verify in TH(chip-tool) Log

          [1657002455.445818][4040:4045] CHIP:TOO: Endpoint: 9 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 913116116
          [1657002455.445883][4040:4045] CHIP:TOO:   device list: 1 entries
          [1657002455.445944][4040:4045] CHIP:TOO:     [1]: {
          [1657002455.445991][4040:4045] CHIP:TOO:       Type: 17
          [1657002455.446025][4040:4045] CHIP:TOO:       Revision: 1
          [1657002455.446056][4040:4045] CHIP:TOO:      }



          ./chip-tool  descriptor read device-list 1 10

          Verify in TH(chip-tool) Log

          [1657002473.100910][4047:4052] CHIP:TOO: Endpoint: 10 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 259205426
          [1657002473.100967][4047:4052] CHIP:TOO:   device list: 2 entries
          [1657002473.101013][4047:4052] CHIP:TOO:     [1]: {
          [1657002473.101051][4047:4052] CHIP:TOO:       Type: 256
          [1657002473.101076][4047:4052] CHIP:TOO:       Revision: 1
          [1657002473.101098][4047:4052] CHIP:TOO:      }
          [1657002473.101126][4047:4052] CHIP:TOO:     [2]: {
          [1657002473.101148][4047:4052] CHIP:TOO:       Type: 19
          [1657002473.101170][4047:4052] CHIP:TOO:       Revision: 1
          [1657002473.101192][4047:4052] CHIP:TOO:      }


          ./chip-tool  descriptor read device-list 1 11

          Verify in TH(chip-tool) Log

          [1657002495.856770][4061:4066] CHIP:TOO: Endpoint: 11 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 4248421677
          [1657002495.856836][4061:4066] CHIP:TOO:   device list: 2 entries
          [1657002495.856893][4061:4066] CHIP:TOO:     [1]: {
          [1657002495.856938][4061:4066] CHIP:TOO:       Type: 256
          [1657002495.856968][4061:4066] CHIP:TOO:       Revision: 1
          [1657002495.856996][4061:4066] CHIP:TOO:      }
          [1657002495.857030][4061:4066] CHIP:TOO:     [2]: {
          [1657002495.857058][4061:4066] CHIP:TOO:       Type: 19
          [1657002495.857085][4061:4066] CHIP:TOO:       Revision: 1
          [1657002495.857112][4061:4066] CHIP:TOO:      }



          ./chip-tool  descriptor read device-list 1 12

          Verify in TH(chip-tool) Log

          [1657002515.862187][4073:4078] CHIP:TOO: Endpoint: 12 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 2731599835
          [1657002515.862249][4073:4078] CHIP:TOO:   device list: 2 entries
          [1657002515.862302][4073:4078] CHIP:TOO:     [1]: {
          [1657002515.862343][4073:4078] CHIP:TOO:       Type: 256
          [1657002515.862372][4073:4078] CHIP:TOO:       Revision: 1
          [1657002515.862398][4073:4078] CHIP:TOO:      }
          [1657002515.862429][4073:4078] CHIP:TOO:     [2]: {
          [1657002515.862455][4073:4078] CHIP:TOO:       Type: 19
          [1657002515.862480][4073:4078] CHIP:TOO:       Revision: 1
          [1657002515.862504][4073:4078] CHIP:TOO:      }



          ./chip-tool  descriptor read device-list 1 13

          Verify in TH(chip-tool) Log

          [1657002538.134605][4097:4102] CHIP:TOO: Endpoint: 13 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 3449178249
          [1657002538.134700][4097:4102] CHIP:TOO:   device list: 2 entries
          [1657002538.134784][4097:4102] CHIP:TOO:     [1]: {
          [1657002538.134869][4097:4102] CHIP:TOO:       Type: 256
          [1657002538.134916][4097:4102] CHIP:TOO:       Revision: 1
          [1657002538.134973][4097:4102] CHIP:TOO:      }
          [1657002538.135025][4097:4102] CHIP:TOO:     [2]: {
          [1657002538.135083][4097:4102] CHIP:TOO:       Type: 19
          [1657002538.135126][4097:4102] CHIP:TOO:       Revision: 1
          [1657002538.135166][4097:4102] CHIP:TOO:      }
      disabled: true

    - label:
          "Read attribute PartsList of the Descriptor cluster on endpoint found
          in step 1c"
      PICS: MCORE.BRIDGE
      verification: |
          Read attribute PartsList of the Descriptor cluster on endpoint found in step 1c step

          ./chip-tool  descriptor read parts-list 1 1

          Verify the list contains 11 entries in TH(chip-tool) Log

          [1657002810.697118][4121:4126] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_001D Attribute 0x0000_0003 DataVersion: 3021853414
          [1657002810.697276][4121:4126] CHIP:TOO:   parts list: 11 entries
          [1657002810.697312][4121:4126] CHIP:TOO:     [1]: 3
          [1657002810.697342][4121:4126] CHIP:TOO:     [2]: 4
          [1657002810.697370][4121:4126] CHIP:TOO:     [3]: 5
          [1657002810.697397][4121:4126] CHIP:TOO:     [4]: 6
          [1657002810.697425][4121:4126] CHIP:TOO:     [5]: 7
          [1657002810.697453][4121:4126] CHIP:TOO:     [6]: 8
          [1657002810.697480][4121:4126] CHIP:TOO:     [7]: 9
          [1657002810.697508][4121:4126] CHIP:TOO:     [8]: 10
          [1657002810.697536][4121:4126] CHIP:TOO:     [9]: 11
          [1657002810.697564][4121:4126] CHIP:TOO:     [10]: 12
          [1657002810.697592][4121:4126] CHIP:TOO:     [11]: 13
      disabled: true

    - label:
          "For each of the endpoints found in this PartsList attribute, read the
          DeviceTypeList attribute in the Descriptor cluster on such endpoint,
          and select those endpoints which have (at least) a device type of
          Bridged Node in their DeviceTypeList"
      verification: |
          Verify device type has either Bridged node (0x0013), i.e.,  Type=19

          Verify in TH(chip-tool) Log

          ./chip-tool  descriptor read device-list 1 3
          [1657002843.395988][4135:4140] CHIP:TOO: Endpoint: 3 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 2452512872
          [1657002843.396058][4135:4140] CHIP:TOO:   device list: 2 entries
          [1657002843.396112][4135:4140] CHIP:TOO:     [1]: {
          [1657002843.396154][4135:4140] CHIP:TOO:       Type: 256
          [1657002843.396204][4135:4140] CHIP:TOO:       Revision: 1
          [1657002843.396232][4135:4140] CHIP:TOO:      }
          [1657002843.396265][4135:4140] CHIP:TOO:     [2]: {
          [1657002843.396291][4135:4140] CHIP:TOO:       Type: 19
          [1657002843.396317][4135:4140] CHIP:TOO:       Revision: 1
          [1657002843.396342][4135:4140] CHIP:TOO:      }

           ./chip-tool  descriptor read device-list 1 4

          Verify in TH(chip-tool) Log

          [1659351082.975711][12107:12112] CHIP:TOO: Endpoint: 4 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 3999956962
          [1659351082.975821][12107:12112] CHIP:TOO:   device list: 2 entries
          [1659351082.975883][12107:12112] CHIP:TOO:     [1]: {
          [1659351082.975929][12107:12112] CHIP:TOO:       Type: 770
          [1659351082.975973][12107:12112] CHIP:TOO:       Revision: 1
          [1659351082.976015][12107:12112] CHIP:TOO:      }
          [1659351082.976066][12107:12112] CHIP:TOO:     [2]: {
          [1659351082.976109][12107:12112] CHIP:TOO:       Type: 19
          [1659351082.976150][12107:12112] CHIP:TOO:       Revision: 1
          [1659351082.976191][12107:12112] CHIP:TOO:      }




          ./chip-tool  descriptor read device-list 1 5

          Verify in TH(chip-tool) Log

          [1659351100.369601][12113:12118] CHIP:TOO: Endpoint: 5 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 3187411685
          [1659351100.369695][12113:12118] CHIP:TOO:   device list: 2 entries
          [1659351100.369746][12113:12118] CHIP:TOO:     [1]: {
          [1659351100.369781][12113:12118] CHIP:TOO:       Type: 770
          [1659351100.369816][12113:12118] CHIP:TOO:       Revision: 1
          [1659351100.369849][12113:12118] CHIP:TOO:      }
          [1659351100.369889][12113:12118] CHIP:TOO:     [2]: {
          [1659351100.369923][12113:12118] CHIP:TOO:       Type: 19
          [1659351100.369955][12113:12118] CHIP:TOO:       Revision: 1
          [1659351100.369988][12113:12118] CHIP:TOO:      }



          ./chip-tool  descriptor read device-list 1 6

          Verify in TH(chip-tool) Log


          [1659351102.837218][12119:12124] CHIP:TOO: Endpoint: 6 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 1173571869
          [1659351102.837357][12119:12124] CHIP:TOO:   device list: 1 entries
          [1659351102.837437][12119:12124] CHIP:TOO:     [1]: {
          [1659351102.837496][12119:12124] CHIP:TOO:       Type: 19
          [1659351102.837554][12119:12124] CHIP:TOO:       Revision: 1
          [1659351102.837610][12119:12124] CHIP:TOO:      }
          [1659351102.837789][12119:12124] CHIP:EM: Sending Standalone Ack for MessageCounter:92381172 on exchange 45312i




          ./chip-tool  descriptor read device-list 1 7

          Verify in TH(chip-tool) Log

          [1659351105.133982][12125:12130] CHIP:TOO: Endpoint: 7 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 1309892739
          [1659351105.134087][12125:12130] CHIP:TOO:   device list: 1 entries
          [1659351105.134148][12125:12130] CHIP:TOO:     [1]: {
          [1659351105.134192][12125:12130] CHIP:TOO:       Type: 770
          [1659351105.134236][12125:12130] CHIP:TOO:       Revision: 1
          [1659351105.134277][12125:12130] CHIP:TOO:      }
          [1659351105.134419][12125:12130] CHIP:EM: Sending Standalone Ack for MessageCounter:88821004 on exchange 41639i




          ./chip-tool  descriptor read device-list 1 8

          Verify in TH(chip-tool) Log

          [1659351107.202771][12131:12136] CHIP:TOO: Endpoint: 8 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 929721508
          [1659351107.202850][12131:12136] CHIP:TOO:   device list: 1 entries
          [1659351107.202887][12131:12136] CHIP:TOO:     [1]: {
          [1659351107.202912][12131:12136] CHIP:TOO:       Type: 770
          [1659351107.202937][12131:12136] CHIP:TOO:       Revision: 1
          [1659351107.202961][12131:12136] CHIP:TOO:      }
          [1659351107.203062][12131:12136] CHIP:EM: Sending Standalone Ack for MessageCounter:193017490 on exchange 10260i




          ./chip-tool  descriptor read device-list 1 9

          Verify in TH(chip-tool) Log

          [1657002455.445818][4040:4045] CHIP:TOO: Endpoint: 9 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 913116116
          [1657002455.445883][4040:4045] CHIP:TOO:   device list: 1 entries
          [1657002455.445944][4040:4045] CHIP:TOO:     [1]: {
          [1657002455.445991][4040:4045] CHIP:TOO:       Type: 17
          [1657002455.446025][4040:4045] CHIP:TOO:       Revision: 1
          [1657002455.446056][4040:4045] CHIP:TOO:      }



          ./chip-tool  descriptor read device-list 1 10

          Verify in TH(chip-tool) Log

          [1657002473.100910][4047:4052] CHIP:TOO: Endpoint: 10 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 259205426
          [1657002473.100967][4047:4052] CHIP:TOO:   device list: 2 entries
          [1657002473.101013][4047:4052] CHIP:TOO:     [1]: {
          [1657002473.101051][4047:4052] CHIP:TOO:       Type: 256
          [1657002473.101076][4047:4052] CHIP:TOO:       Revision: 1
          [1657002473.101098][4047:4052] CHIP:TOO:      }
          [1657002473.101126][4047:4052] CHIP:TOO:     [2]: {
          [1657002473.101148][4047:4052] CHIP:TOO:       Type: 19
          [1657002473.101170][4047:4052] CHIP:TOO:       Revision: 1
          [1657002473.101192][4047:4052] CHIP:TOO:      }


          ./chip-tool  descriptor read device-list 1 11

          Verify in TH(chip-tool) Log

          [1657002495.856770][4061:4066] CHIP:TOO: Endpoint: 11 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 4248421677
          [1657002495.856836][4061:4066] CHIP:TOO:   device list: 2 entries
          [1657002495.856893][4061:4066] CHIP:TOO:     [1]: {
          [1657002495.856938][4061:4066] CHIP:TOO:       Type: 256
          [1657002495.856968][4061:4066] CHIP:TOO:       Revision: 1
          [1657002495.856996][4061:4066] CHIP:TOO:      }
          [1657002495.857030][4061:4066] CHIP:TOO:     [2]: {
          [1657002495.857058][4061:4066] CHIP:TOO:       Type: 19
          [1657002495.857085][4061:4066] CHIP:TOO:       Revision: 1
          [1657002495.857112][4061:4066] CHIP:TOO:      }



          ./chip-tool  descriptor read device-list 1 12

          Verify in TH(chip-tool) Log

          [1657002515.862187][4073:4078] CHIP:TOO: Endpoint: 12 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 2731599835
          [1657002515.862249][4073:4078] CHIP:TOO:   device list: 2 entries
          [1657002515.862302][4073:4078] CHIP:TOO:     [1]: {
          [1657002515.862343][4073:4078] CHIP:TOO:       Type: 256
          [1657002515.862372][4073:4078] CHIP:TOO:       Revision: 1
          [1657002515.862398][4073:4078] CHIP:TOO:      }
          [1657002515.862429][4073:4078] CHIP:TOO:     [2]: {
          [1657002515.862455][4073:4078] CHIP:TOO:       Type: 19
          [1657002515.862480][4073:4078] CHIP:TOO:       Revision: 1
          [1657002515.862504][4073:4078] CHIP:TOO:      }



          ./chip-tool  descriptor read device-list 1 13

          Verify in TH(chip-tool) Log

          [1657002538.134605][4097:4102] CHIP:TOO: Endpoint: 13 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 3449178249
          [1657002538.134700][4097:4102] CHIP:TOO:   device list: 2 entries
          [1657002538.134784][4097:4102] CHIP:TOO:     [1]: {
          [1657002538.134869][4097:4102] CHIP:TOO:       Type: 256
          [1657002538.134916][4097:4102] CHIP:TOO:       Revision: 1
          [1657002538.134973][4097:4102] CHIP:TOO:      }
          [1657002538.135025][4097:4102] CHIP:TOO:     [2]: {
          [1657002538.135083][4097:4102] CHIP:TOO:       Type: 19
          [1657002538.135126][4097:4102] CHIP:TOO:       Revision: 1
          [1657002538.135166][4097:4102] CHIP:TOO:      }
      disabled: true

    - label:
          "For each of the endpoints for the bridged devices found in step 2b,
          perform the tests for Bridged Device Basic Information cluster"
      PICS: MCORE.BRIDGE
      verification: |
          For Bridged Device Basic Information cluster, ref the test plan (https://github.com/CHIP-Specifications/chip-test-plans/blob/master/src/cluster/bridged_device_basic_information.adoc)

           ./chip-tool bridgeddevicebasic read reachable 1 3

          Verify reachable attribute is read successfully in TH(chip-tool) Log

          [1657003614.269096][4564:4569] CHIP:TOO: Endpoint: 3 Cluster: 0x0000_0039 Attribute 0x0000_0011 DataVersion: 1897994097
          [1657003614.269155][4564:4569] CHIP:TOO:   Reachable: TRUE

          ./chip-tool bridgeddevicebasic read node-label 1 4

          Verify Verify Node-label is read sucessfully in TH(chip-tool) Log

          [1657003598.573764][4552:4557] CHIP:TOO: Endpoint: 4 Cluster: 0x0000_0039 Attribute 0x0000_0005 DataVersion: 3722118563
          [1657003598.573811][4552:4557] CHIP:TOO:   NodeLabel: Switch 1
      disabled: true

    - label:
          "For each of the endpoints found in step 2b, if a Power Source
          Configuration cluster is present on this endpoint, perform the tests
          for this Power Source Configuration cluster plus the tests for the
          Power Source clusters at the endpoint(s) which this Power Source
          Configuration cluster refers to"
      PICS: MCORE.BRIDGE && MCORE.BRIDGE.BatInfo
      verification: |
          For Power Source Configuration and Power Source clusters, ref the  test plan - Link  Link2

          None of the endpoints listed in step 2b supports Power Source Configuration cluster and Power Source cluster.

          If any device lists the PS configuration, then below sample command needs to be executed for all the attributes for the endpoint listed in 2b
          ./chip-tool powersourceconfiguration read sources 1 0
          ./chip-tool powersource read status 1 1
      disabled: true

    - label:
          "For each of the endpoints found in step 2b, from the DeviceTypeList
          attribute in their Descriptor cluster, derive the (application) device
          type(s) of the bridged device"
      PICS: MCORE.BRIDGE
      verification: |
          Verify the device-list attribute has devicetype application e.g., 0x0100 = 256(on/off light),0x0302=770( temperature sensor)


          ./chip-tool descriptor read device-list 1 3

          Verify in TH(chip-tool) Log

          [1657003925.553294][4664:4669] CHIP:TOO: Endpoint: 3 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 2452512872
          [1657003925.553368][4664:4669] CHIP:TOO:   device list: 2 entries
          [1657003925.553430][4664:4669] CHIP:TOO:     [1]: {
          [1657003925.553492][4664:4669] CHIP:TOO:       Type: 256
          [1657003925.553527][4664:4669] CHIP:TOO:       Revision: 1
          [1657003925.553557][4664:4669] CHIP:TOO:      }
          [1657003925.553608][4664:4669] CHIP:TOO:     [2]: {
          [1657003925.553638][4664:4669] CHIP:TOO:       Type: 19
          [1657003925.553682][4664:4669] CHIP:TOO:       Revision: 1
          [1657003925.553714][4664:4669] CHIP:TOO:      }



          ./chip-tool descriptor read device-list 1 4

          Verify in TH(chip-tool) Log

          [1659350396.878528][11929:11934] CHIP:TOO: Endpoint: 4 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 3398096270
          [1659350396.878598][11929:11934] CHIP:TOO:   device list: 2 entries
          [1659350396.878635][11929:11934] CHIP:TOO:     [1]: {
          [1659350396.878661][11929:11934] CHIP:TOO:       Type: 770
          [1659350396.878688][11929:11934] CHIP:TOO:       Revision: 1
          [1659350396.878712][11929:11934] CHIP:TOO:      }
          [1659350396.878741][11929:11934] CHIP:TOO:     [2]: {
          [1659350396.878765][11929:11934] CHIP:TOO:       Type: 19
          [1659350396.878789][11929:11934] CHIP:TOO:       Revision: 1
          [1659350396.878812][11929:11934] CHIP:TOO:      }



          ./chip-tool descriptor read device-list 1 5

          Verify in TH(chip-tool) Log

          [1659350678.671359][11991:11996] CHIP:TOO: Endpoint: 5 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 3750503881
          [1659350678.671437][11991:11996] CHIP:TOO:   device list: 2 entries
          [1659350678.671475][11991:11996] CHIP:TOO:     [1]: {
          [1659350678.671500][11991:11996] CHIP:TOO:       Type: 770
          [1659350678.671525][11991:11996] CHIP:TOO:       Revision: 1
          [1659350678.671548][11991:11996] CHIP:TOO:      }
          [1659350678.671577][11991:11996] CHIP:TOO:     [2]: {
          [1659350678.671601][11991:11996] CHIP:TOO:       Type: 19
          [1659350678.671624][11991:11996] CHIP:TOO:       Revision: 1
          [1659350678.671647][11991:11996] CHIP:TOO:      }



          ./chip-tool descriptor read device-list 1 6

          Verify in TH(chip-tool) Log

          [1659350682.392346][11997:12002] CHIP:TOO: Endpoint: 6 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 2160703024
          [1659350682.392416][11997:12002] CHIP:TOO:   device list: 1 entries
          [1659350682.392455][11997:12002] CHIP:TOO:     [1]: {
          [1659350682.392481][11997:12002] CHIP:TOO:       Type: 19
          [1659350682.392507][11997:12002] CHIP:TOO:       Revision: 1
          [1659350682.392532][11997:12002] CHIP:TOO:      }
          [1659350682.392626][11997:12002] CHIP:EM: Sending Standalone Ack for MessageCounter:39744651 on exchange 45824i



          ./chip-tool descriptor read device-list 1 10

          Verify in TH(chip-tool) Log

          [1657004074.939061][4704:4709] CHIP:TOO: Endpoint: 10 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 259205426
          [1657004074.939126][4704:4709] CHIP:TOO:   device list: 2 entries
          [1657004074.939178][4704:4709] CHIP:TOO:     [1]: {
          [1657004074.939221][4704:4709] CHIP:TOO:       Type: 256
          [1657004074.939250][4704:4709] CHIP:TOO:       Revision: 1
          [1657004074.939272][4704:4709] CHIP:TOO:      }
          [1657004074.939298][4704:4709] CHIP:TOO:     [2]: {
          [1657004074.939320][4704:4709] CHIP:TOO:       Type: 19
          [1657004074.939340][4704:4709] CHIP:TOO:       Revision: 1
          [1657004074.939361][4704:4709] CHIP:TOO:      }


          ./chip-tool descriptor read device-list 1 11

          Verify in TH(chip-tool) Log

          [1657004114.075998][4725:4730] CHIP:TOO: Endpoint: 11 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 4248421677
          [1657004114.076073][4725:4730] CHIP:TOO:   device list: 2 entries
          [1657004114.076130][4725:4730] CHIP:TOO:     [1]: {
          [1657004114.076209][4725:4730] CHIP:TOO:       Type: 256
          [1657004114.076342][4725:4730] CHIP:TOO:       Revision: 1
          [1657004114.076372][4725:4730] CHIP:TOO:      }
          [1657004114.076407][4725:4730] CHIP:TOO:     [2]: {
          [1657004114.076435][4725:4730] CHIP:TOO:       Type: 19
          [1657004114.076474][4725:4730] CHIP:TOO:       Revision: 1
          [1657004114.076503][4725:4730] CHIP:TOO:      }


          ./chip-tool descriptor read device-list 1 12

          Verify in TH(chip-tool) Log

          [1657004134.659723][4737:4742] CHIP:TOO: Endpoint: 12 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 2731599835
          [1657004134.659785][4737:4742] CHIP:TOO:   device list: 2 entries
          [1657004134.659835][4737:4742] CHIP:TOO:     [1]: {
          [1657004134.659875][4737:4742] CHIP:TOO:       Type: 256
          [1657004134.659901][4737:4742] CHIP:TOO:       Revision: 1
          [1657004134.659925][4737:4742] CHIP:TOO:      }
          [1657004134.659953][4737:4742] CHIP:TOO:     [2]: {
          [1657004134.659977][4737:4742] CHIP:TOO:       Type: 19
          [1657004134.660001][4737:4742] CHIP:TOO:       Revision: 1
          [1657004134.660023][4737:4742] CHIP:TOO:      }


          ./chip-tool descriptor read device-list 1 13

          Verify in TH(chip-tool) Log

          [1657004152.758221][4749:4754] CHIP:TOO: Endpoint: 13 Cluster: 0x0000_001D Attribute 0x0000_0000 DataVersion: 3449178249
          [1657004152.758277][4749:4754] CHIP:TOO:   device list: 2 entries
          [1657004152.758323][4749:4754] CHIP:TOO:     [1]: {
          [1657004152.758359][4749:4754] CHIP:TOO:       Type: 256
          [1657004152.758384][4749:4754] CHIP:TOO:       Revision: 1
          [1657004152.758406][4749:4754] CHIP:TOO:      }
          [1657004152.758433][4749:4754] CHIP:TOO:     [2]: {
          [1657004152.758456][4749:4754] CHIP:TOO:       Type: 19
          [1657004152.758478][4749:4754] CHIP:TOO:       Revision: 1
          [1657004152.758500][4749:4754] CHIP:TOO:      }
      disabled: true

    - label:
          "From the list acquired in step 5, choose one of the bridged devices
          which is an actuator (e.g. light, window covering)"
      PICS: MCORE.BRIDGE
      verification: |
          From Step 5 output , choose one of the device type and identfy the device from the device librray.
          For Ex: on-off cluster has been taken as example to run tfurther steps
      disabled: true

    - label:
          "Read the state of this bridged device (through Matter), e.g. on/off,
          brightness"
      verification: |
          ./chip-tool onoff read on-off 1 3

          Verify the actual state of the bridged device in TH(chip-tool) Log

          [1657004454.213279][4792:4798] CHIP:TOO: Endpoint: 3 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 3808303315
          [1657004454.213319][4792:4798] CHIP:TOO:   OnOff: FALSE
      disabled: true

    - label:
          "Change the state of this bridged device (through Matter), e.g. change
          its brightness or toggle its on/off state"
      verification: |
          ./chip-tool onoff toggle 1 3


          Verify state change response of the bridged device in TH(chip-tool) Log

          [1657522278.539407][16698:16703] CHIP:DMG: {
          [1657522278.539447][16698:16703] CHIP:DMG:         suppressResponse = false,
          [1657522278.539495][16698:16703] CHIP:DMG:         InvokeResponseIBs =
          [1657522278.539545][16698:16703] CHIP:DMG:         [
          [1657522278.539585][16698:16703] CHIP:DMG:                 InvokeResponseIB =
          [1657522278.539641][16698:16703] CHIP:DMG:                 {
          [1657522278.539688][16698:16703] CHIP:DMG:                         CommandStatusIB =
          [1657522278.539746][16698:16703] CHIP:DMG:                         {
          [1657522278.539795][16698:16703] CHIP:DMG:                                 CommandPathIB =
          [1657522278.539856][16698:16703] CHIP:DMG:                                 {
          [1657522278.539912][16698:16703] CHIP:DMG:                                         EndpointId = 0x3,
          [1657522278.539977][16698:16703] CHIP:DMG:                                         ClusterId = 0x6,
          [1657522278.540039][16698:16703] CHIP:DMG:                                         CommandId = 0x2,
          [1657522278.540097][16698:16703] CHIP:DMG:                                 },
          [1657522278.540162][16698:16703] CHIP:DMG:
          [1657522278.540214][16698:16703] CHIP:DMG:                                 StatusIB =
          [1657522278.540276][16698:16703] CHIP:DMG:                                 {
          [1657522278.540332][16698:16703] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1657522278.540386][16698:16703] CHIP:DMG:                                 },
          [1657522278.540446][16698:16703] CHIP:DMG:
          [1657522278.540499][16698:16703] CHIP:DMG:                         },
          [1657522278.540560][16698:16703] CHIP:DMG:
          [1657522278.540605][16698:16703] CHIP:DMG:                 },
          [1657522278.540658][16698:16703] CHIP:DMG:
          [1657522278.540696][16698:16703] CHIP:DMG:         ],
          [1657522278.540744][16698:16703] CHIP:DMG:
          [1657522278.540783][16698:16703] CHIP:DMG:         InteractionModelRevision = 1
          [1657522278.540825][16698:16703] CHIP:DMG: },
          [1657522278.540916][16698:16703] CHIP:DMG: Received Command Response Status for Endpoint=3 Cluster=0x0000_0006 Command=0x0000_0002 Status=0x0
          [1657522278.540981][16698:16703] CHIP:DMG: ICR moving to [AwaitingDe]
      disabled: true

    - label: "Read the state of this bridged device (through Matter), as in 6b"
      verification: |
          ./chip-tool onoff read on-off 1 3

          Verify the value of onoff matches the value of onoff in step 6c in TH(chip-tool) Log

          [1657004565.254591][4804:4809] CHIP:TOO: Endpoint: 3 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 3808303316
          [1657004565.254635][4804:4809] CHIP:TOO:   OnOff: TRUE
      disabled: true

    - label:
          "From the list acquired in step 5, choose one of the bridged devices
          which is a sensor (e.g. occupancy sensor, contact sensor, temperature
          sensor)"
      PICS: MCORE.BRIDGE
      verification: |
          From Step 5 output , choose one of the sensor device type and identfy the device from the device librray.
          For Ex:  temperature sensor, being added to bridge-app as example to run further steps
      disabled: true

    - label:
          "Read the state of this bridged device (through Matter), e.g.
          occupancy status, contact status, current temperature"
      verification: |
          ./chip-tool temperaturemeasurement read measured-value 1 4

          [1659351487.005743][12201:12207] CHIP:TOO: Endpoint: 4 Cluster: 0x0000_0402 Attribute 0x0000_0000 DataVersion: 2406690152
          [1659351487.005831][12201:12207] CHIP:TOO:   MeasuredValue: 100
          [1659351487.005924][12201:12207] CHIP:EM: Sending Standalone Ack for MessageCounter:236763897 on exchange 8128i
      disabled: true

    - label:
          "Change the state of this sensor (e.g. cover the occupancy sensor,
          open the contact sensor, heat the temperature sensor)"
      verification: |
          Press a key "t" on bridge-app to change the simulated temperature

          [1659351537.115828][14237:14242] CHIP:DL: TempSensorDevice[TempSensor 1]: New measurement="200"
          [1659351537.115987][14237:14242] CHIP:DL: TempSensorDevice[TempSensor 2]: New measurement="200"
          [1659351537.116097][14237:14242] CHIP:DL: TempSensorDevice[Composed TempSensor 1]: New measurement="200"
          [1659351537.116158][14237:14237] CHIP:DMG: Endpoint 4, Cluster 0x0000_0402 update version to 8f732d69
          [1659351537.116300][14237:14237] CHIP:DMG: Endpoint 5, Cluster 0x0000_0402 update version to 36be37c5
          [1659351537.116393][14237:14237] CHIP:DMG: Endpoint 7, Cluster 0x0000_0402 update version to 2cf2064d
          [1659351537.116179][14237:14242] CHIP:DL: TempSensorDevice[Composed TempSensor 2]: New measurement="200"
      disabled: true

    - label: "Read the state of this bridged device again, as in 7b"
      verification: |
          ./chip-tool temperaturemeasurement read measured-value 1 4

          expect to get a different value than step 7b
          [1659351542.393349][12212:12217] CHIP:TOO: Endpoint: 4 Cluster: 0x0000_0402 Attribute 0x0000_0000 DataVersion: 2406690153
          [1659351542.393429][12212:12217] CHIP:TOO:   MeasuredValue: 200
          [1659351542.393552][12212:12217] CHIP:EM: Sending Standalone Ack for MessageCounter:120981971 on exchange 25924i
      disabled: true
