Part5 - ecovacs: Vacuum cleaner commands
Deebot in Home Assistant.
How to create a script or action to clean specific room ECOVACS ECOVACS Deebot X5 Pro?
This really helped me set up buttons for cleaning individual rooms with my Ecovacs Deebot X5 Pro, like this:
Table of Contents
Quick start
Set Cleaning Mode -> Set the work mode to "vacuum and mop"
Set vacuum fan level ->
Set water flow rate ->
Start Cleaning ->Send cleaning command to vacuum
Step by step
room number
The room number in the attributes section which can be found in your device under the controls section

Use 'clean_V2' command for Deebot X5 series
Within the developer tools I can get the command to run via call service:
step 1.set work mode
Set the mode to "vacuum and mop"
step 2. set water
step 3. set fan speed
step 4.set room numer
step 5.send command
Here is a script for a room clean.
single room vacuum only:
service: vacuum.send_command
target:
entity_id: vacuum.matterxiaomi_deebot
data:
command: clean_V2
params:
act: start
content:
type: freeClean
value: 1,6 value: 1,6:area,comma-separated list of numbers starting by 0 (e.g. 1,3) for areas to be cleaned.
you just need to match the room number.
room 7 and 4
service: vacuum.send_command
target:
entity_id: vacuum.matterxiaomi_deebot
data:
command: clean_V2
params:
act: start
content:
type: freeClean
value: "1,7;1,4"
If you add the below to mqtt_client.py under line 248, then when you make a request from your app. you can see the value for each room or scenario:
cd /usr/local/lib/python3.13/site-packages/deebot_client
If you add the below to mqtt_client.py under line 248, then when you make a request from your app. you can see the value for each room or scenario:
_LOGGER.info("FULL MQTT MESSAGE:\nTopic: %s\nPayload:\n%s", message.topic, message.payload.decode("utf-8", errors="replace"))
self._last_message_received_at = datetime.now() https://github.com/DeebotUniverse/client.py/issues/832#issuecomment-2810411425
Comments
Comments are closed