# 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:
    4.1.12. [TC-CADMIN-1.12] Open commissioning window on DUT twice using ECM
    then BCM [DUT - Commissioner]

PICS:
    - CADMIN.C

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

tests:
    - label: "DUT_CR1 starts a commissioning process with TH_CE"
      PICS: CADMIN.C
      verification: |
          "1. Provision the device using your DUT controller (use above instructions) ,
          "
      disabled: true

    - label:
          "DUT_CR1 sends command to TH_CE to open a commissioning window with a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM and
          TH_CR3 Commissions with TH_CE"
      PICS: CADMIN.C.C00.Tx
      verification: |
          On your first controller, open commissioning window using ECM

          Below is the example is using chip tool as controller
          ./chip-tool pairing open-commissioning-window 1 1 300 1000 3840

          [1635874557.409509][4549:4554] CHIP:SC: Success status report received. Session was established
          [1635874557.409553][4549:4554] CHIP:IN: New secure session created for device 0x0000000000000001, key 76!!
          [1635874557.409649][4549:4554] CHIP:CTL: OpenCommissioningWindow for device ID 1
          [1635874557.416929][4549:4554] CHIP:DMG: ICR moving to [AddingComm]
          [1635874557.417092][4549:4554] CHIP:DMG: ICR moving to [AddedComma]
          [1635874557.417215][4549:4554] CHIP:IN: Prepared encrypted message 0xaaaac5947d10 to 0x0000000000000001 of type 0x8 and protocolId (0, 1) on exchange 5541i with MessageCounter:0.
          [1635874557.417271][4549:4554] CHIP:IN: Sending encrypted msg 0xaaaac5947d10 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 16129075 msec
          [1635874557.417449][4549:4554] CHIP:DMG: ICR moving to [CommandSen]
          [1635874557.417505][4549:4554] CHIP:CTL: Manual pairing code: [35484132896]
          [1635874557.417577][4549:4554] CHIP:CTL: SetupQRCode: [MT:00000CQM00AT-F5A510]



          On 3rd controller using chip tool connect using manual code

          ./chip-tool pairing code 1 35484132896

          Verify you got below message
          Device commissioning completed with success
      disabled: true

    - label:
          "DUT_CR1 sends command to TH_CE to open a commissioning window with a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM and
          TH_CR2 Commissions with TH_CE"
      PICS: CADMIN.C.C00.Tx
      verification: |
          On your first controller, open commissioning window using ECM

          Below is the example is using chip tool as controller
          ./chip-tool pairing open-commissioning-window 1 1 300 1000 3840

          [1635874557.409509][4549:4554] CHIP:SC: Success status report received. Session was established
          [1635874557.409553][4549:4554] CHIP:IN: New secure session created for device 0x0000000000000001, key 76!!
          [1635874557.409649][4549:4554] CHIP:CTL: OpenCommissioningWindow for device ID 1
          [1635874557.416929][4549:4554] CHIP:DMG: ICR moving to [AddingComm]
          [1635874557.417092][4549:4554] CHIP:DMG: ICR moving to [AddedComma]
          [1635874557.417215][4549:4554] CHIP:IN: Prepared encrypted message 0xaaaac5947d10 to 0x0000000000000001 of type 0x8 and protocolId (0, 1) on exchange 5541i with MessageCounter:0.
          [1635874557.417271][4549:4554] CHIP:IN: Sending encrypted msg 0xaaaac5947d10 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 16129075 msec
          [1635874557.417449][4549:4554] CHIP:DMG: ICR moving to [CommandSen]
          [1635874557.417505][4549:4554] CHIP:CTL: Manual pairing code: [35484132896]
          [1635874557.417577][4549:4554] CHIP:CTL: SetupQRCode: [MT:00000CQM00AT-F5A510]



          On 2nd controller using chip tool connect using manual code

          ./chip-tool pairing code 1 35484132896

          Verify you got below message
          Device commissioning completed with success
      disabled: true

    - label:
          "DUT_CR1 sends command to TH_CE to open a commissioning window with a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM"
      PICS: CADMIN.C.C00.Tx
      verification: |
          On your first controller, open commissioning window using ECM

          Below is the example is using chip tool as controller
          ./chip-tool pairing open-commissioning-window 1 1 300 1000 3840

          [1635874557.409509][4549:4554] CHIP:SC: Success status report received. Session was established
          [1635874557.409553][4549:4554] CHIP:IN: New secure session created for device 0x0000000000000001, key 76!!
          [1635874557.409649][4549:4554] CHIP:CTL: OpenCommissioningWindow for device ID 1
          [1635874557.416929][4549:4554] CHIP:DMG: ICR moving to [AddingComm]
          [1635874557.417092][4549:4554] CHIP:DMG: ICR moving to [AddedComma]
          [1635874557.417215][4549:4554] CHIP:IN: Prepared encrypted message 0xaaaac5947d10 to 0x0000000000000001 of type 0x8 and protocolId (0, 1) on exchange 5541i with MessageCounter:0.
          [1635874557.417271][4549:4554] CHIP:IN: Sending encrypted msg 0xaaaac5947d10 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 16129075 msec
          [1635874557.417449][4549:4554] CHIP:DMG: ICR moving to [CommandSen]
          [1635874557.417505][4549:4554] CHIP:CTL: Manual pairing code: [35484132896]
          [1635874557.417577][4549:4554] CHIP:CTL: SetupQRCode: [MT:00000CQM00AT-F5A510]
      disabled: true

    - label:
          "Before the expiration of PIXIT.CADMIN.CwDuration seconds that is set
          in step 4, DUT_CR1 sends command to TH_CE to read WindowStatus
          attribute"
      PICS: CADMIN.C.A0000
      verification: |
          On first controller read window status

          ./chip-tool administratorcommissioning read window-status 1 0

          [1658838248.886555][9273:9278] CHIP:DMG: ReportDataMessage =
          [1658838248.886599][9273:9278] CHIP:DMG: {
          [1658838248.886634][9273:9278] CHIP:DMG:         AttributeReportIBs =
          [1658838248.886683][9273:9278] CHIP:DMG:         [
          [1658838248.886722][9273:9278] CHIP:DMG:                 AttributeReportIB =
          [1658838248.886774][9273:9278] CHIP:DMG:                 {
          [1658838248.886816][9273:9278] CHIP:DMG:                         AttributeDataIB =
          [1658838248.886872][9273:9278] CHIP:DMG:                         {
          [1658838248.886925][9273:9278] CHIP:DMG:                                 DataVersion = 0x906dac1f,
          [1658838248.886981][9273:9278] CHIP:DMG:                                 AttributePathIB =
          [1658838248.887036][9273:9278] CHIP:DMG:                                 {
          [1658838248.887086][9273:9278] CHIP:DMG:                                         Endpoint = 0x0,
          [1658838248.887146][9273:9278] CHIP:DMG:                                         Cluster = 0x3c,
          [1658838248.887208][9273:9278] CHIP:DMG:                                         Attribute = 0x0000_0000,
          [1658838248.887256][9273:9278] CHIP:DMG:                                 }
          [1658838248.887316][9273:9278] CHIP:DMG:
          [1658838248.887367][9273:9278] CHIP:DMG:                                 Data = 1,
          [1658838248.887417][9273:9278] CHIP:DMG:                         },
          [1658838248.887469][9273:9278] CHIP:DMG:
          [1658838248.887514][9273:9278] CHIP:DMG:                 },
          [1658838248.887562][9273:9278] CHIP:DMG:
          [1658838248.887597][9273:9278] CHIP:DMG:         ],
          [1658838248.887630][9273:9278] CHIP:DMG:
          [1658838248.887658][9273:9278] CHIP:DMG:         SuppressResponse = true,
          [1658838248.887687][9273:9278] CHIP:DMG:         InteractionModelRevision = 1
          [1658838248.887740][9273:9278] CHIP:DMG: }
          [1658838248.887888][9273:9278] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_0000 DataVersion: 2423106591
          [1658838248.887959][9273:9278] CHIP:TOO:   WindowStatus: 1
          [1658838248.888038][9273:9278] CHIP:EM: Sending Standalone Ack for MessageCounter:253317720 on exchange 63644i
      disabled: true

    - label:
          "Before the expiration of PIXIT.CADMIN.CwDuration seconds that was set
          in step 4, DUT_CR1 sends command to TH_CE to open a 2nd commissioning
          window with a commissioning timeout of PIXIT.CADMIN.CwDuration seconds
          using ECM"
      PICS: CADMIN.C.C00.Tx
      verification: |
          On your first controller, open commissioning window using ECM before the timer expiry from the above step

          Below is the example is using chip tool as controller
          ./chip-tool pairing open-commissioning-window 1 1 300 1000 3840

          CHIP:DMG: InvokeResponseMessage =
          [1650527622.373450][15824:15829] CHIP:DMG: {
          [1650527622.373531][15824:15829] CHIP:DMG:         suppressResponse = false,
          [1650527622.373628][15824:15829] CHIP:DMG:         InvokeResponseIBs =
          [1650527622.373734][15824:15829] CHIP:DMG:         [
          [1650527622.373817][15824:15829] CHIP:DMG:                 InvokeResponseIB =
          [1650527622.373913][15824:15829] CHIP:DMG:                 {
          [1650527622.374001][15824:15829] CHIP:DMG:                         CommandStatusIB =
          [1650527622.374087][15824:15829] CHIP:DMG:                         {
          [1650527622.374182][15824:15829] CHIP:DMG:                                 CommandPathIB =
          [1650527622.374296][15824:15829] CHIP:DMG:                                 {
          [1650527622.374382][15824:15829] CHIP:DMG:                                         EndpointId = 0x0,
          [1650527622.374490][15824:15829] CHIP:DMG:                                         ClusterId = 0x3c,
          [1650527622.374593][15824:15829] CHIP:DMG:                                         CommandId = 0x1,
          [1650527622.374682][15824:15829] CHIP:DMG:                                 },
          [1650527622.374799][15824:15829] CHIP:DMG:
          [1650527622.374896][15824:15829] CHIP:DMG:                                 StatusIB =
          [1650527622.374979][15824:15829] CHIP:DMG:                                 {
          [1650527622.375086][15824:15829] CHIP:DMG:                                         status = 0x01 (FAILURE),
          [1650527622.375236][15824:15829] CHIP:DMG:                                         cluster-status = 0x1,
          [1650527622.375320][15824:15829] CHIP:DMG:                                 },
          [1650527622.375426][15824:15829] CHIP:DMG:
          [1650527622.375527][15824:15829] CHIP:DMG:                         },
          [1650527622.375616][15824:15829] CHIP:DMG:
          [1650527622.375704][15824:15829] CHIP:DMG:                 },
          [1650527622.375786][15824:15829] CHIP:DMG:
          [1650527622.375864][15824:15829] CHIP:DMG:         ],
          [1650527622.375940][15824:15829] CHIP:DMG:
          [1650527622.376000][15824:15829] CHIP:DMG:         InteractionModelRevision = 1
          [1650527622.376058][15824:15829] CHIP:DMG: },
          [1650527622.376202][15824:15829] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x1
          [1650527622.376278][15824:15829] CHIP:TOO: Error: IM Error 0x00000601: Cluster-specific error: 0x01
      disabled: true

    - label:
          "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that was
          set in step 4"
      verification: |
          Wait for the expiration of PIXIT_COMM_WIN seconds
      disabled: true

    - label:
          "DUT_CR1 sends command to TH_CE to re-opens a commissioning window
          with a commissioning timeout of PIXIT.CADMIN.CwDuration seconds using
          BCM"
      PICS: CADMIN.C.C01.Tx
      verification: |
          On your first controller, open commissioning window using BCM

          Below is the example when using chip tool as controller
          ./chip-tool administratorcommissioning open-basic-commissioning-window 500 1 0 --timedInteractionTimeoutMs 1000



          CHIP:DMG: InvokeResponseMessage =
          [1650278416.248379][11064:11069] CHIP:DMG: {
          [1650278416.248436][11064:11069] CHIP:DMG:         suppressResponse = false,
          [1650278416.248495][11064:11069] CHIP:DMG:         InvokeResponseIBs =
          [1650278416.248570][11064:11069] CHIP:DMG:         [
          [1650278416.248630][11064:11069] CHIP:DMG:                 InvokeResponseIB =
          [1650278416.248718][11064:11069] CHIP:DMG:                 {
          [1650278416.248783][11064:11069] CHIP:DMG:                         CommandStatusIB =
          [1650278416.248860][11064:11069] CHIP:DMG:                         {
          [1650278416.248931][11064:11069] CHIP:DMG:                                 CommandPathIB =
          [1650278416.249011][11064:11069] CHIP:DMG:                                 {
          [1650278416.249100][11064:11069] CHIP:DMG:                                         EndpointId = 0x0,
          [1650278416.249186][11064:11069] CHIP:DMG:                                         ClusterId = 0x3c,
          [1650278416.249268][11064:11069] CHIP:DMG:                                         CommandId = 0x1,
          [1650278416.249347][11064:11069] CHIP:DMG:                                 },
          [1650278416.249430][11064:11069] CHIP:DMG:
          [1650278416.249501][11064:11069] CHIP:DMG:                                 StatusIB =
          [1650278416.249581][11064:11069] CHIP:DMG:                                 {
          [1650278416.249664][11064:11069] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1650278416.249738][11064:11069] CHIP:DMG:                                 },
          [1650278416.249823][11064:11069] CHIP:DMG:
          [1650278416.249889][11064:11069] CHIP:DMG:                         },
          [1650278416.249969][11064:11069] CHIP:DMG:
          [1650278416.250035][11064:11069] CHIP:DMG:                 },
          [1650278416.250113][11064:11069] CHIP:DMG:
          [1650278416.250169][11064:11069] CHIP:DMG:         ],
          [1650278416.250241][11064:11069] CHIP:DMG:
          [1650278416.250298][11064:11069] CHIP:DMG:         InteractionModelRevision = 1
          [1650278416.250355][11064:11069] CHIP:DMG: },
          [1650278416.250535][11064:11069] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x0
          [1650278416.250634][11064:11069] CHIP:DMG: ICR moving to [AwaitingDe]
      disabled: true

    - label:
          "Before the expiration of PIXIT.CADMIN.CwDuration seconds that is set
          in step 8, DUT_CR1 sends command to TH_CE to read WindowStatus
          attribute"
      PICS: CADMIN.C.A0000
      verification: |
          On first controller read window status

           ./chip-tool administratorcommissioning read window-status 1 0

          [1658838248.886555][9273:9278] CHIP:DMG: ReportDataMessage =
          [1658838248.886599][9273:9278] CHIP:DMG: {
          [1658838248.886634][9273:9278] CHIP:DMG:         AttributeReportIBs =
          [1658838248.886683][9273:9278] CHIP:DMG:         [
          [1658838248.886722][9273:9278] CHIP:DMG:                 AttributeReportIB =
          [1658838248.886774][9273:9278] CHIP:DMG:                 {
          [1658838248.886816][9273:9278] CHIP:DMG:                         AttributeDataIB =
          [1658838248.886872][9273:9278] CHIP:DMG:                         {
          [1658838248.886925][9273:9278] CHIP:DMG:                                 DataVersion = 0x906dac1f,
          [1658838248.886981][9273:9278] CHIP:DMG:                                 AttributePathIB =
          [1658838248.887036][9273:9278] CHIP:DMG:                                 {
          [1658838248.887086][9273:9278] CHIP:DMG:                                         Endpoint = 0x0,
          [1658838248.887146][9273:9278] CHIP:DMG:                                         Cluster = 0x3c,
          [1658838248.887208][9273:9278] CHIP:DMG:                                         Attribute = 0x0000_0000,
          [1658838248.887256][9273:9278] CHIP:DMG:                                 }
          [1658838248.887316][9273:9278] CHIP:DMG:
          [1658838248.887367][9273:9278] CHIP:DMG:                                 Data = 1,
          [1658838248.887417][9273:9278] CHIP:DMG:                         },
          [1658838248.887469][9273:9278] CHIP:DMG:
          [1658838248.887514][9273:9278] CHIP:DMG:                 },
          [1658838248.887562][9273:9278] CHIP:DMG:
          [1658838248.887597][9273:9278] CHIP:DMG:         ],
          [1658838248.887630][9273:9278] CHIP:DMG:
          [1658838248.887658][9273:9278] CHIP:DMG:         SuppressResponse = true,
          [1658838248.887687][9273:9278] CHIP:DMG:         InteractionModelRevision = 1
          [1658838248.887740][9273:9278] CHIP:DMG: }
          [1658838248.887888][9273:9278] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_0000 DataVersion: 2423106591
          [1658838248.887959][9273:9278] CHIP:TOO:   WindowStatus: 1
          [1658838248.888038][9273:9278] CHIP:EM: Sending Standalone Ack for MessageCounter:253317720 on exchange 63644i
      disabled: true

    - label:
          "Before the expiration of PIXIT.CADMIN.CwDuration seconds that was set
          in step 8, TH_CR3 sends command to TH_CE to open a 2nd commissioning
          window with a commissioning timeout of PIXIT.CADMIN.CwDuration seconds
          using BCM"
      PICS: CADMIN.C.C01.Tx
      verification: |
          On third controller open commissioning window verify status code 1

          ./chip-tool administratorcommissioning open-basic-commissioning-window 500 3 0 --timedInteractionTimeoutMs 1000

          [1658838344.191922][9291:9296] CHIP:DMG: InvokeResponseMessage =
          [1658838344.191947][9291:9296] CHIP:DMG: {
          [1658838344.191971][9291:9296] CHIP:DMG:         suppressResponse = false,
          [1658838344.192003][9291:9296] CHIP:DMG:         InvokeResponseIBs =
          [1658838344.192035][9291:9296] CHIP:DMG:         [
          [1658838344.192059][9291:9296] CHIP:DMG:                 InvokeResponseIB =
          [1658838344.192091][9291:9296] CHIP:DMG:                 {
          [1658838344.192116][9291:9296] CHIP:DMG:                         CommandStatusIB =
          [1658838344.192149][9291:9296] CHIP:DMG:                         {
          [1658838344.192181][9291:9296] CHIP:DMG:                                 CommandPathIB =
          [1658838344.192212][9291:9296] CHIP:DMG:                                 {
          [1658838344.192251][9291:9296] CHIP:DMG:                                         EndpointId = 0x0,
          [1658838344.192290][9291:9296] CHIP:DMG:                                         ClusterId = 0x3c,
          [1658838344.192328][9291:9296] CHIP:DMG:                                         CommandId = 0x1,
          [1658838344.192364][9291:9296] CHIP:DMG:                                 },
          [1658838344.192401][9291:9296] CHIP:DMG:
          [1658838344.192430][9291:9296] CHIP:DMG:                                 StatusIB =
          [1658838344.192461][9291:9296] CHIP:DMG:                                 {
          [1658838344.192500][9291:9296] CHIP:DMG:                                         status = 0x01 (FAILURE),
          [1658838344.192538][9291:9296] CHIP:DMG:                                         cluster-status = 0x1,
          [1658838344.192574][9291:9296] CHIP:DMG:                                 },
          [1658838344.192611][9291:9296] CHIP:DMG:
          [1658838344.192640][9291:9296] CHIP:DMG:                         },
          [1658838344.192673][9291:9296] CHIP:DMG:
          [1658838344.192698][9291:9296] CHIP:DMG:                 },
          [1658838344.192728][9291:9296] CHIP:DMG:
          [1658838344.192752][9291:9296] CHIP:DMG:         ],
          [1658838344.192782][9291:9296] CHIP:DMG:
          [1658838344.192805][9291:9296] CHIP:DMG:         InteractionModelRevision = 1
          [1658838344.192828][9291:9296] CHIP:DMG: },
          [1658838344.192887][9291:9296] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x1
          [1658838344.192922][9291:9296] CHIP:TOO: Error: IM Error 0x00000601: Cluster-specific error: 0x01
      disabled: true

    - label:
          "Wait for the expiration of PIXIT.CADMIN.CwDuration seconds that was
          set in step 8"
      verification: |
          Wait for the expiration of PIXIT_COMM_WIN seconds
      disabled: true

    - label:
          "DUT_CR1 sends command to TH_CE to open a commissioning window with a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using BCM"
      PICS: CADMIN.C.C01.Tx
      verification: |
          On your first controller, open commissioning window using BCM

          Below is the example when using chip tool as controller
          ./chip-tool administratorcommissioning open-basic-commissioning-window 500 2 0 --timedInteractionTimeoutMs 1000

          CHIP:DMG: InvokeResponseMessage =
          [1650278416.248379][11064:11069] CHIP:DMG: {
          [1650278416.248436][11064:11069] CHIP:DMG:         suppressResponse = false,
          [1650278416.248495][11064:11069] CHIP:DMG:         InvokeResponseIBs =
          [1650278416.248570][11064:11069] CHIP:DMG:         [
          [1650278416.248630][11064:11069] CHIP:DMG:                 InvokeResponseIB =
          [1650278416.248718][11064:11069] CHIP:DMG:                 {
          [1650278416.248783][11064:11069] CHIP:DMG:                         CommandStatusIB =
          [1650278416.248860][11064:11069] CHIP:DMG:                         {
          [1650278416.248931][11064:11069] CHIP:DMG:                                 CommandPathIB =
          [1650278416.249011][11064:11069] CHIP:DMG:                                 {
          [1650278416.249100][11064:11069] CHIP:DMG:                                         EndpointId = 0x0,
          [1650278416.249186][11064:11069] CHIP:DMG:                                         ClusterId = 0x3c,
          [1650278416.249268][11064:11069] CHIP:DMG:                                         CommandId = 0x1,
          [1650278416.249347][11064:11069] CHIP:DMG:                                 },
          [1650278416.249430][11064:11069] CHIP:DMG:
          [1650278416.249501][11064:11069] CHIP:DMG:                                 StatusIB =
          [1650278416.249581][11064:11069] CHIP:DMG:                                 {
          [1650278416.249664][11064:11069] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1650278416.249738][11064:11069] CHIP:DMG:                                 },
          [1650278416.249823][11064:11069] CHIP:DMG:
          [1650278416.249889][11064:11069] CHIP:DMG:                         },
          [1650278416.249969][11064:11069] CHIP:DMG:
          [1650278416.250035][11064:11069] CHIP:DMG:                 },
          [1650278416.250113][11064:11069] CHIP:DMG:
          [1650278416.250169][11064:11069] CHIP:DMG:         ],
          [1650278416.250241][11064:11069] CHIP:DMG:
          [1650278416.250298][11064:11069] CHIP:DMG:         InteractionModelRevision = 1
          [1650278416.250355][11064:11069] CHIP:DMG: },
          [1650278416.250535][11064:11069] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x0
          [1650278416.250634][11064:11069] CHIP:DMG: ICR moving to [AwaitingDe]
      disabled: true

    - label:
          "Before the expiration of PIXIT.CADMIN.CwDuration seconds that was set
          in step 12, TH_CR2 sends command to open a second commissioning window
          on TH_CE using a commissioning timeout of PIXIT.CADMIN.CwDuration
          seconds using BCM"
      PICS: CADMIN.C.C01.Tx
      verification: |
          On the 2nd controller using chip tool, open commissioning window using BCM before the timer expiry from above step

          ./chip-tool administratorcommissioning open-basic-commissioning-window 500 2 0 --timedInteractionTimeoutMs 1000




          CHIP:DMG: InvokeResponseMessage =
          [1650527622.373450][15824:15829] CHIP:DMG: {
          [1650527622.373531][15824:15829] CHIP:DMG:         suppressResponse = false,
          [1650527622.373628][15824:15829] CHIP:DMG:         InvokeResponseIBs =
          [1650527622.373734][15824:15829] CHIP:DMG:         [
          [1650527622.373817][15824:15829] CHIP:DMG:                 InvokeResponseIB =
          [1650527622.373913][15824:15829] CHIP:DMG:                 {
          [1650527622.374001][15824:15829] CHIP:DMG:                         CommandStatusIB =
          [1650527622.374087][15824:15829] CHIP:DMG:                         {
          [1650527622.374182][15824:15829] CHIP:DMG:                                 CommandPathIB =
          [1650527622.374296][15824:15829] CHIP:DMG:                                 {
          [1650527622.374382][15824:15829] CHIP:DMG:                                         EndpointId = 0x0,
          [1650527622.374490][15824:15829] CHIP:DMG:                                         ClusterId = 0x3c,
          [1650527622.374593][15824:15829] CHIP:DMG:                                         CommandId = 0x1,
          [1650527622.374682][15824:15829] CHIP:DMG:                                 },
          [1650527622.374799][15824:15829] CHIP:DMG:
          [1650527622.374896][15824:15829] CHIP:DMG:                                 StatusIB =
          [1650527622.374979][15824:15829] CHIP:DMG:                                 {
          [1650527622.375086][15824:15829] CHIP:DMG:                                         status = 0x01 (FAILURE),
          [1650527622.375236][15824:15829] CHIP:DMG:                                         cluster-status = 0x1,
          [1650527622.375320][15824:15829] CHIP:DMG:                                 },
          [1650527622.375426][15824:15829] CHIP:DMG:
          [1650527622.375527][15824:15829] CHIP:DMG:                         },
          [1650527622.375616][15824:15829] CHIP:DMG:
          [1650527622.375704][15824:15829] CHIP:DMG:                 },
          [1650527622.375786][15824:15829] CHIP:DMG:
          [1650527622.375864][15824:15829] CHIP:DMG:         ],
          [1650527622.375940][15824:15829] CHIP:DMG:
          [1650527622.376000][15824:15829] CHIP:DMG:         InteractionModelRevision = 1
          [1650527622.376058][15824:15829] CHIP:DMG: },
          [1650527622.376202][15824:15829] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x1
          [1650527622.376278][15824:15829] CHIP:TOO: Error: IM Error 0x00000601: Cluster-specific error: 0x01
      disabled: true

    - label: "DUT_CR1 sends command to TH_CE to read WindowStatus attribute"
      PICS: CADMIN.C.A0000
      verification: |
          On first controller read window status

           ./chip-tool administratorcommissioning read window-status 1 0


          [1658838248.887888][9273:9278] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_0000 DataVersion: 2423106591
          [1658838248.887959][9273:9278] CHIP:TOO:   WindowStatus: 1
          [1658838248.888038][9273:9278] CHIP:EM: Sending Standalone Ack for MessageCounter:253317720 on exchange 63644i
      disabled: true

    - label: "DUT_CR1 sends command to TH_CE to read AdminFabricIndex attribute"
      PICS: CADMIN.C.A0001
      verification: |
          On first controller read AdminFabricIndex

          ./chip-tool administratorcommissioning read admin-fabric-index  1 0

          [1658838491.852418][9309:9314] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_0001 DataVersion: 2423106591
          [1658838491.852516][9309:9314] CHIP:TOO:   AdminFabricIndex: 1
          [1658838491.852595][9309:9314] CHIP:EM: Sending Standalone Ack for MessageCounter:72459812 on exchange 35132i
      disabled: true

    - label: "DUT_CR1 sends command to TH_CE to read AdminVendorId attribute"
      PICS: CADMIN.C.A0002
      verification: |
          On first controller read  AdminVendorId

          ./chip-tool administratorcommissioning read admin-vendor-id 1 0

          [1658838521.588942][9317:9322] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_0002 DataVersion: 2423106591
          [1658838521.589005][9317:9322] CHIP:TOO:   AdminVendorId: 0
          [1658838521.589079][9317:9322] CHIP:EM: Sending Standalone Ack for MessageCounter:217165763 on exchange 55683i
      disabled: true
