Xiaomi Vacuum S20 Integration - Full Support (Live Map, Enhanced Sensors & Multi-Room Cleaning)

Hi everyone! :waving_hand:

I wanted to share a custom integration I’ve been working on to bring proper, native support for the Xiaomi Vacuum S20 to Home Assistant.

:red_question_mark: Why I created this integration

Like many of you, I tried several existing Xiaomi vacuum integrations. While there are many great general integrations out there, none of them worked 100% with the Xiaomi S20.

For a long time, I was relying on a workaround using AppDaemon and PyScript scripts to automate and control my vacuum. While it worked, it never felt like a real, seamless Home Assistant integration.

Eventually, I stumbled across letitbe-dull’s xiaomi-vac integration. While it didn’t fully work out of the box for the S20 either, it was by far the closest! I took that solid foundation, forked it, and heavily modified it to tailor everything specifically for the Xiaomi S20 model.

:sparkles: What’s Included & Key Features

Here is a quick look at what this integration brings to your Home Assistant setup:

  • :world_map: Live Map Support: Real-time map rendering directly inside Home Assistant so you can track your S20’s cleaning progress live.
  • :broom: Multi-Room & Selective Cleaning: Clean specific rooms or multiple selected rooms seamlessly without having to resort to raw coordinates or external apps.
  • :bar_chart: Enhanced Sensor Suite: Full access to all vacuum telemetry, including consumables (filter, brush lifespans), detailed cleaning stats, battery metrics, current status/errors, and operational modes.
  • :high_voltage: Native Home Assistant Experience: Built from the ground up to give you full control via standard Home Assistant vacuum entities, services, and dashboards.

:test_tube: Looking for Testers!

If you own a Xiaomi Vacuum S20, I would love for you to give this a try and let me know how it works for you!

:package: Installation

  1. Install it via HACS (add as a Custom Repository) or manually copy the custom_components/xiaomi_vac_s20 folder into your HA custom_components directory.
  2. Restart Home Assistant.
  3. Add the integration via Settings → Devices & Services → Add Integration and search for Xiaomi Vacuum S20.

Feel free to open issues or feature requests on the GitHub repository, or reply directly to this thread with your feedback, bug reports, or suggestions.

Happy automating! :robot::broom:

NOTE: This may work with other vacuums, but i only have S20 to test and is the only one that i know this fully works. if you have other vacuum please reach letitbe-dull first.

1 Like

thanks, had to change with claude help “Pillow>=12.2.0”, and no map. other is working

On s20? D106gl?

yes XIAOMI Robot Vacuum S20 Suction and Mop Robot, Smart Cleaning Plan with LDS Laser Navigation, 5000 Pa Suction Power, 3200 mAh Large Battery, for Carpets, Hard Floors, Pet Hair, App + Google & Alexa - Black : Amazon.de: Home & Kitchen

Dnevnik: custom_components.xiaomi_vac.map_coordinator
Vir: helpers/update_coordinator.py:506
Integration: Xiaomi Vacuum (dokumentacija, težave)
Prva pojavitev: 16:17:40 (2 pojavitvi)
Nazadnje zabeleženo: 16:17:40

Error fetching xiaomi_vac:map:xiaomi.vacuum.d106gl data: Waiting for a readable map upload from the vacuum