python-roborock 5.10.0__tar.gz → 5.11.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-5.10.0 → python_roborock-5.11.0}/PKG-INFO +1 -1
- {python_roborock-5.10.0 → python_roborock-5.11.0}/pyproject.toml +1 -1
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/v1/v1_code_mappings.py +1 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/zeo/zeo_code_mappings.py +4 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/device_features.py +1 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/device_manager.py +17 -3
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/web_api.py +29 -5
- {python_roborock-5.10.0 → python_roborock-5.11.0}/.gitignore +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/LICENSE +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/README.md +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/broadcast_protocol.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/callbacks.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/cli.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/const.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/b01_q10/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/b01_q10/b01_q10_code_mappings.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/b01_q10/b01_q10_containers.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/b01_q7/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/b01_q7/b01_q7_code_mappings.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/b01_q7/b01_q7_containers.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/code_mappings.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/containers.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/dyad/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/dyad/dyad_code_mappings.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/dyad/dyad_containers.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/v1/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/v1/v1_clean_modes.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/v1/v1_containers.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/zeo/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/zeo/zeo_containers.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/README.md +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/cache.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/device.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/file_cache.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/rpc/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/rpc/a01_channel.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/rpc/b01_q10_channel.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/rpc/b01_q7_channel.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/rpc/v1_channel.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/a01/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/b01/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/b01/q10/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/b01/q10/command.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/b01/q10/status.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/b01/q10/vacuum.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/b01/q7/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/b01/q7/clean_summary.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/b01/q7/map.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/b01/q7/map_content.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/common.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/traits_mixin.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/child_lock.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/clean_summary.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/command.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/common.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/consumeable.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/device_features.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/do_not_disturb.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/dust_collection_mode.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/flow_led_status.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/home.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/led_status.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/map_content.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/maps.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/network_info.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/rooms.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/routines.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/smart_wash_params.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/status.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/valley_electricity_timer.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/volume.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/wash_towel_mode.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/transport/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/transport/channel.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/transport/local_channel.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/transport/mqtt_channel.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/diagnostics.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/exceptions.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/map/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/map/b01_map_parser.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/map/map_parser.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/map/proto/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/map/proto/b01_scmap.proto +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/map/proto/b01_scmap_pb2.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/mqtt/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/mqtt/health_manager.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/mqtt/roborock_session.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/mqtt/session.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/protocol.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/protocols/__init__.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/protocols/a01_protocol.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/protocols/b01_q10_protocol.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/protocols/b01_q7_protocol.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/protocols/v1_protocol.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/py.typed +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/roborock_message.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/roborock_typing.py +0 -0
- {python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/util.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-roborock
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.11.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 = "5.
|
|
3
|
+
version = "5.11.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"
|
|
@@ -2,6 +2,7 @@ from ..code_mappings import RoborockEnum
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
class ZeoMode(RoborockEnum):
|
|
5
|
+
null = 0
|
|
5
6
|
wash = 1
|
|
6
7
|
wash_and_dry = 2
|
|
7
8
|
dry = 3
|
|
@@ -23,6 +24,7 @@ class ZeoState(RoborockEnum):
|
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
class ZeoProgram(RoborockEnum):
|
|
27
|
+
null = 0
|
|
26
28
|
standard = 1
|
|
27
29
|
quick = 2
|
|
28
30
|
sanitize = 3
|
|
@@ -75,6 +77,7 @@ class ZeoTemperature(RoborockEnum):
|
|
|
75
77
|
high = 4
|
|
76
78
|
max = 5
|
|
77
79
|
twenty_c = 6
|
|
80
|
+
ninety_c = 7
|
|
78
81
|
|
|
79
82
|
|
|
80
83
|
class ZeoRinse(RoborockEnum):
|
|
@@ -87,6 +90,7 @@ class ZeoRinse(RoborockEnum):
|
|
|
87
90
|
|
|
88
91
|
|
|
89
92
|
class ZeoSpin(RoborockEnum):
|
|
93
|
+
null = 0
|
|
90
94
|
none = 1
|
|
91
95
|
very_low = 2
|
|
92
96
|
low = 3
|
|
@@ -13,6 +13,7 @@ from roborock.data import (
|
|
|
13
13
|
HomeData,
|
|
14
14
|
HomeDataDevice,
|
|
15
15
|
HomeDataProduct,
|
|
16
|
+
RoborockCategory,
|
|
16
17
|
UserData,
|
|
17
18
|
)
|
|
18
19
|
from roborock.devices.device import DeviceReadyCallback, RoborockDevice
|
|
@@ -173,6 +174,7 @@ def create_web_api_wrapper(
|
|
|
173
174
|
*,
|
|
174
175
|
cache: Cache | None = None,
|
|
175
176
|
session: aiohttp.ClientSession | None = None,
|
|
177
|
+
unauthorized_hook: SessionUnauthorizedHook | None = None,
|
|
176
178
|
) -> UserWebApiClient:
|
|
177
179
|
"""Create a home data API wrapper from an existing API client."""
|
|
178
180
|
|
|
@@ -180,7 +182,7 @@ def create_web_api_wrapper(
|
|
|
180
182
|
# by caching this next to `UserData` if needed to avoid unnecessary API calls.
|
|
181
183
|
client = RoborockApiClient(username=user_params.username, base_url=user_params.base_url, session=session)
|
|
182
184
|
|
|
183
|
-
return UserWebApiClient(client, user_params.user_data)
|
|
185
|
+
return UserWebApiClient(client, user_params.user_data, unauthorized_hook=unauthorized_hook)
|
|
184
186
|
|
|
185
187
|
|
|
186
188
|
async def create_device_manager(
|
|
@@ -212,7 +214,9 @@ async def create_device_manager(
|
|
|
212
214
|
if cache is None:
|
|
213
215
|
cache = NoCache()
|
|
214
216
|
|
|
215
|
-
web_api = create_web_api_wrapper(
|
|
217
|
+
web_api = create_web_api_wrapper(
|
|
218
|
+
user_params, session=session, cache=cache, unauthorized_hook=mqtt_session_unauthorized_hook
|
|
219
|
+
)
|
|
216
220
|
user_data = user_params.user_data
|
|
217
221
|
|
|
218
222
|
diagnostics = Diagnostics()
|
|
@@ -228,6 +232,10 @@ async def create_device_manager(
|
|
|
228
232
|
device_cache: DeviceCache = DeviceCache(device.duid, cache)
|
|
229
233
|
match device.pv:
|
|
230
234
|
case DeviceVersion.V1:
|
|
235
|
+
if product.category != RoborockCategory.VACUUM:
|
|
236
|
+
raise UnsupportedDeviceError(
|
|
237
|
+
f"Device {device.name} has unsupported V1 category {product.category}: {product.model}"
|
|
238
|
+
)
|
|
231
239
|
channel = create_v1_channel(user_data, mqtt_params, mqtt_session, device, device_cache)
|
|
232
240
|
trait = v1.create(
|
|
233
241
|
device.duid,
|
|
@@ -265,6 +273,12 @@ async def create_device_manager(
|
|
|
265
273
|
dev.add_ready_callback(ready_callback)
|
|
266
274
|
return dev
|
|
267
275
|
|
|
268
|
-
manager = DeviceManager(
|
|
276
|
+
manager = DeviceManager(
|
|
277
|
+
web_api,
|
|
278
|
+
device_creator,
|
|
279
|
+
mqtt_session=mqtt_session,
|
|
280
|
+
cache=cache,
|
|
281
|
+
diagnostics=diagnostics,
|
|
282
|
+
)
|
|
269
283
|
await manager.discover_devices(prefer_cache)
|
|
270
284
|
return manager
|
|
@@ -6,6 +6,7 @@ import math
|
|
|
6
6
|
import secrets
|
|
7
7
|
import string
|
|
8
8
|
import time
|
|
9
|
+
from collections.abc import Callable
|
|
9
10
|
from dataclasses import dataclass
|
|
10
11
|
|
|
11
12
|
import aiohttp
|
|
@@ -737,23 +738,46 @@ class UserWebApiClient:
|
|
|
737
738
|
to avoid needing to pass UserData around and mock out the web API.
|
|
738
739
|
"""
|
|
739
740
|
|
|
740
|
-
def __init__(
|
|
741
|
+
def __init__(
|
|
742
|
+
self, web_api: RoborockApiClient, user_data: UserData, unauthorized_hook: Callable[[], None] | None = None
|
|
743
|
+
) -> None:
|
|
741
744
|
"""Initialize the wrapper with the API client and user data."""
|
|
742
745
|
self._web_api = web_api
|
|
743
746
|
self._user_data = user_data
|
|
747
|
+
self._unauthorized_hook = unauthorized_hook
|
|
744
748
|
|
|
745
749
|
async def get_home_data(self) -> HomeData:
|
|
746
750
|
"""Fetch home data using the API client."""
|
|
747
|
-
|
|
751
|
+
try:
|
|
752
|
+
return await self._web_api.get_home_data_v3(self._user_data)
|
|
753
|
+
except RoborockInvalidCredentials:
|
|
754
|
+
if self._unauthorized_hook:
|
|
755
|
+
self._unauthorized_hook()
|
|
756
|
+
raise
|
|
748
757
|
|
|
749
758
|
async def get_routines(self, device_id: str) -> list[HomeDataScene]:
|
|
750
759
|
"""Fetch routines (scenes) for a specific device."""
|
|
751
|
-
|
|
760
|
+
try:
|
|
761
|
+
return await self._web_api.get_scenes(self._user_data, device_id)
|
|
762
|
+
except RoborockInvalidCredentials:
|
|
763
|
+
if self._unauthorized_hook:
|
|
764
|
+
self._unauthorized_hook()
|
|
765
|
+
raise
|
|
752
766
|
|
|
753
767
|
async def get_rooms(self) -> list[HomeDataRoom]:
|
|
754
768
|
"""Fetch rooms using the API client."""
|
|
755
|
-
|
|
769
|
+
try:
|
|
770
|
+
return await self._web_api.get_rooms(self._user_data)
|
|
771
|
+
except RoborockInvalidCredentials:
|
|
772
|
+
if self._unauthorized_hook:
|
|
773
|
+
self._unauthorized_hook()
|
|
774
|
+
raise
|
|
756
775
|
|
|
757
776
|
async def execute_routine(self, scene_id: int) -> None:
|
|
758
777
|
"""Execute a specific routine (scene) by its ID."""
|
|
759
|
-
|
|
778
|
+
try:
|
|
779
|
+
await self._web_api.execute_scene(self._user_data, scene_id)
|
|
780
|
+
except RoborockInvalidCredentials:
|
|
781
|
+
if self._unauthorized_hook:
|
|
782
|
+
self._unauthorized_hook()
|
|
783
|
+
raise
|
|
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-5.10.0 → python_roborock-5.11.0}/roborock/data/b01_q10/b01_q10_code_mappings.py
RENAMED
|
File without changes
|
{python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/data/b01_q10/b01_q10_containers.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_roborock-5.10.0 → python_roborock-5.11.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
|
{python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/b01/q10/__init__.py
RENAMED
|
File without changes
|
{python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/b01/q10/command.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/b01/q7/__init__.py
RENAMED
|
File without changes
|
{python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/b01/q7/clean_summary.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_roborock-5.10.0 → python_roborock-5.11.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
|
{python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/clean_summary.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/device_features.py
RENAMED
|
File without changes
|
{python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/do_not_disturb.py
RENAMED
|
File without changes
|
{python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/dust_collection_mode.py
RENAMED
|
File without changes
|
{python_roborock-5.10.0 → python_roborock-5.11.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
|
{python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/network_info.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/smart_wash_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/traits/v1/wash_towel_mode.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/transport/local_channel.py
RENAMED
|
File without changes
|
{python_roborock-5.10.0 → python_roborock-5.11.0}/roborock/devices/transport/mqtt_channel.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
|