# 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: |
          Raspi device doesn't support more than 2 position ,so this step is not verifiable by using raspi device
          echo '{"Name":"SwitchLatched","NewPosition":2}' > /tmp/chip_all_clusters_fifo_<PID>  (PID of DUT)




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

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