Hi everyone! ![]()
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.
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.
What’s Included & Key Features
Here is a quick look at what this integration brings to your Home Assistant setup:
Live Map Support: Real-time map rendering directly inside Home Assistant so you can track your S20’s cleaning progress live.
Multi-Room & Selective Cleaning: Clean specific rooms or multiple selected rooms seamlessly without having to resort to raw coordinates or external apps.
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.
Native Home Assistant Experience: Built from the ground up to give you full control via standard Home Assistant vacuumentities, services, and dashboards.
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!
- GitHub Repository: GitHub - m1xminus/xiaomi-vac-S20: Local control, optional live maps, and room-by-room cleaning for supported ijai, Dreame, Viomi, and Xiaomi-labelled vacuums. · GitHub
Installation
- Install it via HACS (add as a Custom Repository) or manually copy the
custom_components/xiaomi_vac_s20folder into your HAcustom_componentsdirectory. - Restart Home Assistant.
- 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! ![]()
![]()
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.
