Roborock S6 into Home Assistant

Hello everybody,
Ive got the 2 vacuum cleaners (Roborock S6 & DreameBot W10pro).
Here are my following versions:
Home Assistant
core-2026.7.2
Mobile App information:
Xiaomi Home v11.3.203-built11.3.203.1860
Ive got a “mi” account.
What had I done/ tried so far:
I try to put 1st the Roborock S6 to my Home Assistant. I had clicked on
“settings/ devises services”
“Add integration”
look for
Roborock
=> fill out the window with my log in datas
I received the message Passwort wrong ;-(
Then I tried add the integration Xiaomi Home (the green icon)
There I filled in my account data also. I changed the server settings into “de” for Germany.
It don’t work also. I had checked the mobile device settings of the app. In that app I saw “Deutschland” So I can’t change the settings from “de” into “Deutschland”
So how can I put both vacuum cleaners into my Home Assistant.
Thx for your help.
Best Regards of Germany
Bastian

I found I had to switch to the Xiaomi Home integration available via HACS (which claims it’s “official”), since the default one didn’t handle the 2-factor authentication

Summary: Getting two robot vacuums into Home Assistant

Starting problem

The built-in Home Assistant “Xiaomi Home” integration (username/password + server region form) didn’t work for me – I kept getting “Could not log in to Xiaomi Home, check the credentials,” even though my email, password, and server region (de) were all correct.

The key insight

There are actually two different “Xiaomi Home” integrations, which are easy to mix up:

  1. The built-in integration in Home Assistant (username/password form) – currently unreliable for many people, apparently due to 2FA/security issues on Xiaomi’s side.
  2. The official integration from Xiaomi themselves, available via HACS (repository XiaoMi/ha_xiaomi_home) – uses an OAuth 2.0 login (a login link instead of a password form directly in HA) that properly handles 2FA.

Step-by-step solution

  1. Opened HACS and searched for “Xiaomi Home” (green icon, author: XiaoMi).
  2. Used the three-dot menu → “Download” to install the integration (it lands in /config/custom_components/xiaomi_home).
  3. Fully restarted Home Assistant (important – without a restart, the new integration won’t be recognized).
  4. After the restart: Settings → Devices & Services → Add Integration → searched for “Xiaomi Home” again. This time the correct version appeared, with additional setup steps (login region “Europe,” language “German,” OAuth2 redirect URL = my own HA address http://homeassistant.local:8123).
  5. Skipped the network diagnostic steps (network discovery, dependency check) – not strictly necessary.
  6. On the next screen, clicked “Click here to log in” → the real Xiaomi login window opened in the browser.
  7. Logged in there with my Mi account credentials (including a security verification step) – this time it worked, because it’s the OAuth flow rather than the old password form.
  8. Home Assistant then automatically redirected back and showed “Select home and devices” – this is where your own available robot vacuums show up, pulled from the account.
  9. For the room-name sync mode, chose “Do not sync”, so the devices would be imported first without automatic room assignment, to be sorted out manually later.
  10. In the final step (“Name and assign”), the devices found were correctly recognized, each with its model and device name displayed.
  11. Completed with “Finish”.

Result

Both vacuums are now integrated into Home Assistant. One thing stood out:

  • The newer device: significantly more entities (lots of sensors, settings, statistics) – since it supports the newer MIoT protocol.
  • The older device: only a handful of basic entities (start/stop, status, battery) – since it only speaks the older MIIO protocol, for which the new integration can only expose limited data. This isn’t a mistake on my part, just a known limitation with older devices.

Next step (planned)

To unlock more functionality for the older device (map, zone cleaning, consumable status, etc.), I’m planning to additionally set up the classic “Xiaomi Miio” integration (MIIO protocol, not MIoT) – for that, I’ll need the device’s access token, which can be retrieved via the “Xiaomi Cloud Token Extractor” tool.

Thx so much.
You bring me to that idea. That idea had worked.
Thx so much :slight_smile:
Best Regards from Germany
Bastian

If by “older device” you mean the Roborock, you need to add the native Roborock integration (and probably also install the Roborock App.
Despite being made by Xiaomi, Roborock have a separate app (with EU servers afaik). You don’t need the classic Miio integration to unlock all that extra functionality.