# 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: 73.3.3. [TC-SWTCH-3.2] Primary functionality with client as DUT

PICS:
    - SWTCH.C

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

tests:
    - label: "Note"
      verification: |
          For DUT as client test cases, Chip-tool command used below are an example to verify the functionality. For certification test, we expect DUT should have a capability or way to run the equivalent command.
      disabled: true

    - label: "Note"
      verification: |
          NOTE: https://github.com/project-chip/connectedhomeip/tree/master/examples/all-clusters-app/linux#readme
          Events to be executed as following
          1. Compile app using below command in connectedhomeip folder
          a. ./scripts/run_in_build_env.sh ./scripts/build/build_examples.py --target linux-arm64-all-clusters-no-ble-asan-clang build
          2. Build respective app (all-clusters-app)
          3. Commission DUT to TH
          4. Open 2nd terminal of DUT and provide the below command to obtain PID of DUT
          ps  -aef|grep all-clusters-app
          5. Follow the Verification step below to generate the event in 2nd terminal of DUT
      disabled: true

    - label:
          "FAIL the test - at least one of SWTCH.C.F00(LS) and SWTCH.C.F01(MS)
          has to be supported"
      PICS: "!SWTCH.C.F00 && !SWTCH.C.F01"
      verification: |
          no messages needed, TH checks consistency of PICS flags
      disabled: true

    - label:
          "FAIL the test - when supporting SWTCH.C.F02(MSR) also SWTCH.C.F01(MS)
          must be supported"
      PICS: SWTCH.C.F02 && !SWTCH.C.F01
      verification: |
          no messages needed, TH checks consistency of PICS flags
      disabled: true

    - label:
          "FAIL the test - when supporting SWTCH.C.F03(MSL) also SWTCH.C.F01(MS)
          must be supported"
      PICS: SWTCH.C.F03 && !SWTCH.C.F01
      verification: |
          no messages needed, TH checks consistency of PICS flags
      disabled: true

    - label:
          "FAIL the test - when supporting SWTCH.C.F03(MSL) also
          SWTCH.C.F02(MSR) must be supported"
      PICS: SWTCH.C.F03 && !SWTCH.C.F02
      verification: |
          no messages needed, TH checks consistency of PICS flags
      disabled: true

    - label:
          "FAIL the test - when supporting SWTCH.C.F04(MSM) also SWTCH.C.F01(MS)
          must be supported"
      PICS: SWTCH.C.F04 && !SWTCH.C.F01
      verification: |
          no messages needed, TH checks consistency of PICS flags
      disabled: true

    - label:
          "FAIL the test - when supporting SWTCH.C.F04(MSM) also
          SWTCH.C.F02(MSR) must be supported"
      PICS: SWTCH.C.F04 && !SWTCH.C.F02
      verification: |
          no messages needed, TH checks consistency of PICS flags
      disabled: true

    - label:
          "FAIL the test - at least one of SWTCH.C.M.RA and SWTCH.C.M.EV must be
          supported"
      PICS: "!SWTCH.C.M.RA && !SWTCH.C.M.EV"
      verification: |
          no messages needed, TH checks consistency of PICS flags
      disabled: true

    - label:
          "Commission DUT to TH. Use client mechanism to set it up so switch
          state can be observed (e.g. UI shows state of switch) and/or other
          device is controlled (e.g. light on same fabric gets controlled by the
          switch  TH has to simulate that light). While commissioning and
          configuring, TH records and reacts to the messages relating to the
          switch functionality detailed in the steps below. The order of the
          messages received may be different from the order of the sub-steps
          1b..1d below."
      PICS: SWTCH.C.F00
      verification: |

      disabled: true

    - label: "DUT reads global attribute FeatureMap."
      PICS: SWTCH.C.F00
      verification: |
          ./chip-tool switch read feature-map 1 1


          Verify  FeatureMap value is 1 in TH all-clusters-app log

          ReportDataMessage =
          [1671450600.457719][8426:8426] CHIP:DMG: {
          [1671450600.457728][8426:8426] CHIP:DMG:         AttributeReportIBs =
          [1671450600.457747][8426:8426] CHIP:DMG:         [
          [1671450600.457756][8426:8426] CHIP:DMG:                 AttributeReportIB =
          [1671450600.457954][8426:8426] CHIP:DMG:                 {
          [1671450600.457976][8426:8426] CHIP:DMG:                         AttributeDataIB =
          [1671450600.457991][8426:8426] CHIP:DMG:                         {
          [1671450600.458015][8426:8426] CHIP:DMG:                                 DataVersion = 0xcfe432fa,
          [1671450600.458038][8426:8426] CHIP:DMG:                                 AttributePathIB =
          [1671450600.458057][8426:8426] CHIP:DMG:                                 {
          [1671450600.458075][8426:8426] CHIP:DMG:                                         Endpoint = 0x1,
          [1671450600.458088][8426:8426] CHIP:DMG:                                         Cluster = 0x3b,
          [1671450600.458108][8426:8426] CHIP:DMG:                                         Attribute = 0x0000_FFFC,
          [1671450600.458122][8426:8426] CHIP:DMG:                                 }
          [1671450600.458137][8426:8426] CHIP:DMG:
          [1671450600.458151][8426:8426] CHIP:DMG:                                 Data = 1,
          [1671450600.458161][8426:8426] CHIP:DMG:                         },
          [1671450600.458179][8426:8426] CHIP:DMG:
          [1671450600.458188][8426:8426] CHIP:DMG:                 },
          [1671450600.458207][8426:8426] CHIP:DMG:
          [1671450600.458216][8426:8426] CHIP:DMG:         ],
          [1671450600.458242][8426:8426] CHIP:DMG:
          [1671450600.458255][8426:8426] CHIP:DMG:         SuppressResponse = true,
          [1671450600.458273][8426:8426] CHIP:DMG:         InteractionModelRevision = 1
          [1671450600.458286][8426:8426] CHIP:DMG: }
      disabled: true

    - label: "DUT reads attribute NumberOfPositions."
      PICS: SWTCH.C.F00
      verification: |
          ./chip-tool switch read number-of-positions 1 1

          Verify  number of positions value is 2 in TH all-clusters-app log

          ReportDataMessage =
          [1671450651.817816][8426:8426] CHIP:DMG: {
          [1671450651.817819][8426:8426] CHIP:DMG:         AttributeReportIBs =
          [1671450651.817825][8426:8426] CHIP:DMG:         [
          [1671450651.817828][8426:8426] CHIP:DMG:                 AttributeReportIB =
          [1671450651.817849][8426:8426] CHIP:DMG:                 {
          [1671450651.817853][8426:8426] CHIP:DMG:                         AttributeDataIB =
          [1671450651.817858][8426:8426] CHIP:DMG:                         {
          [1671450651.817862][8426:8426] CHIP:DMG:                                 DataVersion = 0xcfe432fa,
          [1671450651.817864][8426:8426] CHIP:DMG:                                 AttributePathIB =
          [1671450651.817868][8426:8426] CHIP:DMG:                                 {
          [1671450651.817872][8426:8426] CHIP:DMG:                                         Endpoint = 0x1,
          [1671450651.817876][8426:8426] CHIP:DMG:                                         Cluster = 0x3b,
          [1671450651.817879][8426:8426] CHIP:DMG:                                         Attribute = 0x0000_0000,
          [1671450651.817882][8426:8426] CHIP:DMG:                                 }
          [1671450651.817888][8426:8426] CHIP:DMG:
          [1671450651.817892][8426:8426] CHIP:DMG:                                 Data = 2,
          [1671450651.817895][8426:8426] CHIP:DMG:                         },
          [1671450651.817901][8426:8426] CHIP:DMG:
          [1671450651.817905][8426:8426] CHIP:DMG:                 },
          [1671450651.817910][8426:8426] CHIP:DMG:
          [1671450651.817913][8426:8426] CHIP:DMG:         ],
          [1671450651.817918][8426:8426] CHIP:DMG:
          [1671450651.817921][8426:8426] CHIP:DMG:         SuppressResponse = true,
          [1671450651.817925][8426:8426] CHIP:DMG:         InteractionModelRevision = 1
          [1671450651.817928][8426:8426] CHIP:DMG: }
      disabled: true

    - label:
          "DUT sets up eventing (SwitchLatched) so it will receive events when
          the switch is operated."
      PICS: SWTCH.C.F00 && SWTCH.C.M.EV
      verification: |
          On Raspi platform to trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor DUT should have capability to generate this event)

          echo '{"Name":"SwitchLatched","NewPosition":0}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          [1659679728.732056][2530:2538] CHIP:-: Received payload: "{"Name":"SwitchLatched","NewPosition":0}"
          [1659679728.732389][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e7706
          [1659679728.732429][2530:2530] CHIP:-: The latching switch is moved to a new position:0
          [1659679728.732454][2530:2530] CHIP:ZCL: SwitchServer: OnSwitchLatch

          Please use Interactive mode to Verify the subscription of an event
          Here the command to enter interactive mode:--

          1. ./chip-tool interactive start
          2. switch subscribe-event switch-latched 1 100 1 1

          Verify switch latched event has newposition set to 0 on DUT (chip-tool) logs:

          [1659679766.774013][2535:2540] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000
          [1659679766.774035][2535:2540] CHIP:TOO:          Event number: 3
          [1659679766.774055][2535:2540] CHIP:TOO:          Priority: Info
          [1659679766.774074][2535:2540] CHIP:TOO:          Timestamp: 2181028
          [1659679766.774157][2535:2540] CHIP:TOO:   SwitchLatched: {
          [1659679766.774197][2535:2540] CHIP:TOO:     NewPosition: 0
          [1659679766.774214][2535:2540] CHIP:TOO:    }
      disabled: true

    - label:
          "TH simulates operation of the switch by changing state (attribute
          CurrentPosition) from 0 to 1 and back every 10 seconds (over a 1
          minute period) DUT reads attribute CurrentPosition regularly,"
      PICS: SWTCH.C.F00 && SWTCH.C.M.RA
      verification: |
          On Raspi platform to trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor DUT should have capability to generate this event)

          echo '{"Name":"SwitchLatched","NewPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          [1659621148.831745][8590:8596] CHIP:-: Received payload: "{"Name":"SwitchLatched","NewPosition":1}"
          [1659621148.832236][8590:8590] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 4be58f54
          [1659621148.832320][8590:8590] CHIP:-: The latching switch is moved to a new position:1
          [1659621148.832380][8590:8590] CHIP:ZCL: SwitchServer: OnSwitchLatch
          [1659621148.832494][8590:8590] CHIP:EVL: LogEvent event number: 0x0000000000000007 priority: 1, endpoint id:  0x1 cluster id: 0x0000_003B event id: 0x0 Sys timestamp: 0x00000000022D0CBB

          After 10 seconds, repeat the command with /tmp/chip_all_clusters_fifo using with value 0 as position

          After another 10 seconds, repeat the command with /tmp/chip_all_clusters_fifo using with value 1 as position

          Repeat this toggling every 10 seconds for 1 minute total.

          In parallel to this, watch whether DUT reads attribute CurrentPosition (expected to read multiple times to be aware of the changes in the switch position resp. the corresponding attribute)

          1. ./chip-tool interactive start
          2. switch read current-position 1 1  (in practice, DUT will issue this command, TH answers)

          Verify switch latched event has newposition set to 1 on DUT (chip-tool) logs:

          [1659621181.542124][5668:5673] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001 DataVersion: 1273335636
          [1659621181.542207][5668:5673] CHIP:TOO:   current position: 1

          Watch whether DUT presents state of simulated switch and/or controls another device based on the state of the switch.
      disabled: true

    - label:
          "TH simulates operation of the switch by changing state (attribute
          CurrentPosition) from 0 to 1 and back every 10 seconds (over a 1
          minute period), and sending the event SwitchLatched (with field
          NewPosition reflecting the new state) on every change"
      PICS: SWTCH.C.F00 && SWTCH.C.M.EV
      verification: |
          On Raspi platform to trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor DUT should have capability to generate this event)

          echo '{"Name":"SwitchLatched","NewPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          [1659621148.831745][8590:8596] CHIP:-: Received payload: "{"Name":"SwitchLatched","NewPosition":1}"
          [1659621148.832236][8590:8590] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 4be58f54
          [1659621148.832320][8590:8590] CHIP:-: The latching switch is moved to a new position:1
          [1659621148.832380][8590:8590] CHIP:ZCL: SwitchServer: OnSwitchLatch
          [1659621148.832494][8590:8590] CHIP:EVL: LogEvent event number: 0x0000000000000007 priority: 1, endpoint id:  0x1 cluster id: 0x0000_003B event id: 0x0 Sys timestamp: 0x00000000022D0CBB

          After 10 seconds, repeat the command with /tmp/chip_all_clusters_fifo using with value 0 as position
          After another 10 seconds, repeat the command with /tmp/chip_all_clusters_fifo using with value 1 as position
          Repeat this toggling every 10 seconds for 1 minute total.

          Please use Interactive mode to Verify the subscription of an event
          Here the command to enter interactive mode:--

          1. ./chip-tool interactive start
           2. switch subscribe-event switch-latched 1 100 1 1

          all-clusters app will emit events to the subscriber (DUT-client), e.g.
          Verify Position is changing for 0 to 1 on DUT(chip-tool) Log:

          [1659680091.149404][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000
          [1659680091.149428][2592:2597] CHIP:TOO:          Event number: 3
          [1659680091.149449][2592:2597] CHIP:TOO:          Priority: Info
          [1659680091.149470][2592:2597] CHIP:TOO:          Timestamp: 2181028
          [1659680091.149536][2592:2597] CHIP:TOO:   SwitchLatched: {
          [1659680091.149571][2592:2597] CHIP:TOO:     NewPosition: 0
          [1659680091.149593][2592:2597] CHIP:TOO:    }
          [1659680091.149674][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000
          [1659680091.149696][2592:2597] CHIP:TOO:          Event number: 4
          [1659680091.149717][2592:2597] CHIP:TOO:          Priority: Info
          [1659680091.149737][2592:2597] CHIP:TOO:          Timestamp: 2286911
          [1659680091.149763][2592:2597] CHIP:TOO:   SwitchLatched: {
          [1659680091.149785][2592:2597] CHIP:TOO:     NewPosition: 1
          [1659680091.149805][2592:2597] CHIP:TOO:    }
          [1659680091.149884][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000
          [1659680091.149906][2592:2597] CHIP:TOO:          Event number: 5
          [1659680091.149926][2592:2597] CHIP:TOO:          Priority: Info
          [1659680091.149947][2592:2597] CHIP:TOO:          Timestamp: 2368467
          [1659680091.149971][2592:2597] CHIP:TOO:   SwitchLatched: {
          [1659680091.149993][2592:2597] CHIP:TOO:     NewPosition: 0
          [1659680091.150013][2592:2597] CHIP:TOO:    }
          [1659680091.150093][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000
          [1659680091.150114][2592:2597] CHIP:TOO:          Event number: 6
          [1659680091.150135][2592:2597] CHIP:TOO:          Priority: Info
          [1659680091.150155][2592:2597] CHIP:TOO:          Timestamp: 2402459
          [1659680091.150180][2592:2597] CHIP:TOO:   SwitchLatched: {
          [1659680091.150202][2592:2597] CHIP:TOO:     NewPosition: 1
          [1659680091.150222][2592:2597] CHIP:TOO:    }
          [1659680091.150302][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000
          [1659680091.150324][2592:2597] CHIP:TOO:          Event number: 7
          [1659680091.150345][2592:2597] CHIP:TOO:          Priority: Info
          [1659680091.150365][2592:2597] CHIP:TOO:          Timestamp: 2431571
          [1659680091.150390][2592:2597] CHIP:TOO:   SwitchLatched: {
          [1659680091.150411][2592:2597] CHIP:TOO:     NewPosition: 0
          [1659680091.150432][2592:2597] CHIP:TOO:    }
          [1659680091.150509][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000
          [1659680091.150531][2592:2597] CHIP:TOO:          Event number: 8
          [1659680091.150551][2592:2597] CHIP:TOO:          Priority: Info
          [1659680091.150572][2592:2597] CHIP:TOO:          Timestamp: 2456884
          [1659680091.150597][2592:2597] CHIP:TOO:   SwitchLatched: {
          [1659680091.150630][2592:2597] CHIP:TOO:     NewPosition: 1 <= this value will change for every change in position of simulated switch



          Watch whether DUT presents state of simulated switch and/or controls another device based on the state of the switch.
      disabled: true

    - label:
          "Commission DUT to TH. Use client mechanism to set it up so switch
          state can be observed (e.g. UI shows state of switch) and/or other
          device is controlled (e.g. light on same fabric gets controlled by the
          switch  TH has to simulate that light). While commissioning and
          configuring, TH records and reacts to the messages relating to the
          switch functionality detailed in the steps below. The order of the
          messages received may be different from the order of the sub-steps
          3b..3d below."
      PICS: SWTCH.C.F01
      verification: |

      disabled: true

    - label: "DUT reads global attribute FeatureMap."
      PICS: SWTCH.C.F01
      verification: |
          1. ./chip-tool interactive start

          2. switch read feature-map 1 1


          Verify  FeatureMap value is  1 in TH all-clusters-app log
          ] CHIP:DMG: ReportDataMessage =
          [1671450600.457719][8426:8426] CHIP:DMG: {
          [1671450600.457728][8426:8426] CHIP:DMG:         AttributeReportIBs =
          [1671450600.457747][8426:8426] CHIP:DMG:         [
          [1671450600.457756][8426:8426] CHIP:DMG:                 AttributeReportIB =
          [1671450600.457954][8426:8426] CHIP:DMG:                 {
          [1671450600.457976][8426:8426] CHIP:DMG:                         AttributeDataIB =
          [1671450600.457991][8426:8426] CHIP:DMG:                         {
          [1671450600.458015][8426:8426] CHIP:DMG:                                 DataVersion = 0xcfe432fa,
          [1671450600.458038][8426:8426] CHIP:DMG:                                 AttributePathIB =
          [1671450600.458057][8426:8426] CHIP:DMG:                                 {
          [1671450600.458075][8426:8426] CHIP:DMG:                                         Endpoint = 0x1,
          [1671450600.458088][8426:8426] CHIP:DMG:                                         Cluster = 0x3b,
          [1671450600.458108][8426:8426] CHIP:DMG:                                         Attribute = 0x0000_FFFC,
          [1671450600.458122][8426:8426] CHIP:DMG:                                 }
          [1671450600.458137][8426:8426] CHIP:DMG:
          [1671450600.458151][8426:8426] CHIP:DMG:                                 Data = 1,
          [1671450600.458161][8426:8426] CHIP:DMG:                         },
          [1671450600.458179][8426:8426] CHIP:DMG:
          [1671450600.458188][8426:8426] CHIP:DMG:                 },
          [1671450600.458207][8426:8426] CHIP:DMG:
          [1671450600.458216][8426:8426] CHIP:DMG:         ],
          [1671450600.458242][8426:8426] CHIP:DMG:
          [1671450600.458255][8426:8426] CHIP:DMG:         SuppressResponse = true,
          [1671450600.458273][8426:8426] CHIP:DMG:         InteractionModelRevision = 1
          [1671450600.458286][8426:8426] CHIP:DMG: }
      disabled: true

    - label: "DUT reads attribute NumberOfPositions"
      PICS: SWTCH.C.F01
      verification: |
          1. ./chip-tool interactive start

          2. switch read number-of-positions 1 1

          Verify  number of positions value is 2 in TH all-clusters-app log
          DMG: ReportDataMessage =
          [1671450651.817816][8426:8426] CHIP:DMG: {
          [1671450651.817819][8426:8426] CHIP:DMG:         AttributeReportIBs =
          [1671450651.817825][8426:8426] CHIP:DMG:         [
          [1671450651.817828][8426:8426] CHIP:DMG:                 AttributeReportIB =
          [1671450651.817849][8426:8426] CHIP:DMG:                 {
          [1671450651.817853][8426:8426] CHIP:DMG:                         AttributeDataIB =
          [1671450651.817858][8426:8426] CHIP:DMG:                         {
          [1671450651.817862][8426:8426] CHIP:DMG:                                 DataVersion = 0xcfe432fa,
          [1671450651.817864][8426:8426] CHIP:DMG:                                 AttributePathIB =
          [1671450651.817868][8426:8426] CHIP:DMG:                                 {
          [1671450651.817872][8426:8426] CHIP:DMG:                                         Endpoint = 0x1,
          [1671450651.817876][8426:8426] CHIP:DMG:                                         Cluster = 0x3b,
          [1671450651.817879][8426:8426] CHIP:DMG:                                         Attribute = 0x0000_0000,
          [1671450651.817882][8426:8426] CHIP:DMG:                                 }
          [1671450651.817888][8426:8426] CHIP:DMG:
          [1671450651.817892][8426:8426] CHIP:DMG:                                 Data = 2,
          [1671450651.817895][8426:8426] CHIP:DMG:                         },
          [1671450651.817901][8426:8426] CHIP:DMG:
          [1671450651.817905][8426:8426] CHIP:DMG:                 },
          [1671450651.817910][8426:8426] CHIP:DMG:
          [1671450651.817913][8426:8426] CHIP:DMG:         ],
          [1671450651.817918][8426:8426] CHIP:DMG:
          [1671450651.817921][8426:8426] CHIP:DMG:         SuppressResponse = true,
          [1671450651.817925][8426:8426] CHIP:DMG:         InteractionModelRevision = 1
          [1671450651.817928][8426:8426] CHIP:DMG: }
      disabled: true

    - label:
          "DUT sets up eventing (InitialPress and ShortRelease; if
          SWTCH.C.F03(MSL) also LongPress and LongRelease) so it will receive
          events when the switch is operated"
      PICS: SWTCH.C.F01 && SWTCH.C.M.EV
      verification: |
          On Raspi platform to trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor DUT should have capability to generate this event)

          echo '{"Name":"InitialPress","NewPosition":0}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          [1659624126.646996][8590:8596] CHIP:-: Received payload: "{"Name":"InitialPress","NewPosition":0}"
          [1659624126.647380][8590:8590] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 4be58f55
          [1659624126.647438][8590:8590] CHIP:-: The new position when the momentary switch starts to be pressed:1
          [1659624126.647480][8590:8590] CHIP:ZCL: SwitchServer: OnInitialPress

          Verify for InitialPress event  in DUT(chip-tool) Log, e.g. (one such message per event subscription being set up)

          Please use Interactive mode to Verify the subscription of an event
          Here the command to enter interactive mode:--

          1. ./chip-tool interactive start
           2. switch subscribe-event initial-press 1 100 1 1

          [1659683181.743214][2829:2835] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0001
          [1659683181.743251][2829:2835] CHIP:TOO:          Event number: 10
          [1659683181.743285][2829:2835] CHIP:TOO:          Priority: Info
          [1659683181.743319][2829:2835] CHIP:TOO:          Timestamp: 4066882
          [1659683181.743419][2829:2835] CHIP:TOO:   InitialPress: {
          [1659683181.743470][2829:2835] CHIP:TOO:     NewPosition: 0
          [1659683181.743506][2829:2835] CHIP:TOO:    }

          echo '{"Name":"ShortRelease","PreviousPosition":0}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)
          Verify for ShortRelease event  in DUT(chip-tool) Log:

          [1659683678.805455][2530:2538] CHIP:-: Received payload: "{"Name":"ShortRelease","PreviousPosition":0}"
          [1659683678.805739][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e7715
          [1659683678.805777][2530:2530] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released:1
          [1659683678.805858][2530:2530] CHIP:ZCL: SwitchServer: OnShortRelease

          Please use Interactive mode to Verify the subscription of an event
          Here the command to enter interactive mode:--

          1. ./chip-tool interactive start
           2. switch subscribe-event short-release 1 100 1 1

          [1659683195.217253][2838:2843] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003
          [1659683195.217275][2838:2843] CHIP:TOO:          Event number: 11
          [1659683195.217294][2838:2843] CHIP:TOO:          Priority: Info
          [1659683195.217313][2838:2843] CHIP:TOO:          Timestamp: 4137135
          [1659683195.217377][2838:2843] CHIP:TOO:   ShortRelease: {
          [1659683195.217411][2838:2843] CHIP:TOO:     PreviousPosition: 0
          [1659683195.217432][2838:2843] CHIP:TOO:    }

          if SWTCH.C.F03, also:

          echo '{"Name":"LongPress","NewPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          Please use Interactive mode to Verify the subscription of an event
          Here the command to enter interactive mode:--

          1. ./chip-tool interactive start
           2. switch subscribe-event long-press 1 100 1 1


          [1659527630.476706][4774:4779] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000
          [1659527630.476742][4774:4779] CHIP:TOO:   Event number: 5
          [1659527630.476771][4774:4779] CHIP:TOO:   Priority: Info
          [1659527630.476799][4774:4779] CHIP:TOO:   Timestamp: 29687750
          [1659527630.476887][4774:4779] CHIP:TOO:   LongPress: {
          [1659527630.476934][4774:4779] CHIP:TOO:     NewPosition: 1
          [1659527630.476969][4774:4779] CHIP:TOO:    }

          echo '{"Name":"LongRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          Please use Interactive mode to Verify the subscription of an event
          Here the command to enter interactive mode:--

          1. ./chip-tool interactive start
           2. switch subscribe-event long-release 1 100 1 1


          [1659527630.476706][4774:4779] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000
          [1659527630.476742][4774:4779] CHIP:TOO:   Event number: 6
          [1659527630.476771][4774:4779] CHIP:TOO:   Priority: Info
          [1659527630.476799][4774:4779] CHIP:TOO:   Timestamp: 296889750
          [1659527630.476887][4774:4779] CHIP:TOO:   LongRelease: {
          [1659527630.476934][4774:4779] CHIP:TOO:     PreviousPosition: 1
          [1659527630.476969][4774:4779] CHIP:TOO:    }
      disabled: true

    - label:
          "TH simulates operation of the switch by repeating these steps (over a
          1 minute period) change state (attribute CurrentPosition) from 0 to 1
          wait 0.2 seconds change state (attribute CurrentPosition) from 1 to 0
          wait 10 seconds DUT reads attribute CurrentPosition regularly"
      PICS: SWTCH.C.F01 && SWTCH.C.M.RA
      verification: |
          On Raspi platform to trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor DUT should have capability to generate this event)

          echo '{"Name":"InitialPress","NewPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          [1659624126.646996][8590:8596] CHIP:-: Received payload: "{"Name":"InitialPress","NewPosition":1}"
          [1659624126.647380][8590:8590] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 4be58f55
          [1659624126.647438][8590:8590] CHIP:-: The new position when the momentary switch starts to be pressed:1
          [1659624126.647480][8590:8590] CHIP:ZCL: SwitchServer: OnInitialPress

          After 0.2 seconds, send this command

          echo '{"Name":"ShortRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          [1659683678.805455][2530:2538] CHIP:-: Received payload: "{"Name":"ShortRelease","PreviousPosition":1}"
          [1659683678.805739][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e7715
          [1659683678.805777][2530:2530] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released:1
          [1659683678.805858][2530:2530] CHIP:ZCL: SwitchServer: OnShortRelease


          After 10 seconds, repeat these commands (again with 0.2 s between them).
          Repeat this for 1 minute total.

          In parallel to this, watch whether DUT reads attribute CurrentPosition (expected to read multiple times to be aware of the changes in the switch position resp. the corresponding attribute)


          1. ./chip-tool interactive start
          2. switch read current-position 1 1  (in practice, DUT will issue this command, TH answers)

          [1659621181.542124][5668:5673] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001 DataVersion: 1273335636
          [1659621181.542207][5668:5673] CHIP:TOO:   current position: 1


          1. ./chip-tool interactive start
          2. switch read current-position 1 1

          [1659683735.960098][2900:2905] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001 DataVersion: 3999168277
          [1659683735.960157][2900:2905] CHIP:TOO:   current position: 0  <= value will toggle between 1 and 0

          Watch whether DUT presents state of simulated switch and/or controls another device based on the state of the switch.
      disabled: true

    - label:
          "TH simulates operation of the switch by repeating these steps (over a
          1 minute period) change state (attribute CurrentPosition) from 0 to 1,
          and send the event InitialPress (with field NewPosition=1) wait 0.2
          seconds change state (attribute CurrentPosition) from 1 to 0, and send
          the event ShortRelease (with field PreviousPosition=1) wait 10 seconds"
      PICS: SWTCH.C.F01 && SWTCH.C.M.EV
      verification: |
          On Raspi platform to trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor DUT should have capability to generate this event)

          echo '{"Name":"InitialPress","NewPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          [1659624126.646996][8590:8596] CHIP:-: Received payload: "{"Name":"InitialPress","NewPosition":1}"
          [1659624126.647380][8590:8590] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 4be58f55
          [1659624126.647438][8590:8590] CHIP:-: The new position when the momentary switch starts to be pressed:1
          [1659624126.647480][8590:8590] CHIP:ZCL: SwitchServer: OnInitialPress

          After 0.2 seconds, send this command

          echo '{"Name":"ShortRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          [1659684051.064329][2530:2538] CHIP:-: Received payload: "{"Name":"ShortRelease","PreviousPosition":1}"
          [1659684051.064820][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e7716
          [1659684051.064904][2530:2530] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released:1
          [1659684051.064994][2530:2530] CHIP:ZCL: SwitchServer: OnShortRelease

          After 10 seconds, repeat these commands (again with 0.2 s between them).
          Repeat this for 1 minute total.


          all-clusters app will emit events to the subscriber (DUT-client), e.g.
          Verify in TH Log:

          Please use Interactive mode to Verify the subscription of an event
          Here the command to enter interactive mode:--

          1. ./chip-tool interactive start
          2. switch subscribe-event initial-press 1 100 1 1

          [1659527630.476706][4774:4779] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000
          [1659527630.476742][4774:4779] CHIP:TOO:   Event number: 4
          [1659527630.476771][4774:4779] CHIP:TOO:   Priority: Info
          [1659527630.476799][4774:4779] CHIP:TOO:   Timestamp: 29687894
          [1659527630.476887][4774:4779] CHIP:TOO:   InitialPress: {
          [1659527630.476934][4774:4779] CHIP:TOO:     NewPosition: 1
          [1659527630.476969][4774:4779] CHIP:TOO:    }

          Please use Interactive mode to Verify the subscription of an event
          Here the command to enter interactive mode:--

          1. ./chip-tool interactive start
          2. switch subscribe-event short-release 1 100 1 1

          [1659527630.476706][4774:4779] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000
          [1659527630.476742][4774:4779] CHIP:TOO:   Event number: 5
          [1659527630.476771][4774:4779] CHIP:TOO:   Priority: Info
          [1659527630.476799][4774:4779] CHIP:TOO:   Timestamp: 29688000
          [1659527630.476887][4774:4779] CHIP:TOO:   ShortRelease: {
          [1659527630.476934][4774:4779] CHIP:TOO:     PreviousPosition: 1
          [1659527630.476969][4774:4779] CHIP:TOO:    }

          Watch whether DUT presents state of simulated switch and/or controls another device based on the state of the switch.
      disabled: true

    - label:
          "TH simulates operation of the switch by repeating these steps (over a
          1 minute period) change state (field CurrentPosition) from 0 to 1, and
          send the event InitialPress (with field NewPosition=1) wait 0.75
          seconds send the event LongPress (field NewPosition=1) wait 2 seconds
          change state (field CurrentPosition) from 1 to 0, and send the event
          LongRelease (with field PreviousPosition=1) wait 8 seconds"
      PICS: SWTCH.C.F01 && SWTCH.C.F03 && SWTCH.C.M.EV
      verification: |
          On Raspi platform to trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor DUT should have capability to generate this event)

          echo '{"Name":"InitialPress","NewPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          After 0.75 seconds, send this command

          echo '{"Name":"LongPress","NewPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          After 2 seconds, send this command

          echo '{"Name":"LongRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          After 8 seconds, repeat this set of commands
          Repeat this for 1 minute total.


          all-clusters app will emit events to the subscriber (DUT-client), e.g.
          Verify in TH Log:

          Please use Interactive mode to Verify the subscription of an event
          Here the command to enter interactive mode:--

          1. ./chip-tool interactive start
          2. switch subscribe-event initial-press 1 100 1 1

          [1659527630.476706][4774:4779] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000
          [1659527630.476742][4774:4779] CHIP:TOO:   Event number: 4
          [1659527630.476771][4774:4779] CHIP:TOO:   Priority: Info
          [1659527630.476799][4774:4779] CHIP:TOO:   Timestamp: 29687000
          [1659527630.476887][4774:4779] CHIP:TOO:   InitialPress: {
          [1659527630.476934][4774:4779] CHIP:TOO:     NewPosition: 1
          [1659527630.476969][4774:4779] CHIP:TOO:    }

          Please use Interactive mode to Verify the subscription of an event
          Here the command to enter interactive mode:--

          1. ./chip-tool interactive start
          2. switch subscribe-event long-press 1 100 1 1

          [1659527630.476706][4774:4779] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000
          [1659527630.476742][4774:4779] CHIP:TOO:   Event number: 5
          [1659527630.476771][4774:4779] CHIP:TOO:   Priority: Info
          [1659527630.476799][4774:4779] CHIP:TOO:   Timestamp: 29687750
          [1659527630.476887][4774:4779] CHIP:TOO:   LongPress: {
          [1659527630.476934][4774:4779] CHIP:TOO:     NewPosition: 1
          [1659527630.476969][4774:4779] CHIP:TOO:    }

          Please use Interactive mode to Verify the subscription of an event
          Here the command to enter interactive mode:--

          1. ./chip-tool interactive start
          2. switch subscribe-event long-release 1 100 1 1

          [1659527630.476706][4774:4779] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000
          [1659527630.476742][4774:4779] CHIP:TOO:   Event number: 6
          [1659527630.476771][4774:4779] CHIP:TOO:   Priority: Info
          [1659527630.476799][4774:4779] CHIP:TOO:   Timestamp: 296889750
          [1659527630.476887][4774:4779] CHIP:TOO:   LongRelease: {
          [1659527630.476934][4774:4779] CHIP:TOO:     PreviousPosition: 1
          [1659527630.476969][4774:4779] CHIP:TOO:    }

          Watch whether DUT presents state of simulated switch and/or controls another device based on the state of the switch.
      disabled: true
