UNPKG

iobroker.roborock

Version:
82 lines (55 loc) 4.17 kB
![Logo](admin/roborock.png) # ioBroker.roborock [![NPM version](https://img.shields.io/npm/v/iobroker.roborock.svg)](https://www.npmjs.com/package/iobroker.roborock) [![Downloads](https://img.shields.io/npm/dm/iobroker.roborock.svg)](https://www.npmjs.com/package/iobroker.roborock) ![Number of Installations](https://iobroker.live/badges/roborock-installed.svg) ![Current version in stable repository](https://iobroker.live/badges/roborock-stable.svg) [![NPM](https://nodei.co/npm/iobroker.roborock.png?downloads=true)](https://nodei.co/npm/iobroker.roborock/) **Tests:** ![Test and Release](https://github.com/copystring/ioBroker.roborock/workflows/Test%20and%20Release/badge.svg) **Translation:** [![Translation status](https://weblate.iobroker.net/widgets/adapters/-/roborock/svg-badge.svg)](https://weblate.iobroker.net/engage/adapters/?utm_source=widget) ## Roborock adapter for ioBroker This adapter allows you the control, get states, cleaning history and view the map of a Roborock vacuum cleaner which is set up in the Roborock app. - [Requirements](#requirements) - [Supported robots](#supported-robots) - [Zone cleaning](#zone-cleaning) - [Changelog](#changelog) **This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** For more details and for information how to disable the error reporting see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0. ### This adapter cannot work on MacOS ## Requirements - Node.js >= 22.0.0 - ioBroker.admin >= 7.6.17 - ioBroker.js-controller >= 6.0.11 ## Supported robots - **S-Series:** S4, S4 Max, S5 Max, S6, S6 Pure, S6 MaxV, S7, S7 MaxV (Pro/Ultra), S7 Pro Ultra, S7 Max Ultra, S8, S8 Pro Ultra, S8 MaxV Ultra - **Q-Series:** Q5 Pro, Q7, Q7 Max, Q7 L5, Q8 Max - **Q Revo:** Q Revo, Q Revo Pro - **Qrevo:** Qrevo Slim, Qrevo S, Qrevo Curve, Qrevo Curv Series, Qrevo Edge, Qrevo Edge Series, Qrevo L, Qrevo Master, Qrevo MaxV - **Saros:** Saros 10, Saros 10R, Saros 20 / Saros 20X, Saros Z70 ## Zone cleaning This feature only works when map creation is enabled in the adapter options. Open the map from the adapter’s web UI tab in the ioBroker admin interface; no manual URL needed. ### Map creation does not work on raspberry pi - Draw your square meant for cleaning. Roborock supports up to 4 cleaning zones at once. ![](https://github.com/copystring/ioBroker.roborock/blob/main/images/Rockrock_zone_cleaning.gif) ## Changelog <!-- Placeholder for the next version (at the beginning of the line): ### **WORK IN PROGRESS** --> ### 0.7.3 (2026-05-22) * (copystring) Fixed V1 auto-empty dust collection to use the AppPlugin-verified `app_start_collect_dust` command. ### 0.7.2 (2026-05-20) * (copystring) Fixed missing auto-empty command for Roborock Qrevo MaxV (#1272). * (copystring) Fixed local endpoint refresh after temporary MQTT outages so stale local IP recovery retries immediately again. * (copystring) Require bug reports to upload a `.txt` debug log file. ### 0.7.1 (2026-05-19) * (copystring) Fixed local TCP recovery when a Roborock device gets a new LAN IP address. * (copystring) Updated dependencies: `@napi-rs/canvas` to 1.0.0, `protobufjs` to 8.2.0 and `zod` to 4.4.3. * (copystring) Resolved npm audit security advisories in transitive dependencies and documented the temporary dependency overrides. ### 0.7.0 (2026-05-04) * (copystring) Added support for Roborock Q10, including map handling for this model. * (copystring) Added support for Roborock Saros Z70. * (copystring) Improved local connections for newer Roborock models so reconnects, keepalive checks and map transfers are more reliable. * (copystring) Fixed empty images in `mapBase64` and `mapBase64Truncated`. ### 0.7.0-beta.1 (2026-03-16) * (copystring) **Fix:** Request handling – message IDs are now assigned internally (externalId removed), avoiding ID conflicts. * (copystring) **Maps/Rooms:** Room states are only created for segments that exist on the loaded map for that floor; room names are taken only from the API so custom names are not overwritten.