pymammotion 0.4.50__tar.gz → 0.4.51__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 (129) hide show
  1. {pymammotion-0.4.50 → pymammotion-0.4.51}/PKG-INFO +1 -1
  2. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/mqtt/event.py +9 -1
  3. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/devices/mammotion.py +11 -11
  4. {pymammotion-0.4.50 → pymammotion-0.4.51}/pyproject.toml +2 -2
  5. {pymammotion-0.4.50 → pymammotion-0.4.51}/LICENSE +0 -0
  6. {pymammotion-0.4.50 → pymammotion-0.4.51}/README.md +0 -0
  7. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/__init__.py +0 -0
  8. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/aliyun/__init__.py +0 -0
  9. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/aliyun/client.py +0 -0
  10. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/aliyun/cloud_gateway.py +0 -0
  11. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/aliyun/model/aep_response.py +0 -0
  12. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/aliyun/model/connect_response.py +0 -0
  13. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/aliyun/model/dev_by_account_response.py +0 -0
  14. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/aliyun/model/login_by_oauth_response.py +0 -0
  15. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/aliyun/model/regions_response.py +0 -0
  16. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/aliyun/model/session_by_authcode_response.py +0 -0
  17. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/aliyun/regions.py +0 -0
  18. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/aliyun/tea/core.py +0 -0
  19. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/aliyun/tmp_constant.py +0 -0
  20. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/bluetooth/__init__.py +0 -0
  21. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/bluetooth/ble.py +0 -0
  22. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/bluetooth/ble_message.py +0 -0
  23. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/bluetooth/const.py +0 -0
  24. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/bluetooth/data/__init__.py +0 -0
  25. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/bluetooth/data/convert.py +0 -0
  26. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/bluetooth/data/framectrldata.py +0 -0
  27. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/bluetooth/data/notifydata.py +0 -0
  28. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/bluetooth/model/__init__.py +0 -0
  29. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/bluetooth/model/atomic_integer.py +0 -0
  30. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/const.py +0 -0
  31. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/__init__.py +0 -0
  32. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/__init__.py +0 -0
  33. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/account.py +0 -0
  34. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/device.py +0 -0
  35. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/device_config.py +0 -0
  36. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/device_info.py +0 -0
  37. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/device_limits.py +0 -0
  38. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/enums.py +0 -0
  39. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/excute_boarder_params.py +0 -0
  40. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/execute_boarder.py +0 -0
  41. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/generate_route_information.py +0 -0
  42. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/hash_list.py +0 -0
  43. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/location.py +0 -0
  44. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/mowing_modes.py +0 -0
  45. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/rapid_state.py +0 -0
  46. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/raw_data.py +0 -0
  47. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/region_data.py +0 -0
  48. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/report_info.py +0 -0
  49. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/model/work.py +0 -0
  50. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/mqtt/__init__.py +0 -0
  51. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/mqtt/properties.py +0 -0
  52. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/mqtt/status.py +0 -0
  53. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/data/state_manager.py +0 -0
  54. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/event/__init__.py +0 -0
  55. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/event/event.py +0 -0
  56. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/http/__init__.py +0 -0
  57. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/http/_init_.py +0 -0
  58. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/http/encryption.py +0 -0
  59. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/http/http.py +0 -0
  60. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/http/model/__init__.py +0 -0
  61. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/http/model/camera_stream.py +0 -0
  62. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/http/model/http.py +0 -0
  63. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/__init__.py +0 -0
  64. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/commands/__init__.py +0 -0
  65. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/commands/abstract_message.py +0 -0
  66. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/commands/mammotion_command.py +0 -0
  67. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/commands/messages/__init__.py +0 -0
  68. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/commands/messages/driver.py +0 -0
  69. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/commands/messages/media.py +0 -0
  70. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/commands/messages/navigation.py +0 -0
  71. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/commands/messages/network.py +0 -0
  72. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/commands/messages/ota.py +0 -0
  73. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/commands/messages/system.py +0 -0
  74. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/commands/messages/video.py +0 -0
  75. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/control/__init__.py +0 -0
  76. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/control/joystick.py +0 -0
  77. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/devices/__init__.py +0 -0
  78. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/devices/base.py +0 -0
  79. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/devices/mammotion_bluetooth.py +0 -0
  80. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mammotion/devices/mammotion_cloud.py +0 -0
  81. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mqtt/__init__.py +0 -0
  82. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mqtt/linkkit/__init__.py +0 -0
  83. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mqtt/linkkit/h2client.py +0 -0
  84. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mqtt/linkkit/linkkit.py +0 -0
  85. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mqtt/mammotion_future.py +0 -0
  86. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/mqtt/mammotion_mqtt.py +0 -0
  87. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/__init__.py +0 -0
  88. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/basestation.proto +0 -0
  89. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/basestation_pb2.py +0 -0
  90. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/basestation_pb2.pyi +0 -0
  91. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/common.proto +0 -0
  92. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/common_pb2.py +0 -0
  93. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/common_pb2.pyi +0 -0
  94. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/dev_net.proto +0 -0
  95. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/dev_net_pb2.py +0 -0
  96. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/dev_net_pb2.pyi +0 -0
  97. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/luba_msg.proto +0 -0
  98. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/luba_msg_pb2.py +0 -0
  99. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/luba_msg_pb2.pyi +0 -0
  100. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/luba_mul.proto +0 -0
  101. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/luba_mul_pb2.py +0 -0
  102. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/luba_mul_pb2.pyi +0 -0
  103. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/mctrl_driver.proto +0 -0
  104. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/mctrl_driver_pb2.py +0 -0
  105. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/mctrl_driver_pb2.pyi +0 -0
  106. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/mctrl_nav.proto +0 -0
  107. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/mctrl_nav_pb2.py +0 -0
  108. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/mctrl_nav_pb2.pyi +0 -0
  109. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/mctrl_ota.proto +0 -0
  110. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/mctrl_ota_pb2.py +0 -0
  111. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/mctrl_ota_pb2.pyi +0 -0
  112. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/mctrl_pept.proto +0 -0
  113. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/mctrl_pept_pb2.py +0 -0
  114. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/mctrl_pept_pb2.pyi +0 -0
  115. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/mctrl_sys.proto +0 -0
  116. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/mctrl_sys_pb2.py +0 -0
  117. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/proto/mctrl_sys_pb2.pyi +0 -0
  118. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/py.typed +0 -0
  119. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/utility/constant/__init__.py +0 -0
  120. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/utility/constant/device_constant.py +0 -0
  121. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/utility/conversions.py +0 -0
  122. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/utility/datatype_converter.py +0 -0
  123. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/utility/device_config.py +0 -0
  124. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/utility/device_type.py +0 -0
  125. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/utility/map.py +0 -0
  126. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/utility/movement.py +0 -0
  127. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/utility/mur_mur_hash.py +0 -0
  128. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/utility/periodic.py +0 -0
  129. {pymammotion-0.4.50 → pymammotion-0.4.51}/pymammotion/utility/rocker_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pymammotion
