architecture
architecture copied to clipboard
Add Edge Cleaning to Vacuum
Context
The current Vacuum core entity service includes many common modes for smart-home Vacuums, but it's missing 'edge clean'. This is similar in application to the currently implemented 'spot clean', but at the moment would need to be implemented to multiple vacuum integrations individually.
Proposal
Adding 'edge clean' mode to the core service, meaning less redundant coding required per vacuum integration. Proposed code is in this PR; https://github.com/home-assistant/home-assistant/pull/25483
Consequences
Easier integration for edge cleaning for multiple brands (I have Eufy Robovac, on the community it seems Ecovac has a similar requirement, I'm sure there will be plenty of other brands to integrate with HA). I cannot see addition causing breaking changes as nothing is to be removed.
Thanks for your time.
Could you help do some legwork to see if other brands support this functionality? I think that's one of the key factors we'd want to understand -- is this just 1 or 2 brands, or is it prevalent.
From a quick look, it seems that most Eufy models support Edge mode. As each of the different Eufy machines use a different API, it means redundant coding to get edge mode added to the integration.
In addition, it looks as though the Eufy machines are similar to iLife Vacuums and DeeBot (maybe just rebranded with different top covers) - all of which would require a different API to use them with HA.
The DeeBot vac had previous requests on the HA community forum for Edge mode.
As there are more and more vacs being added to market, I think this addition adds value to the HA Vacuum service.
Is this something specific to one manufacturer and not all? Neato does not offer edge cleaning but does offer a wide variety of other settings. For this we introduced a custom cleaning service call that allows the user to specify the different parameters that only neato robots take.
Hello, I just got the integration working with Ecovacs and can start the N97s model and send it to charge. I set it up in the hope I could automate the edge cleaning command (specificity to start it and automate stopping it after a set time so it will do just 2 circuits). Is there a way to do this? I found the following on GitHub, but I'm not sure if/how I can use them:
CleaningCommand
This sounds like a common feature in robotic lawn mowers which currently often use the vacuum domain due to the conceptual similarity.
Ecovacs vacuums can be automated to use the edge cleaning mode by using this integration as a replacement for the ecovacs default integration: https://github.com/Ligio/ozmo
You do have to set it up to send a custom command (screenshot attached).

When you do this the status of the vacuum currently shows "Error". I'm hoping to find a fix for this....
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