home-assistant / architecture

Repo to discuss Home Assistant architecture
315 stars 99 forks source link

Add rooms/zones cleaning as feature (to be supported) in vacuum entity #379

Closed tijunoi closed 1 year ago

tijunoi commented 4 years ago

Context

Defined/preset room/zone cleaning is becoming every time more common in vacuum robots, but the base vacuum entity does not have that capability, leaving it to the integrations to declare their own additional service for it or having the users declare multiple workarounds like a script for every room they have (here, here, and here)

As the integrations can't report the rooms in a common state attribute and there is no default service for a room clean start/stop, it also makes it impossible to add the room cleaning feature of Google Assistant (and other voice assistants in the future maybe), as the google_assistant integration can't report the available zones. This feature can already work in a hacky way (see this post by pergola.fabio)

Proposal

Either:

or

Consequences

As it is an additional feature with an optional support feature, it would not break current integrations, as they would be working as they currently work, but they should eventually be migrated to the common vacuum entity rooms.

p.s. I'm not sure on the naming, room vs zone, as it can be confusing. Roborock/Xiaomi vacuums support zones (by coordinates) and then also recently rooms (by id). Should the vacuum entity distinguish those two?

tijunoi commented 4 years ago

As I see it is not getting activity for the moment, just want to add that I have a working implementation of this, and would be ready to create a PR.

dshokouhi commented 4 years ago

Just seeing this now I think in HA terminology it's technically an area? I think this is a good idea as we do have a custom neato cleaning service that allows users to clean a zone. May need to wait for a core member to chime in here on the flow.

frenck commented 1 year ago

This architecture issue is old, stale, and possibly obsolete. Things changed a lot over the years. Additionally, we have been moving to discussions for these architectural discussions.

For that reason, I'm going to close this issue.

../Frenck