diff --git a/roborock/data/v1/v1_code_mappings.py b/roborock/data/v1/v1_code_mappings.py index 730be40e..2a76ee88 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 + qv_35a_dock = 21 qrevo_s5v_dock = 22 saros_20_dock = 27 diff --git a/roborock/device_features.py b/roborock/device_features.py index 9b03b972..42d65127 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.qv_35a_dock, RoborockDockTypeCode.qrevo_s5v_dock, RoborockDockTypeCode.saros_20_dock, ] diff --git a/tests/data/v1/test_v1_containers.py b/tests/data/v1/test_v1_containers.py index f8625eb3..44f627d4 100644 --- a/tests/data/v1/test_v1_containers.py +++ b/tests/data/v1/test_v1_containers.py @@ -272,6 +272,15 @@ def test_qrevo_s5v_dock_type(): assert s.dock_type.value == 22 +def test_qv_35a_dock_type(): + """Test that dock type code 21 (Roborock QV 35A dock) is properly recognized.""" + modified_status = STATUS.copy() + modified_status["dock_type"] = 21 + s = S7MaxVStatus.from_dict(modified_status) + assert s.dock_type == RoborockDockTypeCode.qv_35a_dock + assert s.dock_type.value == 21 + + 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 1b68304e..5709a2c2 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.qv_35a_dock), (RoborockDockTypeCode.qrevo_s5v_dock), (RoborockDockTypeCode.saros_20_dock), ], diff --git a/tests/devices/traits/v1/test_smart_wash_params.py b/tests/devices/traits/v1/test_smart_wash_params.py index 63ec757f..a1da67a8 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.qv_35a_dock), (RoborockDockTypeCode.qrevo_s5v_dock), (RoborockDockTypeCode.saros_20_dock), ], diff --git a/tests/devices/traits/v1/test_wash_towel_mode.py b/tests/devices/traits/v1/test_wash_towel_mode.py index f3eceea2..24754055 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.qv_35a_dock), (RoborockDockTypeCode.qrevo_s5v_dock), (RoborockDockTypeCode.saros_20_dock), ],