3
- Version: 0.4.50
3
+ Version: 0.4.51
4
4
  Summary:
5
5
  License: GPL-3.0
6
6
  Author: Michael Arthur
@@ -142,6 +142,13 @@ class DeviceConfigurationRequestEvent(GeneralParams):
142
142
  value: DeviceConfigurationRequestValue
143
143
 
144
144
 
145
+ @dataclass
146
+ class DeviceLogProgressEventParams(GeneralParams):
147
+ identifier: Literal["device_log_progress_event"]
148
+ type: Literal["info"]
149
+ value: DeviceNotificationEventValue
150
+
151
+
145
152
  @dataclass
146
153
  class ThingEventMessage(DataClassORJSONMixin):
147
154
  method: Literal["thing.events", "thing.properties"]
@@ -157,7 +164,6 @@ class ThingEventMessage(DataClassORJSONMixin):
157
164
  params_dict = payload.get("params", {})
158
165
  version = payload.get("version")
159
166
 
160
- # Determina quale classe usare per i parametri
161
167
  identifier = params_dict.get("identifier")
162
168
  if identifier is None:
163
169
  """Request configuration event."""
@@ -168,6 +174,8 @@ class ThingEventMessage(DataClassORJSONMixin):
168
174
  params_obj = DeviceWarningEventParams.from_dict(params_dict)
