roborock.data.zeo.zeo_code_mappings
Zeo (washing machine) device enums.
For enums that map between protocol-level positions and physical units
(e.g. spin speed, temperature), the comment format is
# L<N>, <physical-value> where L<N> is the protocol position
and <physical-value> is the user-facing display value
(RPM, degrees Celsius, minutes, etc.).
Enums commented out at the bottom of this file are App-internal lookup tables and UI state machines — they are not DP protocol enums and are never sent to the device.
1"""Zeo (washing machine) device enums. 2 3For enums that map between protocol-level positions and physical units 4(e.g. spin speed, temperature), the comment format is 5``# L<N>, <physical-value>`` where ``L<N>`` is the protocol position 6and ``<physical-value>`` is the user-facing display value 7(RPM, degrees Celsius, minutes, etc.). 8 9Enums commented out at the bottom of this file are App-internal lookup 10tables and UI state machines — they are not DP protocol enums and are 11never sent to the device. 12""" 13 14from ..code_mappings import RoborockEnum 15 16 17class ZeoFeatureBits(RoborockEnum): 18 """Bit positions in DP 237 (FEATURE_BITS).""" 19 20 smart_hosting = 0 21 silent_mode = 1 22 new_custom_program = 2 23 dry_care = 3 24 set_uvc_in_appointment = 4 25 detect_door_status = 5 26 expand_softener = 6 27 set_params_in_working = 7 28 thirty_min_soak = 8 29 smile_light = 9 30 set_uvc_in_pause = 10 31 concentrated_detergent = 11 32 wool_detergent = 12 33 voice_assistant = 13 34 adapted_custom_program = 14 35 voice_assistant_record = 15 36 fluff_clean_notification = 16 37 power_button_indicator_light = 17 38 dirt_detection = 18 39 deep_self_clean = 19 40 save_panel_program_params = 20 41 steam_care = 21 42 wash_dry_linkage = 22 43 ion_deodorization = 23 44 45 46class ZeoMode(RoborockEnum): 47 null = 0 48 wash = 1 49 wash_and_dry = 2 50 dry = 3 51 treatment = 4 52 53 54class ZeoState(RoborockEnum): 55 null = 0 56 standby = 1 57 weighing = 2 # Checking 58 soaking = 3 59 washing = 4 60 rinsing = 5 61 spinning = 6 # Dewatering 62 drying = 7 63 cooling = 8 64 under_delay_start = 9 # Appointment 65 done = 10 # Complete 66 updating = 11 67 aftercare = 12 # SmartHosting 68 waiting_for_aftercare = 13 # SmartHostingWaiting 69 steam_caring = 14 70 descaling = 15 71 cloth_ready = 16 72 waiting_for_drying = 17 73 pre_heating = 18 74 pre_heat_complete = 19 75 in_care = 20 76 77 78class ZeoProgram(RoborockEnum): 79 null = 0 80 standard = 1 # Mixed 81 quick = 2 82 sanitize = 3 # Sterilization 83 wool = 4 84 air_refresh = 5 # Air 85 custom = 6 # CloudProgram 86 bedding = 7 # HomeTextile 87 down = 8 88 silk = 9 89 rinse_and_spin = 10 # RinseAndDehydrate 90 spin = 11 # Dehydrate 91 down_clean = 12 # SelfClean 92 baby_care = 13 # Baby 93 anti_allergen = 14 # MitesRemoval 94 sportswear = 15 # Sports 95 night = 16 96 new_clothes = 17 # New 97 shirts = 18 # Shirt 98 synthetics = 19 # ChemicalFiber 99 underwear = 20 100 gentle = 21 # Soft 101 intensive = 22 # Strong 102 cotton_linen = 23 # CottonOrLinen 103 season = 24 104 warming = 25 # Warm 105 bra = 26 106 panties = 27 # Underpants 107 boiling_wash = 28 # Boiling 108 soaking = 29 109 socks = 30 110 towels = 31 # Towel 111 anti_mite = 32 # MitesRemoval2 112 exo_40_60 = 33 # Eco 113 twenty_c = 34 # TwentyDegrees 114 t_shirts = 35 # TShirt 115 stain_removal = 36 # Dirt 116 small_things = 37 117 mixing = 39 118 bath_towel = 40 119 jeans = 41 120 outdoors = 42 121 timed_drying = 43 122 outdoor_jackets = 44 123 yoga = 45 124 quilt_drying = 46 125 flax = 47 126 suit = 48 127 sport_shoes = 49 128 rack_drying = 50 129 summer_quilt = 51 130 wind_breaker = 52 131 steam_care = 53 132 descaling = 54 133 deep_self_clean = 55 134 pet_care = 56 135 small_things_drying = 57 136 137 138class ZeoSoak(RoborockEnum): 139 normal = 0 # L0, 0min 140 low = 1 # L1, 5min 141 medium = 2 # L2, 10min 142 high = 3 # L3, 15min 143 max = 4 # L4, 20min 144 very_max = 5 # L5, 30min 145 146 147class ZeoTemperature(RoborockEnum): 148 null = 0 149 normal = 1 # L1, 0 C 150 low = 2 # L2, 30 C 151 medium = 3 # L3, 40 C 152 high = 4 # L4, 60 C 153 max = 5 # L5, 90 C 154 twenty_c = 6 # L6, 20 C 155 ninety_c = 7 # L7, 95 C 156 157 158class ZeoRinse(RoborockEnum): 159 none = 0 # L0, None 160 min = 1 # L1, Min 161 low = 2 # L2, Low 162 mid = 3 # L3, Mid 163 high = 4 # L4, High 164 max = 5 # L5, Max 165 166 167class ZeoSpin(RoborockEnum): 168 null = 0 # (not found in app bundle) 169 none = 1 # L1, 0 RPM 170 very_low = 2 # L2, 400 RPM 171 low = 3 # L3, 600 RPM 172 mid = 4 # L4, 800 RPM 173 high = 5 # L5, 1000 RPM 174 very_high = 6 # L6, 1200 RPM 175 max = 7 # L7, 1400 RPM 176 177 178class ZeoDryingMode(RoborockEnum): 179 none = 0 180 quick = 1 # Quick, Mid 181 iron = 2 # Iron, Low 182 store = 3 # Store, High 183 184 185class ZeoDetergentType(RoborockEnum): 186 empty = 0 # T0 187 low = 1 # T1 188 medium = 2 # T2 189 high = 3 # T3 190 191 192class ZeoSoftenerType(RoborockEnum): 193 empty = 0 # T0 194 low = 1 # T1 195 medium = 2 # T2 196 high = 3 # T3 197 198 199class ZeoDetergentExpansionType(RoborockEnum): 200 null = 0 201 concentrated_detergent = 1 202 detergent = 2 203 204 205class ZeoSoftenerExpansionType(RoborockEnum): 206 null = 0 207 softener = 1 208 softener_expansion = 2 209 wool_detergent = 3 210 211 212class ZeoDirtDetectionStatus(RoborockEnum): 213 idle = 0 214 detecting = 1 215 detection_completed = 2 216 217 218class ZeoError(RoborockEnum): 219 none = 0 # No error 220 refill_error = 1 # Refill error (E1). Check if the water tap is turned on. 221 drain_error = 2 # Drain error (E2). Check the drain hose. 222 door_lock_error = 3 # Door lock error (E3). Close the door properly. 223 water_level_error = 4 # Drum water level error (E4). 224 inverter_error = 5 # DD motor variable-frequency drive error (E5). 225 heating_error = 6 # Water heater error (E6). 226 temperature_error = 7 # Drum water temperature error (E7). 227 communication_error = 10 # Communication error (E10). 228 drying_error = 11 # Temperature error (E11). 229 drying_error_e_12 = 12 # Temperature error (E12). 230 drying_error_e_13 = 13 # Temperature error (E13). 231 drying_error_e_14 = 14 # Temperature error (E14). 232 drying_error_e_15 = 15 # Drying air heater error (E15). 233 drying_error_e_16 = 16 # Fan RPM error (E16). 234 drying_error_water_flow = 17 # Drying temperature protection (E17). 235 drying_error_restart = 18 # Fan RPM error (E18). 236 spin_error = 19 # Balance error (Unb). 237 238 239class ZeoDryingMethod(RoborockEnum): 240 null = 0 241 l1 = 1 # L1, Saving 242 l2 = 2 # L2, Standard 243 l3 = 3 # L3, SuperFast 244 245 246class ZeoSteamVolume(RoborockEnum): 247 none = 0 # L0, None 248 low = 1 # L1, Min 249 medium = 2 # L2, Low 250 high = 3 # L3, Mid 251 max = 4 # L4, High 252 253 254class ZeoDryAndCare(RoborockEnum): 255 null = 0 256 soft = 1 257 normal = 2 258 259 260class ZeoDryerStartError(RoborockEnum): 261 null = 0 262 dryer_running = 1 # Washer-Dryer Pairing cannot start: Dryer is running. 263 dryer_error = 2 # Washer-Dryer Pairing cannot start: Dryer has an error. 264 dryer_done = 3 # Dryer drying is complete, please remove the clothes first. 265 dryer_waiting_hosting = 4 # Dryer is waiting for smart hosting. 266 dryer_smart_hosting = 5 # Dryer is in smart hosting mode. 267 dryer_countdown = 6 # Dryer is in preset countdown. 268 dryer_network_fail = 7 # Please check the dryer network connection. 269 270 271# The following are App-internal lookup tables. 272# They are NOT DP protocol enums — the device never receives these values. 273# They control how the official app adjusts recommended dosages or UI visibility. 274# 275# class Cleanser(RoborockEnum): 276# detergent = 0 277# additions = 1 278# 279# class Detergents(RoborockEnum): 280# concentrated = 1 281# regular = 2 282# baby = 3 283# 284# class Additions(RoborockEnum): 285# softener = 1 286# disinfectant = 2 287# fragrance = 3 288# 289# The following are App UI state enums — internal state machines used by the 290# official app for page rendering and progress display. 291# 292# class HomePageStatus(RoborockEnum): 293# updating = 0 294# loading = 1 295# load_failed = 2 296# idle = 3 297# working = 4 298# smart_hosting = 5 299# preset = 6 300# descaling = 7 301# cloth_ready = 8 302# wait_to_dry = 9 303# 304# class Progress(RoborockEnum): 305# soak = 0 306# wash = 1 307# rinse = 2 308# spin = 3 309# dry = 4 310# steam_care = 5 311# 312# class ProgressStatus(RoborockEnum): 313# done = 0 314# doing = 1 315# will_do = 2 316# 317# class SmartHostStatus(RoborockEnum): 318# smart_host_waiting = 0 319# smart_hosting = 1
18class ZeoFeatureBits(RoborockEnum): 19 """Bit positions in DP 237 (FEATURE_BITS).""" 20 21 smart_hosting = 0 22 silent_mode = 1 23 new_custom_program = 2 24 dry_care = 3 25 set_uvc_in_appointment = 4 26 detect_door_status = 5 27 expand_softener = 6 28 set_params_in_working = 7 29 thirty_min_soak = 8 30 smile_light = 9 31 set_uvc_in_pause = 10 32 concentrated_detergent = 11 33 wool_detergent = 12 34 voice_assistant = 13 35 adapted_custom_program = 14 36 voice_assistant_record = 15 37 fluff_clean_notification = 16 38 power_button_indicator_light = 17 39 dirt_detection = 18 40 deep_self_clean = 19 41 save_panel_program_params = 20 42 steam_care = 21 43 wash_dry_linkage = 22 44 ion_deodorization = 23
Bit positions in DP 237 (FEATURE_BITS).
Inherited Members
47class ZeoMode(RoborockEnum): 48 null = 0 49 wash = 1 50 wash_and_dry = 2 51 dry = 3 52 treatment = 4
Roborock Enum for codes with int values
Inherited Members
55class ZeoState(RoborockEnum): 56 null = 0 57 standby = 1 58 weighing = 2 # Checking 59 soaking = 3 60 washing = 4 61 rinsing = 5 62 spinning = 6 # Dewatering 63 drying = 7 64 cooling = 8 65 under_delay_start = 9 # Appointment 66 done = 10 # Complete 67 updating = 11 68 aftercare = 12 # SmartHosting 69 waiting_for_aftercare = 13 # SmartHostingWaiting 70 steam_caring = 14 71 descaling = 15 72 cloth_ready = 16 73 waiting_for_drying = 17 74 pre_heating = 18 75 pre_heat_complete = 19 76 in_care = 20
Roborock Enum for codes with int values
Inherited Members
79class ZeoProgram(RoborockEnum): 80 null = 0 81 standard = 1 # Mixed 82 quick = 2 83 sanitize = 3 # Sterilization 84 wool = 4 85 air_refresh = 5 # Air 86 custom = 6 # CloudProgram 87 bedding = 7 # HomeTextile 88 down = 8 89 silk = 9 90 rinse_and_spin = 10 # RinseAndDehydrate 91 spin = 11 # Dehydrate 92 down_clean = 12 # SelfClean 93 baby_care = 13 # Baby 94 anti_allergen = 14 # MitesRemoval 95 sportswear = 15 # Sports 96 night = 16 97 new_clothes = 17 # New 98 shirts = 18 # Shirt 99 synthetics = 19 # ChemicalFiber 100 underwear = 20 101 gentle = 21 # Soft 102 intensive = 22 # Strong 103 cotton_linen = 23 # CottonOrLinen 104 season = 24 105 warming = 25 # Warm 106 bra = 26 107 panties = 27 # Underpants 108 boiling_wash = 28 # Boiling 109 soaking = 29 110 socks = 30 111 towels = 31 # Towel 112 anti_mite = 32 # MitesRemoval2 113 exo_40_60 = 33 # Eco 114 twenty_c = 34 # TwentyDegrees 115 t_shirts = 35 # TShirt 116 stain_removal = 36 # Dirt 117 small_things = 37 118 mixing = 39 119 bath_towel = 40 120 jeans = 41 121 outdoors = 42 122 timed_drying = 43 123 outdoor_jackets = 44 124 yoga = 45 125 quilt_drying = 46 126 flax = 47 127 suit = 48 128 sport_shoes = 49 129 rack_drying = 50 130 summer_quilt = 51 131 wind_breaker = 52 132 steam_care = 53 133 descaling = 54 134 deep_self_clean = 55 135 pet_care = 56 136 small_things_drying = 57
Roborock Enum for codes with int values
Inherited Members
139class ZeoSoak(RoborockEnum): 140 normal = 0 # L0, 0min 141 low = 1 # L1, 5min 142 medium = 2 # L2, 10min 143 high = 3 # L3, 15min 144 max = 4 # L4, 20min 145 very_max = 5 # L5, 30min
Roborock Enum for codes with int values
Inherited Members
148class ZeoTemperature(RoborockEnum): 149 null = 0 150 normal = 1 # L1, 0 C 151 low = 2 # L2, 30 C 152 medium = 3 # L3, 40 C 153 high = 4 # L4, 60 C 154 max = 5 # L5, 90 C 155 twenty_c = 6 # L6, 20 C 156 ninety_c = 7 # L7, 95 C
Roborock Enum for codes with int values
Inherited Members
159class ZeoRinse(RoborockEnum): 160 none = 0 # L0, None 161 min = 1 # L1, Min 162 low = 2 # L2, Low 163 mid = 3 # L3, Mid 164 high = 4 # L4, High 165 max = 5 # L5, Max
Roborock Enum for codes with int values
Inherited Members
168class ZeoSpin(RoborockEnum): 169 null = 0 # (not found in app bundle) 170 none = 1 # L1, 0 RPM 171 very_low = 2 # L2, 400 RPM 172 low = 3 # L3, 600 RPM 173 mid = 4 # L4, 800 RPM 174 high = 5 # L5, 1000 RPM 175 very_high = 6 # L6, 1200 RPM 176 max = 7 # L7, 1400 RPM
Roborock Enum for codes with int values
Inherited Members
179class ZeoDryingMode(RoborockEnum): 180 none = 0 181 quick = 1 # Quick, Mid 182 iron = 2 # Iron, Low 183 store = 3 # Store, High
Roborock Enum for codes with int values
Inherited Members
186class ZeoDetergentType(RoborockEnum): 187 empty = 0 # T0 188 low = 1 # T1 189 medium = 2 # T2 190 high = 3 # T3
Roborock Enum for codes with int values
Inherited Members
193class ZeoSoftenerType(RoborockEnum): 194 empty = 0 # T0 195 low = 1 # T1 196 medium = 2 # T2 197 high = 3 # T3
Roborock Enum for codes with int values
Inherited Members
200class ZeoDetergentExpansionType(RoborockEnum): 201 null = 0 202 concentrated_detergent = 1 203 detergent = 2
Roborock Enum for codes with int values
Inherited Members
206class ZeoSoftenerExpansionType(RoborockEnum): 207 null = 0 208 softener = 1 209 softener_expansion = 2 210 wool_detergent = 3
Roborock Enum for codes with int values
Inherited Members
213class ZeoDirtDetectionStatus(RoborockEnum): 214 idle = 0 215 detecting = 1 216 detection_completed = 2
Roborock Enum for codes with int values
Inherited Members
219class ZeoError(RoborockEnum): 220 none = 0 # No error 221 refill_error = 1 # Refill error (E1). Check if the water tap is turned on. 222 drain_error = 2 # Drain error (E2). Check the drain hose. 223 door_lock_error = 3 # Door lock error (E3). Close the door properly. 224 water_level_error = 4 # Drum water level error (E4). 225 inverter_error = 5 # DD motor variable-frequency drive error (E5). 226 heating_error = 6 # Water heater error (E6). 227 temperature_error = 7 # Drum water temperature error (E7). 228 communication_error = 10 # Communication error (E10). 229 drying_error = 11 # Temperature error (E11). 230 drying_error_e_12 = 12 # Temperature error (E12). 231 drying_error_e_13 = 13 # Temperature error (E13). 232 drying_error_e_14 = 14 # Temperature error (E14). 233 drying_error_e_15 = 15 # Drying air heater error (E15). 234 drying_error_e_16 = 16 # Fan RPM error (E16). 235 drying_error_water_flow = 17 # Drying temperature protection (E17). 236 drying_error_restart = 18 # Fan RPM error (E18). 237 spin_error = 19 # Balance error (Unb).
Roborock Enum for codes with int values
Inherited Members
240class ZeoDryingMethod(RoborockEnum): 241 null = 0 242 l1 = 1 # L1, Saving 243 l2 = 2 # L2, Standard 244 l3 = 3 # L3, SuperFast
Roborock Enum for codes with int values
Inherited Members
247class ZeoSteamVolume(RoborockEnum): 248 none = 0 # L0, None 249 low = 1 # L1, Min 250 medium = 2 # L2, Low 251 high = 3 # L3, Mid 252 max = 4 # L4, High
Roborock Enum for codes with int values
Inherited Members
Roborock Enum for codes with int values
Inherited Members
261class ZeoDryerStartError(RoborockEnum): 262 null = 0 263 dryer_running = 1 # Washer-Dryer Pairing cannot start: Dryer is running. 264 dryer_error = 2 # Washer-Dryer Pairing cannot start: Dryer has an error. 265 dryer_done = 3 # Dryer drying is complete, please remove the clothes first. 266 dryer_waiting_hosting = 4 # Dryer is waiting for smart hosting. 267 dryer_smart_hosting = 5 # Dryer is in smart hosting mode. 268 dryer_countdown = 6 # Dryer is in preset countdown. 269 dryer_network_fail = 7 # Please check the dryer network connection.
Roborock Enum for codes with int values