Skip to content

[TC-FAN] Clarify FanControl and OnOff cluster integration behavior #781

@Elen777300

Description

@Elen777300

Summary Title:

[TC-FAN] Clarify FanControl and OnOff cluster integration behavior (Contradiction between TC-FAN-4.1 and TC-FAN-3.5)

Description:

There is a contradiction in the test plan regarding how the FanControl cluster is expected to interact with the OnOff cluster. The spec states that a product may use the On/Off cluster as a "Master" switch, but it does not mandate this behavior. Currently, our test scripts have conflicting expectations:

  1. TC-FAN-4.1 assumes the OnOff cluster acts as a strict master switch. In step 11, it sends an Off command to the On/Off cluster. In step 16, it writes PercentSetting to 1 and verifies that PercentCurrent remains 0 (meaning the fan does not spin because the master switch was turned off).
  2. TC-FAN-3.5 assumes the opposite default behavior. It immediately writes a value to PercentSetting and expects PercentCurrent to change, even though the device's OnOff cluster should technically be Off by default upon initialization.

Current Workaround:
To allow both tests to pass in our implementation, we had to introduce a conditional workaround: If the device is in its initial default Off state, writing to the fan settings will successfully turn the fan on (satisfying TC-FAN-3.5). However, if an explicit Off command was sent by the user/test (as in TC-FAN-4.1), writing to the fan settings will not turn it on.

This is a hack to bypass the conflicting test requirements. We are opening this issue to get clarification on the intended spec behavior so we can standardise the implementation and remove this workaround.

Steps to reproduce:

  1. Run TC-FAN-4.1 and observe that an explicit Off command prevents a PercentSetting update from changing PercentCurrent.
  2. Run TC-FAN-3.5 and observe that writing to PercentSetting directly after initialization (where the default state is implicitly Off) successfully changes PercentCurrent.
  3. Note the conflicting assumptions about the OnOff cluster's "master switch" status between the two tests.

Logs:

N/A - This issue is a request for clarification on spec behavior and conflicting test plan requirements.

Additional Info:

  • Sergio's PR Note: "The test plan assumes if the on/off cluster integration exists, the behavior is to obey on/off as the 'Master' switch to spin the fan. I think the spec says the product 'May' use the on/off in this way but doesn't mandate... let's follow whatever the test plan verifies for now and open an issue to clarify this behavior."

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions