How comfortable are you re-flashing devices and doing a bit of event/automation programming? I use an iFan04-L for the fan+light and then coded the button events from a Martin-Jerry dimmer to change the fan speed and toggle the light.
You'd need to flash the iFan04 but you can get the MJ stuff with Tasmota preinstalled (Amazon stuff was different firmware but their website gives you a choice)