OpenHAB binding for the Roborock range of vacuum cleaners. Some of these are supported by the MiIo binding, but newer models use a different protocol. Tested with a Qrevo S, S6 Pure and S7.
This binding used a bridge to login to the Roborock servers, and then the ‘Scan’ button can be used to detect installed vacuum cleaners.
All channels from the MiIo binding are working with the exception of Map image support. The link channel has also been removed as there appears to be no data to support it.
Not all commands have been tested, but they should work.
Changelog
Version 0.3.0, 20th July (git a26b950)
- revert mqtt reconnection code, caused mqtt flooding and disconenction of bots from wifi
Version 0.2.9, 14th July (git 17006e4)
- code cleanups
- log last mqtt publish and message received timestamps, if messages stop being received, kill mqtt connection and reconnect.
Version 0.2.8, 9th July (git 336b059)
- Use OH Storage api to store credentials, rather than creating a file
- move to mqtt v5 rather than mqtt v3
- various other changes/tidy ups I can’t remember.
Version 0.2.7, 7th July 2025 (git 8c7b082)
- Remove semantic-equipment-tag markers to fix OH4.2 compatability.
Version 0.2.6, 6th July 2025 PM update (git 6b933cf)
- get correct URL by querying roborock api with email address
- remove config parameter for region
Version 0.2.5 6th July, 2025 (git aa53c55)
- Add a config parameter to set the default region (based on the region from the Roborock app)
- Down the track I’ll look to try and detect this.
- URLEncode email and password to support special characters (see [roborock] URL encode email and password by stefanroellin · Pull Request #5 · psmedley/openhab-addons · GitHub)
Version 0.2.4 5th July, 2025 (git 004d790)
- Fix starting a routine
- Ignore more MQTT messages we don’t use/handle
- Improve tracking of which message IDs have been handled
- Code simplifications
Version 0.2.3 - 4th July, 2025 (git 2b53920)
- More work to improve reliability of MQTT message processing
- Add channels for Routines (works in similar manner to Room Mapping).
Version 0.2.2 - 3rd July, 2025 (git 5487de2)
- Fix another mqtt packet handling issue
Version 0.2.1 (git ac46547)
- Fixed bug preventing mqtt updates
Version 0.2 (git 90fbfed)
- Refactor mqtt connections into the Account Handler, so that even with multiple vacuums, there is only a single mqtt connection
- Fix bug updating state
- Fix ‘dock’ command
Version 0.1.2 (git f68c2e0)
- Fix last cleaning record on my Roborock S6
Version 0.1.1 (git 5a95066)
- Fix some channels not updating with older vacuums (like S6). Last Cleaning Record channels are still broken for now. History record is not being returned for unknown reasons.
Version 0.1 (git de4d10b)
- Initial release
To-Do
More testing with different models
Resources
https://smedley.id.au/tmp/org.openhab.binding.roborock-5.0.0-SNAPSHOT- a26b950.jar