roborock.data.dyad.dyad_code_mappings

  1from ..code_mappings import RoborockEnum
  2
  3
  4class RoborockDyadStateCode(RoborockEnum):
  5    unknown = -999
  6    fetching = -998  # Obtaining Status
  7    fetch_failed = -997  # Failed to obtain device status. Try again later.
  8    updating = -996
  9    washing = 1
 10    ready = 2
 11    charging = 3
 12    mop_washing = 4
 13    self_clean_cleaning = 5
 14    self_clean_deep_cleaning = 6
 15    self_clean_rinsing = 7
 16    self_clean_dehydrating = 8
 17    drying = 9
 18    ventilating = 10  # drying
 19    reserving = 12
 20    mop_washing_paused = 13
 21    dusting_mode = 14
 22
 23
 24class DyadSelfCleanMode(RoborockEnum):
 25    self_clean = 1
 26    self_clean_and_dry = 2
 27    dry = 3
 28    ventilation = 4
 29
 30
 31class DyadSelfCleanLevel(RoborockEnum):
 32    normal = 1
 33    deep = 2
 34
 35
 36class DyadWarmLevel(RoborockEnum):
 37    normal = 1
 38    deep = 2
 39
 40
 41class DyadMode(RoborockEnum):
 42    wash = 1
 43    wash_and_dry = 2
 44    dry = 3
 45
 46
 47class DyadCleanMode(RoborockEnum):
 48    unknown = -1
 49    auto = 1
 50    max = 2
 51    dehydration = 3  # The F25 Ultra reports its "Sponge" mode with this code.
 52    power_saving = 4
 53    # Heated modes on the F25 Ultra, confirmed by switching modes on the device.
 54    hot_water = 5
 55    steam = 6
 56
 57
 58class DyadSuction(RoborockEnum):
 59    l1 = 1
 60    l2 = 2
 61    l3 = 3
 62    l4 = 4
 63    l5 = 5
 64    l6 = 6
 65
 66
 67class DyadWaterLevel(RoborockEnum):
 68    l1 = 1
 69    l2 = 2
 70    l3 = 3
 71    l4 = 4
 72
 73
 74class DyadBrushSpeed(RoborockEnum):
 75    l1 = 1
 76    l2 = 2
 77
 78
 79class DyadCleanser(RoborockEnum):
 80    none = 0
 81    normal = 1
 82    deep = 2
 83    max = 3
 84
 85
 86class DyadCleanserAmount(RoborockEnum):
 87    """Detergent dosing level (DP 238)."""
 88
 89    unknown = -1
 90    off = 0
 91    low = 1
 92    standard = 2
 93    high = 3
 94
 95
 96class DyadCleanAssistPower(RoborockEnum):
 97    """Wheel assist power (DP 241)."""
 98
 99    unknown = -1
