project-chip / project-chip/matter-test-scripts

[TC-FAN] Clarify TC-FAN-4.1 test behavior restricting implicit OnOff state changes via PercentSetting updates

Open
#782 0 comments 0 reactions 1 assignee View on GitHub

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

  1. Execute test TC-FAN-4.1.
  2. Observe step 11, where an Off command is explicitly sent to the On/Off cluster.
  3. Observe step 16, where PercentSetting is written to 1.
  4. Note the test expectation that PercentCurrent must remain 0.
  5. 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.