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
class ZeoFeatureBits(roborock.data.code_mappings.RoborockEnum):
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.

smart_hosting = <ZeoFeatureBits.smart_hosting: 0>
silent_mode = <ZeoFeatureBits.silent_mode: 1>
new_custom_program = <ZeoFeatureBits.new_custom_program: 2>
dry_care = <ZeoFeatureBits.dry_care: 3>
set_uvc_in_appointment = <ZeoFeatureBits.set_uvc_in_appointment: 4>
detect_door_status = <ZeoFeatureBits.detect_door_status: 5>
expand_softener = <ZeoFeatureBits.expand_softener: 6>
set_params_in_working = <ZeoFeatureBits.set_params_in_working: 7>
thirty_min_soak = <ZeoFeatureBits.thirty_min_soak: 8>
smile_light = <ZeoFeatureBits.smile_light: 9>
set_uvc_in_pause = <ZeoFeatureBits.set_uvc_in_pause: 10>
concentrated_detergent = <ZeoFeatureBits.concentrated_detergent: 11>
wool_detergent = <ZeoFeatureBits.wool_detergent: 12>
voice_assistant = <ZeoFeatureBits.voice_assistant: 13>
adapted_custom_program = <ZeoFeatureBits.adapted_custom_program: 14>
voice_assistant_record = <ZeoFeatureBits.voice_assistant_record: 15>
fluff_clean_notification = <ZeoFeatureBits.fluff_clean_notification: 16>
power_button_indicator_light = <ZeoFeatureBits.power_button_indicator_light: 17>
dirt_detection = <ZeoFeatureBits.dirt_detection: 18>
deep_self_clean = <ZeoFeatureBits.deep_self_clean: 19>
save_panel_program_params = <ZeoFeatureBits.save_panel_program_params: 20>
steam_care = <ZeoFeatureBits.steam_care: 21>
wash_dry_linkage = <ZeoFeatureBits.wash_dry_linkage: 22>
ion_deodorization = <ZeoFeatureBits.ion_deodorization: 23>
class ZeoMode(roborock.data.code_mappings.RoborockEnum):
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

null = <ZeoMode.null: 0>
wash = <ZeoMode.wash: 1>
wash_and_dry = <ZeoMode.wash_and_dry: 2>
dry = <ZeoMode.dry: 3>
treatment = <ZeoMode.treatment: 4>
class ZeoState(roborock.data.code_mappings.RoborockEnum):
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

standby = <ZeoState.standby: 1>
weighing = <ZeoState.weighing: 2>
soaking = <ZeoState.soaking: 3>
washing = <ZeoState.washing: 4>
rinsing = <ZeoState.rinsing: 5>
spinning = <ZeoState.spinning: 6>
drying = <ZeoState.drying: 7>
cooling = <ZeoState.cooling: 8>
under_delay_start = <ZeoState.under_delay_start: 9>
done = <ZeoState.done: 10>
updating = <ZeoState.updating: 11>
aftercare = <ZeoState.aftercare: 12>
waiting_for_aftercare = <ZeoState.waiting_for_aftercare: 13>
steam_caring = <ZeoState.steam_caring: 14>
descaling = <ZeoState.descaling: 15>
cloth_ready = <ZeoState.cloth_ready: 16>
waiting_for_drying = <ZeoState.waiting_for_drying: 17>
pre_heating = <ZeoState.pre_heating: 18>
pre_heat_complete = <ZeoState.pre_heat_complete: 19>
in_care = <ZeoState.in_care: 20>
class ZeoProgram(roborock.data.code_mappings.RoborockEnum):
 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

