Hiya! Just wanted to share something I got working: my Ecovacs Deebot X1 Omni running fully local in Home Assistant.
It shows up through MQTT autodiscovery as a normal vacuum entity, so you get start/stop/pause/return and locate, plus battery, the dustbin/mop/water-tank sensors, fan and water selects, a carpet-mode switch, an error sensor, and the live map card. State and control come straight off the robot’s own on-board software.
It’s a Valetudo fork that runs on the robot itself, building on Valetudo (Hypfer) and the Ecovacs groundwork inValetudoEV (itsjfx).
Fair warning, this isn’t a plug-and-play add-on. It needs a rooted and reflashed X1, which could brick your vac. And it’s working with a few gaps: dock station automations (wash/dry/auto-empty), consumables, and tested error path are still open.
- The fork: valetudo-ecovacs-x1GitHub - GrahamKowalski/valetudo-ecovacs-x1: Valetudo fork for local, cloud-free control of the Ecovacs Deebot X1 Omni: web UI, REST API, and Home Assistant via MQTT. · GitHub
- The reverse-engineering notes behind it: GitHub - GrahamKowalski/ecovacs-x1-research: Reverse-engineering notes and tooling behind local, cloud-free control of the Ecovacs Deebot X1: map format, on-board ROS interface, control/settings protocols, deployment. Companion to the Valetudo fork. · GitHub
Happy to answer anything, Cheers!

