| # Copyright (c) 2021 Project CHIP Authors |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default |
| |
| name: 73.3.3. [TC-SWTCH-3.2] Primary functionality with client as DUT |
| |
| PICS: |
| - SWTCH.C |
| |
| config: |
| nodeId: 0x12344321 |
| cluster: "Basic Information" |
| endpoint: 0 |
| |
| tests: |
| - label: "Note" |
| verification: | |
| For DUT as client test cases, Chip-tool command used below are an example to verify the functionality. For certification test, we expect DUT should have a capability or way to run the equivalent command. |
| disabled: true |
| |
| - label: "Note" |
| verification: | |
| NOTE: https://github.com/project-chip/connectedhomeip/tree/master/examples/all-clusters-app/linux#readme |
| Events to be executed as following |
| 1. Compile app using below command in connectedhomeip folder |
| a. ./scripts/run_in_build_env.sh ./scripts/build/build_examples.py --target linux-arm64-all-clusters-no-ble-asan-clang build |
| 2. Build respective app (all-clusters-app) |
| 3. Commission DUT to TH |
| 4. Open 2nd terminal of DUT and provide the below command to obtain PID of DUT |
| ps -aef|grep all-clusters-app |
| 5. Follow the Verification step below to generate the event in 2nd terminal of DUT |
| disabled: true |
| |
| - label: |
| "FAIL the test - at least one of SWTCH.C.F00(LS) and SWTCH.C.F01(MS) |
| has to be supported" |
| PICS: "!SWTCH.C.F00 && !SWTCH.C.F01" |
| verification: | |
| no messages needed, TH checks consistency of PICS flags |
| disabled: true |
| |
| - label: |
| "FAIL the test - when supporting SWTCH.C.F02(MSR) also SWTCH.C.F01(MS) |
| must be supported" |
| PICS: SWTCH.C.F02 && !SWTCH.C.F01 |
| verification: | |
| no messages needed, TH checks consistency of PICS flags |
| disabled: true |
| |
| - label: |
| "FAIL the test - when supporting SWTCH.C.F03(MSL) also SWTCH.C.F01(MS) |
| must be supported" |
| PICS: SWTCH.C.F03 && !SWTCH.C.F01 |
| verification: | |
| no messages needed, TH checks consistency of PICS flags |
| disabled: true |
| |
| - label: |
| "FAIL the test - when supporting SWTCH.C.F03(MSL) also |
| SWTCH.C.F02(MSR) must be supported" |
| PICS: SWTCH.C.F03 && !SWTCH.C.F02 |
| verification: | |
| no messages needed, TH checks consistency of PICS flags |
| disabled: true |
| |
| - label: |
| "FAIL the test - when supporting SWTCH.C.F04(MSM) also SWTCH.C.F01(MS) |
| must be supported" |
| PICS: SWTCH.C.F04 && !SWTCH.C.F01 |
| verification: | |
| no messages needed, TH checks consistency of PICS flags |
| disabled: true |
| |
| - label: |
| "FAIL the test - when supporting SWTCH.C.F04(MSM) also |
| SWTCH.C.F02(MSR) must be supported" |
| PICS: SWTCH.C.F04 && !SWTCH.C.F02 |
| verification: | |
| no messages needed, TH checks consistency of PICS flags |
| disabled: true |
| |
| - label: |
| "FAIL the test - at least one of SWTCH.C.M.RA and SWTCH.C.M.EV must be |
| supported" |
| PICS: "!SWTCH.C.M.RA && !SWTCH.C.M.EV" |
| verification: | |
| no messages needed, TH checks consistency of PICS flags |
| disabled: true |
| |
| - label: |
| "Commission DUT to TH. Use client mechanism to set it up so switch |
| state can be observed (e.g. UI shows state of switch) and/or other |
| device is controlled (e.g. light on same fabric gets controlled by the |
| switch TH has to simulate that light). While commissioning and |
| configuring, TH records and reacts to the messages relating to the |
| switch functionality detailed in the steps below. The order of the |
| messages received may be different from the order of the sub-steps |
| 1b..1d below." |
| PICS: SWTCH.C.F00 |
| verification: | |
| |
| disabled: true |
| |
| - label: "DUT reads global attribute FeatureMap." |
| PICS: SWTCH.C.F00 |
| verification: | |
| ./chip-tool switch read feature-map 1 1 |
| |
| verify on Reference app receives the right response for the data sent in the above commands |
| |
| Verify FeatureMap value as 1 in TH all-clusters-app log |
| |
| ReportDataMessage = |
| [1671450600.457719][8426:8426] CHIP:DMG: { |
| [1671450600.457728][8426:8426] CHIP:DMG: AttributeReportIBs = |
| [1671450600.457747][8426:8426] CHIP:DMG: [ |
| [1671450600.457756][8426:8426] CHIP:DMG: AttributeReportIB = |
| [1671450600.457954][8426:8426] CHIP:DMG: { |
| [1671450600.457976][8426:8426] CHIP:DMG: AttributeDataIB = |
| [1671450600.457991][8426:8426] CHIP:DMG: { |
| [1671450600.458015][8426:8426] CHIP:DMG: DataVersion = 0xcfe432fa, |
| [1671450600.458038][8426:8426] CHIP:DMG: AttributePathIB = |
| [1671450600.458057][8426:8426] CHIP:DMG: { |
| [1671450600.458075][8426:8426] CHIP:DMG: Endpoint = 0x1, |
| [1671450600.458088][8426:8426] CHIP:DMG: Cluster = 0x3b, |
| [1671450600.458108][8426:8426] CHIP:DMG: Attribute = 0x0000_FFFC, |
| [1671450600.458122][8426:8426] CHIP:DMG: } |
| [1671450600.458137][8426:8426] CHIP:DMG: |
| [1671450600.458151][8426:8426] CHIP:DMG: Data = 1, |
| [1671450600.458161][8426:8426] CHIP:DMG: }, |
| [1671450600.458179][8426:8426] CHIP:DMG: |
| [1671450600.458188][8426:8426] CHIP:DMG: }, |
| [1671450600.458207][8426:8426] CHIP:DMG: |
| [1671450600.458216][8426:8426] CHIP:DMG: ], |
| [1671450600.458242][8426:8426] CHIP:DMG: |
| [1671450600.458255][8426:8426] CHIP:DMG: SuppressResponse = true, |
| [1671450600.458273][8426:8426] CHIP:DMG: InteractionModelRevision = 1 |
| [1671450600.458286][8426:8426] CHIP:DMG: } |
| disabled: true |
| |
| - label: "DUT reads attribute NumberOfPositions." |
| PICS: SWTCH.C.F00 |
| verification: | |
| ./chip-tool switch read number-of-positions 1 1 |
| |
| Verify number of positions value as 2 in TH all-clusters-app log |
| |
| ReportDataMessage = |
| [1671450651.817816][8426:8426] CHIP:DMG: { |
| [1671450651.817819][8426:8426] CHIP:DMG: AttributeReportIBs = |
| [1671450651.817825][8426:8426] CHIP:DMG: [ |
| [1671450651.817828][8426:8426] CHIP:DMG: AttributeReportIB = |
| [1671450651.817849][8426:8426] CHIP:DMG: { |
| [1671450651.817853][8426:8426] CHIP:DMG: AttributeDataIB = |
| [1671450651.817858][8426:8426] CHIP:DMG: { |
| [1671450651.817862][8426:8426] CHIP:DMG: DataVersion = 0xcfe432fa, |
| [1671450651.817864][8426:8426] CHIP:DMG: AttributePathIB = |
| [1671450651.817868][8426:8426] CHIP:DMG: { |
| [1671450651.817872][8426:8426] CHIP:DMG: Endpoint = 0x1, |
| [1671450651.817876][8426:8426] CHIP:DMG: Cluster = 0x3b, |
| [1671450651.817879][8426:8426] CHIP:DMG: Attribute = 0x0000_0000, |
| [1671450651.817882][8426:8426] CHIP:DMG: } |
| [1671450651.817888][8426:8426] CHIP:DMG: |
| [1671450651.817892][8426:8426] CHIP:DMG: Data = 2, |
| [1671450651.817895][8426:8426] CHIP:DMG: }, |
| [1671450651.817901][8426:8426] CHIP:DMG: |
| [1671450651.817905][8426:8426] CHIP:DMG: }, |
| [1671450651.817910][8426:8426] CHIP:DMG: |
| [1671450651.817913][8426:8426] CHIP:DMG: ], |
| [1671450651.817918][8426:8426] CHIP:DMG: |
| [1671450651.817921][8426:8426] CHIP:DMG: SuppressResponse = true, |
| [1671450651.817925][8426:8426] CHIP:DMG: InteractionModelRevision = 1 |
| [1671450651.817928][8426:8426] CHIP:DMG: } |
| disabled: true |
| |
| - label: |
| "DUT sets up eventing (SwitchLatched) so it will receive events when |
| the switch is operated." |
| PICS: SWTCH.C.F00 && SWTCH.C.M.EV |
| verification: | |
| On Raspi platform To trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor Dut should have capability to generate this event) |
| |
| echo '{"Name":"SwitchLatched","NewPosition":0}' > /tmp/chip_all_clusters_fifo_<PID> (PID of DUT) |
| |
| [1659679728.732056][2530:2538] CHIP:-: Received payload: "{"Name":"SwitchLatched","NewPosition":0}" |
| [1659679728.732389][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e7706 |
| [1659679728.732429][2530:2530] CHIP:-: The latching switch is moved to a new position:0 |
| [1659679728.732454][2530:2530] CHIP:ZCL: SwitchServer: OnSwitchLatch |
| |
| Please use Interactive mode to Verify the subscription of an event |
| Here the command to enter interactive mode:-- |
| 1. ./chip-tool interactive start |
| 2. switch subscribe-event switch-latched 1 100 1 1 |
| |
| Verify switch latched event has newposition set to 0 on TH chip-tool logs: |
| |
| [1659679766.774013][2535:2540] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 |
| [1659679766.774035][2535:2540] CHIP:TOO: Event number: 3 |
| [1659679766.774055][2535:2540] CHIP:TOO: Priority: Info |
| [1659679766.774074][2535:2540] CHIP:TOO: Timestamp: 2181028 |
| [1659679766.774157][2535:2540] CHIP:TOO: SwitchLatched: { |
| [1659679766.774197][2535:2540] CHIP:TOO: NewPosition: 0 |
| [1659679766.774214][2535:2540] CHIP:TOO: } |
| disabled: true |
| |
| - label: |
| "TH simulates operation of the switch by changing state (attribute |
| CurrentPosition) from 0 to 1 and back every 10 seconds (over a 1 |
| minute period) DUT reads attribute CurrentPosition regularly," |
| PICS: SWTCH.C.F00 && SWTCH.C.M.RA |
| verification: | |
| On Raspi platform To trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor Dut should have capability to generate this event) |
| |
| echo '{"Name":"SwitchLatched","NewPosition":1}' > /tmp/chip_all_clusters_fifo_<PID> (PID of DUT) |
| |
| [1659621148.831745][8590:8596] CHIP:-: Received payload: "{"Name":"SwitchLatched","NewPosition":1}" |
| [1659621148.832236][8590:8590] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 4be58f54 |
| [1659621148.832320][8590:8590] CHIP:-: The latching switch is moved to a new position:1 |
| [1659621148.832380][8590:8590] CHIP:ZCL: SwitchServer: OnSwitchLatch |
| [1659621148.832494][8590:8590] CHIP:EVL: LogEvent event number: 0x0000000000000007 priority: 1, endpoint id: 0x1 cluster id: 0x0000_003B event id: 0x0 Sys timestamp: 0x00000000022D0CBB |
| |
| After 10 seconds, repeat the command with /tmp/chip_all_clusters_fifo using with value 0 as position |
| |
| After another 10 seconds, repeat the command with /tmp/chip_all_clusters_fifo using with value 1 as position |
| |
| Repeat this toggling every 10 seconds for 1 minute total. |
| |
| In parallel to this, watch whether DUT reads attribute CurrentPosition (expected to read multiple times to be aware of the changes in the switch position resp. the corresponding attribute) |
| |
| 1. ./chip-tool interactive start |
| 2. switch read current-position 1 1 (in practice, DUT will issue this command, TH answers) |
| |
| Verify switch latched event has newposition set to 1 on TH chip-tool logs: |
| |
| [1659621181.542124][5668:5673] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001 DataVersion: 1273335636 |
| [1659621181.542207][5668:5673] CHIP:TOO: current position: 1 |
| |
| Watch whether DUT presents state of simulated switch and/or controls another device based on the state of the switch. |
| disabled: true |
| |
| - label: |
| "TH simulates operation of the switch by changing state (attribute |
| CurrentPosition) from 0 to 1 and back every 10 seconds (over a 1 |
| minute period), and sending the event SwitchLatched (with field |
| NewPosition reflecting the new state) on every change" |
| PICS: SWTCH.C.F00 && SWTCH.C.M.EV |
| verification: | |
| On Raspi platform To trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor Dut should have capability to generate this event) |
| |
| echo "{"Name":"SwitchLatched","NewPosition":1}" > /tmp/chip_all_clusters_fifo_<PID> (PID of DUT) |
| |
| [1659621148.831745][8590:8596] CHIP:-: Received payload: "{"Name":"SwitchLatched","NewPosition":1}" |
| [1659621148.832236][8590:8590] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 4be58f54 |
| [1659621148.832320][8590:8590] CHIP:-: The latching switch is moved to a new position:1 |
| [1659621148.832380][8590:8590] CHIP:ZCL: SwitchServer: OnSwitchLatch |
| [1659621148.832494][8590:8590] CHIP:EVL: LogEvent event number: 0x0000000000000007 priority: 1, endpoint id: 0x1 cluster id: 0x0000_003B event id: 0x0 Sys timestamp: 0x00000000022D0CBB |
| |
| After 10 seconds, repeat the command with /tmp/chip_all_clusters_fifo using with value 0 as position |
| After another 10 seconds, repeat the command with /tmp/chip_all_clusters_fifo using with value 1 as position |
| Repeat this toggling every 10 seconds for 1 minute total. |
| |
| Please use Interactive mode to Verify the subscription of an event |
| Here the command to enter interactive mode:-- |
| 1. ./chip-tool interactive start |
| 2. switch subscribe-event switch-latched 1 100 1 1 |
| |
| all-clusters app will emit events to the subscriber (DUT-client), e.g. |
| Verify in TH(chip-tool) Log: |
| [1659680091.149404][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 |
| [1659680091.149428][2592:2597] CHIP:TOO: Event number: 3 |
| [1659680091.149449][2592:2597] CHIP:TOO: Priority: Info |
| [1659680091.149470][2592:2597] CHIP:TOO: Timestamp: 2181028 |
| [1659680091.149536][2592:2597] CHIP:TOO: SwitchLatched: { |
| [1659680091.149571][2592:2597] CHIP:TOO: NewPosition: 0 |
| [1659680091.149593][2592:2597] CHIP:TOO: } |
| [1659680091.149674][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 |
| [1659680091.149696][2592:2597] CHIP:TOO: Event number: 4 |
| [1659680091.149717][2592:2597] CHIP:TOO: Priority: Info |
| [1659680091.149737][2592:2597] CHIP:TOO: Timestamp: 2286911 |
| [1659680091.149763][2592:2597] CHIP:TOO: SwitchLatched: { |
| [1659680091.149785][2592:2597] CHIP:TOO: NewPosition: 1 |
| [1659680091.149805][2592:2597] CHIP:TOO: } |
| [1659680091.149884][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 |
| [1659680091.149906][2592:2597] CHIP:TOO: Event number: 5 |
| [1659680091.149926][2592:2597] CHIP:TOO: Priority: Info |
| [1659680091.149947][2592:2597] CHIP:TOO: Timestamp: 2368467 |
| [1659680091.149971][2592:2597] CHIP:TOO: SwitchLatched: { |
| [1659680091.149993][2592:2597] CHIP:TOO: NewPosition: 0 |
| [1659680091.150013][2592:2597] CHIP:TOO: } |
| [1659680091.150093][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 |
| [1659680091.150114][2592:2597] CHIP:TOO: Event number: 6 |
| [1659680091.150135][2592:2597] CHIP:TOO: Priority: Info |
| [1659680091.150155][2592:2597] CHIP:TOO: Timestamp: 2402459 |
| [1659680091.150180][2592:2597] CHIP:TOO: SwitchLatched: { |
| [1659680091.150202][2592:2597] CHIP:TOO: NewPosition: 1 |
| [1659680091.150222][2592:2597] CHIP:TOO: } |
| [1659680091.150302][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 |
| [1659680091.150324][2592:2597] CHIP:TOO: Event number: 7 |
| [1659680091.150345][2592:2597] CHIP:TOO: Priority: Info |
| [1659680091.150365][2592:2597] CHIP:TOO: Timestamp: 2431571 |
| [1659680091.150390][2592:2597] CHIP:TOO: SwitchLatched: { |
| [1659680091.150411][2592:2597] CHIP:TOO: NewPosition: 0 |
| [1659680091.150432][2592:2597] CHIP:TOO: } |
| [1659680091.150509][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 |
| [1659680091.150531][2592:2597] CHIP:TOO: Event number: 8 |
| [1659680091.150551][2592:2597] CHIP:TOO: Priority: Info |
| [1659680091.150572][2592:2597] CHIP:TOO: Timestamp: 2456884 |
| [1659680091.150597][2592:2597] CHIP:TOO: SwitchLatched: { |
| [1659680091.150630][2592:2597] CHIP:TOO: NewPosition: 1 <= this value will change for every change in position of simulated switch |
| |
| |
| |
| Watch whether DUT presents state of simulated switch and/or controls another device based on the state of the switch. |
| disabled: true |
| |
| - label: |
| "Commission DUT to TH. Use client mechanism to set it up so switch |
| state can be observed (e.g. UI shows state of switch) and/or other |
| device is controlled (e.g. light on same fabric gets controlled by the |
| switch TH has to simulate that light). While commissioning and |
| configuring, TH records and reacts to the messages relating to the |
| switch functionality detailed in the steps below. The order of the |
| messages received may be different from the order of the sub-steps |
| 3b..3d below." |
| PICS: SWTCH.C.F01 |
| verification: | |
| |
| disabled: true |
| |
| - label: "DUT reads global attribute FeatureMap." |
| PICS: SWTCH.C.F01 |
| verification: | |
| 1. ./chip-tool interactive start |
| |
| 2. switch read feature-map 1 1 |
| |
| |
| Verify FeatureMap value as 1 in TH all-clusters-app log |
| ] CHIP:DMG: ReportDataMessage = |
| [1671450600.457719][8426:8426] CHIP:DMG: { |
| [1671450600.457728][8426:8426] CHIP:DMG: AttributeReportIBs = |
| [1671450600.457747][8426:8426] CHIP:DMG: [ |
| [1671450600.457756][8426:8426] CHIP:DMG: AttributeReportIB = |
| [1671450600.457954][8426:8426] CHIP:DMG: { |
| [1671450600.457976][8426:8426] CHIP:DMG: AttributeDataIB = |
| [1671450600.457991][8426:8426] CHIP:DMG: { |
| [1671450600.458015][8426:8426] CHIP:DMG: DataVersion = 0xcfe432fa, |
| [1671450600.458038][8426:8426] CHIP:DMG: AttributePathIB = |
| [1671450600.458057][8426:8426] CHIP:DMG: { |
| [1671450600.458075][8426:8426] CHIP:DMG: Endpoint = 0x1, |
| [1671450600.458088][8426:8426] CHIP:DMG: Cluster = 0x3b, |
| [1671450600.458108][8426:8426] CHIP:DMG: Attribute = 0x0000_FFFC, |
| [1671450600.458122][8426:8426] CHIP:DMG: } |
| [1671450600.458137][8426:8426] CHIP:DMG: |
| [1671450600.458151][8426:8426] CHIP:DMG: Data = 1, |
| [1671450600.458161][8426:8426] CHIP:DMG: }, |
| [1671450600.458179][8426:8426] CHIP:DMG: |
| [1671450600.458188][8426:8426] CHIP:DMG: }, |
| [1671450600.458207][8426:8426] CHIP:DMG: |
| [1671450600.458216][8426:8426] CHIP:DMG: ], |
| [1671450600.458242][8426:8426] CHIP:DMG: |
| [1671450600.458255][8426:8426] CHIP:DMG: SuppressResponse = true, |
| [1671450600.458273][8426:8426] CHIP:DMG: InteractionModelRevision = 1 |
| [1671450600.458286][8426:8426] CHIP:DMG: } |
| disabled: true |
| |
| - label: "DUT reads attribute NumberOfPositions." |
| PICS: SWTCH.C.F01 |
| verification: | |
| 1. ./chip-tool interactive start |
| |
| 2. switch read number-of-positions 1 1 |
| |
| Verify number of positions value as 2 in TH all-clusters-app log |
| DMG: ReportDataMessage = |
| [1671450651.817816][8426:8426] CHIP:DMG: { |
| [1671450651.817819][8426:8426] CHIP:DMG: AttributeReportIBs = |
| [1671450651.817825][8426:8426] CHIP:DMG: [ |
| [1671450651.817828][8426:8426] CHIP:DMG: AttributeReportIB = |
| [1671450651.817849][8426:8426] CHIP:DMG: { |
| [1671450651.817853][8426:8426] CHIP:DMG: AttributeDataIB = |
| [1671450651.817858][8426:8426] CHIP:DMG: { |
| [1671450651.817862][8426:8426] CHIP:DMG: DataVersion = 0xcfe432fa, |
| [1671450651.817864][8426:8426] CHIP:DMG: AttributePathIB = |
| [1671450651.817868][8426:8426] CHIP:DMG: { |
| [1671450651.817872][8426:8426] CHIP:DMG: Endpoint = 0x1, |
| [1671450651.817876][8426:8426] CHIP:DMG: Cluster = 0x3b, |
| [1671450651.817879][8426:8426] CHIP:DMG: Attribute = 0x0000_0000, |
| [1671450651.817882][8426:8426] CHIP:DMG: } |
| [1671450651.817888][8426:8426] CHIP:DMG: |
| [1671450651.817892][8426:8426] CHIP:DMG: Data = 2, |
| [1671450651.817895][8426:8426] CHIP:DMG: }, |
| [1671450651.817901][8426:8426] CHIP:DMG: |
| [1671450651.817905][8426:8426] CHIP:DMG: }, |
| [1671450651.817910][8426:8426] CHIP:DMG: |
| [1671450651.817913][8426:8426] CHIP:DMG: ], |
| [1671450651.817918][8426:8426] CHIP:DMG: |
| [1671450651.817921][8426:8426] CHIP:DMG: SuppressResponse = true, |
| [1671450651.817925][8426:8426] CHIP:DMG: InteractionModelRevision = 1 |
| [1671450651.817928][8426:8426] CHIP:DMG: } |
| disabled: true |
| |
| - label: |
| "DUT sets up eventing (InitialPress and ShortRelease; if SWTCH.C.F03 |
| also LongPress and LongRelease) so it will receive events when the |
| switch is operated." |
| PICS: SWTCH.C.F01 && SWTCH.C.M.EV |
| verification: | |
| On Raspi platform To trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor Dut should have capability to generate this event) |
| |
| echo '{"Name":"InitialPress","NewPosition":0}' > /tmp/chip_all_clusters_fifo_<PID> (PID of DUT) |
| |
| [1659624126.646996][8590:8596] CHIP:-: Received payload: "{"Name":"InitialPress","NewPosition":0}" |
| [1659624126.647380][8590:8590] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 4be58f55 |
| [1659624126.647438][8590:8590] CHIP:-: The new position when the momentary switch starts to be pressed:1 |
| [1659624126.647480][8590:8590] CHIP:ZCL: SwitchServer: OnInitialPress |
| |
| Verify in TH Log, e.g. (one such message per event subscription being set up) |
| |
| Please use Interactive mode to Verify the subscription of an event |
| Here the command to enter interactive mode:-- |
| 1. ./chip-tool interactive start |
| 2. switch subscribe-event initial-press 1 100 1 1 |
| |
| [1659683181.743214][2829:2835] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0001 |
| [1659683181.743251][2829:2835] CHIP:TOO: Event number: 10 |
| [1659683181.743285][2829:2835] CHIP:TOO: Priority: Info |
| [1659683181.743319][2829:2835] CHIP:TOO: Timestamp: 4066882 |
| [1659683181.743419][2829:2835] CHIP:TOO: InitialPress: { |
| [1659683181.743470][2829:2835] CHIP:TOO: NewPosition: 0 |
| [1659683181.743506][2829:2835] CHIP:TOO: } |
| |
| echo '{"Name":"ShortRelease","PreviousPosition":0}' > /tmp/chip_all_clusters_fifo_<PID> (PID of DUT) |
| |
| [1659683678.805455][2530:2538] CHIP:-: Received payload: "{"Name":"ShortRelease","PreviousPosition":0}" |
| [1659683678.805739][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e7715 |
| [1659683678.805777][2530:2530] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released:1 |
| [1659683678.805858][2530:2530] CHIP:ZCL: SwitchServer: OnShortRelease |
| |
| Please use Interactive mode to Verify the subscription of an event |
| Here the command to enter interactive mode:-- |
| 1. ./chip-tool interactive start |
| 2. switch subscribe-event short-release 1 100 1 1 |
| |
| [1659683195.217253][2838:2843] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0003 |
| [1659683195.217275][2838:2843] CHIP:TOO: Event number: 11 |
| [1659683195.217294][2838:2843] CHIP:TOO: Priority: Info |
| [1659683195.217313][2838:2843] CHIP:TOO: Timestamp: 4137135 |
| [1659683195.217377][2838:2843] CHIP:TOO: ShortRelease: { |
| [1659683195.217411][2838:2843] CHIP:TOO: PreviousPosition: 0 |
| [1659683195.217432][2838:2843] CHIP:TOO: } |
| |
| if SWTCH.C.F03, also: |
| |
| echo '{"Name":"LongPress","NewPosition":1}' > /tmp/chip_all_clusters_fifo_<PID> (PID of DUT) |
| |
| Please use Interactive mode to Verify the subscription of an event |
| Here the command to enter interactive mode:-- |
| 1. ./chip-tool interactive start |
| 2. switch subscribe-event long-press 1 100 1 1 |
| |
| |
| [1659527630.476706][4774:4779] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 |
| [1659527630.476742][4774:4779] CHIP:TOO: Event number: 5 |
| [1659527630.476771][4774:4779] CHIP:TOO: Priority: Info |
| [1659527630.476799][4774:4779] CHIP:TOO: Timestamp: 29687750 |
| [1659527630.476887][4774:4779] CHIP:TOO: LongPress: { |
| [1659527630.476934][4774:4779] CHIP:TOO: NewPosition: 1 |
| [1659527630.476969][4774:4779] CHIP:TOO: } |
| |
| echo '{"Name":"LongRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_<PID> (PID of DUT) |
| |
| Please use Interactive mode to Verify the subscription of an event |
| Here the command to enter interactive mode:-- |
| 1. ./chip-tool interactive start |
| 2. switch subscribe-event long-release 1 100 1 1 |
| |
| |
| [1659527630.476706][4774:4779] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 |
| [1659527630.476742][4774:4779] CHIP:TOO: Event number: 6 |
| [1659527630.476771][4774:4779] CHIP:TOO: Priority: Info |
| [1659527630.476799][4774:4779] CHIP:TOO: Timestamp: 296889750 |
| [1659527630.476887][4774:4779] CHIP:TOO: LongRelease: { |
| [1659527630.476934][4774:4779] CHIP:TOO: PreviousPosition: 1 |
| [1659527630.476969][4774:4779] CHIP:TOO: } |
| disabled: true |
| |
| - label: |
| "TH simulates operation of the switch by repeating these steps (over a |
| 1 minute period) - change state (attribute CurrentPosition) from 0 to |
| 1 - wait 0.2 seconds - change state (attribute CurrentPosition) from 1 |
| to 0 - wait 10 seconds DUT reads attribute CurrentPosition regularly" |
| PICS: SWTCH.C.F01 && SWTCH.C.M.RA |
| verification: | |
| On Raspi platform To trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor Dut should have capability to generate this event) |
| |
| echo '{"Name":"InitialPress","NewPosition":1}' > /tmp/chip_all_clusters_fifo_<PID> (PID of DUT) |
| |
| [1659624126.646996][8590:8596] CHIP:-: Received payload: "{"Name":"InitialPress","NewPosition":1}" |
| [1659624126.647380][8590:8590] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 4be58f55 |
| [1659624126.647438][8590:8590] CHIP:-: The new position when the momentary switch starts to be pressed:1 |
| [1659624126.647480][8590:8590] CHIP:ZCL: SwitchServer: OnInitialPress |
| |
| After 0.2 seconds, send this command |
| |
| echo '{"Name":"ShortRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_<PID> (PID of DUT) |
| |
| [1659683678.805455][2530:2538] CHIP:-: Received payload: "{"Name":"ShortRelease","PreviousPosition":1}" |
| [1659683678.805739][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e7715 |
| [1659683678.805777][2530:2530] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released:1 |
| [1659683678.805858][2530:2530] CHIP:ZCL: SwitchServer: OnShortRelease |
| |
| |
| After 10 seconds, repeat these commands (again with 0.2 s between them). |
| Repeat this for 1 minute total. |
| |
| In parallel to this, watch whether DUT reads attribute CurrentPosition (expected to read multiple times to be aware of the changes in the switch position resp. the corresponding attribute) |
| |
| |
| 1. ./chip-tool interactive start |
| 2. switch read current-position 1 1 (in practice, DUT will issue this command, TH answers) |
| |
| [1659621181.542124][5668:5673] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001 DataVersion: 1273335636 |
| [1659621181.542207][5668:5673] CHIP:TOO: current position: 1 |
| |
| |
| 1. ./chip-tool interactive start |
| 2. switch read current-position 1 1 |
| |
| [1659683735.960098][2900:2905] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001 DataVersion: 3999168277 |
| [1659683735.960157][2900:2905] CHIP:TOO: current position: 0 <= value will toggle between 1 and 0 |
| |
| Watch whether DUT presents state of simulated switch and/or controls another device based on the state of the switch. |
| disabled: true |
| |
| - label: |
| "TH simulates operation of the switch by repeating these steps (over a |
| 1 minute period) change state (attribute CurrentPosition) from 0 to 1, |
| and send the event InitialPress (with field NewPosition=1) wait 0.2 |
| seconds change state (attribute CurrentPosition) from 1 to 0, and send |
| the event ShortRelease (with field PreviousPosition=1) wait 10 seconds" |
| PICS: SWTCH.C.F01 && SWTCH.C.M.EV |
| verification: | |
| On Raspi platform To trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor Dut should have capability to generate this event) |
| |
| echo '{"Name":"InitialPress","NewPosition":1}' > /tmp/chip_all_clusters_fifo_<PID> (PID of DUT) |
| |
| [1659624126.646996][8590:8596] CHIP:-: Received payload: "{"Name":"InitialPress","NewPosition":1}" |
| [1659624126.647380][8590:8590] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to 4be58f55 |
| [1659624126.647438][8590:8590] CHIP:-: The new position when the momentary switch starts to be pressed:1 |
| [1659624126.647480][8590:8590] CHIP:ZCL: SwitchServer: OnInitialPress |
| |
| After 0.2 seconds, send this command |
| echo '{"Name":"ShortRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_<PID> (PID of DUT) |
| |
| [1659684051.064329][2530:2538] CHIP:-: Received payload: "{"Name":"ShortRelease","PreviousPosition":1}" |
| [1659684051.064820][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e7716 |
| [1659684051.064904][2530:2530] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released:1 |
| [1659684051.064994][2530:2530] CHIP:ZCL: SwitchServer: OnShortRelease |
| |
| After 10 seconds, repeat these commands (again with 0.2 s between them). |
| Repeat this for 1 minute total. |
| |
| |
| all-clusters app will emit events to the subscriber (DUT-client), e.g. |
| Verify in TH Log: |
| Please use Interactive mode to Verify the subscription of an event |
| Here the command to enter interactive mode:-- |
| 1. ./chip-tool interactive start |
| 2. switch subscribe-event initial-press 1 100 1 1 |
| |
| [1659527630.476706][4774:4779] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 |
| [1659527630.476742][4774:4779] CHIP:TOO: Event number: 4 |
| [1659527630.476771][4774:4779] CHIP:TOO: Priority: Info |
| [1659527630.476799][4774:4779] CHIP:TOO: Timestamp: 29687894 |
| [1659527630.476887][4774:4779] CHIP:TOO: InitialPress: { |
| [1659527630.476934][4774:4779] CHIP:TOO: NewPosition: 1 |
| [1659527630.476969][4774:4779] CHIP:TOO: } |
| |
| Please use Interactive mode to Verify the subscription of an event |
| Here the command to enter interactive mode:-- |
| 1. ./chip-tool interactive start |
| 2. switch subscribe-event short-release 1 100 1 1 |
| |
| [1659527630.476706][4774:4779] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 |
| [1659527630.476742][4774:4779] CHIP:TOO: Event number: 5 |
| [1659527630.476771][4774:4779] CHIP:TOO: Priority: Info |
| [1659527630.476799][4774:4779] CHIP:TOO: Timestamp: 29688000 |
| [1659527630.476887][4774:4779] CHIP:TOO: ShortRelease: { |
| [1659527630.476934][4774:4779] CHIP:TOO: PreviousPosition: 1 |
| [1659527630.476969][4774:4779] CHIP:TOO: } |
| |
| Watch whether DUT presents state of simulated switch and/or controls another device based on the state of the switch. |
| disabled: true |
| |
| - label: |
| "TH simulates operation of the switch by repeating these steps (over a |
| 1 minute period) change state (field CurrentPosition) from 0 to 1, and |
| send the event InitialPress (with field NewPosition=1) wait 0.75 |
| seconds send the event LongPress (field NewPosition=1) wait 2 seconds |
| change state (field CurrentPosition) from 1 to 0, and send the event |
| LongRelease (with field PreviousPosition=1) wait 8 seconds" |
| PICS: SWTCH.C.F01 && SWTCH.C.F03 && SWTCH.C.M.EV |
| verification: | |
| On Raspi platform To trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor Dut should have capability to generate this event) |
| |
| echo '{"Name":"InitialPress","NewPosition":1}' > /tmp/chip_all_clusters_fifo_<PID> (PID of DUT) |
| |
| After 0.75 seconds, send this command |
| |
| echo '{"Name":"LongPress","NewPosition":1}' > /tmp/chip_all_clusters_fifo_<PID> (PID of DUT) |
| |
| After 2 seconds, send this command |
| |
| echo '{"Name":"LongRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_<PID> (PID of DUT) |
| |
| After 8 seconds, repeat this set of commands |
| Repeat this for 1 minute total. |
| |
| |
| all-clusters app will emit events to the subscriber (DUT-client), e.g. |
| Verify in TH Log: |
| |
| Please use Interactive mode to Verify the subscription of an event |
| Here the command to enter interactive mode:-- |
| 1. ./chip-tool interactive start |
| 2. switch subscribe-event initial-press 1 100 1 1 |
| |
| [1659527630.476706][4774:4779] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 |
| [1659527630.476742][4774:4779] CHIP:TOO: Event number: 4 |
| [1659527630.476771][4774:4779] CHIP:TOO: Priority: Info |
| [1659527630.476799][4774:4779] CHIP:TOO: Timestamp: 29687000 |
| [1659527630.476887][4774:4779] CHIP:TOO: InitialPress: { |
| [1659527630.476934][4774:4779] CHIP:TOO: NewPosition: 1 |
| [1659527630.476969][4774:4779] CHIP:TOO: } |
| |
| Please use Interactive mode to Verify the subscription of an event |
| Here the command to enter interactive mode:-- |
| 1. ./chip-tool interactive start |
| 2. switch subscribe-event long-press 1 100 1 1 |
| |
| [1659527630.476706][4774:4779] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 |
| [1659527630.476742][4774:4779] CHIP:TOO: Event number: 5 |
| [1659527630.476771][4774:4779] CHIP:TOO: Priority: Info |
| [1659527630.476799][4774:4779] CHIP:TOO: Timestamp: 29687750 |
| [1659527630.476887][4774:4779] CHIP:TOO: LongPress: { |
| [1659527630.476934][4774:4779] CHIP:TOO: NewPosition: 1 |
| [1659527630.476969][4774:4779] CHIP:TOO: } |
| |
| Please use Interactive mode to Verify the subscription of an event |
| Here the command to enter interactive mode:-- |
| 1. ./chip-tool interactive start |
| 2. switch subscribe-event long-release 1 100 1 1 |
| |
| [1659527630.476706][4774:4779] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 |
| [1659527630.476742][4774:4779] CHIP:TOO: Event number: 6 |
| [1659527630.476771][4774:4779] CHIP:TOO: Priority: Info |
| [1659527630.476799][4774:4779] CHIP:TOO: Timestamp: 296889750 |
| [1659527630.476887][4774:4779] CHIP:TOO: LongRelease: { |
| [1659527630.476934][4774:4779] CHIP:TOO: PreviousPosition: 1 |
| [1659527630.476969][4774:4779] CHIP:TOO: } |
| |
| Watch whether DUT presents state of simulated switch and/or controls another device based on the state of the switch. |
| disabled: true |