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