project-chip / project-chip/matter-test-scripts
[TC-FAN] Clarify TC-FAN-4.1 test behavior restricting implicit OnOff state changes via PercentSetting updates
@jtrejoespinoza-grid is already working on this.
Since May 6, 2026.
- Dominant language
- Python
- Stars
- 19
- Forks
- 7
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 3
Description
Summary Title:
[TC-FAN] Clarify TC-FAN-4.1 test behavior restricting implicit OnOff state changes via PercentSetting updates
Description:
Questions arise regarding the test behavior in TC-FAN-4.1, which strictly limits scenarios when the OnOff cluster is in the Off state. Currently, the test design prevents the possibility of turning the device on implicitly by modifying the fan state.
Specifically, in step 11, the test sends an Off command to the On/Off cluster. Subsequently, in step 16, a value of 1 is written to PercentSetting, and the test verifies that PercentCurrent remains 0.
This enforces a rigid scenario where the On/Off cluster acts as an absolute master switch, meaning the fan cannot spin if it was previously turned off. This test behavior restricts implementations that might otherwise automatically transition the OnOff cluster state to On (and turn the fan on) when a new, non-zero speed setting is received. Clarification is requested to determine if the specification strictly mandates this behavior, or if implementations are permitted to turn the device on upon receiving a PercentSetting change.
Steps to reproduce:
- Execute test
TC-FAN-4.1. - Observe step 11, where an
Offcommand is explicitly sent to the On/Off cluster. - Observe step 16, where
PercentSettingis written to1. - Note the test expectation that
PercentCurrentmust remain0. - Observe that this enforces a strict master switch logic and prevents the device from implicitly turning on the OnOff state upon receiving a valid speed update.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.