python-roborock 7.2.1__tar.gz → 7.2.3__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-7.2.1 → python_roborock-7.2.3}/PKG-INFO +1 -1
- {python_roborock-7.2.1 → python_roborock-7.2.3}/pyproject.toml +1 -1
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/cli.py +6 -21
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/device_features.py +21 -1
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/map.py +11 -18
- {python_roborock-7.2.1 → python_roborock-7.2.3}/.gitignore +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/LICENSE +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/README.md +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/broadcast_protocol.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/callbacks.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/const.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/b01_q10/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/b01_q10/b01_q10_code_mappings.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/b01_q10/b01_q10_containers.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/b01_q7/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/b01_q7/b01_q7_code_mappings.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/b01_q7/b01_q7_containers.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/code_mappings.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/containers.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/dyad/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/dyad/dyad_code_mappings.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/dyad/dyad_containers.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/mower/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/mower/mower_code_mappings.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/mower/mower_containers.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/v1/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/v1/v1_clean_modes.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/v1/v1_code_mappings.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/v1/v1_containers.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/zeo/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/zeo/zeo_code_mappings.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/zeo/zeo_containers.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/README.md +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/cache.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/device.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/device_manager.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/file_cache.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/rpc/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/rpc/a01_channel.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/rpc/b01_q10_channel.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/rpc/b01_q7_channel.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/rpc/v1_channel.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/a01/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/a01/device_feature.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/button_light.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/child_lock.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/clean_history.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/command.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/common.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/consumable.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/do_not_disturb.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/dust_collection.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/maps.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/network_info.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/remote.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/status.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/vacuum.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/volume.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q7/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q7/clean_summary.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q7/map.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q7/map_content.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/common.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/traits_mixin.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/child_lock.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/clean_summary.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/command.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/common.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/consumeable.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/device_features.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/do_not_disturb.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/dust_collection_mode.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/flow_led_status.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/home.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/led_status.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/map_content.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/maps.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/network_info.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/obstacle_photos.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/rooms.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/routines.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/smart_wash_params.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/status.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/valley_electricity_timer.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/volume.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/wash_towel_mode.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/transport/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/transport/channel.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/transport/local_channel.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/transport/mqtt_channel.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/diagnostics.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/exceptions.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/map/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/map/b01_grid_layers.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/map/b01_map_parser.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/map/b01_q10_map_parser.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/map/b01_q10_overlays.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/map/b01_q10_render.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/map/map_parser.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/map/proto/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/map/proto/b01_scmap.proto +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/map/proto/b01_scmap_pb2.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/map/room_colors.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/mqtt/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/mqtt/health_manager.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/mqtt/roborock_session.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/mqtt/session.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/protocol.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/protocols/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/protocols/a01_protocol.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/protocols/b01_q10_protocol.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/protocols/b01_q7_protocol.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/protocols/v1_protocol.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/py.typed +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/roborock_message.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/roborock_typing.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/testing/__init__.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/testing/a01_simulator.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/testing/b01_q10_simulator.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/testing/channel.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/testing/cloud.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/testing/simulator.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/testing/v1_simulator.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/util.py +0 -0
- {python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/web_api.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: python-roborock
|
|
3
|
-
Version: 7.2.
|
|
3
|
+
Version: 7.2.3
|
|
4
4
|
Summary: A package to control Roborock vacuums.
|
|
5
5
|
Project-URL: Repository, https://github.com/python-roborock/python-roborock
|
|
6
6
|
Project-URL: Documentation, https://python-roborock.readthedocs.io/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "python-roborock"
|
|
3
|
-
version = "7.2.
|
|
3
|
+
version = "7.2.3"
|
|
4
4
|
description = "A package to control Roborock vacuums."
|
|
5
5
|
authors = [{ name = "humbertogontijo", email = "humbertogontijo@users.noreply.github.com" }, {name="Lash-L"}, {name="allenporter"}]
|
|
6
6
|
requires-python = ">=3.11, <4"
|
|
@@ -594,9 +594,9 @@ async def maps(ctx, device_id: str):
|
|
|
594
594
|
await _display_v1_trait(context, device_id, lambda v1: v1.maps)
|
|
595
595
|
|
|
596
596
|
|
|
597
|
-
# The Q10 publishes its map asynchronously after a
|
|
598
|
-
#
|
|
599
|
-
#
|
|
597
|
+
# The Q10 publishes its current map asynchronously after a REQUEST_DPS. Firmware
|
|
598
|
+
# throttles pushes to ~once per 60-70s, so rapid re-requests may not be answered
|
|
599
|
+
# immediately. This bounds how long a one-shot CLI command waits.
|
|
600
600
|
_Q10_MAP_PUSH_TIMEOUT = 30.0
|
|
601
601
|
|
|
602
602
|
|
|
@@ -609,10 +609,9 @@ async def _await_q10_map_push(
|
|
|
609
609
|
) -> bool:
|
|
610
610
|
"""Request Q10 map content and wait for usable map-trait state.
|
|
611
611
|
|
|
612
|
-
|
|
613
|
-
content
|
|
614
|
-
|
|
615
|
-
and is published through the standard trait update interface.
|
|
612
|
+
The read-only ``REQUEST_DPS`` request returns immediately; current map
|
|
613
|
+
content arrives as a later ``MAP_RESPONSE`` and is published through the
|
|
614
|
+
standard trait update interface.
|
|
616
615
|
"""
|
|
617
616
|
loop = asyncio.get_running_loop()
|
|
618
617
|
updated: asyncio.Future[None] = loop.create_future()
|
|
@@ -624,20 +623,6 @@ async def _await_q10_map_push(
|
|
|
624
623
|
unsub = properties.map.add_update_listener(on_update)
|
|
625
624
|
try:
|
|
626
625
|
async with asyncio.timeout(timeout):
|
|
627
|
-
if properties.maps.current_map_id is None:
|
|
628
|
-
map_list_updated: asyncio.Future[None] = loop.create_future()
|
|
629
|
-
|
|
630
|
-
def on_map_list_update() -> None:
|
|
631
|
-
if properties.maps.current_map_id is not None and not map_list_updated.done():
|
|
632
|
-
map_list_updated.set_result(None)
|
|
633
|
-
|
|
634
|
-
unsub_maps = properties.maps.add_update_listener(on_map_list_update)
|
|
635
|
-
try:
|
|
636
|
-
await properties.maps.refresh()
|
|
637
|
-
if properties.maps.current_map_id is None:
|
|
638
|
-
await map_list_updated
|
|
639
|
-
finally:
|
|
640
|
-
unsub_maps()
|
|
641
626
|
await properties.map.refresh()
|
|
642
627
|
await updated
|
|
643
628
|
return True
|
|
@@ -4,7 +4,7 @@ from functools import cache
|
|
|
4
4
|
from typing import Any, Self
|
|
5
5
|
|
|
6
6
|
from roborock.data.code_mappings import RoborockProductNickname
|
|
7
|
-
from roborock.data.containers import RoborockBase
|
|
7
|
+
from roborock.data.containers import RoborockBase, _decamelize
|
|
8
8
|
from roborock.data.v1 import RoborockDockTypeCode
|
|
9
9
|
|
|
10
10
|
|
|
@@ -654,6 +654,26 @@ class DeviceFeatures(RoborockBase):
|
|
|
654
654
|
|
|
655
655
|
return cls(**kwargs)
|
|
656
656
|
|
|
657
|
+
@classmethod
|
|
658
|
+
def from_dict(cls, data: dict[str, Any]) -> Self | None:
|
|
659
|
+
"""Create device features, rejecting incomplete cached capabilities.
|
|
660
|
+
|
|
661
|
+
Persisted feature data may have been written by an older version of the
|
|
662
|
+
library that did not yet know about every capability. Missing boolean
|
|
663
|
+
fields therefore mean the cached feature set is stale, not that those
|
|
664
|
+
capabilities are unsupported. Return ``None`` so callers rediscover the
|
|
665
|
+
complete feature set from the device.
|
|
666
|
+
"""
|
|
667
|
+
if not isinstance(data, dict):
|
|
668
|
+
return None
|
|
669
|
+
|
|
670
|
+
serialized_fields = {_decamelize(key) for key in data}
|
|
671
|
+
required_fields = {feature.name for feature in fields(cls) if feature.type is bool}
|
|
672
|
+
if not required_fields.issubset(serialized_fields):
|
|
673
|
+
return None
|
|
674
|
+
|
|
675
|
+
return super().from_dict(data)
|
|
676
|
+
|
|
657
677
|
def get_supported_features(self) -> list[str]:
|
|
658
678
|
"""Returns a list of supported features (Primarily used for logging purposes)."""
|
|
659
679
|
return [k for k, v in vars(self).items() if v]
|
|
@@ -7,10 +7,10 @@ Map-related state arrives on three independent streams:
|
|
|
7
7
|
* restricted zones, virtual walls and dock state arrive as ordinary DPS values.
|
|
8
8
|
|
|
9
9
|
``MapDpsTrait`` owns the low-level map-specific DPS read model.
|
|
10
|
-
``MapContentTrait``
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
``MapContentTrait`` requests a current-map push through ``REQUEST_DPS`` and
|
|
11
|
+
combines the latest map and trace packets with the map DPS state through the
|
|
12
|
+
pure functions in :mod:`roborock.map.b01_q10_render`. Saved-map list/detail
|
|
13
|
+
operations remain on ``MapsTrait``.
|
|
14
14
|
"""
|
|
15
15
|
|
|
16
16
|
import logging
|
|
@@ -107,20 +107,13 @@ class MapContentTrait(TraitUpdateListener):
|
|
|
107
107
|
self._map_dps.add_update_listener(self._map_dps_updated)
|
|
108
108
|
|
|
109
109
|
async def refresh(self) -> None:
|
|
110
|
-
"""Request
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
{
|
|
118
|
-
str(B01_Q10_DP.MULTI_MAP.code): {
|
|
119
|
-
"op": "get",
|
|
120
|
-
"id": map_id,
|
|
121
|
-
}
|
|
122
|
-
},
|
|
123
|
-
)
|
|
110
|
+
"""Request a safe asynchronous current-map/status push.
|
|
111
|
+
|
|
112
|
+
Some ss07 firmware treats ``dpMultiMap op:get`` as an active
|
|
113
|
+
cleaning/relocation command. ``REQUEST_DPS`` is the device's read-only
|
|
114
|
+
current-map request and does not depend on a saved-map ID.
|
|
115
|
+
"""
|
|
116
|
+
await self._command.send(B01_Q10_DP.REQUEST_DPS, params={})
|
|
124
117
|
|
|
125
118
|
@property
|
|
126
119
|
def image_content(self) -> bytes | None:
|
|
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-7.2.1 → python_roborock-7.2.3}/roborock/data/b01_q10/b01_q10_code_mappings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/data/b01_q7/b01_q7_code_mappings.py
RENAMED
|
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
|
|
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-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/a01/device_feature.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/button_light.py
RENAMED
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/child_lock.py
RENAMED
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/clean_history.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/consumable.py
RENAMED
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/do_not_disturb.py
RENAMED
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/dust_collection.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q10/network_info.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q7/clean_summary.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/b01/q7/map_content.py
RENAMED
|
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-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/device_features.py
RENAMED
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/do_not_disturb.py
RENAMED
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/dust_collection_mode.py
RENAMED
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/flow_led_status.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/obstacle_photos.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/smart_wash_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.2.1 → python_roborock-7.2.3}/roborock/devices/traits/v1/wash_towel_mode.py
RENAMED
|
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
|
|
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
|
|
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
|