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

@@ -71,18 +71,18 @@ class StateManager:
71
71
  """Set device."""
72
72
  self._device = device
73
73
 
74
- def properties(self, thing_properties: ThingPropertiesMessage) -> None:
74
+ async def properties(self, thing_properties: ThingPropertiesMessage) -> None:
75
75
  # TODO update device based off thing properties
76
76
  self._device.mqtt_properties = thing_properties
77
- self.on_properties_callback(thing_properties)
77
+ await self.on_properties_callback(thing_properties)
78
78
 
79
- def status(self, thing_status: ThingStatusMessage) -> None:
79
+ async def status(self, thing_status: ThingStatusMessage) -> None:
80
80
  if not self._device.online:
81
81
  self._device.online = True
82
82
  self._device.status_properties = thing_status
83
83
  if self._device.mower_state.product_key == "":
84
84
  self._device.mower_state.product_key = thing_status.params.productKey
85
- self.on_status_callback(thing_status)
85
+ await self.on_status_callback(thing_status)
86
86
 
87
87
  @property
88
88
  def online(self) -> bool:
@@ -273,7 +273,7 @@ class Mammotion:
273
273
  def get_or_create_device_by_name(self, device: Device, mqtt_client: MammotionCloud) -> MammotionMixedDeviceManager:
274
274
  if mow_device := self.device_manager.get_device(device.deviceName):
275
275
  return mow_device
