-
-
Notifications
You must be signed in to change notification settings - Fork 28.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a service to get maps for Roborock #111478
Conversation
Hey there @humbertogontijo, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
I’m looking at a similar feature for iRobot vacs, and it also looks like starting a clean for a room is non standard and kind of clunky, but supported by most popular vacs. Did you consider expanding the base vacuum component? I’m looking at getting started on something a little generic by adding a sensor for the rooms, and then a base method / service called like clean_rooms or something. |
If you plan on making this more generic, there really should be a service |
I'm a bit hesitant about the service name as in the PR description you only refer to rooms. |
What about get_map_information? Or something similar? I think the other data is helpful to be involved and good to relate map id with the corresponding rooms. Willing to changes to just get rooms though if you think that would be best.
home-assistant/architecture#913 home-assistant/architecture#950 Both of those relate to more official solutions, but arch changes are a bit more slow moving and this is semi-specialized. It could probably be replaced with real builtin functionality eventually, but I have had users ask for this for months, so I would rather add this and then depreciate it years down the line if real support was added that could replace this. |
Thanks for the context! Blocking this change was not at all my intent. I think there is more middle ground than those changes above that isn't a big architectural change but allows easier access to metadata from these units - bit I think it's something that those features would build upon. I'm trying to get a prototype up that I'm somewhat happy with for people to pick apart, happy to CC you. |
You're all good - I did not think that is what you were doing! I just wanted to give more context.
Please do! I know Eden was also planning on doing some big work on vacuums soon: #112431 (comment) He is a core dev and more easily able to align to the core team's mission. Perhaps a channel should be made on discord for all interested parties. (But also I'm not sending this to deter you from doing anything, just giving some extra info! |
I think it's probably fine with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this looks good and I also gave it a test run with my own pet. Much easier than before to get the room info.
Some specific questions but the code looks good
Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @Lash-L 👍
Thanks @gjohansson-ST ! |
Breaking change
Proposed change
Right now to get room information for Roborock vacuums, there are a lot of steps and it is hard for most users to follow. This streamlines the process.
This allows you to get the maps of your device - including the map id, map name, and the corresponding rooms that are within that map.
Type of change
Additional information
Checklist
ruff format homeassistant tests
)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest
.requirements_all.txt
.Updated by running
python3 -m script.gen_requirements_all
..coveragerc
.To help with the load of incoming pull requests: