Skip to content
Home Assistant TestFlight
Security & safety

Dreame Vacuum

Tasshack/dreame-vacuum · vv2.0.2

HACSCloud polling

Home Assistant integration for Dreame robot vacuums with map support

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
switchSwitch or outlet
cameraCameraNeeds its own HomeKit Bridge in accessory mode
binary_sensorSensor (motion, contact, leak, smoke…)
sensorSensor (temperature, humidity, air quality…)
vacuumVacuum (as a switch)
buttonButton (as a switch)
selectMode picker (as switches)

What people report

Wide Dreame, Mova and Xiaomi-branded vacuum support; local control only works when the robot is on Mi Home cloud. Brand-new models are often added in beta and some local polling drops replies.

  • Works4
  • Partly works4
  • Requested6
DeviceIn Home AssistantIn Apple HomeWhat they saidSource
Dreame Aqua10 Ultra Roller CompleteWorks CloudCleanGenius unavailable bug fixed after report
Saved copy
Summary On the Dreame Aqua10 Ultra Roller Complete (`dreame.vacuum.r95475`), the CleanGenius entities are created but remain unavailable because availability depends on `device.status.mop_pad_installed`. The device reports `MOP_PAD_INSTALLED = 0` while also advertising both `CLEANGENIUS` and `CLEANGENIUS_MODE` capabilities. ## Environment - Device Model Number (e.g. `dreame.vacuum.r2364a`): `dreame.vacuum.r95475` - Firmware Version (e.g. `1156`): `4.3.9_3507` - Home Assistant Version: `2026.9.3` - Integration Version: `v2.0.0` - Configuration Type (cloud account / local, with or without map …

Excerpt saved from GitHub on 2026-10-23.

Issue #1847 · 2026-10
Dreame X50 Ultra Complete (beta)WorksSupported in beta version of the integration
Saved copy
Please add the support for Dreame X50 Ultra Complete

Excerpt saved from GitHub on 2026-10-23.

Issue #1517 · 2026-03
Dreame X60 Ultra CompleteWorks CloudWorks on dev build; sticker model r60016 differs from reported model
Saved copy
Is your feature request related to a problem? Please describe. The Dreame X60 Ultra Complete (EU) is not recognized by the integration. Its model string `dreame.vacuum.r60016` is missing from the embedded device database (`DEVICE_INFO` in `dreame/const.py`), I decoded the blob from both `v2.0.0b25` and current `dev` (705 models) and `r60016` is not present. Because of that, `get_supported_devices()` classifies the robot as unsupported and the Dreamehome account login ends with *"No supported devices found in this account on selected region."* Note this is a different unit than the …

Excerpt saved from GitHub on 2026-10-23.

Issue #1747 · 2026-08
Mova L600WorksAdded to config flow
Saved copy
Mova L600 is listed in the readme as supported but not useable since it's not in the supported directory in the config flow

Excerpt saved from GitHub on 2026-10-23.

PR #10 · 2022-10
Dreame L10s UltraPartly works LocalLocal polling drops replies in larger batches on Mi Home account
Saved copy
Another data point, from a Dreame model rather than a Xiaomi one: `dreame.vacuum.r2228o` (L10s Ultra), firmware `4.3.9_3407`, v2.0.2, Mi Home account with "Prefer cloud connection" off. Same symptom: batches 1–2 answer, batch 3 (`4.50` AUTO_SWITCH_SETTINGS + 14 siid-4 siblings `4.30`–`4.49`) never does, entry stays in setup retry with "No response from the device". The Mijia 10-batch from #1831 does not apply here because the model is not `xiaomi.vacuum.*`. #342 (same model, 2023) was most likely this too. I sent raw `get_properties` requests to the device to find the limit, and it looks like …

Excerpt saved from GitHub on 2026-10-23.

Issue #1909 · 2026-10
Dreame L40S Pro UltraPartly works CloudCloud setup failed on later versions; fix proposed
Saved copy
Closes #1856. ## Problem Cloud setup fails with [code] for devices that worked on v2.0.0b25 (reported on L40S Pro Ultra, same as #1836). The Dreame app still reaches the robot, so the robot is online. ## Cause v2.0.0 added `CLEANING_PROGRESS_INFO` to the property list that is requested right after connecting. That property is one of the largest on the device. When the cloud or the robot cannot answer it in time, the whole `get_properties` batch it is part of times out, and the cloud reports 80001 for the request. Excluding that single property from the first request makes the robot connect …

Excerpt saved from GitHub on 2026-10-23.

PR #1861 · 2026-10
Dreame X20+ (Xiaomi c102gl)Partly works LocalLocal-only entries drop replies in batches of 15; fix open
Saved copy
… #1831 by polling Mijia devices locally in batches of 10: [code] For an entry created with Manual Connection (Without map), `account_type` is `"local"`. `DreameVacuumProtocol.init` sets `self.prefer_cloud = True` for every account type other than `"mi"`, `"local"` included: [code] So `not self._protocol.prefer_cloud` is false, the batch stays at 15, and the X20+ drops the reply exactly as in #1831. The entry sits in `setup_retry` ("No response from the device"). This is despite there being no cloud at all (`self._protocol.cloud is None`) and the entry's `prefer_cloud` option being `false`. …

