Skip to content

Commit 9ab56ab

Browse files
committed
feat: update supported_schema_ids to include additional RoborockMessageProtocol and RoborockDataProtocol constants
1 parent fd37c43 commit 9ab56ab

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

roborock/data/containers.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,8 @@ def supported_schema_codes(self) -> set[str]:
264264
def supported_schema_ids(self) -> set[int]:
265265
"""Return a set of schema IDs (DPS integers) that are supported by the device.
266266
267-
These correspond to RoborockDataProtocol or RoborockB01Protocol enum number values.
267+
These correspond to RoborockMessageProtocol and RoborockDataProtocol or
268+
RoborockB01Protocol enum number values (depends on the device protocol versions).
268269
"""
269270
if self.schema is None:
270271
return set()

tests/data/test_containers.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
_camelize,
1616
_decamelize,
1717
)
18+
from roborock.roborock_message import RoborockDataProtocol, RoborockMessageProtocol
1819
from tests.mock_data import (
1920
HOME_DATA_RAW,
2021
K_VALUE,
@@ -213,6 +214,27 @@ def test_home_data():
213214
"task_complete",
214215
"water_box_mode",
215216
}
217+
assert product.supported_schema_ids == {
218+
int(v)
219+
for v in (
220+
RoborockMessageProtocol.RPC_REQUEST,
221+
RoborockMessageProtocol.RPC_RESPONSE,
222+
RoborockDataProtocol.ERROR_CODE,
223+
RoborockDataProtocol.STATE,
224+
RoborockDataProtocol.BATTERY,
225+
RoborockDataProtocol.FAN_POWER,
226+
RoborockDataProtocol.WATER_BOX_MODE,
227+
RoborockDataProtocol.MAIN_BRUSH_WORK_TIME,
228+
RoborockDataProtocol.SIDE_BRUSH_WORK_TIME,
229+
RoborockDataProtocol.FILTER_WORK_TIME,
230+
RoborockDataProtocol.ADDITIONAL_PROPS,
231+
RoborockDataProtocol.TASK_COMPLETE,
232+
RoborockDataProtocol.TASK_CANCEL_LOW_POWER,
233+
RoborockDataProtocol.TASK_CANCEL_IN_MOTION,
234+
RoborockDataProtocol.CHARGE_STATUS,
235+
RoborockDataProtocol.DRYING_STATUS,
236+
)
237+
}
216238

217239
device = hd.devices[0]
218240
assert device.duid == "abc123"

0 commit comments

Comments
 (0)