I have done this with one 3-speed RF fan and a Broadlink Pro using the following integration:
I suspect that the Bond integration would also work.
Then I created virtual fan devices (one to allow the fan to be controlled automatically, one for manual updates) and related rules in Rule Machine to control the fan.
This is the rule to control the fan manually. Putting it into auto will make it so that it will be controlled by a separate rule based on temperature: