python-roborock 2.11.2__tar.gz → 2.12.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-2.11.2 → python_roborock-2.12.0}/PKG-INFO +3 -3
- {python_roborock-2.11.2 → python_roborock-2.12.0}/pyproject.toml +1 -1
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/cli.py +26 -1
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/code_mappings.py +5 -1
- {python_roborock-2.11.2 → python_roborock-2.12.0}/LICENSE +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/README.md +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/__init__.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/api.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/cloud_api.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/command_cache.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/const.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/containers.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/exceptions.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/local_api.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/protocol.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/py.typed +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/roborock_future.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/roborock_message.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/roborock_typing.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/util.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/version_1_apis/__init__.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/version_1_apis/roborock_client_v1.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/version_1_apis/roborock_local_client_v1.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/version_1_apis/roborock_mqtt_client_v1.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/version_a01_apis/__init__.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/version_a01_apis/roborock_client_a01.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/version_a01_apis/roborock_mqtt_client_a01.py +0 -0
- {python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/web_api.py +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
2
|
Name: python-roborock
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.12.0
|
|
4
4
|
Summary: A package to control Roborock vacuums.
|
|
5
|
+
Home-page: https://github.com/humbertogontijo/python-roborock
|
|
5
6
|
License: GPL-3.0-only
|
|
6
7
|
Keywords: roborock,vacuum,homeassistant
|
|
7
8
|
Author: humbertogontijo
|
|
@@ -15,7 +16,6 @@ Classifier: Operating System :: OS Independent
|
|
|
15
16
|
Classifier: Programming Language :: Python :: 3
|
|
16
17
|
Classifier: Programming Language :: Python :: 3.11
|
|
17
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
19
19
|
Classifier: Topic :: Software Development :: Libraries
|
|
20
20
|
Requires-Dist: aiohttp (>=3.8.2,<4.0.0)
|
|
21
21
|
Requires-Dist: async-timeout
|
|
@@ -11,9 +11,10 @@ from pyshark.capture.live_capture import LiveCapture, UnknownInterfaceException
|
|
|
11
11
|
from pyshark.packet.packet import Packet # type: ignore
|
|
12
12
|
|
|
13
13
|
from roborock import RoborockException
|
|
14
|
-
from roborock.containers import DeviceData, LoginData
|
|
14
|
+
from roborock.containers import DeviceData, HomeDataProduct, LoginData
|
|
15
15
|
from roborock.protocol import MessageParser
|
|
16
16
|
from roborock.util import run_sync
|
|
17
|
+
from roborock.version_1_apis.roborock_local_client_v1 import RoborockLocalClientV1
|
|
17
18
|
from roborock.version_1_apis.roborock_mqtt_client_v1 import RoborockMqttClientV1
|
|
18
19
|
from roborock.web_api import RoborockApiClient
|
|
19
20
|
|
|
@@ -145,6 +146,29 @@ async def execute_scene(ctx, scene_id):
|
|
|
145
146
|
await client.execute_scene(login_data.user_data, scene_id)
|
|
146
147
|
|
|
147
148
|
|
|
149
|
+
@click.command()
|
|
150
|
+
@click.option("--device_id", required=True)
|
|
151
|
+
@click.pass_context
|
|
152
|
+
@run_sync()
|
|
153
|
+
async def status(ctx, device_id):
|
|
154
|
+
context: RoborockContext = ctx.obj
|
|
155
|
+
login_data = context.login_data()
|
|
156
|
+
if not login_data.home_data:
|
|
157
|
+
await _discover(ctx)
|
|
158
|
+
login_data = context.login_data()
|
|
159
|
+
home_data = login_data.home_data
|
|
160
|
+
devices = home_data.devices + home_data.received_devices
|
|
161
|
+
device = next(device for device in devices if device.duid == device_id)
|
|
162
|
+
product_info: dict[str, HomeDataProduct] = {product.id: product for product in home_data.products}
|
|
163
|
+
device_data = DeviceData(device, product_info[device.product_id].model)
|
|
164
|
+
mqtt_client = RoborockMqttClientV1(login_data.user_data, device_data)
|
|
165
|
+
networking = await mqtt_client.get_networking()
|
|
166
|
+
local_device_data = DeviceData(device, product_info[device.product_id].model, networking.ip)
|
|
167
|
+
local_client = RoborockLocalClientV1(local_device_data)
|
|
168
|
+
status = await local_client.get_status()
|
|
169
|
+
click.echo(json.dumps(status.as_dict(), indent=4))
|
|
170
|
+
|
|
171
|
+
|
|
148
172
|
@click.command()
|
|
149
173
|
@click.option("--device_id", required=True)
|
|
150
174
|
@click.option("--cmd", required=True)
|
|
@@ -226,6 +250,7 @@ cli.add_command(discover)
|
|
|
226
250
|
cli.add_command(list_devices)
|
|
227
251
|
cli.add_command(list_scenes)
|
|
228
252
|
cli.add_command(execute_scene)
|
|
253
|
+
cli.add_command(status)
|
|
229
254
|
cli.add_command(command)
|
|
230
255
|
cli.add_command(parser)
|
|
231
256
|
|
|
@@ -259,7 +259,9 @@ class RoborockFanSpeedQRevoCurv(RoborockFanPowerCode):
|
|
|
259
259
|
balanced = 102
|
|
260
260
|
turbo = 103
|
|
261
261
|
max = 104
|
|
262
|
-
|
|
262
|
+
off = 105
|
|
263
|
+
custom = 106
|
|
264
|
+
max_plus = 108
|
|
263
265
|
smart_mode = 110
|
|
264
266
|
|
|
265
267
|
|
|
@@ -291,6 +293,7 @@ class RoborockMopModeCode(RoborockEnum):
|
|
|
291
293
|
class RoborockMopModeQRevoCurv(RoborockMopModeCode):
|
|
292
294
|
standard = 300
|
|
293
295
|
deep = 301
|
|
296
|
+
custom = 302
|
|
294
297
|
deep_plus = 303
|
|
295
298
|
fast = 304
|
|
296
299
|
smart_mode = 306
|
|
@@ -373,6 +376,7 @@ class RoborockMopIntensityQRevoCurv(RoborockMopIntensityCode):
|
|
|
373
376
|
low = 201
|
|
374
377
|
medium = 202
|
|
375
378
|
high = 203
|
|
379
|
+
custom = 204
|
|
376
380
|
custom_water_flow = 207
|
|
377
381
|
smart_mode = 209
|
|
378
382
|
|
|
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-2.11.2 → python_roborock-2.12.0}/roborock/version_1_apis/roborock_client_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/version_1_apis/roborock_mqtt_client_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_roborock-2.11.2 → python_roborock-2.12.0}/roborock/version_a01_apis/roborock_client_a01.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|