rytilahti / python-miio

Python library & console tool for controlling Xiaomi smart appliances
https://python-miio.readthedocs.io
GNU General Public License v3.0
3.64k stars 550 forks source link

Add full support for Roborock S7 MaxV Ultra #1415

Open golddragon007 opened 2 years ago

golddragon007 commented 2 years ago

Is your feature request related to a problem? Please describe. The maxv ultra has some maintenance and other features which is not supported right now by the integration. These are like:

Describe the solution you'd like Possibly to have the options to select these on the UI.

Device information: If the enhancement is device-specific, please include also the following information.

Use miiocli device --ip <ip address> --token <token>.

Additional context

golddragon007 commented 2 years ago

Ok, I think I just opened it to the wrong project.

DarkByteZero commented 2 years ago

Why wrong project @golddragon007 ? miio/integrations/vacuum/roborock/vacuumcontainers.py for example declares the different maintenance metrics. But yeah some things are out of scope, i guess these should be added to the home assistant integration.

golddragon007 commented 2 years ago

The wrong project, because I wanted to comment on the integration of Home assistants. As I don't know which features are not implemented by whom. If you see that some of my mentions are not implemented by the library, I can reopen this ticket.

rytilahti commented 2 years ago

Just to give some background, this library was initially created mainly to add support to the roborock vacuum (gen1) but got then extend thanks to all contributors. At that time, it was really simple to hardcode the available sensors in homeassistant to make it all work nicely, but this does not really scale as support for new devices with different sensors were introduced.

The real fix would be extending this library to make it possible to provide information about available sensors through this library (some ideas are written down in #1114), but, alas, I haven't had time to implement that and that is unlikely to change in the near future. So if someone is interested in pursuing adding introspectable sensors, I'm happy to help with the effort by nudging to correct direction. :-)

DarkByteZero commented 2 years ago

Yeah, then this issue should still be opened again because S7 MAXV Ultra is not fully supported by this library. Maybe I can help implement some changes.

BillyFKidney commented 2 years ago
  • different cleanup modes (like vacuum & mop, vacuum, mop, custom)

This will be a huge improvement in the integration. When using vacuum only the S7 MaxV doesn't wash the mop first, reducing water usage.

Is there anyway to set the cleanup mode by sending a command?

starkillerOG commented 1 year ago

I added quite some new features to the Roborock S7 MaxV in this PR https://github.com/rytilahti/python-miio/pull/1543. It is based on the great work of @rytilahti that implemented the new "Embedding extra status containers". It adds controls for:

And adds some new sensors such as:

You can follow the progress in the linked PR.

I will work on implementing buttons for starting/stopping a dust-empty of the dock.