169
175
  elif identifier == "device_biz_req_event":
170
176
  params_obj = DeviceBizReqEventParams.from_dict(params_dict)
177
+ elif identifier == "device_log_progress_event":
178
+ params_obj = DeviceLogProgressEventParams.from_dict(params_dict)
171
179
  elif identifier == "device_config_req_event":
172
180
  params_obj = payload.get("params", {})
173
181
  elif (
@@ -33,7 +33,7 @@ class MammotionMixedDeviceManager:
33
33
  iot_id: str,
34
34
  cloud_client: CloudIOTGateway,
35
35
  mammotion_http: MammotionHTTP,
36
- cloud_device: Device | None = None,
36
+ cloud_device: Device,
37
37
  ble_device: BLEDevice | None = None,
38
38
  mqtt: MammotionCloud | None = None,
39
39
  preference: ConnectionPreference = ConnectionPreference.BLUETOOTH,
@@ -45,8 +45,9 @@ class MammotionMixedDeviceManager:
45
45
  self.cloud_client = cloud_client
46
46
  self._state_manager = StateManager(MowingDevice())
47
47
  self._state_manager.get_device().name = name
48
- self.add_ble(cloud_device, ble_device)
49
- self.add_cloud(cloud_device, mqtt)
48
+ self._device: Device = cloud_device
49
+ self.add_ble(ble_device)
50
+ self.add_cloud(mqtt)
50
51
  self.mammotion_http = mammotion_http
51
52
  self.preference = preference
52
53
  self._state_manager.preference = preference
@@ -71,17 +72,16 @@ class MammotionMixedDeviceManager:
71
72
  else:
72
73
  return not self.ble().command_queue.empty()
73
74
 
74
- def add_ble(self, cloud_device: Device, ble_device: BLEDevice) -> None:
75
+ def add_ble(self, ble_device: BLEDevice) -> None:
75
76
  if ble_device is not None:
76
77
  self._ble_device = MammotionBaseBLEDevice(
77
- state_manager=self._state_manager, cloud_device=cloud_device, device=ble_device
78
+ state_manager=self._state_manager, cloud_device=self._device, device=ble_device
78
79
  )
79
80
 
80
- def add_cloud(self, cloud_device: Device, mqtt: MammotionCloud) -> None:
81
- if cloud_device is not None:
82
- self._cloud_device = MammotionBaseCloudDevice(
83
- mqtt, cloud_device=cloud_device, state_manager=self._state_manager
84
- )
81
+ def add_cloud(self, mqtt: MammotionCloud) -> None:
82
+ self._cloud_device = MammotionBaseCloudDevice(
83
+ mqtt, cloud_device=self._device, state_manager=self._state_manager
84
+ )
85
85
 
86
86
  def replace_cloud(self, cloud_device: MammotionBaseCloudDevice) -> None:
87
87
  self._cloud_device = cloud_device
@@ -231,7 +231,7 @@ class Mammotion:
231
231
  self.device_manager.add_device(mixed_device)
232
232
  elif device.deviceName.startswith(("Luba-", "Yuka-")) and mower_device:
233
233
  if mower_device.cloud() is None:
234
- mower_device.add_cloud(cloud_device=device, mqtt=mqtt_client)
234
+ mower_device.add_cloud(mqtt=mqtt_client)
235
235
  else:
236
236
  mower_device.replace_mqtt(mqtt_client)
237
237
 
@@ -4,7 +4,7 @@ build-backend = "poetry.core.masonry.api"
4
4
 
5
5
  [project]
6
6
  name = "pymammotion"
7
- version = "0.4.50"
7
+ version = "0.4.51"
8
8
  license = "GPL-3.0"
9
9
  description = ""
10
10
  readme = "README.md"
@@ -66,7 +66,7 @@ autotyping = "^24.3.0"
66
66
  ipython = "^9.0.2"
67
67
 
68
68
  [tool.bumpver]
69
- current_version = "0.4.50"
69
+ current_version = "0.4.51"
70
70
  version_pattern = "MAJOR.MINOR.PATCH"
71
71
  commit_message = "Bump version {old_version} -> {new_version}"
72
72
  commit = true
File without changes
File without changes