null = <ZeoProgram.null: 0>
standard = <ZeoProgram.standard: 1>
quick = <ZeoProgram.quick: 2>
sanitize = <ZeoProgram.sanitize: 3>
wool = <ZeoProgram.wool: 4>
air_refresh = <ZeoProgram.air_refresh: 5>
custom = <ZeoProgram.custom: 6>
bedding = <ZeoProgram.bedding: 7>
down = <ZeoProgram.down: 8>
silk = <ZeoProgram.silk: 9>
rinse_and_spin = <ZeoProgram.rinse_and_spin: 10>
spin = <ZeoProgram.spin: 11>
down_clean = <ZeoProgram.down_clean: 12>
baby_care = <ZeoProgram.baby_care: 13>
anti_allergen = <ZeoProgram.anti_allergen: 14>
sportswear = <ZeoProgram.sportswear: 15>
night = <ZeoProgram.night: 16>
new_clothes = <ZeoProgram.new_clothes: 17>
shirts = <ZeoProgram.shirts: 18>
synthetics = <ZeoProgram.synthetics: 19>
underwear = <ZeoProgram.underwear: 20>
gentle = <ZeoProgram.gentle: 21>
intensive = <ZeoProgram.intensive: 22>
cotton_linen = <ZeoProgram.cotton_linen: 23>
season = <ZeoProgram.season: 24>
warming = <ZeoProgram.warming: 25>
bra = <ZeoProgram.bra: 26>
panties = <ZeoProgram.panties: 27>
boiling_wash = <ZeoProgram.boiling_wash: 28>
soaking = <ZeoProgram.soaking: 29>
socks = <ZeoProgram.socks: 30>
towels = <ZeoProgram.towels: 31>
anti_mite = <ZeoProgram.anti_mite: 32>
exo_40_60 = <ZeoProgram.exo_40_60: 33>
twenty_c = <ZeoProgram.twenty_c: 34>
t_shirts = <ZeoProgram.t_shirts: 35>
stain_removal = <ZeoProgram.stain_removal: 36>
small_things = <ZeoProgram.small_things: 37>
mixing = <ZeoProgram.mixing: 39>
bath_towel = <ZeoProgram.bath_towel: 40>
jeans = <ZeoProgram.jeans: 41>
outdoors = <ZeoProgram.outdoors: 42>
timed_drying = <ZeoProgram.timed_drying: 43>
outdoor_jackets = <ZeoProgram.outdoor_jackets: 44>
yoga = <ZeoProgram.yoga: 45>
quilt_drying = <ZeoProgram.quilt_drying: 46>
flax = <ZeoProgram.flax: 47>
suit = <ZeoProgram.suit: 48>
sport_shoes = <ZeoProgram.sport_shoes: 49>
rack_drying = <ZeoProgram.rack_drying: 50>
summer_quilt = <ZeoProgram.summer_quilt: 51>
wind_breaker = <ZeoProgram.wind_breaker: 52>
steam_care = <ZeoProgram.steam_care: 53>
descaling = <ZeoProgram.descaling: 54>
deep_self_clean = <ZeoProgram.deep_self_clean: 55>
pet_care = <ZeoProgram.pet_care: 56>
small_things_drying = <ZeoProgram.small_things_drying: 57>
class ZeoSoak(roborock.data.code_mappings.RoborockEnum):
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

normal = <ZeoSoak.normal: 0>
low = <ZeoSoak.low: 1>
medium = <ZeoSoak.medium: 2>
high = <ZeoSoak.high: 3>
max = <ZeoSoak.max: 4>
very_max = <ZeoSoak.very_max: 5>
class ZeoTemperature(roborock.data.code_mappings.RoborockEnum):
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

normal = <ZeoTemperature.normal: 1>
low = <ZeoTemperature.low: 2>
medium = <ZeoTemperature.medium: 3>
high = <ZeoTemperature.high: 4>
max = <ZeoTemperature.max: 5>
twenty_c = <ZeoTemperature.twenty_c: 6>
ninety_c = <ZeoTemperature.ninety_c: 7>
class ZeoRinse(roborock.data.code_mappings.RoborockEnum):
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

none = <ZeoRinse.none: 0>
min = <ZeoRinse.min: 1>
low = <ZeoRinse.low: 2>
mid = <ZeoRinse.mid: 3>
high = <ZeoRinse.high: 4>
max = <ZeoRinse.max: 5>
class ZeoSpin(roborock.data.code_mappings.RoborockEnum):
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

null = <ZeoSpin.null: 0>
none = <ZeoSpin.none: 1>
very_low = <ZeoSpin.very_low: 2>
low = <ZeoSpin.low: 3>
mid = <ZeoSpin.mid: 4>
high = <ZeoSpin.high: 5>
very_high = <ZeoSpin.very_high: 6>
max = <ZeoSpin.max: 7>
class ZeoDryingMode(roborock.data.code_mappings.RoborockEnum):
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

none = <ZeoDryingMode.none: 0>
quick = <ZeoDryingMode.quick: 1>
iron = <ZeoDryingMode.iron: 2>
store = <ZeoDryingMode.store: 3>
class ZeoDetergentType(roborock.data.code_mappings.RoborockEnum):
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

