Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
152 changes: 152 additions & 0 deletions device_info.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1196,3 +1196,155 @@ roborock.vacuum.sc05:
mode: rw
type: RAW
property: 'null'
roborock.vacuum.a288:
protocol_version: '1.0'
product_nickname: PEARLPLUS
new_feature_info: 4499197267967999
new_feature_info_str: 0000000000099518CCFF7EFDA8E93EDDDBFF8F7F7EFEFFFF
feature_info:
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
product:
id: 3eizObJLFvPAxXvdW96ftd
name: Saros 20
model: roborock.vacuum.a288
category: robot.vacuum.cleaner
capability: 0
schema:
- id: 101
name: rpc_request
code: rpc_request
mode: rw
type: RAW
- id: 102
name: rpc_response
code: rpc_response
mode: rw
type: RAW
- id: 120
name: "\u9519\u8BEF\u4EE3\u7801"
code: error_code
mode: ro
type: ENUM
property: '{"range": [""]}'
- id: 121
name: "\u8BBE\u5907\u72B6\u6001"
code: state
mode: ro
type: ENUM
property: '{"range": [""]}'
- id: 122
name: "\u8BBE\u5907\u7535\u91CF"
code: battery
mode: ro
type: ENUM
property: '{"range": [""]}'
- id: 123
name: "\u6E05\u626B\u6A21\u5F0F"
code: fan_power
mode: rw
type: ENUM
property: '{"range": [""]}'
- id: 124
name: "\u62D6\u5730\u6A21\u5F0F"
code: water_box_mode
mode: rw
type: ENUM
property: '{"range": [""]}'
- id: 125
name: "\u4E3B\u5237\u5BFF\u547D"
code: main_brush_life
mode: rw
type: VALUE
property: '{"max": 100, "min": 0, "step": 1, "unit": "null", "scale": 1}'
- id: 126
name: "\u8FB9\u5237\u5BFF\u547D"
code: side_brush_life
mode: rw
type: VALUE
property: '{"max": 100, "min": 0, "step": 1, "unit": "null", "scale": 1}'
- id: 127
name: "\u6EE4\u7F51\u5BFF\u547D"
code: filter_life
mode: rw
type: VALUE
property: '{"max": 100, "min": 0, "step": 1, "unit": "null", "scale": 1}'
- id: 128
name: "\u989D\u5916\u72B6\u6001"
code: additional_props
mode: ro
type: RAW
- id: 130
name: "\u5B8C\u6210\u4E8B\u4EF6"
code: task_complete
mode: ro
type: RAW
- id: 131
name: "\u7535\u91CF\u4E0D\u8DB3\u4EFB\u52A1\u53D6\u6D88"
code: task_cancel_low_power
mode: ro
type: RAW
- id: 132
name: "\u8FD0\u52A8\u4E2D\u4EFB\u52A1\u53D6\u6D88"
code: task_cancel_in_motion
mode: ro
type: RAW
- id: 133
name: "\u5145\u7535\u72B6\u6001"
code: charge_status
mode: ro
type: RAW
- id: 134
name: "\u70D8\u5E72\u72B6\u6001"
code: drying_status
mode: ro
type: RAW
- id: 135
name: "\u79BB\u7EBF\u539F\u56E0\u7EC6\u5206"
code: offline_status
mode: ro
type: RAW
- id: 138
name: "\u5DE5\u4F5C\u4EFB\u52A1\u7C7B\u578B"
code: clean_task_type
mode: ro
type: ENUM
property: "{\"range\": [\"0 \u7A7A\u95F2\", \"1 \u5168\u5C4B\u6E05\u6D01\",\
\ \"2 \u9009\u533A\u6E05\u6D01\", \"3 \u5212\u533A\u6E05\u6D01\", \"4 \u5EFA\
\u56FE\", \"5 \u5C40\u90E8\u6E05\u6D01\", \"6 \u9065\u63A7\u6A21\u5F0F\",\
\ \"7 \u5DE1\u822A\", \"8 \u5BFB\u5BA0\", \"9 \u6574\u7406\"]}"
- id: 139
name: "\u56DE\u57FA\u7AD9\u76EE\u7684"
code: back_type
mode: ro
type: RAW
- id: 141
name: "\u6E05\u6D01\u8FDB\u5EA6"
code: cleaning_progress
mode: ro
type: VALUE
property: "{\"max\": 100, \"min\": 0, \"step\": 1, \"unit\": \"\u767E\u5206\u6BD4\
\", \"scale\": 1}"
- id: 142
name: publish_dsp
code: publish_dsp
mode: ro
type: RAW
- id: 143
name: "\u5730\u56FE\u53D8\u5316\u6570\u636E"
code: map_diff
mode: ro
type: RAW
1 change: 1 addition & 0 deletions roborock/data/v1/v1_code_mappings.py
Original file line number Diff line number Diff line change
Expand Up @@ -664,6 +664,7 @@ class RoborockDockTypeCode(RoborockEnum):
saros_r10_dock = 16
qrevo_curv_dock = 17
saros_10_dock = 18
saros_20_dock = 27


class RoborockDockDustCollectionModeCode(RoborockEnum):
Expand Down
1 change: 1 addition & 0 deletions roborock/device_features.py
Original file line number Diff line number Diff line change
Expand Up @@ -653,6 +653,7 @@ def get_supported_features(self) -> list[str]:
RoborockDockTypeCode.qrevo_s_dock,
RoborockDockTypeCode.saros_r10_dock,
RoborockDockTypeCode.qrevo_curv_dock,
RoborockDockTypeCode.saros_20_dock,
]


Expand Down
1 change: 1 addition & 0 deletions tests/devices/traits/v1/test_dust_collection_mode.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ def dust_collection_mode_trait(
(RoborockDockTypeCode.s8_dock),
(RoborockDockTypeCode.p10_dock),
(RoborockDockTypeCode.qrevo_s_dock),
(RoborockDockTypeCode.saros_20_dock),
],
)
async def test_dust_collection_mode_available(
Expand Down
1 change: 1 addition & 0 deletions tests/devices/traits/v1/test_smart_wash_params.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ def smart_wash_params_trait(
(RoborockDockTypeCode.s8_dock),
(RoborockDockTypeCode.p10_dock),
(RoborockDockTypeCode.qrevo_s_dock),
(RoborockDockTypeCode.saros_20_dock),
],
)
async def test_smart_wash_available(
Expand Down
1 change: 1 addition & 0 deletions tests/devices/traits/v1/test_wash_towel_mode.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ def wash_towel_mode_trait(
(RoborockDockTypeCode.s8_dock),
(RoborockDockTypeCode.p10_dock),
(RoborockDockTypeCode.qrevo_s_dock),
(RoborockDockTypeCode.saros_20_dock),
],
)
async def test_wash_towel_mode_available(
Expand Down