1. Home
  2. Robot vacuums
  3. Xiaomi

Does the Xiaomi Robot Vacuum X20 work without internet?

Still checking this one. 2 of 7 criteria ticked so far for the Xiaomi Robot Vacuum X20.

Verdict · as sold

Unverified

Not checked enough to say yet. What is known is shown, with sources.

Checked
2/7 checked
Brand
Xiaomi · CN
Model
Robot Vacuum X20
Released
2024
Home Assistant
xiaomi_vac · vendor cloud: once, at setup
Track record
Not reviewed yet

Seven questions, as sold.

2 of 7 checked. Every yes or no links to its source and the date it was checked. Nothing here assumes a flash: that’s the next section.

  1. Works with the internet cut 01 · Not checked

    Does the main function survive with the WAN cable pulled?

  2. No vendor account needed 02 · Not checked

    Can it be set up without creating an account with the manufacturer?

  3. Documented local API 03 · Yes

    Is there a publicly documented local protocol: HTTP, MQTT, ONVIF, RTSP, Zigbee, Z-Wave, Matter, Modbus?

    The xiaomi-vac integration lists xiaomi.vacuum.c101/eu and controls it over the LAN with the MIoT protocol once it has the IP and token.

    source: github.com verified 2026-09-22 vendor documentation
  4. Can be firewalled off for good 04 · Not checked

    Can it be cut off from the internet permanently without anything breaking?

  5. Firmware updates without the cloud 05 · Not checked

    Can it be updated by hand, with no forced auto-update?

  6. Runs alternative firmware 06 · No

    Can it run ESPHome, Tasmota, OpenBeken, Valetudo or OpenIPC?

    Not on Valetudo's supported-robots list; Valetudo's Xiaomi section stops at the X10 Plus, and no other alternative firmware project lists the X20 series.

    source: valetudo.cloud verified 2026-09-22 vendor documentation
  7. Home Assistant talks to it locally 07 · Not checked

    Is the Home Assistant integration local_push or local_polling?

Already own one? Into Home Assistant, then.

A different question from the verdict. Home Assistant can talk to a device locally and still need Xiaomi’s servers to get started, or for good. This is what the integration itself needs.

Yes, with one catch. You log in to Xiaomi once to get the local key. After that Home Assistant talks to the Xiaomi Robot Vacuum X20 directly, and the vendor's servers can go.

Route
Custom integration, via HACS
Integration
xiaomi_vac
Vendor cloud
Once, at setup
Verified
2026-09-22

Reports as xiaomi.vacuum.c101eu. Not in core xiaomi_miio's vacuum list (Roborock-only) and on Tasshack's Dreame component's unsupported list, since it is not Dreame-built. The xiaomi-vac HACS component lists c101/eu and offers two setup paths: a Mi account login for cloud-assisted discovery and live maps, or "Local token" (IP and 32-character token) "if you want LAN control without storing Xiaomi cloud credentials". Either way the token comes from the Mi Home account the robot was paired with, and day-to-day control is local MIoT polling (manifest iot_class local_polling).

How to set it up source: github.com

Question 08 · the company

Xiaomi’s track record.

Nothing on record. That isn’t a clean bill yet: it takes a proper look through the vendor’s changelog, and that hasn’t been done for Xiaomi. No documented removal of the miio local protocol found. Xiaomi has made the device token harder to obtain: python-miio documents that newer Mi Home app versions no longer store the token in the local database, so retrieval goes through the cloud account, but the local API itself keeps working with the token (python-miio.readthedocs.io). Hardening token retrieval is not revoking local control. No source establishes false either.

Editor’s note

In plain words.

Unlike the X10+, the X20 is a Xiaomi-built robot (xiaomi.vacuum.c101eu), so the Dreame tricks stop working: no Valetudo, no Dreame HACS integration. Home Assistant still gets in through the xiaomi-vac HACS component, which talks MIoT over the LAN once it has the token; the token itself is a one-time trip through the Xiaomi account. What the robot does with Xiaomi's servers gone is not documented anywhere we could open, so as sold it stays unverified.

Wrong? Probably somewhere.

Say where. A link and a sentence is enough. Every claim above carries its source so it can be checked.