diff --git a/roborock/data/b01_q10/b01_q10_code_mappings.py b/roborock/data/b01_q10/b01_q10_code_mappings.py index f23fb4b5..8e236596 100644 --- a/roborock/data/b01_q10/b01_q10_code_mappings.py +++ b/roborock/data/b01_q10/b01_q10_code_mappings.py @@ -162,6 +162,7 @@ class YXCleanType(RoborockModeEnum): VAC_AND_MOP = "vac_and_mop", 1 # bothwork VACUUM = "vacuum", 2 # onlysweep MOP = "mop", 3 # onlymop + CUSTOMIZED = "customized", 4 # custom mode class YXDeviceState(RoborockModeEnum): diff --git a/tests/data/test_code_mappings.py b/tests/data/test_code_mappings.py index 875d6c8c..f7ba6321 100644 --- a/tests/data/test_code_mappings.py +++ b/tests/data/test_code_mappings.py @@ -97,9 +97,15 @@ def test_homedata_product_unknown_category(): ("vac_and_mop", YXCleanType.VAC_AND_MOP), ("vacuum", YXCleanType.VACUUM), ("mop", YXCleanType.MOP), + ("customized", YXCleanType.CUSTOMIZED), ], ) def test_yx_clean_type_from_value_readable_values(readable_value: str, expected_clean_type: YXCleanType) -> None: """Test YXCleanType accepts canonical readable values.""" assert YXCleanType.from_value(readable_value) is expected_clean_type assert expected_clean_type.value == readable_value + + +def test_yx_clean_type_from_code_customized() -> None: + """Test YXCleanType accepts custom mode code used by Q10 status updates.""" + assert YXCleanType.from_code(4) is YXCleanType.CUSTOMIZED