100    gentle = 1
101    moderate = 2
102    strong = 3
103
104
105class DyadSelfCleanWaterTemp(RoborockEnum):
106    """Water temperature used for self-cleaning (DP 242, reported back on DP 271)."""
107
108    unknown = -1
109    high = 3
110    steam = 4
111
112
113class DyadSelfCleanIntensity(RoborockEnum):
114    """Self-cleaning intensity (DP 270).
115
116    Smart mode is enabled through DP 239; standard and deep follow DP 203.
117    """
118
119    unknown = -1
120    smart = 0
121    standard = 1
122    deep = 2
123
124
125class DyadPowerwheelDirection(RoborockEnum):
126    """Drive direction while the vacuum is remote controlled from the app (DP 249)."""
127
128    unknown = -1
129    stop = 0
130    forward = 1
131    backward = 2
132    left = 5
133    right = 6
134    exit = 9  # sent when remote control ends
135
136
137class DyadDryingMode(RoborockEnum):
138    """Drying mode of the F25 Ultra, reported on DP 272 and set through DP 225."""
139
140    unknown = -1
141    fast = 5
142    silent = 22
143
144
145class DyadError(RoborockEnum):
146    none = 0
147    dirty_tank_full = 20000  # Dirty tank full. Empty it
148    water_level_sensor_stuck = 20001  # Water level sensor is stuck. Clean it.
149    clean_tank_empty = 20002  # Clean tank empty. Refill now
150    clean_head_entangled = 20003  # Check if the cleaning head is entangled with foreign objects.
151    clean_head_too_hot = 20004  # Cleaning head temperature protection. Wait for the temperature to return to normal.
152    fan_protection_e5 = 10005  # Fan protection (E5). Restart the vacuum cleaner.
153    cleaning_head_blocked = 20005  # Remove blockages from the cleaning head and pipes.
154    temperature_protection = 20006  # Temperature protection. Wait for the temperature to return to normal
155    fan_protection_e4 = 10004  # Fan protection (E4). Restart the vacuum cleaner.
156    fan_protection_e9 = 10009  # Fan protection (E9). Restart the vacuum cleaner.
157    battery_temperature_protection_e0 = 10000
158    battery_temperature_protection = (
159        20007  # Battery temperature protection. Wait for the temperature to return to a normal range.
160    )
161    battery_temperature_protection_2 = (20008, "battery_temperature_protection")
162    power_adapter_error = 20009  # Check if the power adapter is working properly.
163    dirty_charging_contacts = 10007  # Disconnection between the device and dock. Wipe charging contacts.
164    low_battery = 20017  # Low battery level. Charge before starting self-cleaning.
165    battery_under_10 = 20018  # Charge until the battery level exceeds 10% before manually starting self-cleaning.
class RoborockDyadStateCode(roborock.data.code_mappings.RoborockEnum):
 5class RoborockDyadStateCode(RoborockEnum):
 6    unknown = -999
 7    fetching = -998  # Obtaining Status
 8    fetch_failed = -997  # Failed to obtain device status. Try again later.
 9    updating = -996
10    washing = 1
11    ready = 2
12    charging = 3
13    mop_washing = 4
14    self_clean_cleaning = 5
15    self_clean_deep_cleaning = 6
16    self_clean_rinsing = 7
17    self_clean_dehydrating = 8
18    drying = 9
19    ventilating = 10  # drying
20    reserving = 12
21    mop_washing_paused = 13
22    dusting_mode = 14

Roborock Enum for codes with int values

unknown = <RoborockDyadStateCode.unknown: -999>
fetching = <RoborockDyadStateCode.fetching: -998>
fetch_failed = <RoborockDyadStateCode.fetch_failed: -997>
updating = <RoborockDyadStateCode.updating: -996>
self_clean_cleaning = <RoborockDyadStateCode.self_clean_cleaning: 5>
self_clean_deep_cleaning = <RoborockDyadStateCode.self_clean_deep_cleaning: 6>
self_clean_rinsing = <RoborockDyadStateCode.self_clean_rinsing: 7>
self_clean_dehydrating = <RoborockDyadStateCode.self_clean_dehydrating: 8>
ventilating = <RoborockDyadStateCode.ventilating: 10>
mop_washing_paused = <RoborockDyadStateCode.mop_washing_paused: 13>
dusting_mode = <RoborockDyadStateCode.dusting_mode: 14>
class DyadSelfCleanMode(roborock.data.code_mappings.RoborockEnum):
25class DyadSelfCleanMode(RoborockEnum):
26    self_clean = 1
27    self_clean_and_dry = 2
28    dry = 3
29    ventilation = 4

Roborock Enum for codes with int values

self_clean = <DyadSelfCleanMode.self_clean: 1>
self_clean_and_dry = <DyadSelfCleanMode.self_clean_and_dry: 2>
ventilation = <DyadSelfCleanMode.ventilation: 4>
class DyadSelfCleanLevel(roborock.data.code_mappings.RoborockEnum):
32class DyadSelfCleanLevel(RoborockEnum):
33    normal = 1
34    deep = 2

Roborock Enum for codes with int values

class DyadWarmLevel(roborock.data.code_mappings.RoborockEnum):
37class DyadWarmLevel(RoborockEnum):
38    normal = 1
39    deep = 2

Roborock Enum for codes with int values

normal = <DyadWarmLevel.normal: 1>
deep = <DyadWarmLevel.deep: 2>
class DyadMode(roborock.data.code_mappings.RoborockEnum):
42class DyadMode(RoborockEnum):
43    wash = 1
44    wash_and_dry = 2
45    dry = 3

Roborock Enum for codes with int values

