python-roborock 7.10.0__py3-none-any.whl → 7.11.0__py3-none-any.whl
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.10.0.dist-info → python_roborock-7.11.0.dist-info}/METADATA +1 -1
- {python_roborock-7.10.0.dist-info → python_roborock-7.11.0.dist-info}/RECORD +7 -7
- roborock/cli.py +15 -0
- roborock/devices/traits/v1/status.py +17 -0
- {python_roborock-7.10.0.dist-info → python_roborock-7.11.0.dist-info}/WHEEL +0 -0
- {python_roborock-7.10.0.dist-info → python_roborock-7.11.0.dist-info}/entry_points.txt +0 -0
- {python_roborock-7.10.0.dist-info → python_roborock-7.11.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: python-roborock
|
|
3
|
-
Version: 7.
|
|
3
|
+
Version: 7.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,7 +1,7 @@
|
|
|
1
1
|
roborock/__init__.py,sha256=jpp3MEmevRvoJ5tq2waCDGH5VfJk--Lv1DmrwEdDyEQ,375
|
|
2
2
|
roborock/broadcast_protocol.py,sha256=HY3towvw_JyeAQxhMwD7XyG0Gvd3pn-Ik7BYb5iP6M4,4047
|
|
3
3
|
roborock/callbacks.py,sha256=w2yPXtWFH7zfoFsLPYoCTbfwbE9p1ivA7iDcw20lJQI,4300
|
|
4
|
-
roborock/cli.py,sha256=
|
|
4
|
+
roborock/cli.py,sha256=r3pq19x33vCkJH54DQxa9lZA--VmFtIXV3ldHMBlTJ8,63978
|
|
5
5
|
roborock/const.py,sha256=fWpgUPrCgLnaXmncgjCLZET-t7wHWQlpyzV8qHtTjb4,2860
|
|
6
6
|
roborock/device_features.py,sha256=RZTE6WovDYPHD9B6Iv_1pEeKaTmqb993Qfo8lCW-9xA,46737
|
|
7
7
|
roborock/diagnostics.py,sha256=OVfPCjBVidAlQtFz-WRlgCWOBIaXlO-73xQloXJaLwI,5107
|
|
@@ -92,7 +92,7 @@ roborock/devices/traits/v1/obstacle_photos.py,sha256=Aul1sOxJ6AxLWqI5AbeHHSzxfUP
|
|
|
92
92
|
roborock/devices/traits/v1/rooms.py,sha256=SEAs3sHZxDmiiSWc9Korm838zu8ub_04CsmJVlT4F48,6237
|
|
93
93
|
roborock/devices/traits/v1/routines.py,sha256=BfktlpnyDjD2DB3zBDS5BnmjZPE38aHa-wjMontPnik,931
|
|
94
94
|
roborock/devices/traits/v1/smart_wash_params.py,sha256=6K3XrF5SRS39BWaMjjtGJgKX3lZ24jPsb6Nia4a9GVM,634
|
|
95
|
-
roborock/devices/traits/v1/status.py,sha256=
|
|
95
|
+
roborock/devices/traits/v1/status.py,sha256=ZCNrRPfE_a6nga-WSJ8sry2M3XrqHigpNw_eRRU8hFo,5889
|
|
96
96
|
roborock/devices/traits/v1/valley_electricity_timer.py,sha256=vE9bLJe8TdFGVh_9mDRkEoC3_DTBkDcdlSMSiYq0YTw,1863
|
|
97
97
|
roborock/devices/traits/v1/volume.py,sha256=etRIYE0ynZZLEo2ez7Dm7_JbijmElrdjpn59hyLWqsQ,814
|
|
98
98
|
roborock/devices/traits/v1/wash_towel_mode.py,sha256=bSXtaJ0ObDlXsJYuCHWCN3J0GyHEibPsDvOqBCxQW3Q,2039
|
|
@@ -127,8 +127,8 @@ roborock/testing/channel.py,sha256=vjulT5MHBe8lAq6XITUqcxJVcCILWx7ZEcw5imTx0Tk,7
|
|
|
127
127
|
roborock/testing/cloud.py,sha256=L2L0KlZDYaMuoV19KUQUoq5EAUDeNQ1lJ8Ew5YaOgjo,11946
|
|
128
128
|
roborock/testing/simulator.py,sha256=g8ZUWVSjgAzuRRxWOCeOq-7deodyEItwUpqEw9RzCmQ,4347
|
|
129
129
|
roborock/testing/v1_simulator.py,sha256=_LX_vsBMcB2Uu2QDt8QnQymgtVtbnwD5Xa7tmhiPAnY,14439
|
|
130
|
-
python_roborock-7.
|
|
131
|
-
python_roborock-7.
|
|
132
|
-
python_roborock-7.
|
|
133
|
-
python_roborock-7.
|
|
134
|
-
python_roborock-7.
|
|
130
|
+
python_roborock-7.11.0.dist-info/METADATA,sha256=JhgyZnvDj6mJq6Xu_9QGJYPsEjD5mt5MJT10PtNgTWQ,5279
|
|
131
|
+
python_roborock-7.11.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
|
|
132
|
+
python_roborock-7.11.0.dist-info/entry_points.txt,sha256=EvC1nMqi9ZXKgZnqlNXA33v_3nzgPNjnM0mzWlrehnY,47
|
|
133
|
+
python_roborock-7.11.0.dist-info/licenses/LICENSE,sha256=z8d0m5b2O9McPEK1xHG_dWgUBT6EfBDz6wA0F7xSPTA,11358
|
|
134
|
+
python_roborock-7.11.0.dist-info/RECORD,,
|
roborock/cli.py
CHANGED
|
@@ -749,6 +749,20 @@ async def reset_consumable(ctx, device_id: str, consumable: str):
|
|
|
749
749
|
click.echo(f"Reset {consumable} for device {device_id}")
|
|
750
750
|
|
|
751
751
|
|
|
752
|
+
@session.command()
|
|
753
|
+
@click.option("--device_id", required=True)
|
|
754
|
+
@click.option("--error_code", type=int, help="Error code to resolve. Defaults to the current dock or robot error.")
|
|
755
|
+
@click.pass_context
|
|
756
|
+
@async_command
|
|
757
|
+
async def resolve_error(ctx, device_id: str, error_code: int | None):
|
|
758
|
+
"""Resolve the current dock or robot error, like "Resolved" in the app."""
|
|
759
|
+
context: RoborockContext = ctx.obj
|
|
760
|
+
trait = await _v1_trait(context, device_id, lambda v1: v1.status)
|
|
761
|
+
await trait.refresh()
|
|
762
|
+
await trait.resolve_error(error_code)
|
|
763
|
+
click.echo(f"Dock error: {trait.dock_error_status}, error: {trait.error_code}")
|
|
764
|
+
|
|
765
|
+
|
|
752
766
|
@session.command()
|
|
753
767
|
@click.option("--device_id", required=True)
|
|
754
768
|
@click.option("--enabled", type=bool, help="Enable (True) or disable (False) the child lock.")
|
|
@@ -1369,6 +1383,7 @@ cli.add_command(map_data)
|
|
|
1369
1383
|
cli.add_command(q10_position)
|
|
1370
1384
|
cli.add_command(consumables)
|
|
1371
1385
|
cli.add_command(reset_consumable)
|
|
1386
|
+
cli.add_command(resolve_error)
|
|
1372
1387
|
cli.add_command(rooms)
|
|
1373
1388
|
cli.add_command(home)
|
|
1374
1389
|
cli.add_command(features)
|
|
@@ -133,6 +133,23 @@ class StatusTrait(StatusV2, common.V1TraitMixin, TraitUpdateListener):
|
|
|
133
133
|
params=get_cleaning_mode_parameters(resolve_cleaning_mode(cleaning_mode), self._device_features_trait),
|
|
134
134
|
)
|
|
135
135
|
|
|
136
|
+
async def resolve_error(self, error_code: int | None = None) -> None:
|
|
137
|
+
"""Resolve an error, like tapping "Resolved" in the Roborock app.
|
|
138
|
+
|
|
139
|
+
Without an explicit code this resolves the current dock error if there is one,
|
|
140
|
+
otherwise the current robot error. A dock error such as water_empty stays latched
|
|
141
|
+
on the device until it is resolved, even after the cause has been fixed.
|
|
142
|
+
"""
|
|
143
|
+
if error_code is None:
|
|
144
|
+
if self.dock_error_status:
|
|
145
|
+
error_code = int(self.dock_error_status)
|
|
146
|
+
elif self.error_code:
|
|
147
|
+
error_code = int(self.error_code)
|
|
148
|
+
else:
|
|
149
|
+
return
|
|
150
|
+
await self.rpc_channel.send_command(RoborockCommand.RESOLVE_ERROR, params={"error_code": error_code})
|
|
151
|
+
await self.refresh()
|
|
152
|
+
|
|
136
153
|
def update_from_dps(self, decoded_dps: dict[RoborockDataProtocol, Any]) -> None:
|
|
137
154
|
"""Update the trait from data protocol push message data.
|
|
138
155
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|