Skip to content

Commit 9e03290

Browse files
add support for qrevo curv
1 parent 431bc20 commit 9e03290

File tree

3 files changed

+31
-2
lines changed

3 files changed

+31
-2
lines changed

roborock/code_mappings.py

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,13 @@ class RoborockFanSpeedQRevoMaster(RoborockFanPowerCode):
251251
max_plus = 105
252252
custom = 110 # Smartplan
253253

254+
class RoborockFanSpeedQRevoCurv(RoborockFanPowerCode):
255+
quiet = 101
256+
balanced = 102
257+
turbo = 103
258+
max = 104
259+
max_plus = 105
260+
smart_mode = 110
254261

255262
class RoborockFanSpeedP10(RoborockFanPowerCode):
256263
off = 105
@@ -276,10 +283,14 @@ class RoborockFanSpeedS8MaxVUltra(RoborockFanPowerCode):
276283
class RoborockMopModeCode(RoborockEnum):
277284
"""Describes the mop mode of the vacuum cleaner."""
278285

286+
class RoborockMopModeQRevoCurv(RoborockMopModeCode):
287+
standard = 300
288+
deep = 301
289+
deep_plus = 303
290+
fast = 304
291+
smart_mode = 306
279292

280293
class RoborockMopModeS7(RoborockMopModeCode):
281-
"""Describes the mop mode of the vacuum cleaner."""
282-
283294
standard = 300
284295
deep = 301
285296
custom = 302
@@ -338,6 +349,13 @@ class RoborockMopIntensityQRevoMaster(RoborockMopIntensityCode):
338349
custom_water_flow = 207
339350
custom = 209 # SmartPlan
340351

352+
class RoborockMopIntensityQRevoCurv(RoborockMopIntensityCode):
353+
off = 200
354+
low = 201
355+
medium = 202
356+
high = 203
357+
custom_water_flow = 207
358+
smart_mode = 209
341359

342360
class RoborockMopIntensityP10(RoborockMopIntensityCode):
343361
"""Describes the mop intensity of the vacuum cleaner."""

roborock/const.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
ROBOROCK_Q7_MAX = "roborock.vacuum.a38"
3232
ROBOROCK_Q7PLUS = "roborock.vacuum.a40"
3333
ROBOROCK_QREVO_MASTER = "roborock.vacuum.a117"
34+
ROBOROCK_QREVO_CURV = "roborock.vacuum.a135"
3435
ROBOROCK_Q8_MAX = "roborock.vacuum.a73"
3536
ROBOROCK_G10S_PRO = "roborock.vacuum.a26"
3637
ROBOROCK_G10S = "roborock.vacuum.a46"

roborock/containers.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
RoborockFanSpeedP10,
2222
RoborockFanSpeedQ7Max,
2323
RoborockFanSpeedQRevoMaster,
24+
RoborockFanSpeedQRevoCurv,
2425
RoborockFanSpeedS6Pure,
2526
RoborockFanSpeedS7,
2627
RoborockFanSpeedS7MaxV,
@@ -31,11 +32,13 @@
3132
RoborockMopIntensityP10,
3233
RoborockMopIntensityQ7Max,
3334
RoborockMopIntensityQRevoMaster,
35+
RoborockMopIntensityQRevoCurv,
3436
RoborockMopIntensityS5Max,
3537
RoborockMopIntensityS6MaxV,
3638
RoborockMopIntensityS7,
3739
RoborockMopIntensityS8MaxVUltra,
3840
RoborockMopModeCode,
41+
RoborockMopModeQRevoCurv,
3942
RoborockMopModeS7,
4043
RoborockMopModeS8MaxVUltra,
4144
RoborockMopModeS8ProUltra,
@@ -52,6 +55,7 @@
5255
ROBOROCK_P10,
5356
ROBOROCK_Q7_MAX,
5457
ROBOROCK_QREVO_MASTER,
58+
ROBOROCK_QREVO_CURV,
5559
ROBOROCK_QREVO_MAXV,
5660
ROBOROCK_QREVO_PRO,
5761
ROBOROCK_QREVO_S,
@@ -578,6 +582,11 @@ class QRevoMasterStatus(Status):
578582
fan_power: RoborockFanSpeedQRevoMaster | None = None
579583
water_box_mode: RoborockMopIntensityQRevoMaster | None = None
580584

585+
@dataclass
586+
class QRevoCurvStatus(Status):
587+
fan_power: RoborockFanSpeedQRevoCurv | None = None
588+
water_box_mode: RoborockMopIntensityQRevoCurv | None = None
589+
mop_mode: RoborockMopModeQRevoCurv | None = None
581590

582591
@dataclass
583592
class S6MaxVStatus(Status):
@@ -637,6 +646,7 @@ class S8MaxvUltraStatus(Status):
637646
ROBOROCK_S5_MAX: S5MaxStatus,
638647
ROBOROCK_Q7_MAX: Q7MaxStatus,
639648
ROBOROCK_QREVO_MASTER: QRevoMasterStatus,
649+
ROBOROCK_QREVO_CURV: QRevoCurvStatus,
640650
ROBOROCK_S6: S6PureStatus,
641651
ROBOROCK_S6_MAXV: S6MaxVStatus,
642652
ROBOROCK_S6_PURE: S6PureStatus,

0 commit comments

Comments
 (0)