Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including node-red-contrib-xiaomi-roborock with all npm packages installed. Try it out:

node-red-contrib-xiaomi-roborock lists no main file and has no index.js, so it can't be directly required. If this is a mistake, please let us know. It may however contain internal files that you can require manually:

// require("node-red-contrib-xiaomi-roborock/[??]")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

node-red-contrib-xiaomi-roborock v0.0.2

Xiaomi Roborock Node

NodeRED Xiaomi Roborock Node

This module provides an universal node to send commands to a Xioamo vacuum using the miIO module. A full list of commands can be found here: XiaomiRobotVacuumProtocol


npm install node-red-contrib-xiaomi-roborock


Create a new roborock node and provide connection parameters (hostname, token). Command defaults to find_me and can be changed in node properties or by sending payload.command to this node. Args are passed through.

Example for zoned cleanup:

"command": "app_zoned_clean",
"args": [
"jobid": "105"

Implemented Nodes

  • miIO Node

Known Issues

Array cannot be passed via node properties ui editor

If a command needs an array or object to be passed as argument, this cannot be done via the node properties ui editor. A JSON payload needs to be send to the node instead in order to work (see example for zoned cleanup above).

Updating firmware requires restart of NodeRED

After a firmware update the following error occur: "Could not connect to device, token might be wrong". Restarting NodeRED usually solves this issue. Thanks to @readeral

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free