empty = <ZeoDetergentType.empty: 0>
medium = <ZeoDetergentType.medium: 2>
high = <ZeoDetergentType.high: 3>
class ZeoSoftenerType(roborock.data.code_mappings.RoborockEnum):
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

empty = <ZeoSoftenerType.empty: 0>
low = <ZeoSoftenerType.low: 1>
medium = <ZeoSoftenerType.medium: 2>
high = <ZeoSoftenerType.high: 3>
class ZeoDetergentExpansionType(roborock.data.code_mappings.RoborockEnum):
206class ZeoDetergentExpansionType(RoborockEnum):
207    concentrated_detergent = 1
208    detergent = 2

Roborock Enum for codes with int values

concentrated_detergent = <ZeoDetergentExpansionType.concentrated_detergent: 1>
class ZeoSoftenerExpansionType(roborock.data.code_mappings.RoborockEnum):
211class ZeoSoftenerExpansionType(RoborockEnum):
212    softener = 1
213    softener_expansion = 2
214    wool_detergent = 3

Roborock Enum for codes with int values

class ZeoDirtDetectionStatus(roborock.data.code_mappings.RoborockEnum):
217class ZeoDirtDetectionStatus(RoborockEnum):
218    idle = 0
219    detecting = 1
220    detection_completed = 2

Roborock Enum for codes with int values

detection_completed = <ZeoDirtDetectionStatus.detection_completed: 2>
class ZeoError(roborock.data.code_mappings.RoborockEnum):
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

none = <ZeoError.none: 0>
refill_error = <ZeoError.refill_error: 1>
drain_error = <ZeoError.drain_error: 2>
door_lock_error = <ZeoError.door_lock_error: 3>
water_level_error = <ZeoError.water_level_error: 4>
inverter_error = <ZeoError.inverter_error: 5>
heating_error = <ZeoError.heating_error: 6>
temperature_error = <ZeoError.temperature_error: 7>
communication_error = <ZeoError.communication_error: 10>
drying_error = <ZeoError.drying_error: 11>
drying_error_e_12 = <ZeoError.drying_error_e_12: 12>
drying_error_e_13 = <ZeoError.drying_error_e_13: 13>
drying_error_e_14 = <ZeoError.drying_error_e_14: 14>
drying_error_e_15 = <ZeoError.drying_error_e_15: 15>
drying_error_e_16 = <ZeoError.drying_error_e_16: 16>
drying_error_water_flow = <ZeoError.drying_error_water_flow: 17>
drying_error_restart = <ZeoError.drying_error_restart: 18>
spin_error = <ZeoError.spin_error: 19>
class ZeoDryingMethod(roborock.data.code_mappings.RoborockEnum):
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

l1 = <ZeoDryingMethod.l1: 1>
l2 = <ZeoDryingMethod.l2: 2>
l3 = <ZeoDryingMethod.l3: 3>
class ZeoSteamVolume(roborock.data.code_mappings.RoborockEnum):
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

none = <ZeoSteamVolume.none: 0>
low = <ZeoSteamVolume.low: 1>
medium = <ZeoSteamVolume.medium: 2>
high = <ZeoSteamVolume.high: 3>
max = <ZeoSteamVolume.max: 4>
class ZeoDryAndCare(roborock.data.code_mappings.RoborockEnum):
258class ZeoDryAndCare(RoborockEnum):
259    soft = 1
260    normal = 2

Roborock Enum for codes with int values

soft = <ZeoDryAndCare.soft: 1>
normal = <ZeoDryAndCare.normal: 2>
class ZeoDryerStartError(roborock.data.code_mappings.RoborockEnum):
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

dryer_running = <ZeoDryerStartError.dryer_running: 1>
dryer_error = <ZeoDryerStartError.dryer_error: 2>
dryer_done = <ZeoDryerStartError.dryer_done: 3>
dryer_waiting_hosting = <ZeoDryerStartError.dryer_waiting_hosting: 4>
dryer_smart_hosting = <ZeoDryerStartError.dryer_smart_hosting: 5>
dryer_countdown = <ZeoDryerStartError.dryer_countdown: 6>
dryer_network_fail = <ZeoDryerStartError.dryer_network_fail: 7>