@@ -62,17 +62,22 @@ class WaterModes(RoborockModeEnum):
6262
6363
6464def get_clean_modes (features : DeviceFeatures ) -> list [CleanModes ]:
65+ """Get the valid clean modes for the device - also known as 'fan power' or 'suction mode'"""
6566 modes = [CleanModes .QUIET , CleanModes .BALANCED , CleanModes .TURBO , CleanModes .MAX ]
6667 if features .is_max_plus_mode_supported or features .is_none_pure_clean_mop_with_max_plus :
68+ # If the vacuum has max plus mode supported
6769 modes .append (CleanModes .MAX_PLUS )
6870 if features .is_pure_clean_mop_supported :
71+ # If the vacuum is capable of 'pure mop clean' aka no vacuum
6972 modes .append (CleanModes .OFF )
7073 else :
74+ # If not, we can add gentle
7175 modes .append (CleanModes .GENTLE )
7276 return modes
7377
7478
7579def get_clean_routes (features : DeviceFeatures , region : str ) -> list [CleanRoutes ]:
80+ """The routes that the vacuum will take while mopping"""
7681 if features .is_none_pure_clean_mop_with_max_plus :
7782 return [CleanRoutes .FAST , CleanRoutes .STANDARD ]
7883 supported = [CleanRoutes .STANDARD , CleanRoutes .DEEP ]
@@ -82,6 +87,7 @@ def get_clean_routes(features: DeviceFeatures, region: str) -> list[CleanRoutes]
8287 and features .is_clean_route_deep_slow_plus_supported
8388 and region == "CN"
8489 ):
90+ # for some reason there is a china specific deep plus mode
8591 supported .append (CleanRoutes .DEEP_PLUS_CN )
8692 else :
8793 supported .append (CleanRoutes .DEEP_PLUS )
@@ -92,12 +98,15 @@ def get_clean_routes(features: DeviceFeatures, region: str) -> list[CleanRoutes]
9298
9399
94100def get_water_modes (features : DeviceFeatures ) -> list [WaterModes ]:
101+ """Get the valid water modes for the device - also known as 'water flow' or 'water level'"""
95102 supported_modes = [WaterModes .OFF ]
96103 if features .is_mop_shake_module_supported :
104+ # For mops that have the vibrating mop pad, they do mild standard intense
97105 supported_modes .extend ([WaterModes .MILD , WaterModes .STANDARD , WaterModes .INTENSE ])
98106 else :
99107 supported_modes .extend ([WaterModes .LOW , WaterModes .MEDIUM , WaterModes .HIGH ])
100108 if features .is_custom_water_box_distance_supported :
109+ # This is for devices that allow you to set a custom water flow from 0-100
101110 supported_modes .append (WaterModes .CUSTOM )
102111 if features .is_mop_shake_module_supported and features .is_mop_shake_water_max_supported :
103112 supported_modes .append (WaterModes .EXTREME )
0 commit comments