Also interested in this but I think mop attributes should be added to the base vacuum entity first so we can just implement it as a configurable attribute similar to the vacuum speed. Adding this feature shouldn’t be too difficult since python-miio already supports it. There’s a request to add additional support options to the vacuum entity.
Edit: I created a request in the GitHub repository discussion section.
Just ordered my S7, and found this thread, and not 100% sure what it’s about. As to my understanding, Roborock S7 vacuums and mops both the same time, and automatically lifts up the mop when it detects a carpet (and when it goes back to charging base). So, is there a specific need to control mop via app/Home Assistant then?
While it can mop and vacuum at the same time, it is not actually recommended. You should do a vacuum-only pass before doing a vacuum+mop pass. Some people even recommend 2 vacuum only passes before mopping. This is for exactly the same reason as you would manually vacuum the floor before mopping, otherwise the mop would drag larger debris along the floor, that is not a good way to clean a floor. Especially if you have polished wooden floor, you should really make sure the floor is well vacuumed before mopping, in order to avoid scratches.
Thanks for explanation. I thought separate runs are not needed since the mop part comes behind the vacuuming parts, but what you explained makes sense. After all, the robot spins around etc and doing so, the mop can probably run over parts of floor that has not been vacuumed yet.
So based on this, then yes, ability to control mop via Home Assistant would be great.
such a pity, just bought it and found out deep mopping can’t be controlled. Can it be called through an Alexa voice command? an alexa integration would do it then
Call one of the scripts before starting the robot cleaning.
I hope this can help while the official integration implements mop control.
note: the vaccum and mopping mode set with the scripts are not reflected in the Xiaomi Home Appnote2: I didn’t find a way to control the mop route setting
Thanks @matlar, sometimes a workaround is as good as a solution, certainly the case in this instance. The solution works perfectly for me. I am sure it must be possible to set the mopping route I might look into it when I need this level of control, for now its just nice not to have my s7 dragging a dirty dry mop around the floor.
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:
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.
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