python-roborock 7.3.0__tar.gz → 7.4.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-7.3.0 → python_roborock-7.4.0}/PKG-INFO +1 -1
- {python_roborock-7.3.0 → python_roborock-7.4.0}/pyproject.toml +1 -1
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/containers.py +18 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/web_api.py +68 -1
- {python_roborock-7.3.0 → python_roborock-7.4.0}/.gitignore +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/LICENSE +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/README.md +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/broadcast_protocol.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/callbacks.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/cli.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/const.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/b01_q10/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/b01_q10/b01_q10_code_mappings.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/b01_q10/b01_q10_containers.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/b01_q7/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/b01_q7/b01_q7_code_mappings.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/b01_q7/b01_q7_containers.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/code_mappings.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/dyad/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/dyad/dyad_code_mappings.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/dyad/dyad_containers.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/mower/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/mower/mower_code_mappings.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/mower/mower_containers.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/v1/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/v1/v1_clean_modes.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/v1/v1_code_mappings.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/v1/v1_containers.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/zeo/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/zeo/zeo_code_mappings.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/zeo/zeo_containers.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/device_features.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/README.md +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/cache.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/device.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/device_manager.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/file_cache.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/rpc/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/rpc/a01_channel.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/rpc/b01_q10_channel.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/rpc/b01_q7_channel.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/rpc/v1_channel.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/a01/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/a01/device_feature.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/button_light.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/child_lock.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/clean_history.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/command.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/common.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/consumable.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/do_not_disturb.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/dust_collection.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/map.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/maps.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/network_info.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/remote.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/status.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/vacuum.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/volume.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q7/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q7/clean_summary.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q7/map.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q7/map_content.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/common.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/traits_mixin.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/child_lock.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/clean_summary.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/command.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/common.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/consumeable.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/device_features.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/do_not_disturb.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/dust_collection_mode.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/flow_led_status.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/home.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/led_status.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/map_content.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/maps.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/network_info.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/obstacle_photos.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/rooms.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/routines.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/smart_wash_params.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/status.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/valley_electricity_timer.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/volume.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/wash_towel_mode.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/transport/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/transport/channel.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/transport/local_channel.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/transport/mqtt_channel.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/diagnostics.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/exceptions.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/map/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/map/b01_grid_layers.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/map/b01_map_parser.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/map/b01_q10_map_parser.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/map/b01_q10_overlays.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/map/b01_q10_render.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/map/map_parser.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/map/proto/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/map/proto/b01_scmap.proto +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/map/proto/b01_scmap_pb2.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/map/room_colors.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/mqtt/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/mqtt/health_manager.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/mqtt/roborock_session.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/mqtt/session.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/protocol.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/protocols/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/protocols/a01_protocol.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/protocols/b01_q10_protocol.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/protocols/b01_q7_protocol.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/protocols/v1_protocol.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/py.typed +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/roborock_message.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/roborock_typing.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/testing/__init__.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/testing/a01_simulator.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/testing/b01_q10_simulator.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/testing/channel.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/testing/cloud.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/testing/simulator.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/testing/v1_simulator.py +0 -0
- {python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/util.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: python-roborock
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.4.0
|
|
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.
|
|
3
|
+
version = "7.4.0"
|
|
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"
|
|
@@ -348,6 +348,24 @@ class HomeDataScene(RoborockBase):
|
|
|
348
348
|
name: str
|
|
349
349
|
|
|
350
350
|
|
|
351
|
+
@dataclass
|
|
352
|
+
class FirmwareInfo(RoborockBase):
|
|
353
|
+
"""Firmware/OTA info from the cloud (`ota/firmware/{duid}/updatev2`)."""
|
|
354
|
+
|
|
355
|
+
version: str | None = None
|
|
356
|
+
"""Latest available firmware version."""
|
|
357
|
+
current_version: str | None = None
|
|
358
|
+
"""Currently installed firmware version."""
|
|
359
|
+
updatable: bool | None = None
|
|
360
|
+
"""Whether a newer firmware is available to install."""
|
|
361
|
+
desc: str | None = None
|
|
362
|
+
"""Release notes / description."""
|
|
363
|
+
release_time: str | None = None
|
|
364
|
+
"""Release date of the available firmware as an ISO-8601 date (``YYYY-MM-DD``)."""
|
|
365
|
+
force_update: bool | None = None
|
|
366
|
+
"""Whether the update is mandatory (cannot be skipped)."""
|
|
367
|
+
|
|
368
|
+
|
|
351
369
|
@dataclass
|
|
352
370
|
class HomeDataSchedule(RoborockBase):
|
|
353
371
|
id: int
|
|
@@ -15,7 +15,7 @@ from aiohttp import ContentTypeError, FormData
|
|
|
15
15
|
from pyrate_limiter import Duration, Limiter, Rate
|
|
16
16
|
|
|
17
17
|
from roborock import HomeDataSchedule
|
|
18
|
-
from roborock.data import HomeData, HomeDataRoom, HomeDataScene, ProductResponse, RRiot, UserData
|
|
18
|
+
from roborock.data import FirmwareInfo, HomeData, HomeDataRoom, HomeDataScene, ProductResponse, RRiot, UserData
|
|
19
19
|
from roborock.exceptions import (
|
|
20
20
|
RoborockAccountDoesNotExist,
|
|
21
21
|
RoborockException,
|
|
@@ -608,6 +608,73 @@ class RoborockApiClient:
|
|
|
608
608
|
else:
|
|
609
609
|
raise RoborockException("scene_response result was an unexpected type")
|
|
610
610
|
|
|
611
|
+
async def get_firmware_info(self, user_data: UserData, device_id: str) -> FirmwareInfo:
|
|
612
|
+
"""Get firmware/OTA info for a device (latest version + updatable flag)."""
|
|
613
|
+
rriot = user_data.rriot
|
|
614
|
+
if rriot is None:
|
|
615
|
+
raise RoborockException("rriot is none")
|
|
616
|
+
if rriot.r.a is None:
|
|
617
|
+
raise RoborockException("Missing field 'a' in rriot reference")
|
|
618
|
+
path = f"/ota/firmware/{device_id}/updatev2"
|
|
619
|
+
params = {"lang": "en"}
|
|
620
|
+
firmware_request = PreparedRequest(
|
|
621
|
+
rriot.r.a,
|
|
622
|
+
self.session,
|
|
623
|
+
{
|
|
624
|
+
"Authorization": _get_hawk_authentication(rriot, path, params=params),
|
|
625
|
+
},
|
|
626
|
+
)
|
|
627
|
+
firmware_response = await firmware_request.request("get", path, params=params)
|
|
628
|
+
if not firmware_response or not firmware_response.get("success"):
|
|
629
|
+
raise RoborockException(firmware_response)
|
|
630
|
+
return FirmwareInfo.from_dict(firmware_response.get("result") or {})
|
|
631
|
+
|
|
632
|
+
async def start_firmware_update(self, user_data: UserData, device_id: str) -> None:
|
|
633
|
+
"""Trigger the (irreversible) firmware update for a device.
|
|
634
|
+
|
|
635
|
+
The device downloads and flashes the latest firmware reported by
|
|
636
|
+
:meth:`get_firmware_info`.
|
|
637
|
+
"""
|
|
638
|
+
rriot = user_data.rriot
|
|
639
|
+
if rriot is None:
|
|
640
|
+
raise RoborockException("rriot is none")
|
|
641
|
+
if rriot.r.a is None:
|
|
642
|
+
raise RoborockException("Missing field 'a' in rriot reference")
|
|
643
|
+
path = f"/ota/device/{device_id}/upgrade"
|
|
644
|
+
upgrade_request = PreparedRequest(
|
|
645
|
+
rriot.r.a,
|
|
646
|
+
self.session,
|
|
647
|
+
{
|
|
648
|
+
"Authorization": _get_hawk_authentication(rriot, path),
|
|
649
|
+
},
|
|
650
|
+
)
|
|
651
|
+
upgrade_response = await upgrade_request.request("post", path)
|
|
652
|
+
if not upgrade_response or not upgrade_response.get("success"):
|
|
653
|
+
raise RoborockException(upgrade_response)
|
|
654
|
+
|
|
655
|
+
async def set_silent_ota(self, user_data: UserData, device_id: str, enabled: bool) -> None:
|
|
656
|
+
"""Enable/disable automatic (silent) firmware updates for a device.
|
|
657
|
+
|
|
658
|
+
The current value is reported as ``silent_ota_switch`` on the home-data device.
|
|
659
|
+
"""
|
|
660
|
+
rriot = user_data.rriot
|
|
661
|
+
if rriot is None:
|
|
662
|
+
raise RoborockException("rriot is none")
|
|
663
|
+
if rriot.r.a is None:
|
|
664
|
+
raise RoborockException("Missing field 'a' in rriot reference")
|
|
665
|
+
path = f"/user/devices/{device_id}"
|
|
666
|
+
formdata = {"silentOtaSwitch": "true" if enabled else "false"}
|
|
667
|
+
silent_ota_request = PreparedRequest(
|
|
668
|
+
rriot.r.a,
|
|
669
|
+
self.session,
|
|
670
|
+
{
|
|
671
|
+
"Authorization": _get_hawk_authentication(rriot, path, formdata=formdata),
|
|
672
|
+
},
|
|
673
|
+
)
|
|
674
|
+
silent_ota_response = await silent_ota_request.request("put", path, data=formdata)
|
|
675
|
+
if not silent_ota_response or not silent_ota_response.get("success"):
|
|
676
|
+
raise RoborockException(silent_ota_response)
|
|
677
|
+
|
|
611
678
|
async def execute_scene(self, user_data: UserData, scene_id: int) -> None:
|
|
612
679
|
rriot = user_data.rriot
|
|
613
680
|
if rriot is 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
|
|
File without changes
|
{python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/data/b01_q10/b01_q10_code_mappings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.3.0 → python_roborock-7.4.0}/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.3.0 → python_roborock-7.4.0}/roborock/devices/traits/a01/device_feature.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/button_light.py
RENAMED
|
File without changes
|
{python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/child_lock.py
RENAMED
|
File without changes
|
{python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/clean_history.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/consumable.py
RENAMED
|
File without changes
|
{python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/do_not_disturb.py
RENAMED
|
File without changes
|
{python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q10/dust_collection.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.3.0 → python_roborock-7.4.0}/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.3.0 → python_roborock-7.4.0}/roborock/devices/traits/b01/q7/clean_summary.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_roborock-7.3.0 → python_roborock-7.4.0}/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.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/device_features.py
RENAMED
|
File without changes
|
{python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/do_not_disturb.py
RENAMED
|
File without changes
|
{python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/dust_collection_mode.py
RENAMED
|
File without changes
|
{python_roborock-7.3.0 → python_roborock-7.4.0}/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.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/obstacle_photos.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.3.0 → python_roborock-7.4.0}/roborock/devices/traits/v1/smart_wash_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-7.3.0 → python_roborock-7.4.0}/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
|