This thread looks very promising - I spent a lot of time trying to get this to work a few months ago, but it looks like you guys cracked the code. Can some ELI5 how to configure this or set this up? I’ve read through the last few comments and tested all the code but it’s not working for me. But I’m probably not doing something correctly.
Ideally I would like to create a script that has a hardcoded mop route of “deep” with that I can call from an automation.
Here’s what I have in Lovelace - x2 input_selects for every room in my house (1 for vacuuming & 1 for mopping). I then have a reset button to change the mop route to Standard, sets scrub intensity to none, and vacuum power to max.
And for what it’s worth - since I have individual scripts for mopping each room and vacuuming each room, I was able to configure it with Google Assistant, so I can now say “Hey Google, mop the office” or “Hey Google, vacuum the master bedroom” and off she goes.
Thanks for this guys. Bought the S7 because of the possibility in this thread.
My automations (maybe useful to anyone):
- alias: 'Stofzuiger beneden'
initial_state: 'true'
trigger:
platform: time
at: '3:00:00'
condition:
- condition: state
entity_id: input_boolean.vakantie
state: 'off'
- condition: state
entity_id: input_boolean.stofzuiger_beneden
state: 'on'
action:
- choose:
- conditions:
- condition: numeric_state
entity_id: counter.stofzuiger
above: 1
sequence:
- service: script.roborock_set_manual_mode
target:
entity_id: vacuum.roborock_vacuum_a15
data:
vacuum: max
mopping: 'off'
- service: vacuum.start
data:
entity_id: vacuum.roborock_vacuum_a15
default:
- service: script.roborock_set_manual_mode
target:
entity_id: vacuum.roborock_vacuum_a15
data:
vacuum: balanced
mopping: 'off'
- service: vacuum.start
data:
entity_id: vacuum.roborock_vacuum_a15
- service: counter.increment
entity_id: counter.stofzuiger
- alias: 'Stofzuiger dweilen beneden'
initial_state: 'true'
trigger:
platform: time
at: '4:00:00'
condition:
- condition: state
entity_id: input_boolean.vakantie
state: 'off'
- condition: state
entity_id: input_boolean.stofzuiger_beneden
state: 'on'
- condition: numeric_state
entity_id: counter.stofzuiger
above: 1
action:
- service: script.roborock_set_manual_mode
target:
entity_id: vacuum.roborock_vacuum_a15
data:
vacuum: silent
mopping: high
- service: script.roborock_set_mopping_route
target:
entity_id: vacuum.roborock_vacuum_a15
data:
route: deep
- service: vacuum.start
data:
entity_id: vacuum.roborock_vacuum_a15
- service: counter.increment
entity_id: counter.stofzuiger
- alias: 'Stofzuiger dweilen uit beneden'
initial_state: 'true'
trigger:
platform: time
at: '5:00:00'
condition:
- condition: state
entity_id: input_boolean.vakantie
state: 'off'
- condition: state
entity_id: input_boolean.stofzuiger_beneden
state: 'on'
- condition: numeric_state
entity_id: counter.stofzuiger
above: 1
action:
- service: script.roborock_set_manual_mode
target:
entity_id: vacuum.roborock_vacuum_a15
data:
vacuum: balanced
mopping: 'off'
- service: script.roborock_set_mopping_route
target:
entity_id: vacuum.roborock_vacuum_a15
data:
route: 'standard'
- service: counter.increment
entity_id: counter.stofzuiger
- alias: Stofzuiger leegmaken
initial_state: 'true'
trigger:
platform: state
entity_id: sensor.pixel_5_charger_type
from: 'wireless'
to: 'none'
for:
minutes: 1
condition:
- condition: numeric_state
entity_id: counter.stofzuiger
above: 2
- condition: state
entity_id: input_boolean.stofzuiger_leegmaken_melding
state: 'on'
action:
- service: notify.mobile_app_pixel_5
data:
title: 'Bitch'
message: "De stofzuiger mag weer leeggemaakt worden. Die bitch staat alweer op je te wachten!"
data:
actions:
- action: bitch_naar_prullenbak
title: Terug naar dock
color: '#F92772'
priority: high
ttl: 0
channel: Bitch
group: Bitch
ledColor: '#F92772'
tag: "bitchlegen"
- service: script.turn_on
entity_id: script.bitch_prullenbak
- service: counter.reset
entity_id: counter.stofzuiger
- alias: 'Bitch naar dock'
initial_state: 'on'
trigger:
- platform: event
event_type: mobile_app_notification_action
event_data:
action: bitch_naar_prullenbak
action:
- service: vacuum.return_to_base
entity_id: vacuum.roborock_vacuum_a15
- alias: 'Melding wissen bij terug naar dock'
initial_state: 'on'
trigger:
- platform: state
entity_id: vacuum.roborock_vacuum_a15
to: 'returning'
condition:
- condition: time
after: 04:00:00
action:
- service: notify.mobile_app_pixel_5
data:
message: "clear_notification"
data:
tag: "bitchlegen"
So every night at 3 am the S7 will vacuum (3th day at max). Every third night at 4 am the S7 will mop in deep mopping mode. The next morning when my phone is off the wireless charger for 1 minute, the vacuum will go to the trash bin, so I can clean the dust bin and replace the mop (and add water). When I push the action link in the Android notification the vacuum goes back to the dock. Or when I choose to push the button on the vacuum, the notification gets cleared.
The automations won’t get triggered when we are on vacation (wife and I away for 24 hours). I didn’t want to use delays btw, as the automation will fail when for some reason HA will restart (power outage or whatever).
And only mopping every third night is because I don’t want to change the mop every day.
Anyone succeeded doing specific rooms / route mop (deep/standard) on Roborock S7 MaxV?
It all worked well for me on S7. I upgraded to S7 MaxV and only succeeded to to part of the commands.
Just wanted to say huge thanks to everyone in this thread that brought this info to the table. Maybe one day this can actually make it’s way into the Core release…
Got an S7 Maxv Ultra too, experienced the same…the roborock integration via HACS does a lot but for controlling the mop I still have to use the Xiaomi Mihome app. So +1
I’m considering a new request for controlling the onboard CAM which is currently only available via the Roborock app. Imagine that you want to check out a specific spot in the house which isn’t covered by camera’s, then you’re able to point the spot and have the roborock have a picture or livestream to make sure everything is OK. But thats another request.
Hi, i found workaround. In Node Red is node, or two, dedicated to Roborock. There You can steer moping function. Because i know how to change moping/vacuum settings in node red but have no success to force Roborock clean desired zone, I’ve decided to connect HA automation with Node Red. When button is pushed Node Red sets desired mopping force (amount of water) and vacuum force, then starts HA native automation with desired zone.
Just discovered this thread, I’m using a Q7 Max and node red to individually clean rooms using custom alexa commands, zigbee buttons or whatever. Thanks to the help of the members here I now can control the mop water flow for when I want to clean the kitchen or bathroom.
I’ve got a Roborock Q Revo and the above vacuum.send_command doesn’t work for this type. The Q Revo is integrated through the Roborock integration (no HACS) and I can send the app_segment_clean like in the documentation and ‘Rocky’ starts to brush the mop for action. But that’s not what I want. I want to only vacuum the floor and mop whenever I want that. Can’t figure out how to fix this…