pymammotion 0.5.25__py3-none-any.whl → 0.5.27__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.

Potentially problematic release.


This version of pymammotion might be problematic. Click here for more details.

@@ -19,18 +19,22 @@ class DeviceNonWorkingHours(DataClassORJSONMixin):
19
19
  start_time: str = ""
20
20
  end_time: str = ""
21
21
 
22
+
22
23
  @dataclass
23
24
  class LampInfo(DataClassORJSONMixin):
24
25
  lamp_bright: int = 0
25
26
  manual_light: bool = False
26
27
  night_light: bool = False
27
28
 
29
+
28
30
  @dataclass
29
31
  class MowerInfo(DataClassORJSONMixin):
30
32
  blade_status: bool = False
31
33
  rain_detection: bool = False
32
34
  traversal_mode: int = 0
33
35
  turning_mode: int = 0
36
+ blade_mode: int = 0
37
+ blade_rpm: int = 0
34
38
  side_led: SideLight = field(default_factory=SideLight)
35
39
  collector_installation_status: bool = False
36
40
  model: str = ""
@@ -18,6 +18,8 @@ from pymammotion.data.mqtt.status import ThingStatusMessage
18
18
  from pymammotion.event.event import DataEvent
19
19
  from pymammotion.proto import (
20
20
  AppGetAllAreaHashName,
21
+ AppGetCutterWorkMode,
22
+ AppSetCutterWorkMode,
21
23
  DeviceFwInfo,
22
24
  DeviceProductTypeInfoT,
23
25
  DrvDevInfoResp,
@@ -254,6 +256,15 @@ class StateManager:
254
256
 
255
257
  def _update_driver_data(self, message) -> None:
256
258
  """Update driver data."""
259
+ driver_msg = betterproto2.which_one_of(message.driver, "SubDrvMsg")
260
+ match driver_msg[0]:
261
+ case "current_cutter_mode":
262
+ cutter_work_mode: AppGetCutterWorkMode = driver_msg[1]
263
+ self._device.mower_state.cutter_mode = cutter_work_mode.current_cutter_mode
264
+ self._device.mower_state.cutter_rpm = cutter_work_mode.current_cutter_rpm
265
+ case "cutter_mode_ctrl_by_hand":
266
+ cutter_work_mode: AppSetCutterWorkMode = driver_msg[1]
267
+ self._device.mower_state.cutter_mode = cutter_work_mode.cutter_mode
257
268
 
258
269
  def _update_net_data(self, message) -> None:
259
270
  """Update network data."""
@@ -276,7 +287,7 @@ class StateManager:
276
287
  """Media and video states."""
277
288
  mul_msg = betterproto2.which_one_of(message.mul, "SubMul")
278
289
  match mul_msg[0]:
279
- case "Getlamprsp":
290
+ case "get_lamp_rsp":
280
291
  lamp_resp: Getlamprsp = mul_msg[1]
281
292
  self._device.mower_state.lamp_info.lamp_bright = lamp_resp.lamp_bright
282
293
  if lamp_resp.get_ids in (1126, 1127):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pymammotion
3
- Version: 0.5.25
3
+ Version: 0.5.27
4
4
  Summary:
5
5
  License: GPL-3.0
6
6
  Author: Michael Arthur
@@ -28,7 +28,7 @@ pymammotion/data/model/__init__.py,sha256=UVRbSXGOjYnWv30ZEvzT5QRpdVqAbyeToo-t0Q
28
28
  pymammotion/data/model/account.py,sha256=vJM-KTf2q6eBfVC-UlNHBSmJvqHiCawZ40vnuhXhaz8,140
29
29
  pymammotion/data/model/device.py,sha256=2qi0Fv5F_wUZmCxiqDaPjqwz5isKGNODw7ynOfzrLLE,8290
30
30
  pymammotion/data/model/device_config.py,sha256=DTnoePsMwJrKVXqGeKvbZQjs8Zab61U5T3b-c-w0WlM,2654
31
- pymammotion/data/model/device_info.py,sha256=Et7WtUnoDEUOGKvHSoPyJJHOWKoTYnKMsvak36Of_1w,1341
31
+ pymammotion/data/model/device_info.py,sha256=vjqHlRbHOyEkkaIoTwAp14CZMY5R5o609SbThfOO-gg,1390
32
32
  pymammotion/data/model/device_limits.py,sha256=m8HdxD-RaAkPm7jHYb9GLxMEH9IfzBPz0ZypmsLnId4,1946
33
33
  pymammotion/data/model/enums.py,sha256=NLImBbeqwbwBLbABC_NbBzk4M8OxhUTcto6QcGZVNOc,1707
34
34
  pymammotion/data/model/errors.py,sha256=lBHq2cE8P5fc6Q4JXgrkJXzFKTWgxsoPOyMlTaJWbWk,396
@@ -47,7 +47,7 @@ pymammotion/data/mqtt/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdr
47
47
  pymammotion/data/mqtt/event.py,sha256=pj65y93ACcTzUIJkHZC6s_pRFBYaNMSU1wyYRhiGvw4,5571
48
48
  pymammotion/data/mqtt/properties.py,sha256=laud9rE-JqBHWKZ44Dov2yMkp3Ld8ghpBwlZ4_3g9uQ,4321
49
49
  pymammotion/data/mqtt/status.py,sha256=qwZPevIzScePA_25nbRWMN7IhU-MhhtIl7fcZKAJfIc,1102
50
- pymammotion/data/state_manager.py,sha256=i9TSTGQeDtUCgUWuunQI_tbm76x0F5L8CkCZ0E_ixms,13565
50
+ pymammotion/data/state_manager.py,sha256=FU9F_UMGyMBRJvbBSoW-uQaVHWE2XA7qrY1R5011qG8,14217
51
51
  pymammotion/event/__init__.py,sha256=mgATR6vPHACNQ-0zH5fi7NdzeTCDV1CZyaWPmtUusi8,115
52
52
  pymammotion/event/event.py,sha256=Z8WYxv_-5khEqKjL1w4c_Et24G1Kdm8QFuIBylD3h3U,3021
53
53
  pymammotion/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -130,7 +130,7 @@ pymammotion/utility/movement.py,sha256=N75oAoAgFydqoaOedYIxGUHmuTCtPzAOtb-d_29tp
130
130
  pymammotion/utility/mur_mur_hash.py,sha256=xEfOZVbqRawJj66eLgtnZ85OauDR47oIPr29OHelzPI,4468
131
131
  pymammotion/utility/periodic.py,sha256=MbeSb9cfhxzYmdT_RiE0dZe3H9IfbQW_zSqhmSX2RUc,3321
132
132
  pymammotion/utility/rocker_util.py,sha256=6tX7sS87qoQC_tsxbx3NLL-HgS08wtzXiZkhDiz7uo0,7179
133
- pymammotion-0.5.25.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
134
- pymammotion-0.5.25.dist-info/METADATA,sha256=1AjDIXye41kca6Kz5H2FQldX12EGmu6vw8SvLUK0eqY,3872
135
- pymammotion-0.5.25.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
136
- pymammotion-0.5.25.dist-info/RECORD,,
133
+ pymammotion-0.5.27.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
134
+ pymammotion-0.5.27.dist-info/METADATA,sha256=--BT0tjha-LT_KPXu4eLFQygqGSUdMJT7vJTORZgx_s,3872
135
+ pymammotion-0.5.27.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
136
+ pymammotion-0.5.27.dist-info/RECORD,,