wash = <DyadMode.wash: 1>
wash_and_dry = <DyadMode.wash_and_dry: 2>
dry = <DyadMode.dry: 3>
class DyadCleanMode(roborock.data.code_mappings.RoborockEnum):
48class DyadCleanMode(RoborockEnum):
49    unknown = -1
50    auto = 1
51    max = 2
52    dehydration = 3  # The F25 Ultra reports its "Sponge" mode with this code.
53    power_saving = 4
54    # Heated modes on the F25 Ultra, confirmed by switching modes on the device.
55    hot_water = 5
56    steam = 6

Roborock Enum for codes with int values

unknown = <DyadCleanMode.unknown: -1>
auto = <DyadCleanMode.auto: 1>
max = <DyadCleanMode.max: 2>
dehydration = <DyadCleanMode.dehydration: 3>
power_saving = <DyadCleanMode.power_saving: 4>
hot_water = <DyadCleanMode.hot_water: 5>
steam = <DyadCleanMode.steam: 6>
class DyadSuction(roborock.data.code_mappings.RoborockEnum):
59class DyadSuction(RoborockEnum):
60    l1 = 1
61    l2 = 2
62    l3 = 3
63    l4 = 4
64    l5 = 5
65    l6 = 6

Roborock Enum for codes with int values

l1 = <DyadSuction.l1: 1>
l2 = <DyadSuction.l2: 2>
l3 = <DyadSuction.l3: 3>
l4 = <DyadSuction.l4: 4>
l5 = <DyadSuction.l5: 5>
l6 = <DyadSuction.l6: 6>
class DyadWaterLevel(roborock.data.code_mappings.RoborockEnum):
68class DyadWaterLevel(RoborockEnum):
69    l1 = 1
70    l2 = 2
71    l3 = 3
72    l4 = 4

Roborock Enum for codes with int values

l1 = <DyadWaterLevel.l1: 1>
l2 = <DyadWaterLevel.l2: 2>
l3 = <DyadWaterLevel.l3: 3>
l4 = <DyadWaterLevel.l4: 4>
class DyadBrushSpeed(roborock.data.code_mappings.RoborockEnum):
75class DyadBrushSpeed(RoborockEnum):
76    l1 = 1
77    l2 = 2

Roborock Enum for codes with int values

l1 = <DyadBrushSpeed.l1: 1>
l2 = <DyadBrushSpeed.l2: 2>
class DyadCleanser(roborock.data.code_mappings.RoborockEnum):
80class DyadCleanser(RoborockEnum):
81    none = 0
82    normal = 1
83    deep = 2
84    max = 3

Roborock Enum for codes with int values

none = <DyadCleanser.none: 0>
normal = <DyadCleanser.normal: 1>
deep = <DyadCleanser.deep: 2>
max = <DyadCleanser.max: 3>
class DyadCleanserAmount(roborock.data.code_mappings.RoborockEnum):
87class DyadCleanserAmount(RoborockEnum):
88    """Detergent dosing level (DP 238)."""
89
90    unknown = -1
91    off = 0
92    low = 1
93    standard = 2
94    high = 3

Detergent dosing level (DP 238).

unknown = <DyadCleanserAmount.unknown: -1>
standard = <DyadCleanserAmount.standard: 2>
class DyadCleanAssistPower(roborock.data.code_mappings.RoborockEnum):
 97class DyadCleanAssistPower(RoborockEnum):
 98    """Wheel assist power (DP 241)."""
 99
100    unknown = -1
101    gentle = 1
102    moderate = 2
103    strong = 3

Wheel assist power (DP 241).

class DyadSelfCleanWaterTemp(roborock.data.code_mappings.RoborockEnum):
106class DyadSelfCleanWaterTemp(RoborockEnum):
107    """Water temperature used for self-cleaning (DP 242, reported back on DP 271)."""
108
109    unknown = -1
110    high = 3
111    steam = 4

Water temperature used for self-cleaning (DP 242, reported back on DP 271).

class DyadSelfCleanIntensity(roborock.data.code_mappings.RoborockEnum):
114class DyadSelfCleanIntensity(RoborockEnum):
115    """Self-cleaning intensity (DP 270).
116
117    Smart mode is enabled through DP 239; standard and deep follow DP 203.
118    """
119
120    unknown = -1
121    smart = 0
122    standard = 1
123    deep = 2

