# 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 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 capability to generate this event)


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

          Verify  switch has first position (0)  in 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 current position value as 0 inTH(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 capability to generate this event)

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

          Verify  switch has set to second  position (1)  in 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 current position value as 1 inTH(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: |
          Raspi device doesn"t support more than 2 position ,so this step is not verifiable by using raspi device

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

          [1659600438.058928][7312:7321] CHIP:-: Received payload: "{"Name":"SwitchLatched","NewPosition":2}"
          [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:2
          [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 current position value inTH(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: |
          Raspi device doesn"t support more than 2 position ,so this step is not verifiable by using raspi device


          In Raspi platform to change the switch to third position use the below sample 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":"SwitchLatched","NewPosition":3}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)

          [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 current position value inTH(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  switch has set to first position (0)  in 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 current position value as 0 inTH(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 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 has been subscribed inTH (chip-tool)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: |
          1. ./chip-tool interactive start
          2.  switch read current-position 1 1

          Verify current position value as 0 inTH(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: |
          1. ./chip-tool interactive start
          2.  switch read current-position 1 1

          Verify current position value inTH(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 update the state of the simulated switch give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to update the state of the simulated switch.

          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: |
          1. ./chip-tool interactive start
          2.  switch read current-position 1 1

          Verify current position value as 0 inTH(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 1on 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)

          [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)

          [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)

          [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)

          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)

          [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)

          [1659693203.272969][2530:2538] CHIP:-: Received payload: "{"Name":"LongPress","NewPosition":1}"
          [1659693203.273235][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e7727
          [1659693203.273276][2530:2530] CHIP:-: The new position when the momentary switch has been pressed for a long time:1
          [1659693203.273300][2530:2530] CHIP:ZCL: SwitchServer: OnLongPress
      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)

          [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)

          [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)

          [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)

          [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 1on 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 1on 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 1on 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 1on 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

          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":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

          verify MultiPresscomplete event with previousPosition set to 1 and TotalNumberOfPressesCounted set to 3 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:     PreviousPosition: 1
          [1659695330.923366][3912:3918] CHIP:TOO:     TotalNumberOfPressesCounted: 3
          [1659695330.923385][3912:3918] CHIP:TOO:    }
      disabled: true
