Not sure folks on this thread have seen this, but there’s a “whole home” (up to 6 fans) solution that is available via the Bond Home hub (or is it a bridge? ) for $99.
Currently has Alexa and GH integration, IFTT support, and SmartThings integration is coming “soon” (Q1 2018 appears to be the target according to Bond team statements).
I have it controlling six fans (Hampton Bay and Hunter) in my home via IFTT & Webhook commands from webCore pistons, you can also use the Bond app and as noted Alexa voice control allows on/off, speed, light, etc. Google Home and IFTT control is currently limited to on/off, no speed control access (coming later). Has been very reliable, even using IFTT.
Anyway, worth a look - $99 for all your fans vs. $50 per fan, no rewiring, and Bond is working on State remote control support and IR control support, and controlling other devices as well.
Note: As @bradlee_s brings up below (thanks) this system can not provide active status monitoring…since the fans controlled are “dumb” (no Zwave or Zigbee communication) there is no reporting back from fans on current on/off or speed, etc., status. Using this approach gives fan control, but you won’t know the actual status of your fan unless you have line of site. (Family member could use the original remote to change settings, could turn off at wall if there is a switch, etc.) You can create a “virtual status.” Right now I’m setting the state of a Google Switch I created for each fan to match the on/off commands sent to the fan by my webCore pistons. That way I can see the current “virtual” fan status in my Things list. But it’s not reported from the fan, just a record of the last command I sent to it.