python-roborock 7.4.1__tar.gz → 7.4.2__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.
Files changed (132) hide show
  1. {python_roborock-7.4.1 → python_roborock-7.4.2}/PKG-INFO +1 -1
  2. {python_roborock-7.4.1 → python_roborock-7.4.2}/pyproject.toml +1 -1
  3. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/map/map_parser.py +1 -57
  4. {python_roborock-7.4.1 → python_roborock-7.4.2}/.gitignore +0 -0
  5. {python_roborock-7.4.1 → python_roborock-7.4.2}/LICENSE +0 -0
  6. {python_roborock-7.4.1 → python_roborock-7.4.2}/README.md +0 -0
  7. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/__init__.py +0 -0
  8. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/broadcast_protocol.py +0 -0
  9. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/callbacks.py +0 -0
  10. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/cli.py +0 -0
  11. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/const.py +0 -0
  12. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/__init__.py +0 -0
  13. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/b01_q10/__init__.py +0 -0
  14. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/b01_q10/b01_q10_code_mappings.py +0 -0
  15. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/b01_q10/b01_q10_containers.py +0 -0
  16. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/b01_q7/__init__.py +0 -0
  17. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/b01_q7/b01_q7_code_mappings.py +0 -0
  18. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/b01_q7/b01_q7_containers.py +0 -0
  19. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/code_mappings.py +0 -0
  20. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/containers.py +0 -0
  21. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/dyad/__init__.py +0 -0
  22. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/dyad/dyad_code_mappings.py +0 -0
  23. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/dyad/dyad_containers.py +0 -0
  24. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/mower/__init__.py +0 -0
  25. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/mower/mower_code_mappings.py +0 -0
  26. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/mower/mower_containers.py +0 -0
  27. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/v1/__init__.py +0 -0
  28. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/v1/v1_clean_modes.py +0 -0
  29. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/v1/v1_code_mappings.py +0 -0
  30. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/v1/v1_containers.py +0 -0
  31. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/zeo/__init__.py +0 -0
  32. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/zeo/zeo_code_mappings.py +0 -0
  33. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/data/zeo/zeo_containers.py +0 -0
  34. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/device_features.py +0 -0
  35. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/README.md +0 -0
  36. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/__init__.py +0 -0
  37. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/cache.py +0 -0
  38. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/device.py +0 -0
  39. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/device_manager.py +0 -0
  40. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/file_cache.py +0 -0
  41. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/rpc/__init__.py +0 -0
  42. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/rpc/a01_channel.py +0 -0
  43. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/rpc/b01_q10_channel.py +0 -0
  44. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/rpc/b01_q7_channel.py +0 -0
  45. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/rpc/v1_channel.py +0 -0
  46. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/__init__.py +0 -0
  47. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/a01/__init__.py +0 -0
  48. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/a01/device_feature.py +0 -0
  49. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/__init__.py +0 -0
  50. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/__init__.py +0 -0
  51. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/button_light.py +0 -0
  52. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/child_lock.py +0 -0
  53. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/clean_history.py +0 -0
  54. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/command.py +0 -0
  55. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/common.py +0 -0
  56. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/consumable.py +0 -0
  57. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/do_not_disturb.py +0 -0
  58. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/dust_collection.py +0 -0
  59. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/map.py +0 -0
  60. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/maps.py +0 -0
  61. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/network_info.py +0 -0
  62. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/remote.py +0 -0
  63. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/status.py +0 -0
  64. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/vacuum.py +0 -0
  65. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q10/volume.py +0 -0
  66. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q7/__init__.py +0 -0
  67. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q7/clean_summary.py +0 -0
  68. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q7/map.py +0 -0
  69. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/b01/q7/map_content.py +0 -0
  70. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/common.py +0 -0
  71. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/traits_mixin.py +0 -0
  72. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/__init__.py +0 -0
  73. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/child_lock.py +0 -0
  74. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/clean_summary.py +0 -0
  75. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/command.py +0 -0
  76. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/common.py +0 -0
  77. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/consumeable.py +0 -0
  78. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/device_features.py +0 -0
  79. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/do_not_disturb.py +0 -0
  80. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/dust_collection_mode.py +0 -0
  81. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/flow_led_status.py +0 -0
  82. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/home.py +0 -0
  83. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/led_status.py +0 -0
  84. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/map_content.py +0 -0
  85. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/maps.py +0 -0
  86. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/network_info.py +0 -0
  87. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/obstacle_photos.py +0 -0
  88. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/rooms.py +0 -0
  89. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/routines.py +0 -0
  90. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/smart_wash_params.py +0 -0
  91. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/status.py +0 -0
  92. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/valley_electricity_timer.py +0 -0
  93. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/volume.py +0 -0
  94. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/traits/v1/wash_towel_mode.py +0 -0
  95. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/transport/__init__.py +0 -0
  96. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/transport/channel.py +0 -0
  97. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/transport/local_channel.py +0 -0
  98. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/devices/transport/mqtt_channel.py +0 -0
  99. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/diagnostics.py +0 -0
  100. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/exceptions.py +0 -0
  101. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/map/__init__.py +0 -0
  102. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/map/b01_grid_layers.py +0 -0
  103. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/map/b01_map_parser.py +0 -0
  104. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/map/b01_q10_map_parser.py +0 -0
  105. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/map/b01_q10_overlays.py +0 -0
  106. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/map/b01_q10_render.py +0 -0
  107. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/map/proto/__init__.py +0 -0
  108. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/map/proto/b01_scmap.proto +0 -0
  109. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/map/proto/b01_scmap_pb2.py +0 -0
  110. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/map/room_colors.py +0 -0
  111. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/mqtt/__init__.py +0 -0
  112. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/mqtt/health_manager.py +0 -0
  113. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/mqtt/roborock_session.py +0 -0
  114. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/mqtt/session.py +0 -0
  115. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/protocol.py +0 -0
  116. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/protocols/__init__.py +0 -0
  117. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/protocols/a01_protocol.py +0 -0
  118. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/protocols/b01_q10_protocol.py +0 -0
  119. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/protocols/b01_q7_protocol.py +0 -0
  120. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/protocols/v1_protocol.py +0 -0
  121. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/py.typed +0 -0
  122. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/roborock_message.py +0 -0
  123. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/roborock_typing.py +0 -0
  124. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/testing/__init__.py +0 -0
  125. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/testing/a01_simulator.py +0 -0
  126. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/testing/b01_q10_simulator.py +0 -0
  127. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/testing/channel.py +0 -0
  128. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/testing/cloud.py +0 -0
  129. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/testing/simulator.py +0 -0
  130. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/testing/v1_simulator.py +0 -0
  131. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/util.py +0 -0
  132. {python_roborock-7.4.1 → python_roborock-7.4.2}/roborock/web_api.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: python-roborock
