Skip to content

Per-room order select and set_segment_order are a silent no-op on v2 maps #1736

Description

@ceandraka

Device: L10s Ultra Gen 2 (vacuum.l10s_ultra_gen_2), firmware 1156+, customized cleaning enabled, v2 (multi-map) map

Summary: Setting any per-room order select (dropdown or select_select_next/select_select_previous) does nothing. Root cause is DreameMapVacuumMapEditor.set_segment_order (dreame/map.py:2798): it mutates self._map_data segment orders, then re-normalizes every segment against self.map_manager.cleaning_sequence, which for v2 maps derives from selected_map → _saved_map_data (map.py:1881-1895), not the just-mutated live map. The mutation is clobbered and the unchanged sequence is written back. Confirmed via device log: repeated identical UPDATE_MAP_DATA {"cleanareaorder":[...]} writes, select state never changes.

Working path for comparison: set_cleaning_sequence (map.py:2743) operates on _saved_map_data directly (map.py:2748) and works correctly.

Suggested fix: make set_segment_order operate on _saved_map_data for v2 maps the way set_cleaning_sequence does (or re-normalize against the mutated map), then sync the live map.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingquestionFurther information is requested

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions