pymammotion 0.4.27__py3-none-any.whl → 0.4.28__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.
@@ -280,7 +280,8 @@ class HashList(DataClassORJSONMixin):
280
280
  return []
281
281
 
282
282
  def update_plan(self, plan: Plan) -> None:
283
- self.plan[plan.plan_index] = plan
283
+ if plan.total_plan_num != 0:
284
+ self.plan[plan.plan_index] = plan
284
285
 
285
286
  def update(self, hash_data: NavGetCommData | SvgMessage) -> bool:
286
287
  """Update the map data."""
@@ -8,7 +8,7 @@ from pymammotion.utility.device_type import DeviceType
8
8
 
9
9
 
10
10
  class MessageVideo(AbstractMessage, ABC):
11
- async def send_order_msg_video(self, mul):
11
+ def send_order_msg_video(self, mul):
12
12
  luba_msg = LubaMsg(
13
13
  msgtype=MsgCmdType.MUL,
14
14
  msgattr=MsgAttr.REQ,
@@ -21,6 +21,7 @@ from pymammotion.event.event import DataEvent
21
21
  from pymammotion.mammotion.commands.mammotion_command import MammotionCommand
22
22
  from pymammotion.mammotion.devices.base import MammotionBaseDevice
23
23
  from pymammotion.proto import LubaMsg, has_field
24
+ from pymammotion.utility.constant.device_constant import NO_REQUEST_MODES
24
25
 
25
26
  _LOGGER = logging.getLogger(__name__)
26
27
 
@@ -228,7 +229,7 @@ class MammotionBaseCloudDevice(MammotionBaseDevice):
228
229
  # self.mqtt._mqtt_client.thing_on_thing_enable(None)
229
230
 
230
231
  async def _ble_sync(self) -> None:
231
- if self.stopped or self._mqtt.is_connected is False:
232
+ if self.stopped or self.mqtt.is_connected is False or self.state_manager.get_device().report_data.dev.sys_status in NO_REQUEST_MODES:
232
233
  return
233
234
 
234
235
  command_bytes = self._commands.send_todev_ble_sync(3)
@@ -213,6 +213,19 @@ class WorkMode:
213
213
  MODE_CHARGING_PAUSE = 39
214
214
 
215
215
 
216
+ NO_REQUEST_MODES = (
217
+ WorkMode.MODE_JOB_DRAW,
218
+ WorkMode.MODE_OBSTACLE_DRAW,
219
+ WorkMode.MODE_CHANNEL_DRAW,
220
+ WorkMode.MODE_ERASER_DRAW,
221
+ WorkMode.MODE_UPDATING,
222
+ WorkMode.MODE_EDIT_BOUNDARY,
223
+ WorkMode.MODE_UPDATING,
224
+ WorkMode.MODE_LOCK,
225
+ WorkMode.MODE_MANUAL_MOWING,
226
+ )
227
+
228
+
216
229
  def device_connection(connect: ConnectData) -> str:
217
230
  """Return string representation of device connection."""
218
231
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pymammotion
3
- Version: 0.4.27
3
+ Version: 0.4.28
4
4
  Summary:
5
5
  License: GPL-3.0
6
6
  Author: Michael Arthur
@@ -10,7 +10,8 @@ Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
10
10
  Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: 3.11
12
12
  Classifier: Programming Language :: Python :: 3.12
13
- Requires-Dist: aiohttp (>=3.9.1,<4.0.0)
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Requires-Dist: aiohttp (>=3.11.18,<4.0.0)
14
15
  Requires-Dist: alibabacloud-apigateway-util (>=0.0.2,<0.0.3)
15
16
  Requires-Dist: alibabacloud-iot-api-gateway (>=0.0.4,<0.0.5)
16
17
  Requires-Dist: alicloud-gateway-iot (>=1.0.0,<2.0.0)
@@ -34,7 +34,7 @@ pymammotion/data/model/enums.py,sha256=EpKmO8yVUZyEnTY4yH0DMMVKYNQM42zpW1maUu0i3
34
34
  pymammotion/data/model/excute_boarder_params.py,sha256=9CpUqrygcle1C_1hDW-riLmm4map4ZbE842NXjcomEI,1394
35
35
  pymammotion/data/model/execute_boarder.py,sha256=9rd_h4fbcsXxgnLOd2rO2hWyD1abnTGc47QTEpp8DD0,1103
36
36
  pymammotion/data/model/generate_route_information.py,sha256=pgjqURwmEIzjCMbl4Z5JDDkfxyUAdry1KhPfyir3-mU,777
37
- pymammotion/data/model/hash_list.py,sha256=kB2p6OWIouEL2gD67JFxQSWkzUrG33-Kcg84E84ZZKg,12083
37
+ pymammotion/data/model/hash_list.py,sha256=V1rHovMViWD9bUWcgKEyQ0xkdtgrEEvTjyOOCNIhRJw,12124
38
38
  pymammotion/data/model/location.py,sha256=PwmITejfI4pm7PI4rzqSuuHetwle6IJr_CV95435s2M,871
39
39
  pymammotion/data/model/mowing_modes.py,sha256=bBbRhDe-imZsXDR0TN0emQv6BiIkAlXJFb5isPEjgDk,1078
40
40
  pymammotion/data/model/plan.py,sha256=wGlcJT-w0EdbWK9jI838TCOm_MABFg7WoR664VB8RWg,2880
@@ -64,14 +64,14 @@ pymammotion/mammotion/commands/messages/navigation.py,sha256=rvKxBAeH1fjLyabgpYX
64
64
  pymammotion/mammotion/commands/messages/network.py,sha256=oO3PK6TKY563Jw-ZRpNmIzGCgkuk2SQm0BhcDL5claM,7595
65
65
  pymammotion/mammotion/commands/messages/ota.py,sha256=ZHLQRE5ETvLEIu2Vbj3m2XidIWT8uorYSHxkZd3pkRc,1376
66
66
  pymammotion/mammotion/commands/messages/system.py,sha256=ScXlurQAy8Z9WntXBRrxThnsVHFWfiNNltEWh-SVcvQ,14811
67
- pymammotion/mammotion/commands/messages/video.py,sha256=YQGIxKx2prA0X01ovNmMkX6YfjuQKlq1KF5z_eRwfws,1195
67
+ pymammotion/mammotion/commands/messages/video.py,sha256=Vn5F65ojr3chePBtfYjOg90EHmZnZyA-1t6U3XB1m6A,1189
68
68
  pymammotion/mammotion/control/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
69
69
  pymammotion/mammotion/control/joystick.py,sha256=QfBVxM_gxpWsZAGO90whtgxCI2tIZ3TTad9wHIPsU9s,5640
70
70
  pymammotion/mammotion/devices/__init__.py,sha256=f2qQFPgLGmV85W2hSlMUh5BYuht9o_Ar_JEAAMD4fsE,102
71
71
  pymammotion/mammotion/devices/base.py,sha256=FeESaqNcHqQ_4Ew8Hq2BCQQZQeS9M8lOvw8zBJLka2k,12435
72
72
  pymammotion/mammotion/devices/mammotion.py,sha256=ffzwsQqO9zDwMElWYMsxi-J5_rGaOOOHdAm5D3DXprc,13671
73
73
  pymammotion/mammotion/devices/mammotion_bluetooth.py,sha256=nIuOW22Une1Zk1tN691jGUv_eqQJA8K2LuC9ohPUHAk,19612
74
- pymammotion/mammotion/devices/mammotion_cloud.py,sha256=X9glsI1oxN_PyK7dQdadnK-CA2FvihEsDQk-luu4tVs,13898
74
+ pymammotion/mammotion/devices/mammotion_cloud.py,sha256=pQiwL9MT9q4guay2sY4-v2TtiQMAEpmsPUTnBJvMDvI,14053
75
75
  pymammotion/mqtt/__init__.py,sha256=Ocs5e-HLJvTuDpVXyECEsWIvwsUaxzj7lZ9mSYutNDY,105
76
76
  pymammotion/mqtt/linkkit/__init__.py,sha256=ENgc3ynd2kd9gMQR3-kgmCu6Ed9Y6XCIzU0zFReUlkk,80
77
77
  pymammotion/mqtt/linkkit/h2client.py,sha256=w9Nvi_nY4CLD_fw-pHtYChwQf7e2TiAGeqkY_sF4cf0,19659
@@ -111,7 +111,7 @@ pymammotion/proto/mctrl_sys_pb2.py,sha256=nqM-QBMR39B9Txl0mp5yecmDQva_3ZgDEvPyRE
111
111
  pymammotion/proto/mctrl_sys_pb2.pyi,sha256=DSi0N3gqyn6iMxw1us8SGN71Is5O7Po0rEiCtQiDR0w,40131
112
112
  pymammotion/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
113
113
  pymammotion/utility/constant/__init__.py,sha256=tcY0LDeD-qDDHx2LKt55KOyv9ZI0UfCNM6fknLCmm8s,110
114
- pymammotion/utility/constant/device_constant.py,sha256=6uTZReQxMJvZxgHuJWAPYR9pQmK-VNz4FwJZJBjtIao,7906
114
+ pymammotion/utility/constant/device_constant.py,sha256=g6QWBaP85h6PNxmk1cOqtP7Hv7T5Nuxljn6JWPd6buE,8201
115
115
  pymammotion/utility/conversions.py,sha256=v3YICy0zZwwBBzrUZgabI7GRfiDBnkiAX2qdtk3NxOY,89
116
116
  pymammotion/utility/datatype_converter.py,sha256=SPM_HuaaD_XOawlqEnA8qlRRZXGba3WjA8kGOZgeBlQ,4284
117
117
  pymammotion/utility/device_config.py,sha256=65Jl73-dQDs4yMXwYXZW_bsgSvnwpFBZDu8OQPEIgx8,27877
@@ -120,7 +120,7 @@ pymammotion/utility/map.py,sha256=GYscVMg2cX3IPlNpCBNHDW0S55yS1WGRf1iHnNZ7TfQ,22
120
120
  pymammotion/utility/movement.py,sha256=N75oAoAgFydqoaOedYIxGUHmuTCtPzAOtb-d_29tpfI,615
121
121
  pymammotion/utility/periodic.py,sha256=MbeSb9cfhxzYmdT_RiE0dZe3H9IfbQW_zSqhmSX2RUc,3321
122
122
  pymammotion/utility/rocker_util.py,sha256=6tX7sS87qoQC_tsxbx3NLL-HgS08wtzXiZkhDiz7uo0,7179
123
- pymammotion-0.4.27.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
124
- pymammotion-0.4.27.dist-info/METADATA,sha256=ZuztHQYW7WstBlZpX4FbfLNDV21OrcYf8g5-15WH9S4,3834
125
- pymammotion-0.4.27.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
126
- pymammotion-0.4.27.dist-info/RECORD,,
123
+ pymammotion-0.4.28.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
124
+ pymammotion-0.4.28.dist-info/METADATA,sha256=n6hQzVXnfLB77khw4mTmDPpitQjwU_oYonDB9fkIHDE,3887
125
+ pymammotion-0.4.28.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
126
+ pymammotion-0.4.28.dist-info/RECORD,,