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.env
fromconfig.template.env
. Add you data in the file. - Run
docker-compose
to build an run rr2mqtt
docker-compose up --build
- Clone this repository
- Run
./prep-local-dev
in a linux shell (MINGW64 on windows) once - Change into subdirectory
cd ioBroker.roborock/
- Create a config file
config.env
fromconfig.template.env
. Add you data in the file.- Replace
:
with=
- Replace
- Run
node --env-file=config.env rr2mqtt-main.js
to 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.