276
- return MammotionMixedDeviceManager(
276
+ mow_device = MammotionMixedDeviceManager(
277
277
  name=device.deviceName,
278
278
  iot_id=device.iotId,
279
279
  cloud_client=mqtt_client.cloud_client,
@@ -281,6 +281,8 @@ class Mammotion:
281
281
  cloud_device=device,
282
282
  ble_device=None,
283
283
  )
284
+ self.device_manager.add_device(mow_device)
285
+ return mow_device
284
286
 
285
287
  async def send_command(self, name: str, key: str):
286
288
  """Send a command to the device."""
@@ -310,12 +310,12 @@ class MammotionBaseCloudDevice(MammotionBaseDevice):
310
310
  async def _parse_message_properties_for_device(self, event: ThingPropertiesMessage) -> None:
311
311
  if event.params.iotId != self.iot_id:
312
312
  return
313
- self.state_manager.properties(event)
313
+ await self.state_manager.properties(event)
314
314
 
315
315
  async def _parse_message_status_for_device(self, status: ThingStatusMessage) -> None:
316
316
  if status.params.iotId != self.iot_id:
317
317
  return
318
- self.state_manager.status(status)
318
+ await self.state_manager.status(status)
319
319
 
320
320
  async def _parse_message_for_device(self, event: ThingEventMessage) -> None:
321
321
  params = event.params
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pymammotion
3
- Version: 0.5.1
3
+ Version: 0.5.3
4
4
  Summary:
5
5
  License: GPL-3.0
6
6
  Author: Michael Arthur
@@ -45,7 +45,7 @@ pymammotion/data/mqtt/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdr
45
45
  pymammotion/data/mqtt/event.py,sha256=C8TGRJs9wNxwg9FFmr9qcsweDnl5v5kcVcwiHxtYzJw,5384
46
46
  pymammotion/data/mqtt/properties.py,sha256=FMZHDwKO-vZeaMP0ewVZ22wgBVhi244l2ZAWb9wFANQ,4259
47
47
  pymammotion/data/mqtt/status.py,sha256=SgdrpE1Uldb01hybO6hYhgU1Sp1eILghC0UhMZMHrdQ,1091
48
- pymammotion/data/state_manager.py,sha256=Y3doVfn-ahzSZoC-0h0fMAyyGfrixDPMtXOcyNONnHE,11484
48
+ pymammotion/data/state_manager.py,sha256=Q0WTI-ehXH50bQEroXibzGK5MLRx5OThGZ86NNCPJjc,11508
49
49
  pymammotion/event/__init__.py,sha256=mgATR6vPHACNQ-0zH5fi7NdzeTCDV1CZyaWPmtUusi8,115
50
50
  pymammotion/event/event.py,sha256=Z8WYxv_-5khEqKjL1w4c_Et24G1Kdm8QFuIBylD3h3U,3021
51
51
  pymammotion/http/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -72,9 +72,9 @@ pymammotion/mammotion/control/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5N
72
72
  pymammotion/mammotion/control/joystick.py,sha256=QfBVxM_gxpWsZAGO90whtgxCI2tIZ3TTad9wHIPsU9s,5640
73
73
  pymammotion/mammotion/devices/__init__.py,sha256=f2qQFPgLGmV85W2hSlMUh5BYuht9o_Ar_JEAAMD4fsE,102
74
74
  pymammotion/mammotion/devices/base.py,sha256=qDh7P7fnakDKgxTqjNLcQg8eE-6gHJaXAV0ONjhy_IU,12038
75
- pymammotion/mammotion/devices/mammotion.py,sha256=iXXV_jqv8w35ugaMRev3lEp_oKJTob54LZ6ZF659h-Y,15087
75
+ pymammotion/mammotion/devices/mammotion.py,sha256=dvFNLJvYS_Fu3JFkrJE3ljhECzewNJYMIPGuTAeFYHY,15170
76
76
  pymammotion/mammotion/devices/mammotion_bluetooth.py,sha256=dSDw8xLUfAU2c9vKX65w87Rm2E78284WjJ72CKniPt4,19349
77
- pymammotion/mammotion/devices/mammotion_cloud.py,sha256=YvBtuYoWPaNKrcDQWS2pj2lxhuJqmhDUWb8epQUCeXE,14816
77
+ pymammotion/mammotion/devices/mammotion_cloud.py,sha256=sj13Z08mhuinsAExSlZ1f_u8FWh8OH43Lt2hzzfvNdI,14828
78
78
  pymammotion/mqtt/__init__.py,sha256=Ocs5e-HLJvTuDpVXyECEsWIvwsUaxzj7lZ9mSYutNDY,105
79
79
  pymammotion/mqtt/linkkit/__init__.py,sha256=ENgc3ynd2kd9gMQR3-kgmCu6Ed9Y6XCIzU0zFReUlkk,80
80
80
  pymammotion/mqtt/linkkit/h2client.py,sha256=w9Nvi_nY4CLD_fw-pHtYChwQf7e2TiAGeqkY_sF4cf0,19659
@@ -124,7 +124,7 @@ pymammotion/utility/movement.py,sha256=N75oAoAgFydqoaOedYIxGUHmuTCtPzAOtb-d_29tp
124
124
  pymammotion/utility/mur_mur_hash.py,sha256=xEfOZVbqRawJj66eLgtnZ85OauDR47oIPr29OHelzPI,4468
125
125
  pymammotion/utility/periodic.py,sha256=MbeSb9cfhxzYmdT_RiE0dZe3H9IfbQW_zSqhmSX2RUc,3321
126
126
  pymammotion/utility/rocker_util.py,sha256=6tX7sS87qoQC_tsxbx3NLL-HgS08wtzXiZkhDiz7uo0,7179
127
- pymammotion-0.5.1.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
128
- pymammotion-0.5.1.dist-info/METADATA,sha256=xxLNaAy_fpnXzUHLfWVbN5Ts9VMkfKiPeDuc_OtGhPo,3870
129
- pymammotion-0.5.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
130
- pymammotion-0.5.1.dist-info/RECORD,,
127
+ pymammotion-0.5.3.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
128
+ pymammotion-0.5.3.dist-info/METADATA,sha256=fLIBc3Dc77RdBkhnFmm_FPUWIErTi8Pg6bNxrwiH768,3870
129
+ pymammotion-0.5.3.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
130
+ pymammotion-0.5.3.dist-info/RECORD,,