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.
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.