⚠️ Maintenance Status: This project is transitioning to a more sustainable maintenance model. Development is shifting to focus exclusively on modern MQTT/JSON communication.
To provide a stable exit point for legacy hardware while reducing technical debt, the following steps are planned:
- Finalizing v0.9.6: The current beta will be completed and released as the final Stable version. This will be the final version to support legacy protocols (XMPP/XML and MQTT/XML).
- Transition to v1.0.0: Following the 0.9.6 stable release, development will move to version 1.0.0. This major update will be MQTT/JSON-only. All legacy XML-based code and dependencies will be removed to improve performance and maintainability.
| Level | Model Series | Protocol | Support Status |
|---|---|---|---|
| 🟢 Active | OZMO 920/950, T8 AIVI, X1 Turbo | MQTT/JSON | Owned by maintainer |
| 🟡 Community | T10, T20, T30, X2, X8 series etc. | MQTT/JSON | "Best effort" via community PRs |
| 🟡 Community | yeedi models (MQTT/JSON only) | MQTT/JSON | "Best effort" via community PRs |
| 🔴 Legacy | Deebot 900/901 etc. | MQTT/XML | Supported in v0.9.x only |
| 🔴 Legacy | Slim 2, OZMO 930 etc. | XMPP/XML | Supported in v0.9.x only |
Support for new models is no longer added upon request. Due to high time constraints, I will not implement new models based on logs alone. Requests for new model support without an accompanying Pull Request may be closed without further notice. If you want to see a modern (MQTT/JSON) model supported, please contribute the necessary model definitions via PR.
Requirement: Node.js >= 20.x
- The "move" function is model-specific and is not implemented drawing universal logic.
- Map image generation is unstable on 32-bit systems and has limited functionality for newer series like X1 or X2.
- Breaking Change: Bumped minimum required version of Node.js to 20.x
- Added auto V2 API handling
- Added initial support for T20, T30, X2, and X8 series
- Bumped dependencies
- This version is the final release for all XML-based models
- Complete removal of the legacy XMPP/XML and MQTT/XML protocol stacks
- Major dependency cleanup and refactoring for pure MQTT/JSON communication
Special thanks to @edenhaus for the ongoing exchange and to @wpietri for the foundational reverse engineering of the protocol.
I am in no way affiliated with Ecovacs Robotics Co., Ltd. or yeedi Technology Limited.
GNU GENERAL PUBLIC LICENSE - Copyright (c) 2026 Sascha Hölzel
