python-roborock 5.13.0__tar.gz → 5.14.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.13.0 → python_roborock-5.14.0}/PKG-INFO +1 -1
- {python_roborock-5.13.0 → python_roborock-5.14.0}/pyproject.toml +1 -1
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/b01_q10/b01_q10_code_mappings.py +10 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/b01/q10/__init__.py +5 -1
- python_roborock-5.14.0/roborock/devices/traits/b01/q10/remote.py +43 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/.gitignore +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/LICENSE +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/README.md +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/broadcast_protocol.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/callbacks.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/cli.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/const.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/b01_q10/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/b01_q10/b01_q10_containers.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/b01_q7/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/b01_q7/b01_q7_code_mappings.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/b01_q7/b01_q7_containers.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/code_mappings.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/containers.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/dyad/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/dyad/dyad_code_mappings.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/dyad/dyad_containers.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/v1/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/v1/v1_clean_modes.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/v1/v1_code_mappings.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/v1/v1_containers.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/zeo/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/zeo/zeo_code_mappings.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/zeo/zeo_containers.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/device_features.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/README.md +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/cache.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/device.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/device_manager.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/file_cache.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/rpc/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/rpc/a01_channel.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/rpc/b01_q10_channel.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/rpc/b01_q7_channel.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/rpc/v1_channel.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/a01/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/b01/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/b01/q10/command.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/b01/q10/status.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/b01/q10/vacuum.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/b01/q7/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/b01/q7/clean_summary.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/b01/q7/map.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/b01/q7/map_content.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/common.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/traits_mixin.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/child_lock.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/clean_summary.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/command.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/common.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/consumeable.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/device_features.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/do_not_disturb.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/dust_collection_mode.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/flow_led_status.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/home.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/led_status.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/map_content.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/maps.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/network_info.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/rooms.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/routines.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/smart_wash_params.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/status.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/valley_electricity_timer.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/volume.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/wash_towel_mode.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/transport/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/transport/channel.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/transport/local_channel.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/transport/mqtt_channel.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/diagnostics.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/exceptions.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/map/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/map/b01_map_parser.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/map/map_parser.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/map/proto/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/map/proto/b01_scmap.proto +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/map/proto/b01_scmap_pb2.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/mqtt/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/mqtt/health_manager.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/mqtt/roborock_session.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/mqtt/session.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/protocol.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/protocols/__init__.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/protocols/a01_protocol.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/protocols/b01_q10_protocol.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/protocols/b01_q7_protocol.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/protocols/v1_protocol.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/py.typed +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/roborock_message.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/roborock_typing.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/util.py +0 -0
- {python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/web_api.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-roborock
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.14.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.14.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"
|
{python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/data/b01_q10/b01_q10_code_mappings.py
RENAMED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from enum import IntEnum
|
|
2
|
+
|
|
1
3
|
from ..code_mappings import RoborockModeEnum
|
|
2
4
|
|
|
3
5
|
|
|
@@ -217,3 +219,11 @@ class YXDeviceDustCollectionFrequency(RoborockModeEnum):
|
|
|
217
219
|
INTERVAL_30 = "interval_30", 30
|
|
218
220
|
INTERVAL_45 = "interval_45", 45
|
|
219
221
|
INTERVAL_60 = "interval_60", 60
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
class RemoteCommand(IntEnum):
|
|
225
|
+
FORWARD = 0
|
|
226
|
+
LEFT = 2
|
|
227
|
+
RIGHT = 3
|
|
228
|
+
STOP = 4
|
|
229
|
+
EXIT = 5
|
{python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/b01/q10/__init__.py
RENAMED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import asyncio
|
|
4
4
|
import logging
|
|
5
|
-
from typing import Any
|
|
6
5
|
|
|
7
6
|
from roborock.data.b01_q10.b01_q10_code_mappings import B01_Q10_DP
|
|
8
7
|
from roborock.devices.rpc.b01_q10_channel import stream_decoded_responses
|
|
@@ -10,6 +9,7 @@ from roborock.devices.traits import Trait
|
|
|
10
9
|
from roborock.devices.transport.mqtt_channel import MqttChannel
|
|
11
10
|
|
|
12
11
|
from .command import CommandTrait
|
|
12
|
+
from .remote import RemoteTrait
|
|
13
13
|
from .status import StatusTrait
|
|
14
14
|
from .vacuum import VacuumTrait
|
|
15
15
|
|
|
@@ -32,11 +32,15 @@ class Q10PropertiesApi(Trait):
|
|
|
32
32
|
vacuum: VacuumTrait
|
|
33
33
|
"""Trait for sending vacuum related commands to Q10 devices."""
|
|
34
34
|
|
|
35
|
+
remote: RemoteTrait
|
|
36
|
+
"""Trait for sending remote control related commands to Q10 devices."""
|
|
37
|
+
|
|
35
38
|
def __init__(self, channel: MqttChannel) -> None:
|
|
36
39
|
"""Initialize the B01Props API."""
|
|
37
40
|
self._channel = channel
|
|
38
41
|
self.command = CommandTrait(channel)
|
|
39
42
|
self.vacuum = VacuumTrait(self.command)
|
|
43
|
+
self.remote = RemoteTrait(self.command)
|
|
40
44
|
self.status = StatusTrait()
|
|
41
45
|
self._subscribe_task: asyncio.Task[None] | None = None
|
|
42
46
|
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"""Traits for Q10 B01 devices."""
|
|
2
|
+
|
|
3
|
+
from roborock.data.b01_q10.b01_q10_code_mappings import (
|
|
4
|
+
B01_Q10_DP,
|
|
5
|
+
RemoteCommand,
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
from .command import CommandTrait
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class RemoteTrait:
|
|
12
|
+
"""Trait for sending vacuum commands.
|
|
13
|
+
|
|
14
|
+
This is a wrapper around the CommandTrait for sending remote related
|
|
15
|
+
commands to Q10 devices.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
def __init__(self, command: CommandTrait) -> None:
|
|
19
|
+
"""Initialize the RemoteTrait."""
|
|
20
|
+
self._command = command
|
|
21
|
+
|
|
22
|
+
async def _send_remote(self, action: RemoteCommand) -> None:
|
|
23
|
+
await self._command.send(B01_Q10_DP.COMMON, params={B01_Q10_DP.REMOTE: action.value})
|
|
24
|
+
|
|
25
|
+
async def forward(self) -> None:
|
|
26
|
+
"""Move forward."""
|
|
27
|
+
await self._send_remote(RemoteCommand.FORWARD)
|
|
28
|
+
|
|
29
|
+
async def left(self) -> None:
|
|
30
|
+
"""Turn left."""
|
|
31
|
+
await self._send_remote(RemoteCommand.LEFT)
|
|
32
|
+
|
|
33
|
+
async def right(self) -> None:
|
|
34
|
+
"""Turn right."""
|
|
35
|
+
await self._send_remote(RemoteCommand.RIGHT)
|
|
36
|
+
|
|
37
|
+
async def stop(self) -> None:
|
|
38
|
+
"""Stop last moving command or start remote control."""
|
|
39
|
+
await self._send_remote(RemoteCommand.STOP)
|
|
40
|
+
|
|
41
|
+
async def exit_remote(self) -> None:
|
|
42
|
+
"""Exit remote control."""
|
|
43
|
+
await self._send_remote(RemoteCommand.EXIT)
|
|
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.13.0 → python_roborock-5.14.0}/roborock/data/b01_q10/b01_q10_containers.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_roborock-5.13.0 → python_roborock-5.14.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
|
{python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/b01/q10/command.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/b01/q7/__init__.py
RENAMED
|
File without changes
|
{python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/b01/q7/clean_summary.py
RENAMED
|
File without changes
|
|
File without changes
|
{python_roborock-5.13.0 → python_roborock-5.14.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.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/clean_summary.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/device_features.py
RENAMED
|
File without changes
|
{python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/do_not_disturb.py
RENAMED
|
File without changes
|
{python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/dust_collection_mode.py
RENAMED
|
File without changes
|
{python_roborock-5.13.0 → python_roborock-5.14.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.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/network_info.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-5.13.0 → python_roborock-5.14.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.13.0 → python_roborock-5.14.0}/roborock/devices/traits/v1/wash_towel_mode.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_roborock-5.13.0 → python_roborock-5.14.0}/roborock/devices/transport/local_channel.py
RENAMED
|
File without changes
|
{python_roborock-5.13.0 → python_roborock-5.14.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
|
|
File without changes
|