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:
- 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).
- 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:
- Run
TC-FAN-4.1 and observe that an explicit Off command prevents a PercentSetting update from changing PercentCurrent.
- Run
TC-FAN-3.5 and observe that writing to PercentSetting directly after initialization (where the default state is implicitly Off) successfully changes PercentCurrent.
- 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."
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:
Offcommand to the On/Off cluster. In step 16, it writesPercentSettingto1and verifies thatPercentCurrentremains0(meaning the fan does not spin because the master switch was turned off).PercentSettingand expectsPercentCurrentto change, even though the device's OnOff cluster should technically beOffby 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
Offstate, writing to the fan settings will successfully turn the fan on (satisfying TC-FAN-3.5). However, if an explicitOffcommand 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:
TC-FAN-4.1and observe that an explicitOffcommand prevents aPercentSettingupdate from changingPercentCurrent.TC-FAN-3.5and observe that writing toPercentSettingdirectly after initialization (where the default state is implicitlyOff) successfully changesPercentCurrent.Logs:
N/A - This issue is a request for clarification on spec behavior and conflicting test plan requirements.
Additional Info: