Skip to content
Erinome edited this page Dec 24, 2020 · 5 revisions

This is an attempt to create a description for MQTT API used in Valetudo RE. Note that it probably won't change over time.

Currently this list matches RE release 0.10.0.

Table of Contents

Input topics

Topic: valetudo/rockrobo/command

These are the simple commands, which you send directly as a plain text.

Payload Description
start Starts full cleaning or resumes paused cleaning of any type
stop Stops cleaning, note that in older firmware may require may need to pause first
pause Pauses running cleaning, as well as returning to base phase. Also cancels some other actions like gotos and spot cleanings
return_to_base Makes the device returning to charging station
clean_spot Runs cleaning around the current device location with high fan power
locate Makes the device loudly cry "I'm here!" to be easily located

Topic: valetudo/rockrobo/set_fan_speed

This allows to switch between different fan power options, just send the wanted payload.

Payload Description
whisper Most silent of possible fan speeds, supported only on Gen1 devices and Gen2 w/ firmware version before 2008
min Slow fan speed
medium Default and recommended fan speed
high Higher max speed
max The maximum possible fan speed, not recommended due to risks of damaging the fan engine
mop Special mode for mopping, some devices don't have it

Topic: valetudo/rockrobo/custom_command

Here are more advanced commands that have additional parameters and should be send as a JSON object. Please see Example payload column for.. er.. illustrative examples, true.

Command Parameters Description Example payload
zoned_cleanup zone_ids (array of strings or objects) Sends the device to zone cleaning. This parameter specifies the zones to be cleaned, may include both strings with plain zone names and objects like {"id":"name","repeats":2}, where id is zone name and repeats is number of iterations
{
"command": "zoned_cleanup",
"zone_ids": [
   "Foo",
   {
        "id": "Bar",
        "repeats": 2
   }
],
"afterCleaning": "Stop"
}
afterCleaning (string) Defines where the device should go when finishes, possible values Base, Stop or any pre-saved Goto Point name. This is optional
segmented_cleanup segment_ids (array of strings or ints) Sends the device to room cleaning. This parameter specifies the room to be cleaned, may include both strings with plain room names and ints of room numeric ids. Requires Gen2 devices or Gen2 with firmware version 2008+
{
"command": "segmented_cleanup",
"segment_ids": [
    16,
    "Room Name 1",
    18
],
"repeats": 2,
"afterCleaning": "Base"
}
repeats (int) Number of iterations for these rooms
afterCleaning (string) Defines where the device should go when finishes, possible values Base, Stop or any pre-saved Goto Point name. This is optional
go_to spot_id (string) Sends the device to the specified pre-saved spot location
{
"command": "go_to",
"spot_id": "Somewhere"
}
reset_consumable consumable (string) Reset specified consumable, which can be one of main_brush_work_time, side_brush_work_time, filter_work_time or sensor_dirty_time
{
"command": "reset_consumable",
"consumable": "main_brush_work_time"
}
store_map name (string) Saves current map with the specified name into valetudo local map archive
{
"command": "store_map",
"name": "Floor1"
}
load_map name (string) Loads map with the specified name from valetudo local map archive
{
"command": "load_map",
"name": "Floor2"
}
get_destinations   Publishes available zones, spots and rooms to valetudo/rockrobo/destinations topic
play_sound file (string) Plays local file using default sound player, which supports only wav files
{
"command": "play_sound",
"location": "http://192.168.1.10/audio.mp3",
"volume": 0.75
}
location (string) Plays either local or remote file. Requires preinstalled sox player
volume (float) Changes the volume for current playback. This is optional. Requires preinstalled sox player

Output topics

Topic: valetudo/rockrobo/command_status

This is a special read-only topic, where the device will post logs about how successive the requested commands were run, and may as well post errors occurred while doing MQTT operations.