This project is a Roborock Vacuum to Mqtt bridge, hence rr2mqtt. This project is largely based on the ioBroker project ioBroker.roborock. However, rr2mqtt runs without ioBroker Standalone as node.js application or in a Docker container.
There is currently no ready-made image on DockerHub, you have to build the image yourself. However, this is easy and does not require any installation other than Docker.
- Clone this repository
- Create a config file
config.envfromconfig.template.env. Add you data in the file. - Run
docker-composeto build an run rr2mqtt
docker-compose up --build- Clone this repository
- Run
./prep-local-devin a linux shell (MINGW64 on windows) once - Change into subdirectory
cd ioBroker.roborock/ - Create a config file
config.envfromconfig.template.env. Add you data in the file.- Replace
:with=
- Replace
- Run
node --env-file=config.env rr2mqtt-main.jsto start rr2mqtt
rr2mqtt/states/Devices/<DEVICE-ID>
Set a floor
| Key | Value |
|---|---|
| Topic | rr2mqtt/Devices/[DEVICE-ID]/commands/load_multi_map |
| Payload | 1 or 2 |
Start room cleaning. You can use the enhanced JSON format to configurate the rooms.
See rr2mqtt/objects/Devices/[DEVICE-ID]/floors/[NUMBER] for room names and ids.
| Key | Value |
|---|---|
| Topic | rr2mqtt/Devices/[DEVICE-ID]/commands/app_segment_clean |
| Payload | true or {"rooms": [19], "cleanCount": 2} |
| Key | Value |
|---|---|
| Topic | rr2mqtt/Devices/**[DEVICE-ID]**/commands/app_segment_clean |
| Payload | true |
| Key | Value |
|---|---|
| Topic | rr2mqtt/Devices/[DEVICE-ID]/programs/startProgram |
| Payload | Program ID |
| Key | Value |
|---|---|
| Topic | rr2mqtt/Devices/[DEVICE-ID]/reset_consumables/* |
| Payload | ? |
See for more commands Objekte und ihre Bedeutung from ioBroker roborock Wiki page.
This project is at an early stage and is not stable. A lot will change in the coming weeks.