best

Best smart fans with local control

The best ways to put a ceiling or pedestal fan under full local control with Home Assistant using Zigbee, Z-Wave, or Matter, with honest protocol notes.

On this page
  1. Local control: why it matters, and what it means
  2. Top ways to get a fan on local control
  3. Things that get miscalled “smart fans”
  4. Tradeoffs
  5. Quick verdict

If you’re building a local-first smart home, you want fans that respond instantly and keep working when the internet doesn’t. The reality of “smart fans” is that the best local-control options are usually controllers you add to an existing fan, not all-in-one smart fans. This guide focuses on putting a ceiling fan (or a plug-in fan) under genuine local control with Home Assistant, and is honest about the protocol each option uses.

Local control: why it matters, and what it means

Local control means fan speed and on/off travel over your own network — no cloud round-trip. For a ceiling fan that comes down to the radio in the controller: Zigbee and Z-Wave pair to a local coordinator; Matter over Thread pairs to a Thread border router; and Wi-Fi is only local if the device runs ESPHome or exposes a local LAN API. Plain cloud Wi-Fi fans are the ones that stop responding during an outage.

Top ways to get a fan on local control

1. Inovelli Fan/Light Canopy Module — Zigbee or Matter-over-Thread

The cleanest option for a standard ceiling fan with a light kit. The Inovelli Blue Series Fan/Light Canopy Module (model VZM36) is a Zigbee 3.0 module that tucks into the fan canopy and gives you independent control of fan speed and the light dim level. It pairs directly to ZHA or Zigbee2MQTT — no Inovelli hub, fully local. (It needs constant 120V power and a neutral wire at the canopy.) There’s also a White Series version (model VTM36) that’s Matter over Thread, which pairs to HA through a Thread border router and the Matter integration and also works with Apple Home, Google Home, SmartThings, and Hubitat. Note the model numbers carefully — VZM36 is Zigbee, VTM36 is Matter/Thread; they look similar but are different radios. Pair either with an Inovelli fan switch for a proper wall control, or drive it entirely from automations. This is the recommendation for most people.

2. Sonoff iFan04 — Wi-Fi (ESPHome or local LAN)

A budget Wi-Fi controller that replaces the fan’s internal logic and gives you Low/Med/High plus light on/off. It is Wi-Fi (2.4 GHz) — not Zigbee or Z-Wave. To keep it local you have two routes: flash ESPHome onto it (requires soldering — it doesn’t support Sonoff’s OTA DIY mode), or keep stock firmware and use the SonoffLAN custom integration (HACS) for local LAN control. It also has a 433 MHz RF remote. Cheap and effective, but the soldering/ESPHome step is the price of keeping it fully local.

3. Z-Wave fan controllers (GE/Jasco “Enbrighten”) — Z-Wave

If your home runs Z-Wave, a Z-Wave in-wall fan-speed switch (the GE/Jasco Enbrighten line is the common one) pairs to a Z-Wave controller via Z-Wave JS and exposes fan speed locally with no cloud. These are in-wall switches sized for a fan circuit, so they suit hard-wired ceiling fans where you want a physical wall control.

4. Hampton Bay / King of Fans Zigbee fan-light controller — Zigbee

Home Depot’s Hampton Bay (King of Fans) Zigbee fan/light controller is an inexpensive in-canopy module that pairs to ZHA or Zigbee2MQTT. It works locally, though historically support has been a bit fiddly (older HA versions exposed it as a plain switch; current versions handle fan + light better). A reasonable budget pick if you can find it, but the Inovelli module is the more polished choice.

5. Bond Bridge — local RF/IR bridge for existing remote-controlled fans

If your ceiling fan already came with an RF (or IR) remote, the Bond Bridge is the least-invasive option: it learns the remote’s signals and re-transmits them, so you don’t have to rewire the canopy at all. Bond’s Home Assistant integration is local push over your LAN (using a local API token), so day-to-day fan speed and light control runs locally without a cloud round-trip. The catch is that RF is largely one-way — Bond sends commands but can’t always read true fan state — so HA’s reported state can drift if someone uses the physical remote. Best when you want zero wiring work and your fan already has a supported remote.

Things that get miscalled “smart fans”

To save you a bad purchase:

  • Levoit Core 400S is a Wi-Fi air purifier, not a Zigbee/Z-Wave fan. It integrates with HA only through the cloud-based VeSync integration — not a local-first fan.
  • Apollo AIR-1 is an ESPHome Wi-Fi air-quality sensor (PM, VOC, temperature and humidity as standard; CO₂ only with the optional SCD40 add-on), not a fan. It’s excellent for triggering a fan automation based on air quality, but it doesn’t move air.
  • Philips Hue White A19 is a light bulb, not a fan.

You can absolutely build a great automation where an air-quality sensor (an AirGradient One reads CO₂ out of the box; an Apollo AIR-1 needs its optional SCD40 module) bumps up a fan when CO₂ or PM climbs — just understand the sensor and the fan controller are two separate devices.

Tradeoffs

  • Cost vs. effort: the Sonoff iFan04 is the cheapest, but keeping it local means soldering ESPHome or accepting the SonoffLAN integration. The Inovelli module costs more but is local out of the box.
  • Ecosystem: match the controller’s radio to what you already run — Zigbee module if you have a Zigbee mesh, Z-Wave switch if you’re on Z-Wave, Matter/Thread White Series if you’re building around Thread.
  • Wiring: canopy modules need access to the fan’s wiring; in-wall Z-Wave switches need a fan-rated circuit. Plan for the install.

Quick verdict

  • Best overall: Inovelli Fan/Light Canopy Module — Blue Series (VZM36, Zigbee) or White Series (VTM36, Matter over Thread), both fully local.
  • Cheapest, if you’ll flash it: Sonoff iFan04 with ESPHome (or stock + SonoffLAN for local LAN).
  • Already on Z-Wave: a GE/Jasco Enbrighten Z-Wave fan switch.
  • No rewiring, fan already has a remote: Bond Bridge — local RF/IR re-transmitter.

The honest takeaway: the reliable local “smart fan” is really a good fan paired with a Zigbee, Z-Wave, or Matter controller — match the radio to your setup and you’ll get instant, cloud-free fan control.

Next steps

Compare this category side by side

If you want fewer opinions and more matrix-style tradeoffs, the comparison pages are the next stop.

See comparisons →

Inspect all products

The full product database keeps the caveats, setup notes, and compatibility details attached to each device.

Browse products →

Back up and read the explainers

If a buying guide feels too specific too fast, the guides section covers the broader local-first logic behind it.

Read guides →

Related articles

Best local-first smart home hubs

The best smart home hubs and controllers for people who care about local control, Home Assistant compatibility, and fewer long-term regrets.

Read article →

Best smart plugs with local control and energy monitoring

The best local smart plugs with energy monitoring for Home Assistant: real local control over Zigbee, Z-Wave, or Wi-Fi plus accurate power data, no cloud.

Read article →

Best local security cameras for Home Assistant

The best Home Assistant-friendly local camera options for buyers who care about RTSP, ONVIF, NVR compatibility, and lower cloud dependence.

Read article →
New guides and product notes, no inbox required. Follow via RSS →