Xiaomi Gateway 3
AlexxIT/XiaomiGateway3 · vv4.3.0
Home Assistant custom component for control Xiaomi Multimode Gateway (aka Gateway 3), Xiaomi Multimode Gateway 2, Aqara Hub E1 on default firmwares over LAN
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.
| Entity | Shows up as | Note |
|---|---|---|
light | Light | |
switch | Switch or outlet | |
cover | Blind, garage door, window or door | |
climate | Thermostat | |
alarm_control_panel | Security system | |
binary_sensor | Sensor (motion, contact, leak, smoke…) | |
sensor | Sensor (temperature, humidity, air quality…) | |
button | Button (as a switch) | |
select | Mode picker (as switches) |
2 reports below say how a device from this integration behaves in the Home app.
What people report
Local push Zigbee, BLE and Mesh support through Xiaomi gateways, with models added by user PRs. Old gateway firmware can leave sensors Unknown, and some cover entities misbehave in HomeKit.
- Works13
- Partly works2
- Not working1
- Won’t be supported1
| Device | In Home Assistant | In Apple Home | What they said | Source |
|---|---|---|---|---|
| Cpcker M3 BLE Mesh wall switches | Works Local | Support added including mmWave presenceSaved copyThis PR adds full MIoT specification support for the Cpcker M3 series BLE Mesh smart wall switches. This series features built-in millimeter-wave human presence sensors and a touch interaction screen, covering two specifications: ckcper.switch.bln001 (single-button) and ckcper.switch.bln002 (double-button). The following functionalities are implemented: Independent Channel Control: Independent switching for each relay circuit. Button Event Reporting: Accurate triggering and reporting of single-click, double-click, and long-press events, directly compatible with HA automation. Excerpt saved from GitHub on 2026-10-23. | PR #1734 · 2026-06 | |
| Gra Smart Controller V7 Mesh | Works Local | BLE Mesh outlet/switch support addedSaved copyDescription This PR adds support for the Gra Smart Controller V7 (Mesh) device (model: `giot.plug.v7icm`, pdid: `23928`), manufactured by GranchiploT. The device is a BLE Mesh outlet/switch that supports: - On/Off switch control ## Changes - Added device entry to `devices.py`: - `pdid`: `23928` - `model`: `giot.plug.v7icm` - `brand`: `GranchiploT` - `name`: `Gra Smart Controller V7 (Mesh)` - Converter: `BaseConv("switch", "switch", mi="2.p.1")` - controls the main switch via property `#2.p.1` (on/off) ## Testing - Device discovered automatically via Xiaomi Gateway 3 integration - Switch … Excerpt saved from GitHub on 2026-10-23. | PR #1754 · 2026-08 | |
| GranwinIoT plug v6shsm and wireless switches | Works | Support addedSaved copyHi. This PR includes: - Add support for giot.plug.v6shsm - Add support for zjdh.curtain.xj002 - Add support for series of GranwinIoT wireless switches (giot.remote.v51kwm, giot.remote.v52kwm, giot.remote.v53kwm, giot.remote.v54kwm and giot.remote.v56kwm) - Change string to enum (BUTTON_4_DOUBLE) for giot.remote.v58kwm Excerpt saved from GitHub on 2026-10-23. | PR #1518 · 2024-12 | |
| Linptech KS1Pro wireless button | Works Local | BLE button support added, tested on ZNDMWG03LMSaved copynew device which is not found in home.miot-spec.com at the moment tested on Xiaomi Multimode Gateway (CN) ZNDMWG03LM FIRMWARE........: 1.5.0_0102 #20210816 and homeassistant docker image: homeassistant/home-assistant:2023.10 Excerpt saved from GitHub on 2026-10-23. | PR #1228 · 2023-12 | |
| Linptech KS2 temperature/humidity sensor | Works | Support addedSaved copy1. Add support for `linp.light.lx2bcw` - Implements initial support for the Linptech LX2BCW smart light. - Related issue: #1560 2. Add support for `linp.sensor_ht.ks2bb` - Adds decoding and entity setup for the Linptech KS2 temperature and humidity sensor. - Related issue: #1539 3. Enhance `linp.motion.hs1bb2` support - Adds custom configuration options: - `no_motion_time` - `no_motion_duration` - Merges and aligns behavior with the Xiaomi Motion Sensor 2S for consistency. Excerpt saved from GitHub on 2026-10-23. | PR #1597 · 2025-04 | |
| Linptech LX2BCW light | Works | Support addedSaved copy1. Add support for `linp.light.lx2bcw` - Implements initial support for the Linptech LX2BCW smart light. - Related issue: #1560 2. Add support for `linp.sensor_ht.ks2bb` - Adds decoding and entity setup for the Linptech KS2 temperature and humidity sensor. - Related issue: #1539 3. Enhance `linp.motion.hs1bb2` support - Adds custom configuration options: - `no_motion_time` - `no_motion_duration` - Merges and aligns behavior with the Xiaomi Motion Sensor 2S for consistency. Excerpt saved from GitHub on 2026-10-23. | PR #1597 · 2025-04 | |
| Panasonic ceiling fan light | Works | Support addedSaved copyAdd support for panasonic ceiling fan light. Model: pmfbj.light.lz8321. Add support for Xiaomi Smart Wall Outlet XMZNCZ02LM. Add support for Xiaomi double wall button. Model: xiaomi.remote.mcn002 Excerpt saved from GitHub on 2026-10-23. | PR #1615 · 2025-06 | |
| Topwit bath heater light | Works Local | Mesh light, heat and ventilation entities addedSaved copySummary Add Mesh support for `topwit.bhf_light.rzw76` (`pdid: 26045`). ## Added entities - `light` - `status` - `temperature` - `heat_low` - `blow` - `ventilation` - `heat_high` - `child_lock_status` - `ventilation_delay` - `stop_working` ## Mapping reference Official MIoT spec: https://miot-spec.org/miot-spec-v2/instance?type=urn:miot-spec-v2:device:bath-heater:0000A028:topwit-rzw76:1:0000C82C mijia Products wiki https://mijia.wiki/products/topwit.bhf_light.rzw76 ## Validation - Already tested on the device Excerpt saved from GitHub on 2026-10-23. | PR #1721 · 2026-04 | |
| Xiaomi double wall button | Works | Support addedSaved copyAdd support for panasonic ceiling fan light. Model: pmfbj.light.lz8321. Add support for Xiaomi Smart Wall Outlet XMZNCZ02LM. Add support for Xiaomi double wall button. Model: xiaomi.remote.mcn002 Excerpt saved from GitHub on 2026-10-23. | PR #1615 · 2025-06 | |
| Xiaomi Flood Sensor oh83w | Works Local | Fixed after report: old gateway firmware handled in v4.2.0Saved copyDevice: xiaomi.flood.oh83w Gateway: ZNDMWG03LM, ZNDMWG02LM, YTC4044GL, lumi.gateway.mgl03 by Xiaomi Firmware: 1.5.0_0102 XiaomiGateway3: Version 4.1.4 + latest devices.py This version of devices.py has support for xiaomi.flood.oh83w and the device appears in Home Assistant, but all sensors state is Unknown. The flood detector device is working ok when checking using xiaomi mobile app. I added many new type of Xiaomi sensors today without any problem in others sensors than this one. Excerpt saved from GitHub on 2026-10-23. | Issue #1712 · 2026-02 | |
| Xiaomi Safe Box MCN003 | Works | Support addedSaved copySummary This PR adds support for the Xiaomi Safe Box (MCN003) to xiaomigateway3. The device model is MCN003, and the MIOT ID is 12229. Supported Features Device recognition and entity mapping Safe box status monitoring Lock status detection Battery status reporting Alarm status reporting Event notification support Excerpt saved from GitHub on 2026-10-23. | PR #1747 · 2026-08 | |
| Xiaomi Smart Wall Outlet XMZNCZ02LM | Works | Support addedSaved copyAdd support for panasonic ceiling fan light. Model: pmfbj.light.lz8321. Add support for Xiaomi Smart Wall Outlet XMZNCZ02LM. Add support for Xiaomi double wall button. Model: xiaomi.remote.mcn002 Excerpt saved from GitHub on 2026-10-23. | PR #1615 · 2025-06 | |
| Zjdh curtain xj002 | Works | Support addedSaved copyHi. This PR includes: - Add support for giot.plug.v6shsm - Add support for zjdh.curtain.xj002 - Add support for series of GranwinIoT wireless switches (giot.remote.v51kwm, giot.remote.v52kwm, giot.remote.v53kwm, giot.remote.v54kwm and giot.remote.v56kwm) - Change string to enum (BUTTON_4_DOUBLE) for giot.remote.v58kwm Excerpt saved from GitHub on 2026-10-23. | PR #1518 · 2024-12 | |
| Linptech Smart Curtain Motor | Partly works Local | Broken in Home Cannot control from Home app unless exposed as garage door or gate | Controls broke in HomeKit Bridge after 2024.10.3; works in HA; custom converter was wrongSaved copyStart from device diagnostics. I have no idea what device you talking about. > 10807: ["Linptech", "Linp Smart Curtain Motor", "linp.curtain.c2"], "spec": [ MapConv("motor", "cover", mi="2.p.1", map={0: "stop", 1: "open", 2: "close"}), CurtainPosConv("position", mi="2.p.2"), MathConv("target-position", "number", mi="2.p.2", min=0, max=100, entity=ENTITY_CONFIG), BaseConv("target_position", mi="2.p.3"), BaseConv("motor_reverse", "switch", mi="2.p.4"), MapConv("mode", "select", mi="2.p.5", map={0: "default", 1: "doublmode", 2: "leftmode", 3: "rightmode"}), ], Excerpt saved from GitHub on 2026-10-23. | Issue #1485 · 2024-11 |
| Xiaomi Light Sensor GZCGQ01LM | Partly works Local | Works on gateway but one user saw lux values differing from cloudSaved copythe Light Sensor GZCGQ01LM works with Gateway DMWG03LM Firmware 1.0.6_0016. It reports lux and update is all working. But I notice that the value is off. This is local value it reports from Xiaomi Gateway 3 Integration. This is cloud value it reports from Xiaomi Miot Auto and Mi home app. This is accurate. The shape is good so I downloaded the values and run regressions on both data. It's roughly a nature log curve. Not sure if it's a bug or just me. I tried to delete everything and add them back. It's the same. Technically it still could work with Template conversion. Excerpt saved from GitHub on 2026-10-23. | Issue #1419 · 2024-08 | |
| XiaomiGateway3 lights and switches | Not working | Broken in Home Accessory creation failed for lights and switches | Custom integration entities failed to create HomeKit accessorySaved copyThe model needs to be cast to a string here: https://github.com/AlexxIT/XiaomiGateway3/blob/master/custom_components/xiaomi_gateway3/core/helpers.py Please open an issue on the component. Sent from my iPhone > On Sep 2, 2021, at 2:58 PM, Quan *@*.*> wrote: > > > XiaomiGateway3 > https://github.com/AlexxIT/XiaomiGateway3 > > >, > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub, or unsubscribe. Excerpt saved from GitHub on 2026-10-23. | Issue #55560 · 2021-09 |
| EraClean deodorizer | Won’t be supported Local | Only online status; device works via direct Bluetooth, not gatewaySaved copyHi! Your integration got partial support for device only connected status. can you add full support of era.airp.cwb03 ? https://home.miot-spec.com/spec/era.airp.cwb03 i found Esphome component for other model if it helps https://github.com/dentra/esphome-components/tree/master/components/miot_cwbs01 Excerpt saved from GitHub on 2026-10-23. | Issue #1438 · 2024-09 |
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 push
Talks to the device on your network, and the device tells Home Assistant the moment something changes.
Details
| Installs (analytics) | 3,250 (0.46%) |
|---|---|
| GitHub stars | 2,800 |
| Latest version | v4.3.0 (2026-10-15) |
| Set up in the UI | Yes |
| Maintainers | @AlexxIT |
| License | MIT |
Devices listed in its README
- Support Xiaomi/Aqara Zigbee devices simultaneously in Mi Home and Hass
- Support some Zigbee devices from other brands only in Hass
- Support for Zigbee devices of hundreds of brands only in Hass (read more)
- Support for Zigbee devices of hundreds of brands in MQTT (read more)
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.
| Fork | Stars | Last push | Description |
|---|---|---|---|
| zvldz/XiaomiGateway3 | ★ 14 | 2022-12-12 | Control Zigbee, BLE and Mesh devices from Home Assistant with Xiaomi Gateway 3 (ZNDMWG03LM) on original firmware |
| niceboygithub/XiaomiGateway3 | ★ 4 | 2026-09-23 | Control Zigbee, BLE and Mesh devices from Home Assistant with Xiaomi Gateway 3 (ZNDMWG03LM) on original firmware |
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.
Sources
- Documentation: https://github.com/AlexxIT/XiaomiGateway3
- Source code: https://github.com/AlexxIT/XiaomiGateway3
- Issues: https://github.com/AlexxIT/XiaomiGateway3/issues
- HACS: https://hacs.xyz