3
- Version: 7.4.1
3
+ Version: 7.4.2
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.4.1"
3
+ version = "7.4.2"
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,7 +2,6 @@
2
2
 
3
3
  import io
4
4
  import logging
5
- import threading
6
5
  from dataclasses import dataclass, field
7
6
 
8
7
  from vacuum_map_parser_base.config.color import Color, ColorsPalette, SupportedColor
@@ -11,13 +10,10 @@ from vacuum_map_parser_base.config.image_config import ImageConfig
11
10
  from vacuum_map_parser_base.config.size import Size, Sizes
12
11
  from vacuum_map_parser_base.image_generator import ImageGenerator
13
12
  from vacuum_map_parser_base.map_data import MapData
14
- from vacuum_map_parser_roborock.image_parser import RoborockImageParser
15
13
  from vacuum_map_parser_roborock.map_data_parser import RoborockMapDataParser
16
14
 
17
15
  from roborock.exceptions import RoborockException
18
16
 
19
- from .room_colors import adjacency_aware_room_colors
20
-
21
17
  _LOGGER = logging.getLogger(__name__)
22
18
 
23
19
  DEFAULT_DRAWABLES = {
@@ -103,68 +99,16 @@ class MapParser:
103
99
  return ParsedMapData(image_content=img_byte_arr.getvalue(), map_data=parsed_map)
104
100
 
105
101
 
106
- class _AdjacencyAwareRoborockImageParser(RoborockImageParser):
107
- """Apply the shared adjacency color policy to V1 room cells."""
108
-
109
- def __init__(
110
- self,
111
- palette: ColorsPalette,
112
- image_config: ImageConfig,
113
- *,
114
- recolor_rooms: bool = True,
115
- ) -> None:
116
- super().__init__(palette, image_config)
117
- self._room_palette = palette
118
- self._base_room_colors = palette.cached_room_colors.copy()
119
- self._recolor_rooms = recolor_rooms
120
- self._palette_lock = threading.Lock()
121
-
122
- def parse(
123
- self,
124
- raw_data: bytes,
125
- width: int,
126
- height: int,
127
- carpet_map: set[int] | None,
128
- removed_map: set[int] | None = None,
129
- ):
130
- """Assign non-conflicting room colors before the V1 image pass."""
131
- with self._palette_lock:
132
- # cached_room_colors is a read-only property, so reset its dict in place.
133
- cached_room_colors = self._room_palette.cached_room_colors
134
- cached_room_colors.clear()
135
- cached_room_colors.update(self._base_room_colors)
136
-
137
- if self._recolor_rooms:
138
-
139
- def room_id(value: int) -> int | None:
140
- if value in (self.MAP_OUTSIDE, self.MAP_WALL, self.MAP_INSIDE, self.MAP_SCAN):
141
- return None
142
- return self._get_room_number(value) if value & 0x07 == 0x07 else None
143
-
144
- room_colors = adjacency_aware_room_colors(raw_data, width, self._room_palette, room_id)
145
- for number, color in room_colors.items():
146
- # ColorsPalette caches both forms for get_room_color(str | int).
147
- cached_room_colors[number] = color
148
- cached_room_colors[str(number)] = color
149
- return super().parse(raw_data, width, height, carpet_map, removed_map)
150
-
151
-
152
102
  def _create_map_data_parser(config: MapParserConfig) -> RoborockMapDataParser:
153
103
  """Create a RoborockMapDataParser based on the config entry."""
154
104
  palette, sizes, image_config = _create_rendering_components(config)
155
- parser = RoborockMapDataParser(
105
+ return RoborockMapDataParser(
156
106
  palette,
157
107
  sizes,
158
108
  config.drawables,
159
109
  image_config,
160
110
  [],
161
111
  )
162
- parser._image_parser = _AdjacencyAwareRoborockImageParser(
163
- palette,
164
- image_config,
165
- recolor_rooms=config.show_rooms,
166
- )
167
- return parser
168
112
 
169
113
 
170
114
  def _create_image_generator(
File without changes