Working, thanks!
Maybe someone has figured out how to change Mop Route setting to Deep?
Just found the solution for passing variables to an script inside an automation:
alias: Test vacuum settings
description: ''
trigger: []
action:
- service: script.roborock_set_manual_mode
target:
entity_id: vacuum.roborock_vacuum_a15
data:
vacuum: silent
mopping: 'off'
@vgimbutas i would like to know that to.
I would like to join the question! Iāve been playing around a bit with custom settings. I set deep mopping for custom cleaning in the app. However, Iāve had unreliable success - occasionally Iāve been able to start deep mopping via Home Assistant using this:
service: vacuum.send_command
data:
command: set_water_box_custom_mode
params:
- 204
target:
device_id: ...
So i discovered how to set the mopping route, the following script can be used:
alias: Set Roborock mopping route
fields:
route:
description: 'Mopping route - can be: standard | deep'
example: 'standard'
sequence:
- alias: Config variables
variables:
config_mopping_route:
'standard': 300
deep: 301
mopping_route: '{{ config_mopping_route[route]}}'
- choose:
- alias: Invalid mopping route value
conditions:
- condition: template
value_template: '{{ route not in config_mopping_route|list }}'
sequence:
- service: system_log.write
data:
message: >-
Invalid mopping_route value '{{ route }}'. Valid values are {{
config_mopping_route|list|join(', ') }}
level: warning
logger: roborock
default:
- alias: Set mopping route
service: vacuum.send_command
target:
entity_id: vacuum.roborock_vacuum_a15
data:
command: set_mop_mode
params: '[{{ mopping_route }}]'
mode: single
Itās working, thanks!
I also see (and hear from the robot) the changes in the Mii app
Is there a way to create an entity that represents the mopping status of the robot? Currently the robot arttibutes show vacuum strength only.
I want that because I want to try to make an input boolean that tells if the mop pad is dirty or clean.
For that I need to know when the robot is back after mopping.
I can do that manually by adding it to the script, so when manually set to mopping it will also change an entity to let it know, but then I would not have this information if I sent the robot from the Mii App.
Any suggestions?
Is there a way to combine this with number of repeats?
This scripts work for me, but I canāt choose how many repeats for each room.
I can of course send the vacuum twice to the same room but itās different, the roborock does a different route if itās set to 2-3 repeats
Yes i think you can, iām using the following script to mop a zone twice:
mop_bijkeuken:
alias: 'Mop: Bijkeuken'
sequence:
- service: xiaomi_miio.vacuum_remote_control_stop
target:
entity_id: vacuum.roborock_vacuum_a15
data: {}
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- service: script.set_mopping_route
target:
entity_id: vacuum.roborock_vacuum_a15
data:
route: deep
- service: xiaomi_miio.vacuum_clean_zone
target:
entity_id: vacuum.roborock_vacuum_a15
data:
repeats: 2
zone:
- - 22976
- 21080
- 26604
- 22285
mode: single
icon: mdi:robot-vacuum
Iām using specific room cleaning script. I wonder if itās possible to combine it with repeats.
This is what Iām using for automate room cleaning:
- service: vacuum.send_command
target:
device_id: !secret roborock_device_id
data_template:
command: app_segment_clean
params: '{% set room_id = states("input_number.roborock_room_enum_" + room)
| int %} {{ room_id }} '
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.
Edit: Actually, I think I got I working now. Iāll post a how-to guide shortly. Guide here: https://smarthomepursuits.com/roborock-s7-mop-control-in-home-assistant/
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.
does anyone already found the new details for the deep+ setting on mopping with the s7?
Would love to implement them on my s7 automations.
Hi,
Yes, i Just discovered the new mopping route has ID 304, so Just add it to your scripts
Enjoy
I just created similar post in the WTH subforum: WTH vaacum entities have to mopping controls?
Can you plase vote it? Its a good opportunity to get this feature implemented
I canāt get the S7 to perform mops only via scripts anymore.
Have tried everything but somehow it seems that the command, set_mop_mode no longer exists, has changed causing it not to pick it up.
I can change the suction config, mop config but the Route(mop only) wonāt work. do more people suffer from this?
In my robot Roborock S7 the number that i use are:
300 standard
301 Deep
302 custom
303 deep+
I donāt tried 304.