# 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: 74.2.2. [TC-SWTCH-2.2] Primary functionality with server as DUT

PICS:
    - SWTCH.S

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

tests:
    - 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: "Commission DUT to TH (can be skipped if done in a preceding test)"
      verification: |
          Commission DUT to TH
      disabled: true

    - label: "Set up subscription to SwitchLatched event"
      PICS: SWTCH.S.F00
      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 the capability to generate this event)


          echo '{"Name":"SwitchLatched","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 switch-latched 1 100 1 1

          Verify SwitchLatched event in TH(chip-tool) Log:

          [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:   SwitchLatched: {
          [1659527630.476934][4774:4779] CHIP:TOO:     NewPosition: 1
          [1659527630.476969][4774:4779] CHIP:TOO:    }
      disabled: true

    - label: "Operator sets switch to first position"
      PICS: SWTCH.S.F00
      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 the capability to generate this event)


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

          Verify SwitchLatched event with NewPosition set to 0 on DUT(all-cluster-app) log:

          [1659599702.921797][7312:7312] CHIP:IN: SecureSession[0xaaaacdb77710]: MarkAsDefunct Type:2 LSID:24961
          [1659599703.232994][7312:7321] CHIP:-: Received payload: "{"Name":"SwitchLatched","NewPosition":0}"
          [1659599703.233543][7312:7312] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 1755409b
          [1659599703.233624][7312:7312] CHIP:-: The latching switch is moved to a new position:0
          [1659599703.233682][7312:7312] CHIP:ZCL: SwitchServer: OnSwitchLatch
      disabled: true

    - label: "Read CurrentPosition attribute"
      PICS: SWTCH.S.F00
      verification: |
          1. ./chip-tool interactive start
          2.  switch read current-position 1 1

          Verify CurrentPosition value is 0 in TH(chip-tool) Log:

          [1646209289.746157][2617:2622] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001DataVersion: 1206711661
          [1646209289.746228][2617:2622] CHIP:TOO:   current position: 0
      disabled: true

    - label: "Operator sets switch to second position"
      PICS: SWTCH.S.F00
      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 the capability to generate this event)

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

          Verify SwitchLatched event with NewPosition set to 1 on DUT(all-cluster-app) log:

          [1659600080.279936][7312:7321] CHIP:-: Received payload: "{"Name":"SwitchLatched","NewPosition":1}"
          [1659600080.280318][7312:7312] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 1755409c
          [1659600080.280376][7312:7312] CHIP:-: The latching switch is moved to a new position:1
          [1659600080.280412][7312:7312] CHIP:ZCL: SwitchServer: OnSwitchLatch
          [1659600080.280503][7312:7312] CHIP:EVL: LogEvent event number: 0x0000000000020005 priority: 1, endpoint id:  0x1 cluster id: 0x0000_003B event id: 0x0 Sys timestamp: 0x0000000000EB91B3
      disabled: true

    - label: "Read CurrentPosition attribute"
      PICS: SWTCH.S.F00
      verification: |
          1. ./chip-tool interactive start
          2.  switch read current-position 1 1

          Verify CurrentPosition value is 1 in TH(chip-tool) Log:

          [1646209289.746157][2617:2622] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001DataVersion: 1206711661
          [1646209289.746228][2617:2622] CHIP:TOO:   current position: 1
      disabled: true

    - label:
          "If NumberOfPositions>2 (see 2a of TC-SWTCH-2.1) : - Operator sets
          switch to next position - Read CurrentPosition attribute"
      PICS: SWTCH.S.F00
      verification: |
          In the current SDK development, Max number of positions is configured as 2, hence the current  test step should fail as NewPosition reached more than the Max NumberOfPositions.
          If the DUT supports more number of positions, then for the command in previous step, position should increase to the next level. Below is the sample command to execute, if the DUT supports NumberOfPositions >  2 .

          ./chip-tool switch read current-position 1 1

          Verify CurrentPosition value in TH(chip-tool) Log:

          [1659600502.023560][4306:4311] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001 DataVersion: 391463069
          [1659600502.023631][4306:4311] CHIP:TOO:   current position: 2
      disabled: true

    - label:
          "If NumberOfPositions>3 : - Repeat step 2f for NumberOfPositions-3
          times - After each time Operator has set switch to next position, -
          Read CurrentPosition attribute"
      PICS: SWTCH.S.F00
      verification: |
          In Raspi platform to change the switch to third position use the below sample command, its required to  use equivalent command on the respective DUT. Open one more terminal on DUT side to execute the echo command .

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

          Verify SwitchLatched event with NewPosition set to 3 on DUT(all-cluster-app) log:

          [1659600438.058928][7312:7321] CHIP:-: Received payload: "{"Name":"SwitchLatched","NewPosition":3}"
          [1659600438.059436][7312:7312] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 1755409d
          [1659600438.059519][7312:7312] CHIP:-: The latching switch is moved to a new position:3
          [1659600438.059644][7312:7312] CHIP:ZCL: SwitchServer: OnSwitchLatch
          [1659600438.059857][7312:7312] CHIP:EVL: LogEvent event number: 0x0000000000020006 priority: 1, endpoint id:  0x1 cluster id: 0x0000_003B event id: 0x0 Sys timestamp: 0x0000000000F10746

          In the current SDK development, Max number of positions are configured as 2, hence the current  test step should fail as its reached more than the numberof position. If the DUT supports more number of positions, then for the above command, it should increase to the next level. Below is the sample command to execute , if the DUT supports more than 2 NumberOfPositions.

          ./chip-tool switch read current-position 1 1

          Verify CurrentPosition value in TH(chip-tool) Log:

          [1659600502.023560][4306:4311] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001 DataVersion: 391463069
          [1659600502.023631][4306:4311] CHIP:TOO:   current position: 3
      disabled: true

    - label: "Operator returns switch to first position"
      PICS: SWTCH.S.F00
      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)

          Verify SwitchLatched event with NewPosition set to 0 on DUT(all-cluster-app) log:

          [1659599702.921797][7312:7312] CHIP:IN: SecureSession[0xaaaacdb77710]: MarkAsDefunct Type:2 LSID:24961
          [1659599703.232994][7312:7321] CHIP:-: Received payload: "{"Name":"SwitchLatched","NewPosition":0}"
          [1659599703.233543][7312:7312] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 1755409b
          [1659599703.233624][7312:7312] CHIP:-: The latching switch is moved to a new position:0
          [1659599703.233682][7312:7312] CHIP:ZCL: SwitchServer: OnSwitchLatch
      disabled: true

    - label: "Read CurrentPosition attribute"
      PICS: SWTCH.S.F00
      verification: |
          1. ./chip-tool interactive start
          2.  switch read current-position 1 1


          Verify CurrentPosition value is 0 in TH(chip-tool) Log:

          [1646209289.746157][2617:2622] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001DataVersion: 1206711661
          [1646209289.746228][2617:2622] CHIP:TOO:   current position: 0
      disabled: true

    - label: "Set up subscription to InitialPress event"
      PICS: SWTCH.S.F01
      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 the capability to generate this event)

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

          [1659612230.311864][7312:7321] CHIP:-: Received payload: "{"Name":"InitialPress","NewPosition":0}"
          [1659612230.312345][7312:7312] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 175540a4
          [1659612230.312422][7312:7312] CHIP:-: The new position when the momentary switch starts to be pressed:0
          [1659612230.312472][7312:7312] CHIP:ZCL: SwitchServer: OnInitialPress


          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

          Verify InitialPress event with NewPosition set to 0 on DUT(all-cluster-app) log:

          [1659612272.121119][4957:4962] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0001
          [1659612272.121143][4957:4962] CHIP:TOO:          Event number: 131085
          [1659612272.121164][4957:4962] CHIP:TOO:          Priority: Info
          [1659612272.121186][4957:4962] CHIP:TOO:          Timestamp: 27588291
          [1659612272.121313][4957:4962] CHIP:TOO:   InitialPress: {
          [1659612272.121347][4957:4962] CHIP:TOO:     NewPosition: 0
          [1659612272.121369][4957:4962] CHIP:TOO:    }
      disabled: true

    - label: "Operator does not operate switch"
      PICS: SWTCH.S.F01
      verification: |
          no Matter messages
      disabled: true

    - label: "Read CurrentPosition attribute"
      PICS: SWTCH.S.F01
      verification: |
          ./chip-tool switch read current-position 1 1

          Verify CurrentPosition value in TH (chip-tool) Log:

          [1646209289.746157][2617:2622] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001DataVersion: 1206711661
          [1646209289.746228][2617:2622] CHIP:TOO:   current position: 0
      disabled: true

    - label: "Operator operates switch (keep it pressed)"
      PICS: SWTCH.S.F01
      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)

          Verify InitialPress event with NewPosition set to 1 on DUT(all-cluster-app) log:

          [1659612460.072098][7312:7321] CHIP:-: Received payload: "{"Name":"InitialPress","NewPosition":1}"
          [1659612460.072562][7312:7312] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 175540a5
          [1659612460.072646][7312:7312] CHIP:-: The new position when the momentary switch starts to be pressed:1
          [1659612460.072706][7312:7312] CHIP:ZCL: SwitchServer: OnInitialPress
          [1659612460.073008][7312:7312] CHIP:EVL: Copy Event to next buffer with priority 1
      disabled: true

    - label: "Read CurrentPosition attribute"
      PICS: SWTCH.S.F01
      verification: |
          ./chip-tool switch read current-position 1 1

          Verify CurrentPosition  value is 1 TH(chip-tool) Log:
          [1646209289.746157][2617:2622] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001DataVersion: 1206711661
          [1646209289.746228][2617:2622] CHIP:TOO:   current position: 1
      disabled: true

    - label: "Operator releases switch"
      PICS: SWTCH.S.F01
      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 the capability to generate this event)

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

          Verify ShortRelease event with PreviousPosition set to 1 on DUT(all-cluster-app) log:

          [1669874154.289653][2239:2241] CHIP:-: Received payload: "{"Name":"ShortRelease","PreviousPosition":1}"
          [1669874154.290189][2239:2239] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 2c2733fa
          [1669874154.290274][2239:2239] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released:1
          [1669874154.290329][2239:2239] CHIP:ZCL: SwitchServer: OnShortRelease
          [1669874154.290460][2239:2239] CHIP:EVL: LogEvent event number: 0x000000000000000C priority: 1, endpoint id:  0x1 cluster id: 0x0000_003B event id: 0x3 Sys timestamp: 0x00000000004B0B8D
      disabled: true

    - label: "Read CurrentPosition attribute"
      PICS: SWTCH.S.F01
      verification: |
          ./chip-tool switch read current-position 1 1

          Verify CurrentPosition value in TH(chip-tool) Log:

          [1646209289.746157][2617:2622] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001DataVersion: 1206711661
          [1646209289.746228][2617:2622] CHIP:TOO:   current position: 0
      disabled: true

    - label: "Set up subscription to InitialPress and ShortRelease events"
      PICS: SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03
      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)

          Verify  InitialPress and ShortRelease events has been subscribed:

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

          Verify InitialPress event with NewPosition set to 1 on DUT(all-cluster-app) log:

          [1659686596.526276][2530:2538] CHIP:-: Received payload: "{"Name":"InitialPress","NewPosition":1}"
          [1659686596.526734][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e771a
          [1659686596.526820][2530:2530] CHIP:-: The new position when the momentary switch starts to be pressed:1
          [1659686596.526881][2530:2530] CHIP:ZCL: SwitchServer: OnInitialPress

          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":"ShortRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          Verify ShortRelease event with PreviousPosition set to 1 on DUT(all-cluster-app) log:

          [1659686852.011134][2530:2538] CHIP:-: Received payload: "{"Name":"ShortRelease","PreviousPosition":1}"
          [1659686852.011424][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e771b
          [1659686852.011466][2530:2530] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released:1
          [1659686852.011490][2530:2530] CHIP:ZCL: SwitchServer: OnShortRelease
      disabled: true

    - label: "Operator does not operate switch"
      PICS: SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03
      verification: |
          no Matter messages
      disabled: true

    - label: "Operator operates switch (press briefly)"
      PICS: SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03
      verification: |
          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

          Verify InitialPress event with NewPosition set to 1 on TH chip-tool log:

          [1659686631.947247][3045:3050] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0001
          [1659686631.947272][3045:3050] CHIP:TOO:          Event number: 23
          [1659686631.947296][3045:3050] CHIP:TOO:          Priority: Info
          [1659686631.947320][3045:3050] CHIP:TOO:          Timestamp: 9048822
          [1659686631.947348][3045:3050] CHIP:TOO:   InitialPress: {
          [1659686631.947374][3045:3050] CHIP:TOO:     NewPosition: 1
          [1659686631.947397][3045:3050] CHIP:TOO:    }
      disabled: true

    - label: "Operator releases switch"
      PICS: SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03
      verification: |
          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 --keepSubscriptions true

          Verify ShortRelease event with PreviousPosition set to 1 on TH chip-tool log:

          [1659686907.770389][3061:3066] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003
          [1659686907.770413][3061:3066] CHIP:TOO:          Event number: 24
          [1659686907.770434][3061:3066] CHIP:TOO:          Priority: Info
          [1659686907.770456][3061:3066] CHIP:TOO:          Timestamp: 9304307
          [1659686907.770482][3061:3066] CHIP:TOO:   ShortRelease: {
          [1659686907.770506][3061:3066] CHIP:TOO:     PreviousPosition: 1
          [1659686907.770528][3061:3066] CHIP:TOO:    }
      disabled: true

    - label:
          "Operator operates switch (keep pressed for long time, e.g. 5 seconds)"
      PICS: SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03
      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)

          Verify InitialPress event with NewPosition set to 1 on DUT(all-cluster-app) log:

          [1659686596.526276][2530:2538] CHIP:-: Received payload: "{"Name":"InitialPress","NewPosition":1}"
          [1659686596.526734][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e771a
          [1659686596.526820][2530:2530] CHIP:-: The new position when the momentary switch starts to be pressed:1
          [1659686596.526881][2530:2530] CHIP:ZCL: SwitchServer: OnInitialPress

          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

          Verify InitialPress event with NewPosition set to 1 on TH chip-tool log:

          [1659692069.006090][3668:3674] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0001
          [1659692069.006114][3668:3674] CHIP:TOO:          Event number: 26
          [1659692069.006138][3668:3674] CHIP:TOO:          Priority: Info
          [1659692069.006160][3668:3674] CHIP:TOO:          Timestamp: 14513708
          [1659692069.006187][3668:3674] CHIP:TOO:   InitialPress: {
          [1659692069.006211][3668:3674] CHIP:TOO:     NewPosition: 1
          [1659692069.006233][3668:3674] CHIP:TOO:    }
      disabled: true

    - label: "Operator releases switch"
      PICS: SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03
      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":"ShortRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          Verify ShortRelease event with PreviousPosition set to 1 on DUT(all-cluster-app) log:

          [1659686852.011134][2530:2538] CHIP:-: Received payload: "{"Name":"ShortRelease","PreviousPosition":1}"
          [1659686852.011424][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e771b
          [1659686852.011466][2530:2530] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released:1
          [1659686852.011490][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

          Verify ShortRelease event with PreviousPosition set to 1 on TH chip-tool log:

          [1659692123.069593][3675:3680] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003
          [1659692123.069616][3675:3680] CHIP:TOO:          Event number: 27
          [1659692123.069639][3675:3680] CHIP:TOO:          Priority: Info
          [1659692123.069660][3675:3680] CHIP:TOO:          Timestamp: 14562409
          [1659692123.069687][3675:3680] CHIP:TOO:   ShortRelease: {
          [1659692123.069711][3675:3680] CHIP:TOO:     PreviousPosition: 1
          [1659692123.069734][3675:3680] CHIP:TOO:    }
      disabled: true

    - label:
          "Set up subscription to InitialPress, LongPress, ShortRelease,
          LongRelease events"
      PICS: SWTCH.S.F01 && SWTCH.S.F03
      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)

          Verify InitialPress event with NewPosition set to 1 on DUT(all-cluster-app) log:

          [1659693098.031462][2530:2538] CHIP:-: Received payload: "{"Name":"InitialPress","NewPosition":1}"
          [1659693098.031812][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e7724
          [1659693098.031859][2530:2530] CHIP:-: The new position when the momentary switch starts to be pressed:1
          [1659693098.031888][2530:2530] CHIP:ZCL: SwitchServer: OnInitialPress

          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":"LongPress","NewPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          Verify LongPress event with NewPosition set to 1 on DUT(all-cluster-app) log:

          1659693130.924755][2530:2538] CHIP:-: Received payload: "{"Name":"LongPress","NewPosition":1}"
          [1659693130.925030][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e7725
          [1659693130.925064][2530:2530] CHIP:-: The new position when the momentary switch has been pressed for a long time:1
          [1659693130.925313][2530:2530] CHIP:ZCL: SwitchServer: OnLongPress

          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":"ShortRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          Verify ShortRelease event with PreviousPosition set to 1 on DUT(all-cluster-app) log:

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

          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":"LongRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          Verify LongRelease event with PreviousPosition set to 1 on DUT(all-cluster-app) log:

          [1674036547.915803][19172:19174] CHIP:-: Received payload: "{"Name":"LongRelease","PreviousPosition":1}"
          [1674036547.916262][19172:19172] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 40105288
          [1674036547.916347][19172:19172] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released after having been pressed for a long time:1
          [1674036547.916493][19172:19172] CHIP:ZCL: SwitchServer: OnLongRelease
      disabled: true

    - label: "Operator does not operate switch"
      PICS: SWTCH.S.F01 && SWTCH.S.F03
      verification: |
          no Matter messages
      disabled: true

    - label: "Operator operates switch (press briefly)"
      PICS: SWTCH.S.F01 && SWTCH.S.F03
      verification: |
          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

          Verify InitialPress event with NewPosition set to 1 on TH chip-tool log:

          [1659692507.869323][3696:3701] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0001
          [1659692507.869342][3696:3701] CHIP:TOO:          Event number: 28
          [1659692507.869361][3696:3701] CHIP:TOO:          Priority: Info
          [1659692507.869379][3696:3701] CHIP:TOO:          Timestamp: 14905717
          [1659692507.869402][3696:3701] CHIP:TOO:   InitialPress: {
          [1659692507.869421][3696:3701] CHIP:TOO:     NewPosition: 1
          [1659692507.869440][3696:3701] CHIP:TOO:    }
      disabled: true

    - label: "Operator releases switch"
      PICS: SWTCH.S.F01 && SWTCH.S.F03
      verification: |
          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

          Verify ShortRelease event with PreviousPosition set to 1 on TH chip-tool log:

          [1659692890.665344][3721:3726] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003
          [1659692890.665369][3721:3726] CHIP:TOO:          Event number: 31
          [1659692890.665392][3721:3726] CHIP:TOO:          Priority: Info
          [1659692890.665416][3721:3726] CHIP:TOO:          Timestamp: 15332747
          [1659692890.665444][3721:3726] CHIP:TOO:   ShortRelease: {
          [1659692890.665470][3721:3726] CHIP:TOO:     PreviousPosition: 1
          [1659692890.665494][3721:3726] CHIP:TOO:    }
      disabled: true

    - label:
          "Operator operates switch (keep pressed for long time, e.g. 5 seconds)"
      PICS: SWTCH.S.F01 && SWTCH.S.F03
      verification: |
          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

          Verify InitialPress event with NewPosition set to 1 on TH chip-tool log:

          [1659692507.869323][3696:3701] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0001
          [1659692507.869342][3696:3701] CHIP:TOO:          Event number: 28
          [1659692507.869361][3696:3701] CHIP:TOO:          Priority: Info
          [1659692507.869379][3696:3701] CHIP:TOO:          Timestamp: 14905717
          [1659692507.869402][3696:3701] CHIP:TOO:   InitialPress: {
          [1659692507.869421][3696:3701] CHIP:TOO:     NewPosition: 1
          [1659692507.869440][3696:3701] 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

          Verify longPress event with NewPosition set to 1 on TH chip-tool log:

          [1659692638.993482][3706:3712] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0002
          [1659692638.993504][3706:3712] CHIP:TOO:          Event number: 30
          [1659692638.993525][3706:3712] CHIP:TOO:          Priority: Info
          [1659692638.993545][3706:3712] CHIP:TOO:          Timestamp: 15084506
          [1659692638.993571][3706:3712] CHIP:TOO:   LongPress: {
          [1659692638.993593][3706:3712] CHIP:TOO:     NewPosition: 1
          [1659692638.993615][3706:3712] CHIP:TOO:    }
      disabled: true

    - label: "Operator releases switch"
      PICS: SWTCH.S.F01 && SWTCH.S.F03
      verification: |
          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

          Verify longrelease event with previousPosition set to 1 on TH chip-tool log:

          [1659693001.739969][3732:3737] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0004
          [1659693001.740012][3732:3737] CHIP:TOO:          Event number: 32
          [1659693001.740049][3732:3737] CHIP:TOO:          Priority: Info
          [1659693001.740087][3732:3737] CHIP:TOO:          Timestamp: 15438774
          [1659693001.740134][3732:3737] CHIP:TOO:   LongRelease: {
          [1659693001.740174][3732:3737] CHIP:TOO:     PreviousPosition: 1
          [1659693001.740212][3732:3737] CHIP:TOO:    }
      disabled: true

    - label:
          "Set up subscription to InitialPress, ShortRelease, MultiPressOngoing,
          MultiPressComplete events"
      PICS: SWTCH.S.F01 && SWTCH.S.F04
      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)

          Verify InitialPress event with NewPosition set to 1 on DUT(all-cluster-app) log:

          [1659693098.031462][2530:2538] CHIP:-: Received payload: "{"Name":"InitialPress","NewPosition":1}"
          [1659693098.031812][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e7724
          [1659693098.031859][2530:2530] CHIP:-: The new position when the momentary switch starts to be pressed:1
          [1659693098.031888][2530:2530] CHIP:ZCL: SwitchServer: OnInitialPress

          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":"ShortRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          Verify ShortRelease  event with PreviousPosition set to 1 on DUT(all-cluster-app) log:

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

          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":"MultiPressComplete","PreviousPosition":1,"TotalNumberOfPressesCounted":1}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          Verify MultiPressComplete  event with PreviousPosition set to 1 on DUT(all-cluster-app) log:

          [1659694592.347850][2530:2538] CHIP:-: Received payload: "{"Name":"MultiPressComplete","PreviousPosition":1,"TotalNumberOfPressesCounted":1}"
          [1659694592.348389][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e772b
          [1659694592.348481][2530:2530] CHIP:-: The new position when the momentary switch has been pressed in a multi-press sequence:1

          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":"MultiPressOngoing","NewPosition":1,"CurrentNumberOfPressesCounted":2}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          Verify MultiPressOngoing event with NewPosition set to 1 on DUT(all-cluster-app) log:

          [1659695302.038797][2530:2538] CHIP:-: Received payload: "{"Name":"MultiPressOngoing","NewPosition":1,"CurrentNumberOfPressesCounted":2}"
          [1659695302.039933][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e7730
          [1659695302.040020][2530:2530] CHIP:-: The new position when the momentary switch has been pressed in a multi-press sequence:1
          [1659695302.040078][2530:2530] CHIP:-: 2 times the momentary switch has been pressed
          [1659695302.040131][2530:2530] CHIP:ZCL: SwitchServer: OnMultiPressOngoing
          [1659694592.348541][2530:2530] CHIP:-: 1 times the momentary switch has been pressed
          [1659694592.348585][2530:2530] CHIP:ZCL: SwitchServer: OnMultiPressOngoing
      disabled: true

    - label: "Operator does not operate switch"
      PICS: SWTCH.S.F01 && SWTCH.S.F04
      verification: |
          no Matter messages for this step
      disabled: true

    - label: "Operator operates switch (press briefly)"
      PICS: SWTCH.S.F01 && SWTCH.S.F04
      verification: |
          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

          Verify InitialPress event with NewPosition set to 1 on TH chip-tool log:

          [1659694345.040034][3787:3792] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0001
          [1659694345.040059][3787:3792] CHIP:TOO:          Event number: 37
          [1659694345.040083][3787:3792] CHIP:TOO:          Priority: Info
          [1659694345.040106][3787:3792] CHIP:TOO:          Timestamp: 16729153
          [1659694345.040135][3787:3792] CHIP:TOO:   InitialPress: {
          [1659694345.040160][3787:3792] CHIP:TOO:     NewPosition: 1
      disabled: true

    - label: "Operator releases switch"
      PICS: SWTCH.S.F01 && SWTCH.S.F04
      verification: |
          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

          Verify ShortRelease event with PreviousPosition set to 1 on TH chip-tool log:

          [1659694426.794832][3797:3802] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003
          [1659694426.794853][3797:3802] CHIP:TOO:          Event number: 38
          [1659694426.794873][3797:3802] CHIP:TOO:          Priority: Info
          [1659694426.794891][3797:3802] CHIP:TOO:          Timestamp: 16840016
          [1659694426.794914][3797:3802] CHIP:TOO:   ShortRelease: {
          [1659694426.794934][3797:3802] CHIP:TOO:     PreviousPosition: 1
          [1659694426.794952][3797:3802] 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 multi-press-complete 1 100 1 1

          Verify MultiPressComplete event with PreviousPosition set to 1 and TotalNumberOfPressesCounted set to 1 on TH chip-tool log:

          [1659695330.923244][3912:3918] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0005
          [1659695330.923264][3912:3918] CHIP:TOO:          Event number: 45
          [1659695330.923283][3912:3918] CHIP:TOO:          Priority: Info
          [1659695330.923302][3912:3918] CHIP:TOO:          Timestamp: 17754336
          [1659695330.923326][3912:3918] CHIP:TOO:   MultiPressComplete: {
          [1659695330.923346][3912:3918] CHIP:TOO:     PrevioiusPosition: 1
          [1659695330.923366][3912:3918] CHIP:TOO:     TotalNumberOfPressesCounted: 1
          [1659695330.923385][3912:3918] CHIP:TOO:    }
      disabled: true

    - label: "Operator operates switch (press briefly)"
      PICS: SWTCH.S.F01 && SWTCH.S.F04
      verification: |
          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

          Verify InitialPress event with NewPosition set to 1 on TH chip-tool log:

          [1659695901.066563][3955:3960] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0001
          [1659695901.066583][3955:3960] CHIP:TOO:          Event number: 46
          [1659695901.066602][3955:3960] CHIP:TOO:          Priority: Info
          [1659695901.066643][3955:3960] CHIP:TOO:          Timestamp: 18095747
          [1659695901.066669][3955:3960] CHIP:TOO:   InitialPress: {
          [1659695901.066689][3955:3960] CHIP:TOO:     NewPosition: 1
          [1659695901.066708][3955:3960] CHIP:TOO:    }
      disabled: true

    - label: "Operator releases switch"
      PICS: SWTCH.S.F01 && SWTCH.S.F04
      verification: |
          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

          Verify ShortRelease event with PreviousPosition set to 1 on TH chip-tool log:

          [1659694426.794832][3797:3802] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003
          [1659694426.794853][3797:3802] CHIP:TOO:          Event number: 38
          [1659694426.794873][3797:3802] CHIP:TOO:          Priority: Info
          [1659694426.794891][3797:3802] CHIP:TOO:          Timestamp: 16840016
          [1659694426.794914][3797:3802] CHIP:TOO:   ShortRelease: {
          [1659694426.794934][3797:3802] CHIP:TOO:     PreviousPosition: 1
          [1659694426.794952][3797:3802] CHIP:TOO:    }
      disabled: true

    - label: "Briefly after 6f, operator operates switch again (press briefly)"
      PICS: SWTCH.S.F01 && SWTCH.S.F04
      verification: |
          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

          Verify InitialPress event with NewPosition set to 1 on TH chip-tool log:

          [1659694345.040034][3787:3792] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0001
          [1659694345.040059][3787:3792] CHIP:TOO:          Event number: 37
          [1659694345.040083][3787:3792] CHIP:TOO:          Priority: Info
          [1659694345.040106][3787:3792] CHIP:TOO:          Timestamp: 16729153
          [1659694345.040135][3787:3792] CHIP:TOO:   InitialPress: {
          [1659694345.040160][3787:3792] CHIP:TOO:     NewPosition: 1

          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 multi-press-ongoing 1 100 1 1

          Verify MultiPressongoing event with NewPosition set to 1 and CurrentNumberOfPressesCounted set to 2 on TH chip-tool log:

          [1659695330.923244][3912:3918] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0005
          [1659695330.923264][3912:3918] CHIP:TOO:          Event number: 45
          [1659695330.923283][3912:3918] CHIP:TOO:          Priority: Info
          [1659695330.923302][3912:3918] CHIP:TOO:          Timestamp: 17754336
          [1659695330.923326][3912:3918] CHIP:TOO:   MultiPressOngoing: {
          [1659695330.923346][3912:3918] CHIP:TOO:     NewPosition: 1
          [1659695330.923366][3912:3918] CHIP:TOO:     CurrentNumberOfPressesCounted: 2
          [1659695330.923385][3912:3918] CHIP:TOO:    }
      disabled: true

    - label: "Operator releases switch"
      PICS: SWTCH.S.F01 && SWTCH.S.F04
      verification: |
          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

          Verify ShortRelease event with PreviousPosition set to 1 on TH chip-tool log:

          [1659696223.568247][3981:3986] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003
          [1659696223.568272][3981:3986] CHIP:TOO:          Event number: 53
          [1659696223.568296][3981:3986] CHIP:TOO:          Priority: Info
          [1659696223.568319][3981:3986] CHIP:TOO:          Timestamp: 18666186
          [1659696223.568348][3981:3986] CHIP:TOO:   ShortRelease: {
          [1659696223.568373][3981:3986] CHIP:TOO:     PreviousPosition: 1
          [1659696223.568397][3981:3986] CHIP:TOO:    }


          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":"MultiPressComplete","PreviousPosition":1,"TotalNumberOfPressesCounted":2}' > /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 multi-press-complete 1 100 1 1

          Verify MultiPressComplete event with PreviousPosition set to 1 and TotalNumberOfPressesCounted set to 2 on TH chip-tool log:

          [1659695330.923244][3912:3918] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0005
          [1659695330.923264][3912:3918] CHIP:TOO:          Event number: 45
          [1659695330.923283][3912:3918] CHIP:TOO:          Priority: Info
          [1659695330.923302][3912:3918] CHIP:TOO:          Timestamp: 17754336
          [1659695330.923326][3912:3918] CHIP:TOO:   MultiPressComplete: {
          [1659695330.923346][3912:3918] CHIP:TOO:     PrevioiusPosition: 1
          [1659695330.923366][3912:3918] CHIP:TOO:     TotalNumberOfPressesCounted: 2
          [1659695330.923385][3912:3918] CHIP:TOO:    }
      disabled: true

    - label:
          "If MultiPressMax == 2 (see 2c of TC-SWTCH-2.1), skip steps 6j .. 6o"
      PICS: SWTCH.S.F01 && SWTCH.S.F04
      verification: |
          no Matter messages for this step
      disabled: true

    - label: "Operator operates switch (press briefly)"
      PICS: SWTCH.S.F01 && SWTCH.S.F04
      verification: |
          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

          Verify InitialPress event with NewPosition set to 1 on TH chip-tool log:

          [1659695901.066563][3955:3960] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0001
          [1659695901.066583][3955:3960] CHIP:TOO:          Event number: 46
          [1659695901.066602][3955:3960] CHIP:TOO:          Priority: Info
          [1659695901.066643][3955:3960] CHIP:TOO:          Timestamp: 18095747
          [1659695901.066669][3955:3960] CHIP:TOO:   InitialPress: {
          [1659695901.066689][3955:3960] CHIP:TOO:     NewPosition: 1
          [1659695901.066708][3955:3960] CHIP:TOO:    }
      disabled: true

    - label: "Operator releases switch"
      PICS: SWTCH.S.F01 && SWTCH.S.F04
      verification: |
          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

          Verify  ShortRelease event with PreviousPosition set to 1 on TH chip-tool log:

          [1659694426.794832][3797:3802] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003
          [1659694426.794853][3797:3802] CHIP:TOO:          Event number: 38
          [1659694426.794873][3797:3802] CHIP:TOO:          Priority: Info
          [1659694426.794891][3797:3802] CHIP:TOO:          Timestamp: 16840016
          [1659694426.794914][3797:3802] CHIP:TOO:   ShortRelease: {
          [1659694426.794934][3797:3802] CHIP:TOO:     PreviousPosition: 1
          [1659694426.794952][3797:3802] CHIP:TOO:    }
      disabled: true

    - label: "Briefly after 6k, operator operates switch again (press briefly)"
      PICS: SWTCH.S.F01 && SWTCH.S.F04
      verification: |
          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

          Verify InitialPress event with NewPosition set to 1 on TH chip-tool log:

          [1659694345.040034][3787:3792] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0001
          [1659694345.040059][3787:3792] CHIP:TOO:          Event number: 37
          [1659694345.040083][3787:3792] CHIP:TOO:          Priority: Info
          [1659694345.040106][3787:3792] CHIP:TOO:          Timestamp: 16729153
          [1659694345.040135][3787:3792] CHIP:TOO:   InitialPress: {
          [1659694345.040160][3787:3792] CHIP:TOO:     NewPosition: 1

          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 multi-press-ongoing 1 100 1 1

          Verify MultiPressongoing event with NewPosition set to 1 and CurrentNumberOfPressesCounted set to 2 on TH chip-tool log:

          [1659695330.923244][3912:3918] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0005
          [1659695330.923264][3912:3918] CHIP:TOO:          Event number: 45
          [1659695330.923283][3912:3918] CHIP:TOO:          Priority: Info
          [1659695330.923302][3912:3918] CHIP:TOO:          Timestamp: 17754336
          [1659695330.923326][3912:3918] CHIP:TOO:   MultiPressOngoing: {
          [1659695330.923346][3912:3918] CHIP:TOO:     NewPosition: 1
          [1659695330.923366][3912:3918] CHIP:TOO:     CurrentNumberOfPressesCounted: 2
          [1659695330.923385][3912:3918] CHIP:TOO:    }
      disabled: true

    - label: "Operator releases switch"
      PICS: SWTCH.S.F01 && SWTCH.S.F04
      verification: |
          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

          Verify ShortRelease event with PreviousPosition set to 1 on TH chip-tool log:

          [1659694426.794832][3797:3802] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003
          [1659694426.794853][3797:3802] CHIP:TOO:          Event number: 38
          [1659694426.794873][3797:3802] CHIP:TOO:          Priority: Info
          [1659694426.794891][3797:3802] CHIP:TOO:          Timestamp: 16840016
          [1659694426.794914][3797:3802] CHIP:TOO:   ShortRelease: {
          [1659694426.794934][3797:3802] CHIP:TOO:     PreviousPosition: 1
          [1659694426.794952][3797:3802] CHIP:TOO:    }
      disabled: true

    - label: "Briefly after 6m, operator operates switch again (press briefly)"
      PICS: SWTCH.S.F01 && SWTCH.S.F04
      verification: |
          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

          Verify InitialPress event with NewPosition set to 1 on TH chip-tool log:

          [1659694345.040034][3787:3792] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0001
          [1659694345.040059][3787:3792] CHIP:TOO:          Event number: 37
          [1659694345.040083][3787:3792] CHIP:TOO:          Priority: Info
          [1659694345.040106][3787:3792] CHIP:TOO:          Timestamp: 16729153
          [1659694345.040135][3787:3792] CHIP:TOO:   InitialPress: {
          [1659694345.040160][3787:3792] CHIP:TOO:     NewPosition: 1

          In Raspi platform to change the switch to second position use the below command, Pls use equivalent command on the respective DUT.open one more terminal on DUT side execute the echo command on that terminal.

          echo '{"Name":"MultiPressOngoing","NewPosition":1,"CurrentNumberOfPressesCounted":3}' > /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 multi-press-ongoing 1 100 1 1

          Verify MultiPressongoing event with NewPosition set to 1 and CurrentNumberOfPressesCounted set to 3 on TH chip-tool log:

          [1659698336.786184][4081:4086] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0005
          [1659698336.786209][4081:4086] CHIP:TOO:          Event number: 57
          [1659698336.786233][4081:4086] CHIP:TOO:          Priority: Info
          [1659698336.786256][4081:4086] CHIP:TOO:          Timestamp: 20718400
          [1659698336.786287][4081:4086] CHIP:TOO:   MultiPressOngoing: {
          [1659698336.786312][4081:4086] CHIP:TOO:     NewPosition: 1
          [1659698336.786337][4081:4086] CHIP:TOO:     CurrentNumberOfPressesCounted: 3
          [1659698336.786360][4081:4086] CHIP:TOO:    }
      disabled: true

    - label: "Operator releases switch"
      PICS: SWTCH.S.F01 && SWTCH.S.F04
      verification: |
          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

          [1659696223.568247][3981:3986] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003
          [1659696223.568272][3981:3986] CHIP:TOO:          Event number: 53
          [1659696223.568296][3981:3986] CHIP:TOO:          Priority: Info
          [1659696223.568319][3981:3986] CHIP:TOO:          Timestamp: 18666186
          [1659696223.568348][3981:3986] CHIP:TOO:   ShortRelease: {
          [1659696223.568373][3981:3986] CHIP:TOO:     PreviousPosition: 1
          [1659696223.568397][3981:3986] CHIP:TOO:    }


          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":"MultiPressComplete","PreviousPosition":1,"TotalNumberOfPressesCounted":3}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          [1659694592.347850][2530:2538] CHIP:-: Received payload: "{"Name":"MultiPressComplete","PreviousPosition":1,"TotalNumberOfPressesCounted":3}"
          [1659694592.348389][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e772b
          [1659694592.348481][2530:2530] CHIP:-: The new position when the momentary switch has been pressed in a multi-press sequence:1

          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 multi-press-complete 1 100 1 1

          [1659695330.923244][3912:3918] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0005
          [1659695330.923264][3912:3918] CHIP:TOO:          Event number: 45
          [1659695330.923283][3912:3918] CHIP:TOO:          Priority: Info
          [1659695330.923302][3912:3918] CHIP:TOO:          Timestamp: 17754336
          [1659695330.923326][3912:3918] CHIP:TOO:   MultiPressComplete: {
          [1659695330.923346][3912:3918] CHIP:TOO:     PreviousPosition: 1
          [1659695330.923366][3912:3918] CHIP:TOO:     TotalNumberOfPressesCounted: 3
          [1659695330.923385][3912:3918] CHIP:TOO:    }
      disabled: true
