The SDK does not expose the step attribute of HAP's rotation speed characteristic. As a result, it os not possible to modify the step value to accommodate e.g., 3-speed fans.
Detailed description
The Homekit specification indicates the fan service has a rotation speed characteristic.
The specification also indicates that the rotation speed characteristic accepts two parameters: (i) fan speed - a float indicating percentage speed (0-100); and (ii) step - a float indicating the interval between fan speeds and used for configuring e.g., 3-speed fans (step = 33.3%).
esp-homekit-sdk provides hap_char_rotation_speed_create to configure the rotation speed characteristic. However, this function does not expose an api to configure the step.
Solution
To be consistent with the HAP specification, esp-homekit-sdk should expose the step argument on hap_char_rotation_speed_create.
Any changes to hap_char_rotation_speed_create should be backward compatible and not break existing implementations.
Overview
The SDK does not expose the step attribute of HAP's rotation speed characteristic. As a result, it os not possible to modify the step value to accommodate e.g., 3-speed fans.
Detailed description
The Homekit specification indicates the fan service has a rotation speed characteristic.
The specification also indicates that the rotation speed characteristic accepts two parameters: (i) fan speed - a float indicating percentage speed (0-100); and (ii) step - a float indicating the interval between fan speeds and used for configuring e.g., 3-speed fans (step = 33.3%).
esp-homekit-sdk provides
hap_char_rotation_speed_create
to configure the rotation speed characteristic. However, this function does not expose an api to configure the step.Solution