python-roborock 2.0.0__tar.gz → 2.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {python_roborock-2.0.0 → python_roborock-2.1.0}/PKG-INFO +1 -1
- {python_roborock-2.0.0 → python_roborock-2.1.0}/pyproject.toml +1 -1
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/code_mappings.py +37 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/const.py +1 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/containers.py +12 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/roborock_typing.py +29 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/LICENSE +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/README.md +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/__init__.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/api.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/cli.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/cloud_api.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/command_cache.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/exceptions.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/local_api.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/protocol.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/py.typed +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/roborock_future.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/roborock_message.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/util.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/version_1_apis/__init__.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/version_1_apis/roborock_client_v1.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/version_1_apis/roborock_local_client_v1.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/version_1_apis/roborock_mqtt_client_v1.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/version_a01_apis/__init__.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/version_a01_apis/roborock_client_a01.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/version_a01_apis/roborock_mqtt_client_a01.py +0 -0
- {python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/web_api.py +0 -0
|
@@ -65,10 +65,12 @@ class RoborockStateCode(RoborockEnum):
|
|
|
65
65
|
segment_cleaning = 18
|
|
66
66
|
emptying_the_bin = 22 # on s7+
|
|
67
67
|
washing_the_mop = 23 # on a46
|
|
68
|
+
washing_the_mop_2 = 25
|
|
68
69
|
going_to_wash_the_mop = 26 # on a46
|
|
69
70
|
in_call = 28
|
|
70
71
|
mapping = 29
|
|
71
72
|
egg_attack = 30
|
|
73
|
+
patrol = 32
|
|
72
74
|
charging_complete = 100
|
|
73
75
|
device_offline = 101
|
|
74
76
|
locked = 103
|
|
@@ -126,6 +128,7 @@ class RoborockErrorCode(RoborockEnum):
|
|
|
126
128
|
side_brush_error = 17
|
|
127
129
|
fan_error = 18
|
|
128
130
|
dock = 19 # Dock not connected to power
|
|
131
|
+
optical_flow_sensor_dirt = 20
|
|
129
132
|
vertical_bumper_pressed = 21
|
|
130
133
|
dock_locator_error = 22
|
|
131
134
|
return_to_dock_fail = 23
|
|
@@ -150,7 +153,14 @@ class RoborockErrorCode(RoborockEnum):
|
|
|
150
153
|
clear_brush_exception_2 = 43 # Positioning button error
|
|
151
154
|
filter_screen_exception = 44 # Clean the dock water filter
|
|
152
155
|
mopping_roller_2 = 45 # Wash roller may be jammed
|
|
156
|
+
up_water_exception = 48
|
|
157
|
+
drain_water_exception = 49
|
|
153
158
|
temperature_protection = 51 # Unit temperature protection
|
|
159
|
+
clean_carousel_exception = 52
|
|
160
|
+
clean_carousel_water_full = 53
|
|
161
|
+
water_carriage_drop = 54
|
|
162
|
+
check_clean_carouse = 55
|
|
163
|
+
audio_error = 56
|
|
154
164
|
|
|
155
165
|
|
|
156
166
|
class RoborockFanPowerCode(RoborockEnum):
|
|
@@ -236,6 +246,14 @@ class RoborockFanSpeedP10(RoborockFanPowerCode):
|
|
|
236
246
|
max_plus = 108
|
|
237
247
|
|
|
238
248
|
|
|
249
|
+
class RoborockFanSpeedS8MaxVUltra(RoborockFanPowerCode):
|
|
250
|
+
off = 105
|
|
251
|
+
balanced = 102
|
|
252
|
+
custom = 106
|
|
253
|
+
max_plus = 108
|
|
254
|
+
smart_mode = 110
|
|
255
|
+
|
|
256
|
+
|
|
239
257
|
class RoborockMopModeCode(RoborockEnum):
|
|
240
258
|
"""Describes the mop mode of the vacuum cleaner."""
|
|
241
259
|
|
|
@@ -257,6 +275,15 @@ class RoborockMopModeS8ProUltra(RoborockMopModeCode):
|
|
|
257
275
|
custom = 302
|
|
258
276
|
|
|
259
277
|
|
|
278
|
+
class RoborockMopModeS8MaxVUltra(RoborockMopModeCode):
|
|
279
|
+
standard = 300
|
|
280
|
+
deep = 301
|
|
281
|
+
deep_plus = 303
|
|
282
|
+
fast = 304
|
|
283
|
+
deep_plus_pearl = 305
|
|
284
|
+
smart_mode = 306
|
|
285
|
+
|
|
286
|
+
|
|
260
287
|
class RoborockMopIntensityCode(RoborockEnum):
|
|
261
288
|
"""Describes the mop intensity of the vacuum cleaner."""
|
|
262
289
|
|
|
@@ -292,6 +319,14 @@ class RoborockMopIntensityP10(RoborockMopIntensityCode):
|
|
|
292
319
|
custom_water_flow = 207
|
|
293
320
|
|
|
294
321
|
|
|
322
|
+
class RoborockMopIntensityS8MaxVUltra(RoborockMopIntensityCode):
|
|
323
|
+
off = 200
|
|
324
|
+
low = 201
|
|
325
|
+
medium = 202
|
|
326
|
+
smart_mode = 209
|
|
327
|
+
custom_water_flow = 207
|
|
328
|
+
|
|
329
|
+
|
|
295
330
|
class RoborockMopIntensityS5Max(RoborockMopIntensityCode):
|
|
296
331
|
"""Describes the mop intensity of the vacuum cleaner."""
|
|
297
332
|
|
|
@@ -321,6 +356,7 @@ class RoborockDockErrorCode(RoborockEnum):
|
|
|
321
356
|
duct_blockage = 34
|
|
322
357
|
water_empty = 38
|
|
323
358
|
waste_water_tank_full = 39
|
|
359
|
+
maintenance_brush_jammed = 42
|
|
324
360
|
dirty_tank_latch_open = 44
|
|
325
361
|
no_dustbin = 46
|
|
326
362
|
cleaning_tank_full_or_blocked = 53
|
|
@@ -335,6 +371,7 @@ class RoborockDockTypeCode(RoborockEnum):
|
|
|
335
371
|
s7_max_ultra_dock = 6
|
|
336
372
|
s8_dock = 7
|
|
337
373
|
p10_dock = 8
|
|
374
|
+
s8_maxv_ultra_dock = 10
|
|
338
375
|
|
|
339
376
|
|
|
340
377
|
class RoborockDockDustCollectionModeCode(RoborockEnum):
|
|
@@ -43,6 +43,7 @@ ROBOROCK_C1 = "roborock.vacuum.c1"
|
|
|
43
43
|
ROBOROCK_S8_PRO_ULTRA = "roborock.vacuum.a70"
|
|
44
44
|
ROBOROCK_S8 = "roborock.vacuum.a51"
|
|
45
45
|
ROBOROCK_P10 = "roborock.vacuum.a75"
|
|
46
|
+
ROBOROCK_S8_MAXV_ULTRA = "roborock.vacuum.a97"
|
|
46
47
|
|
|
47
48
|
ROBOROCK_DYAD_AIR = "roborock.wetdryvac.a107"
|
|
48
49
|
ROBOROCK_DYAD_PRO_COMBO = "roborock.wetdryvac.a83"
|
|
@@ -24,14 +24,17 @@ from .code_mappings import (
|
|
|
24
24
|
RoborockFanSpeedS6Pure,
|
|
25
25
|
RoborockFanSpeedS7,
|
|
26
26
|
RoborockFanSpeedS7MaxV,
|
|
27
|
+
RoborockFanSpeedS8MaxVUltra,
|
|
27
28
|
RoborockMopIntensityCode,
|
|
28
29
|
RoborockMopIntensityP10,
|
|
29
30
|
RoborockMopIntensityS5Max,
|
|
30
31
|
RoborockMopIntensityS6MaxV,
|
|
31
32
|
RoborockMopIntensityS7,
|
|
33
|
+
RoborockMopIntensityS8MaxVUltra,
|
|
32
34
|
RoborockMopIntensityV2,
|
|
33
35
|
RoborockMopModeCode,
|
|
34
36
|
RoborockMopModeS7,
|
|
37
|
+
RoborockMopModeS8MaxVUltra,
|
|
35
38
|
RoborockMopModeS8ProUltra,
|
|
36
39
|
RoborockStateCode,
|
|
37
40
|
)
|
|
@@ -52,6 +55,7 @@ from .const import (
|
|
|
52
55
|
ROBOROCK_S7,
|
|
53
56
|
ROBOROCK_S7_MAXV,
|
|
54
57
|
ROBOROCK_S8,
|
|
58
|
+
ROBOROCK_S8_MAXV_ULTRA,
|
|
55
59
|
ROBOROCK_S8_PRO_ULTRA,
|
|
56
60
|
SENSOR_DIRTY_REPLACE_TIME,
|
|
57
61
|
SIDE_BRUSH_REPLACE_TIME,
|
|
@@ -550,6 +554,13 @@ class P10Status(Status):
|
|
|
550
554
|
mop_mode: RoborockMopModeS8ProUltra | None = None
|
|
551
555
|
|
|
552
556
|
|
|
557
|
+
@dataclass
|
|
558
|
+
class S8MaxvUltraStatus(Status):
|
|
559
|
+
fan_power: RoborockFanSpeedS8MaxVUltra | None = None
|
|
560
|
+
water_box_mode: RoborockMopIntensityS8MaxVUltra | None = None
|
|
561
|
+
mop_mode: RoborockMopModeS8MaxVUltra | None = None
|
|
562
|
+
|
|
563
|
+
|
|
553
564
|
ModelStatus: dict[str, type[Status]] = {
|
|
554
565
|
ROBOROCK_S4_MAX: S4MaxStatus,
|
|
555
566
|
ROBOROCK_S5_MAX: S5MaxStatus,
|
|
@@ -563,6 +574,7 @@ ModelStatus: dict[str, type[Status]] = {
|
|
|
563
574
|
ROBOROCK_S8_PRO_ULTRA: S8ProUltraStatus,
|
|
564
575
|
ROBOROCK_G10S_PRO: S7MaxVStatus,
|
|
565
576
|
ROBOROCK_P10: P10Status,
|
|
577
|
+
ROBOROCK_S8_MAXV_ULTRA: S8MaxvUltraStatus,
|
|
566
578
|
}
|
|
567
579
|
|
|
568
580
|
|
|
@@ -35,10 +35,13 @@ class RoborockCommand(str, Enum):
|
|
|
35
35
|
APP_RC_START = "app_rc_start"
|
|
36
36
|
APP_RC_STOP = "app_rc_stop"
|
|
37
37
|
APP_RESUME_BUILD_MAP = "app_resume_build_map"
|
|
38
|
+
APP_RESUME_PATROL = "app_resume_patrol"
|
|
38
39
|
APP_SEGMENT_CLEAN = "app_segment_clean"
|
|
39
40
|
APP_SET_AMETHYST_STATUS = "app_set_amethyst_status"
|
|
40
41
|
APP_SET_CARPET_DEEP_CLEAN_STATUS = "app_set_carpet_deep_clean_status"
|
|
42
|
+
APP_SET_CROSS_CARPET_CLEANING_STATUS = "app_set_cross_carpet_cleaning_status"
|
|
41
43
|
APP_SET_DOOR_SILL_BLOCKS = "app_set_door_sill_blocks"
|
|
44
|
+
APP_SET_DIRTY_REPLENISH_CLEAN_STATUS = "app_set_dirty_replenish_clean_status"
|
|
42
45
|
APP_SET_DRYER_SETTING = "app_set_dryer_setting"
|
|
43
46
|
APP_SET_DRYER_STATUS = "app_set_dryer_status"
|
|
44
47
|
APP_SET_DYNAMIC_CONFIG = "app_set_dynamic_config"
|
|
@@ -50,6 +53,8 @@ class RoborockCommand(str, Enum):
|
|
|
50
53
|
APP_START_BUILD_MAP = "app_start_build_map"
|
|
51
54
|
APP_START_COLLECT_DUST = "app_start_collect_dust"
|
|
52
55
|
APP_START_EASTER_EGG = "app_start_easter_egg"
|
|
56
|
+
APP_START_PATROL = "app_start_patrol"
|
|
57
|
+
APP_START_PET_PATROL = "app_start_pet_patrol"
|
|
53
58
|
APP_START_WASH = "app_start_wash"
|
|
54
59
|
APP_STAT = "app_stat"
|
|
55
60
|
APP_STOP = "app_stop"
|
|
@@ -177,6 +182,7 @@ class RoborockCommand(str, Enum):
|
|
|
177
182
|
SET_CLEAN_FOLLOW_GROUND_MATERIAL_STATUS = "set_clean_follow_ground_material_status"
|
|
178
183
|
SET_CLEAN_MOTOR_MODE = "set_clean_motor_mode"
|
|
179
184
|
SET_CLEAN_SEQUENCE = "set_clean_sequence"
|
|
185
|
+
SET_CLEAN_REPEAT_TIMES = "set_clean_repeat_times"
|
|
180
186
|
SET_COLLISION_AVOID_STATUS = "set_collision_avoid_status"
|
|
181
187
|
SET_CUSTOM_MODE = "set_custom_mode"
|
|
182
188
|
SET_CUSTOMIZE_CLEAN_MODE = "set_customize_clean_mode"
|
|
@@ -239,6 +245,29 @@ class RoborockCommand(str, Enum):
|
|
|
239
245
|
USE_NEW_MAP = "use_new_map"
|
|
240
246
|
USE_OLD_MAP = "use_old_map"
|
|
241
247
|
USER_UPLOAD_LOG = "user_upload_log"
|
|
248
|
+
SET_STRETCH_TAG_STATUS = "set_stretch_tag_status"
|
|
249
|
+
GET_STRETCH_TAG_STATUS = "get_stretch_tag_status"
|
|
250
|
+
SET_RIGHT_BRUSH_STRETCH_STATUS = "set_right_brush_stretch_status"
|
|
251
|
+
GET_RIGHT_BRUSH_STRETCH_STATUS = "get_right_brush_stretch_status"
|
|
252
|
+
SET_DIRTY_OBJECT_DETECT_STATUS = "set_dirty_object_detect_status"
|
|
253
|
+
GET_DIRTY_OBJECT_DETECT_STATUS = "get_dirty_object_detect_status"
|
|
254
|
+
SET_WASH_WATER_TEMPERATURE = "set_wash_water_temperature"
|
|
255
|
+
GET_WASH_WATER_TEMPERATURE = "get_wash_water_temperature"
|
|
256
|
+
APP_EMPTY_RINSE_TANK_WATER = "app_empty_rinse_tank_water"
|
|
257
|
+
SET_PET_SUPPLIES_DEEP_CLEAN_STATUS = "set_pet_supplies_deep_clean_status"
|
|
258
|
+
GET_PET_SUPPLIES_DEEP_CLEAN_STATUS = "get_pet_supplies_deep_clean_status"
|
|
259
|
+
SET_AP_MIC_LED_STATUS = "set_ap_mic_led_status"
|
|
260
|
+
GET_AP_MIC_LED_STATUS = "get_ap_mic_led_status"
|
|
261
|
+
SET_HANDLE_LEAK_WATER_STATUS = "set_handle_leak_water_status"
|
|
262
|
+
GET_HANDLE_LEAK_WATER_STATUS = "get_handle_leak_water_status"
|
|
263
|
+
APP_IGNORE_DIRTY_OBJECTS = "app_ignore_dirty_objects"
|
|
264
|
+
MATTER_GET_STATUS = "matter.get_status"
|
|
265
|
+
MATTER_DNLD_KEY = "matter.dnld_key"
|
|
266
|
+
MATTER_RESET = "matter.reset"
|
|
267
|
+
SET_GAP_DEEP_CLEAN_STATUS = "set_gap_deep_clean_status"
|
|
268
|
+
GET_GAP_DEEP_CLEAN_STATUS = "get_gap_deep_clean_status"
|
|
269
|
+
APP_SET_ROBOT_SETTING = "app_set_robot_setting"
|
|
270
|
+
APP_GET_ROBOT_SETTING = "app_get_robot_setting"
|
|
242
271
|
|
|
243
272
|
|
|
244
273
|
@dataclass
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/version_1_apis/roborock_client_v1.py
RENAMED
|
File without changes
|
{python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/version_1_apis/roborock_local_client_v1.py
RENAMED
|
File without changes
|
{python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/version_1_apis/roborock_mqtt_client_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_roborock-2.0.0 → python_roborock-2.1.0}/roborock/version_a01_apis/roborock_client_a01.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|