Skip to content
Home Assistant TestFlight
Climate

Xiaomi Mi Smart Pedestal Fan

syssi/xiaomi_fan · v2026.8.0.0

HACSLocal polling

Xiaomi Mi Smart Fan integration for Home Assistant

In Apple Home through HomeKit Bridge

What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.

EntityShows up asNote
fanFan

2 reports below say how a device from this integration behaves in the Home app.

What people report

Local miIO/MIoT control of many Xiaomi and Mijia fans; maintainers merge new models quickly in 2026. Older HA updates broke some models and HomeKit lacks a native Natural mode toggle.

  • Works9
  • Partly works1
  • Not working1
  • Requested1
DeviceIn Home AssistantIn Apple HomeWhat they saidSource
Mi Smart Standing Fan 2 P18Works LocalSupport merged
Saved copy
Using FanP10's class for P18 similar to P11 and P15. It fixes the issue #136

Excerpt saved from GitHub on 2026-10-23.

PR #144 · 2021-06
Mi Smart Standing Fan 2 P30Works LocalESP32C3 variant added alongside dmaker.fan.p30
Saved copy
Some units of the 'Mi/Xiaomi Smart Standing Fan 2 P30' ship with a newer ESP32C3 WiFi chip and report themselves over miIO as model 'xiaomi.fan.p30' instead of the existing 'dmaker.fan.p30'. This is a genuinely different, currently undocumented MIoT spec (no entry on home.miot-spec.com or miot-spec.org at the time of writing) with a completely different property layout: separate services per function (LED, buzzer, child lock, delay timer) instead of one combined 'fan' service. Currently, fan.py forces xiaomi.fan.p30 through the dmaker.fan.p10 mapping (see the existing 'elif model in …

Excerpt saved from GitHub on 2026-10-23.

PR #319 · 2026-06
Mi Smart Standing Fan 2 ProWorks LocalTested working
Saved copy
Hi there, today I got myself a Smart Standing Fan 2 Pro, so I spent some time adding support to it. I have tested all the supported functions and they all work correctly. [code] https://www.mi.com/global/product/xiaomi-smart-standing-fan-2-pro/

Excerpt saved from GitHub on 2026-10-23.

PR #195 · 2022-07
Mijia Smart Standing Fan Pro (BPLDS09DM)Works LocalRequested then added in Pro Slim 2 PR
Saved copy
… copied the work of @geirra and modified the mapping according to the specs here https://miot-spec.org/miot-spec-v2/instance?type=urn:miot-spec-v2:device:fan:0000A005:xiaomi-p43:1. I'm not a Developer, so this is copied and pasted from a local copy I was working on when I found out that on/off works if I force the model to be teh p85 for my p43. I hope there are no mistakes due to my pasting. The fan.py I have modified for my Home Asisstant Works as expected.

Excerpt saved from GitHub on 2026-10-23.

PR #342 · 2026-08
Xiaomi fan zhimi.fan.za1Works LocalWorks in Home
Speed property fixed so HomeKit stops erroring
Speed handling refactored to be HomeKit compliant
Saved copy
My device is zhimi.fan.za1 v2.0.3. The value from `get_prop "['speed']"` seems pretty weird, it keeps varying from like 400~700 even the fan speed isn't changing. `['speed_level']` does show the current speed of the fan correctly. Enabling `homekit` with `fan: - platform: xiaomi_miio_fan` would make hass keep complain about the `KeyError`: [code] Looks like it treats the `"['speed']"` prop as the actual speed, then turns out to be invalid. Therefore I have to create a custom fan template in order to be able to change its speed via homekit. Is this intended or have I missed something? Thanks …

Excerpt saved from GitHub on 2026-10-23.

Issue #28 · 2019-04
Xiaomi Smart Desktop Air Circulation FanWorks LocalAdded with fan_turn service
Saved copy
Summary - Add support for `xiaomi.fan.p70` (Xiaomi Smart Desktop Air Circulation Fan) - Implements `XiaomiFanP70` class extending `XiaomiFanP33` with P70-specific MIoT mapping - Vertical oscillation exposed via `FanEntityFeature.DIRECTION` (forward = on, reverse = off) - Reuses `fan_set_vertical_oscillation_on/off` services - Adds `FanStatusP70`, `FanP70`, `OperationModeFanP70` (Straight=0 / Natural=1) - Follows same `get_properties_for_mapping` pattern as P76/P39 ## Device | Property | Value | |---|---| | Model | `xiaomi.fan.p70` | | Name | Xiaomi Smart Desktop Air Circulation Fan | | …

Excerpt saved from GitHub on 2026-10-23.

PR #303 · 2026-05
Xiaomi Smart Standing Air Circulation FanWorks LocalSupport merged
Saved copy
Summary - Add support for `xiaomi.fan.p76` (Xiaomi Smart Standing Air Circulation Fan / JLLDS01XY) - Implements `XiaomiFanP76` class extending `XiaomiFanP33` with P76-specific MIoT mapping - Adds vertical oscillation control via new services `fan_set_vertical_oscillation_on/off` - Adds `FanStatusP76`, `FanP76`, `OperationModeFanP76` (Straight/Natural modes) - MIoT property mapping: fan speed, horizontal/vertical swing, LED, buzzer, child lock, delay ## Device | Property | Value | |---|---| | Model | `xiaomi.fan.p76` | | Name | Xiaomi Smart Standing Air Circulation Fan | | SKU | JLLDS01XY | | …

Excerpt saved from GitHub on 2026-10-23.

PR #299 · 2026-05
Xiaomi Smart Standing Fan Pro Slim 2Works LocalSupport merged
Saved copy
… copied the work of @geirra and modified the mapping according to the specs here https://miot-spec.org/miot-spec-v2/instance?type=urn:miot-spec-v2:device:fan:0000A005:xiaomi-p43:1. I'm not a Developer, so this is copied and pasted from a local copy I was working on when I found out that on/off works if I force the model to be teh p85 for my p43. I hope there are no mistakes due to my pasting. The fan.py I have modified for my Home Asisstant Works as expected.

Excerpt saved from GitHub on 2026-10-23.

PR #342 · 2026-08
Xiaomi Smart Tower FanWorks LocalSupport merged
Saved copy
Added support for Xiaomi Smart Tower Fan (dmaker.fan.p39) For reference: API overview: https://home.miot-spec.com/spec/dmaker.fan.p39 Spec: https://miot-spec.org/miot-spec-v2/instance?type=urn:miot-spec-v2:device:fan:0000A005:dmaker-p39:1 Fixes #213 Fixes #223

Excerpt saved from GitHub on 2026-10-23.

PR #225 · 2023-07
Xiaomi Pedestal Fan 2S / dmaker.fan.1cPartly works LocalPartly in Home
Natural/manual mode not a native toggle; template switch not grouped with fan
Works; Natural mode needs separate switch workaround
Saved copy
Findings: HomeKit Bridge + dmaker.fan.1c (Nature mode / Manual support) I've successfully implemented Nature mode (Auto/Manual) support for the `dmaker.fan.1c` model via Apple HomeKit Bridge. Sharing our findings in case it's useful for the maintainers. ### Environment - Model: `dmaker.fan.1c` - Integration: `xiaomi_miio_fan` (syssi) via HACS - Home Assistant with HomeKit Bridge integration - `configuration.yaml` preset_modes_override: `["Nature"]` ### How HomeKit Bridge communicates fan mode HomeKit exposes fans with a Manual/Auto toggle. The commands sent differ: - Auto → …

Excerpt saved from GitHub on 2026-10-23.

Issue #137 · 2021-06
Xiaomi fan zhimi.fan.za5Not working LocalStopped working after HA 2021.12 and 0.5.4
Saved copy
Hi, After upgrading to 0.5.4 version the ZA5 fan still doesn't work. Below you can find the log: Logger: custom_components.xiaomi_miio_fan.fan Source: custom_components/xiaomi_miio_fan/fan.py:1384 Integration: xiaomi_miio_fan (documentation, issues) First occurred: December 27, 2021, 2:42:50 PM (1094 occurrences) Last logged: 12:06:35 AM XiaomiFanZA5 Got exception while fetching the state: {'code': -9999, 'message': 'user ack timeout'} , _retry=1109 XiaomiFanZA5 Got exception while fetching the state: {'code': -9999, 'message': 'user ack timeout'} , _retry=1110 XiaomiFanZA5 Got exception …

Excerpt saved from GitHub on 2026-10-23.

Issue #177 · 2021-12
Xiaomi Smart Standing Fan Pro Slim (P85)RequestedSupport PR closed unmerged
Saved copy
This adds support for the Xiaomi Smart Standing Fan Pro Slim (P85). Have tested all features and they seem to work fine. I have chosen to implement indication_light service as compared to hack around the light function as they have different designs. The old function has dimming this one has on or off. The service also matches the behaviour of the child lock and buzzer

Excerpt saved from GitHub on 2026-10-23.

PR #315 · 2026-06

Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.

How it connects

Local polling

Talks to the device on your network, asking it for updates every so often.

Details

Installs (analytics)614 (0.09%)
GitHub stars508
Latest version2026.8.0.0 (2026-10-01)
Set up in the UINo, YAML
Maintainers@syssi
LicenseApache-2.0

Devices listed in its README

  • Pedestal Fan Fan V2
  • Pedestal Fan Fan V3
  • Pedestal Fan Fan SA1
  • Pedestal Fan Fan ZA1
  • Pedestal Fan Fan ZA3
  • Pedestal Fan Fan ZA4
  • Smartmi Standing Fan 3
  • Pedestal Fan Fan 1C
  • Pedestal Fan Fan P5
  • Pedestal Fan Fan P8
  • Pedestal Fan Fan P9
  • Pedestal Fan Fan P10
  • Mijia Pedestal Fan
  • Smart Standing Fan 2 Pro
  • Pedestal Fan Fan P15
  • Mi Smart Standing Fan 2 P18
  • Mi Smart Standing Fan 2 P30
  • Rosou SS4 Ventilator
  • Xiaomi Smart Tower Fan
  • Xiaomi Smart Standing Air Circulation Fan
  • Xiaomi Smart Desktop Air Circulation Fan
  • Mi Smart Standing Fan 2 Lite
  • Xiaomi Smart Standing Fan Pro Slim
  • Xiaomi Smart Standing Fan Pro Slim 2
  • Mijia Smart Evaporative Cooling Fan
  • Xiaomi Smart Standing Air Circulation Fan / Mijia Circulation Fan
  • Rosou SS310 Ventilator
  • Mijia Fan

Notable forks

Forks with stars, or with code pushed at least 90 days after the original’s last push. Useful when the original goes quiet.

ForkStarsLast pushDescription
damianpasek/xiaomi_fan★ 102020-09-01Xiaomi Mi Smart Fan integration for Home Assistant
iwzoo/xiaomi_fan★ 62020-05-11Xiaomi Mi Smart Fan integration for Home Assistant
tsunglung/xiaomi_fan★ 52022-03-09Xiaomi Mi Smart Fan integration for Home Assistant

In ReReHome

Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.

Bridges get their own settings page listing the accessories behind them.