@@ -62,17 +62,22 @@ class WaterModes(RoborockModeEnum):
62
62
63
63
64
64
def get_clean_modes (features : DeviceFeatures ) -> list [CleanModes ]:
65
+ """Get the valid clean modes for the device - also known as 'fan power' or 'suction mode'"""
65
66
modes = [CleanModes .QUIET , CleanModes .BALANCED , CleanModes .TURBO , CleanModes .MAX ]
66
67
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
67
69
modes .append (CleanModes .MAX_PLUS )
68
70
if features .is_pure_clean_mop_supported :
71
+ # If the vacuum is capable of 'pure mop clean' aka no vacuum
69
72
modes .append (CleanModes .OFF )
70
73
else :
74
+ # If not, we can add gentle
71
75
modes .append (CleanModes .GENTLE )
72
76
return modes
73
77
74
78
75
79
def get_clean_routes (features : DeviceFeatures , region : str ) -> list [CleanRoutes ]:
80
+ """The routes that the vacuum will take while mopping"""
76
81
if features .is_none_pure_clean_mop_with_max_plus :
77
82
return [CleanRoutes .FAST , CleanRoutes .STANDARD ]
78
83
supported = [CleanRoutes .STANDARD , CleanRoutes .DEEP ]
@@ -82,6 +87,7 @@ def get_clean_routes(features: DeviceFeatures, region: str) -> list[CleanRoutes]
82
87
and features .is_clean_route_deep_slow_plus_supported
83
88
and region == "CN"
84
89
):
90
+ # for some reason there is a china specific deep plus mode
85
91
supported .append (CleanRoutes .DEEP_PLUS_CN )
86
92
else :
87
93
supported .append (CleanRoutes .DEEP_PLUS )
@@ -92,12 +98,15 @@ def get_clean_routes(features: DeviceFeatures, region: str) -> list[CleanRoutes]
92
98
93
99
94
100
def get_water_modes (features : DeviceFeatures ) -> list [WaterModes ]:
101
+ """Get the valid water modes for the device - also known as 'water flow' or 'water level'"""
95
102
supported_modes = [WaterModes .OFF ]
96
103
if features .is_mop_shake_module_supported :
104
+ # For mops that have the vibrating mop pad, they do mild standard intense
97
105
supported_modes .extend ([WaterModes .MILD , WaterModes .STANDARD , WaterModes .INTENSE ])
98
106
else :
99
107
supported_modes .extend ([WaterModes .LOW , WaterModes .MEDIUM , WaterModes .HIGH ])
100
108
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
101
110
supported_modes .append (WaterModes .CUSTOM )
102
111
if features .is_mop_shake_module_supported and features .is_mop_shake_water_max_supported :
103
112
supported_modes .append (WaterModes .EXTREME )
0 commit comments