diff --git a/roborock/data/v1/v1_code_mappings.py b/roborock/data/v1/v1_code_mappings.py index a5c830f2..6dacb99c 100644 --- a/roborock/data/v1/v1_code_mappings.py +++ b/roborock/data/v1/v1_code_mappings.py @@ -664,6 +664,7 @@ class RoborockDockTypeCode(RoborockEnum): saros_r10_dock = 16 qrevo_curv_dock = 17 saros_10_dock = 18 + qrevo_s5v_dock = 22 class RoborockDockDustCollectionModeCode(RoborockEnum): diff --git a/roborock/device_features.py b/roborock/device_features.py index ef3ea19f..f4a3e578 100644 --- a/roborock/device_features.py +++ b/roborock/device_features.py @@ -653,6 +653,7 @@ def get_supported_features(self) -> list[str]: RoborockDockTypeCode.qrevo_s_dock, RoborockDockTypeCode.saros_r10_dock, RoborockDockTypeCode.qrevo_curv_dock, + RoborockDockTypeCode.qrevo_s5v_dock, ] diff --git a/tests/data/v1/test_v1_containers.py b/tests/data/v1/test_v1_containers.py index 0a03671c..f8625eb3 100644 --- a/tests/data/v1/test_v1_containers.py +++ b/tests/data/v1/test_v1_containers.py @@ -263,6 +263,15 @@ def test_no_value(): assert "missing" not in RoborockDockTypeCode.values() +def test_qrevo_s5v_dock_type(): + """Test that dock type code 22 (Qrevo S5V dock) is properly recognized.""" + modified_status = STATUS.copy() + modified_status["dock_type"] = 22 + s = S7MaxVStatus.from_dict(modified_status) + assert s.dock_type == RoborockDockTypeCode.qrevo_s5v_dock + assert s.dock_type.value == 22 + + def test_multi_maps_list_info(snapshot: SnapshotAssertion) -> None: """Test that MultiMapsListInfo can be deserialized correctly.""" data = { diff --git a/tests/devices/traits/v1/test_dust_collection_mode.py b/tests/devices/traits/v1/test_dust_collection_mode.py index 1dc72f69..55911fbf 100644 --- a/tests/devices/traits/v1/test_dust_collection_mode.py +++ b/tests/devices/traits/v1/test_dust_collection_mode.py @@ -29,6 +29,7 @@ def dust_collection_mode_trait( (RoborockDockTypeCode.s8_dock), (RoborockDockTypeCode.p10_dock), (RoborockDockTypeCode.qrevo_s_dock), + (RoborockDockTypeCode.qrevo_s5v_dock), ], ) async def test_dust_collection_mode_available( diff --git a/tests/devices/traits/v1/test_smart_wash_params.py b/tests/devices/traits/v1/test_smart_wash_params.py index 7d6c15e6..d91e8aa2 100644 --- a/tests/devices/traits/v1/test_smart_wash_params.py +++ b/tests/devices/traits/v1/test_smart_wash_params.py @@ -30,6 +30,7 @@ def smart_wash_params_trait( (RoborockDockTypeCode.s8_dock), (RoborockDockTypeCode.p10_dock), (RoborockDockTypeCode.qrevo_s_dock), + (RoborockDockTypeCode.qrevo_s5v_dock), ], ) async def test_smart_wash_available( diff --git a/tests/devices/traits/v1/test_wash_towel_mode.py b/tests/devices/traits/v1/test_wash_towel_mode.py index a6a14dcf..38516683 100644 --- a/tests/devices/traits/v1/test_wash_towel_mode.py +++ b/tests/devices/traits/v1/test_wash_towel_mode.py @@ -31,6 +31,7 @@ def wash_towel_mode_trait( (RoborockDockTypeCode.s8_dock), (RoborockDockTypeCode.p10_dock), (RoborockDockTypeCode.qrevo_s_dock), + (RoborockDockTypeCode.qrevo_s5v_dock), ], ) async def test_wash_towel_mode_available(