Excerpt saved from GitHub on 2026-10-23.

Issue #1909 · 2026-10
Dreame X50 r2532dPartly works CloudDoes not pair with Xiaomi Home so no local control
Saved copy
X50 problem (dreame.vacuum.r2532d) To open a new thread to keep my stuff about the X50 Ultra Complete in one place. As explained above, it does not actually seem to pair with the Xiaomi Home app, nor is it shown in the list of robots in that app. One thing that wonders me then though is, when you scan the QR code on the device and just go to the website, you land here: https://app.dreame.tech/?model=dreame.vacuum.r2532d (I removed some sensitive query parameters containing the serial number an

Excerpt saved from GitHub on 2026-10-23.

Discussion #323 · 2023-11
Dreame L10s Ultra r2228zRequestedSupport PR closed, closes #734
Saved copy
This closes #734

Excerpt saved from GitHub on 2026-10-23.

PR #818 · 2024-12
Dreame S50 ProRequestedSupport PR closed
Saved copy
``` {'dreame': ['dreame.vacuum.p2009', 'dreame.vacuum.p2027', 'dreame.vacuum.p2028', 'dreame.vacuum.p2028a', 'dreame.vacuum.p2029', 'dreame.vacuum.p2036', 'dreame.vacuum.p2156o', 'dreame.vacuum.p2157', 'dreame.vacuum.p2187', 'dreame.vacuum.p2259', 'dreame.vacuum.r2104', 'dreame.vacuum.r2205', 'dreame.vacuum.r2212', 'dreame.vacuum.r2215', 'dreame.vacuum.r2216o', 'dreame.vacuum.r2228', 'dreame.vacuum.r2228d', 'dreame.vacuum.r2228o', 'dreame.vacuum.r2228z', 'dreame.vacuum.r2232a', 'dreame.vacuum.r2232b', 'dreame.vacuum.r2232c', 'dreame.vacuum.r2232d', 'dreame.vacuum.r2233', …

Excerpt saved from GitHub on 2026-10-23.

PR #979 · 2025-04
Dreame X50 Ultra CompleteRequested CloudBrazil unit not found in account; setup fails
Saved copy
Summary Hi! I’d like to request support for the Dreame X50 model dreame.vacuum.r9446j. The robot was purchased in Brazil and was initially set up with Brazil selected in the Dreamehome app. I also tried configuring it with a US account and selecting “United States” as the server country in the integration, but setup fails with this error: No compatible devices found in this account in the selected country. (dreame.vacuum.r9446j) I’m using Dreame Vacuum integration v2.0.2 in Home Assistant. Could you please add support for this device variant? I’m happy to provide diagnostic information and …

Excerpt saved from GitHub on 2026-10-23.

Issue #1934 · 2026-10
Dreame X50 Ultra r2489qRequestedReported working by contributor; PR closed
Saved copy
I have this working with r2489q variant.

Excerpt saved from GitHub on 2026-10-23.

PR #1048 · 2025-06
Mova r2587aRequestedAdded as copy of r2475a; PR closed
Saved copy
Device acts like r2475a, added as a copy with same device info. #1448

Excerpt saved from GitHub on 2026-10-23.

PR #1548 · 2026-03
Xiaomi Robot Vacuum S20+ and X20 MaxRequestedSupport PRs closed without merge
Saved copy
Add `xiaomi.vacuum.b108gl` (Xiaomi Robot Vacuum S20+) and `xiaomi.vacuum.d109gl` (Xiaomi Robot Vacuum X20 Max) to the supported devices list. Device info is copied from `c102gl` as these are Xiaomi-branded vacuums in the same family. Tested on Home Assistant 2026.3.4 with integration v2.0.0b22: | Feature | xiaomi.vacuum.d109gl (X20 Max) | |---------|-------------------------------| | Cloud login (Xiaomi Home) | ✅ Working | | 2FA verification | ✅ Working | | Device discovery | ✅ Working | | Battery level | ✅ 100% | | Charging status | ✅ charging_completed | | Vacuum status | ✅ idle | | Main …

Excerpt saved from GitHub on 2026-10-23.

PR #1549 · 2026-03

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

Cloud polling

Goes through the maker’s cloud, asking it for updates every so often. Needs the internet and an account.

Details

Installs (analytics)17,726 (2.5%)
GitHub stars2,248
Latest versionv2.0.2 (2026-10-11)
Set up in the UIYes
Maintainers@tasshack
LicenseMIT

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
ArtCore7/dreame-vacuum-translation★ 42022-10-30Home Assistant integration for Dreame Gen2 Lidar robot vacuums with map support

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.