Conversation
… cleaning Fallback to scenes when no native rooms exist in RoboVacMQTTEntity._get_room_segments Expose scene-based segments through HA segment APIs for room mapping Route app_segment_clean and async_clean_segments to scene_clean when using scenes Add regression tests covering scene fallback and app segment behavior
When no native rooms exist and scenes are exposed as segments, use only the first selected scene Prevent random/no-op behavior for multi-selection Add regression tests for app_segment_clean and async_clean_segments
m11tch
left a comment
There was a problem hiding this comment.
Thank you for your contribution, it seems like a useful addition, but I do have some minor remarks.
|
Thanks, the production code now routes scene cleaning through There are two remaining items:
|
…ments and update the tests accordingly
|
@m11tch Done in latest commit. |
|
@ModernTTY Thanks for helping me! |
|
Thank you for your contribution, Please fix the linting issues, after that I think we're good to merge :) |
|
@m11tch Done in latest commit. |
checks are still failing |
|
@m11tch Lint should pass now |
Summary
This PR adds a fallback that exposes cleaning scenes as Home Assistant segments for devices that do not provide native room/segment information.
When native rooms are available, the existing behavior is unchanged. If no rooms are exposed but the device provides cleaning scenes, those scenes are exposed as segments instead. This enables Home Assistant’s native room mapping and segment cleaning UI on models such as the Eufy Omni C20.
Changes
Compatibility
Related Issues
#130
Attribution
The implementation in this PR is based on work by @acdu1. I cherry-picked the two scene-support commits from their fork so this feature can be reviewed independently of the other unrelated changes in that branch. All implementation credit goes to them.