Self-cleaning intensity (DP 270).

Smart mode is enabled through DP 239; standard and deep follow DP 203.

class DyadPowerwheelDirection(roborock.data.code_mappings.RoborockEnum):
126class DyadPowerwheelDirection(RoborockEnum):
127    """Drive direction while the vacuum is remote controlled from the app (DP 249)."""
128
129    unknown = -1
130    stop = 0
131    forward = 1
132    backward = 2
133    left = 5
134    right = 6
135    exit = 9  # sent when remote control ends

Drive direction while the vacuum is remote controlled from the app (DP 249).

class DyadDryingMode(roborock.data.code_mappings.RoborockEnum):
138class DyadDryingMode(RoborockEnum):
139    """Drying mode of the F25 Ultra, reported on DP 272 and set through DP 225."""
140
141    unknown = -1
142    fast = 5
143    silent = 22

Drying mode of the F25 Ultra, reported on DP 272 and set through DP 225.

unknown = <DyadDryingMode.unknown: -1>
fast = <DyadDryingMode.fast: 5>
silent = <DyadDryingMode.silent: 22>
class DyadError(roborock.data.code_mappings.RoborockEnum):
146class DyadError(RoborockEnum):
147    none = 0
148    dirty_tank_full = 20000  # Dirty tank full. Empty it
149    water_level_sensor_stuck = 20001  # Water level sensor is stuck. Clean it.
150    clean_tank_empty = 20002  # Clean tank empty. Refill now
151    clean_head_entangled = 20003  # Check if the cleaning head is entangled with foreign objects.
152    clean_head_too_hot = 20004  # Cleaning head temperature protection. Wait for the temperature to return to normal.
153    fan_protection_e5 = 10005  # Fan protection (E5). Restart the vacuum cleaner.
154    cleaning_head_blocked = 20005  # Remove blockages from the cleaning head and pipes.
155    temperature_protection = 20006  # Temperature protection. Wait for the temperature to return to normal
156    fan_protection_e4 = 10004  # Fan protection (E4). Restart the vacuum cleaner.
157    fan_protection_e9 = 10009  # Fan protection (E9). Restart the vacuum cleaner.
158    battery_temperature_protection_e0 = 10000
159    battery_temperature_protection = (
160        20007  # Battery temperature protection. Wait for the temperature to return to a normal range.
161    )
162    battery_temperature_protection_2 = (20008, "battery_temperature_protection")
163    power_adapter_error = 20009  # Check if the power adapter is working properly.
164    dirty_charging_contacts = 10007  # Disconnection between the device and dock. Wipe charging contacts.
165    low_battery = 20017  # Low battery level. Charge before starting self-cleaning.
166    battery_under_10 = 20018  # Charge until the battery level exceeds 10% before manually starting self-cleaning.

Roborock Enum for codes with int values

none = <DyadError.none: 0>
dirty_tank_full = <DyadError.dirty_tank_full: 20000>
water_level_sensor_stuck = <DyadError.water_level_sensor_stuck: 20001>
clean_tank_empty = <DyadError.clean_tank_empty: 20002>
clean_head_entangled = <DyadError.clean_head_entangled: 20003>
clean_head_too_hot = <DyadError.clean_head_too_hot: 20004>
fan_protection_e5 = <DyadError.fan_protection_e5: 10005>
cleaning_head_blocked = <DyadError.cleaning_head_blocked: 20005>
temperature_protection = <DyadError.temperature_protection: 20006>
fan_protection_e4 = <DyadError.fan_protection_e4: 10004>
fan_protection_e9 = <DyadError.fan_protection_e9: 10009>
battery_temperature_protection_e0 = <DyadError.battery_temperature_protection_e0: 10000>
battery_temperature_protection = <DyadError.battery_temperature_protection: 20007>
battery_temperature_protection_2 = <DyadError.battery_temperature_protection_2: 20008>
power_adapter_error = <DyadError.power_adapter_error: 20009>
dirty_charging_contacts = <DyadError.dirty_charging_contacts: 10007>
low_battery = <DyadError.low_battery: 20017>
battery_under_10 = <DyadError.battery_under_10: 20018>