pymammotion 0.2.59__tar.gz → 0.2.61__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 (125) hide show
  1. {pymammotion-0.2.59 → pymammotion-0.2.61}/PKG-INFO +1 -1
  2. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/aliyun/cloud_gateway.py +0 -1
  3. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/model/device.py +3 -1
  4. pymammotion-0.2.61/pymammotion/data/model/device_info.py +25 -0
  5. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/model/report_info.py +14 -0
  6. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/mqtt/event.py +16 -0
  7. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/state_manager.py +15 -1
  8. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/devices/mammotion_cloud.py +6 -2
  9. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_nav.proto +2 -2
  10. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_nav.py +2 -2
  11. {pymammotion-0.2.59 → pymammotion-0.2.61}/pyproject.toml +3 -3
  12. {pymammotion-0.2.59 → pymammotion-0.2.61}/LICENSE +0 -0
  13. {pymammotion-0.2.59 → pymammotion-0.2.61}/README.md +0 -0
  14. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/__init__.py +0 -0
  15. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/aliyun/__init__.py +0 -0
  16. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/aliyun/cloud_service.py +0 -0
  17. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/aliyun/model/aep_response.py +0 -0
  18. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/aliyun/model/connect_response.py +0 -0
  19. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/aliyun/model/dev_by_account_response.py +0 -0
  20. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/aliyun/model/login_by_oauth_response.py +0 -0
  21. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/aliyun/model/regions_response.py +0 -0
  22. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/aliyun/model/session_by_authcode_response.py +0 -0
  23. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/aliyun/model/stream_subscription_response.py +0 -0
  24. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/aliyun/tmp_constant.py +0 -0
  25. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/bluetooth/__init__.py +0 -0
  26. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/bluetooth/ble.py +0 -0
  27. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/bluetooth/ble_message.py +0 -0
  28. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/bluetooth/const.py +0 -0
  29. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/bluetooth/data/__init__.py +0 -0
  30. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/bluetooth/data/convert.py +0 -0
  31. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/bluetooth/data/framectrldata.py +0 -0
  32. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/bluetooth/data/notifydata.py +0 -0
  33. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/const.py +0 -0
  34. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/__init__.py +0 -0
  35. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/model/__init__.py +0 -0
  36. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/model/account.py +0 -0
  37. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/model/device_config.py +0 -0
  38. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/model/enums.py +0 -0
  39. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/model/excute_boarder_params.py +0 -0
  40. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/model/execute_boarder.py +0 -0
  41. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/model/generate_route_information.py +0 -0
  42. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/model/hash_list.py +0 -0
  43. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/model/location.py +0 -0
  44. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/model/mowing_modes.py +0 -0
  45. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/model/plan.py +0 -0
  46. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/model/rapid_state.py +0 -0
  47. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/model/region_data.py +0 -0
  48. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/mqtt/__init__.py +0 -0
  49. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/mqtt/properties.py +0 -0
  50. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/data/mqtt/status.py +0 -0
  51. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/event/__init__.py +0 -0
  52. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/event/event.py +0 -0
  53. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/http/_init_.py +0 -0
  54. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/http/http.py +0 -0
  55. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/http/model/http.py +0 -0
  56. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/__init__.py +0 -0
  57. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/commands/__init__.py +0 -0
  58. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/commands/abstract_message.py +0 -0
  59. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/commands/mammotion_command.py +0 -0
  60. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/commands/messages/__init__.py +0 -0
  61. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/commands/messages/driver.py +0 -0
  62. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/commands/messages/media.py +0 -0
  63. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/commands/messages/navigation.py +0 -0
  64. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/commands/messages/network.py +0 -0
  65. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/commands/messages/ota.py +0 -0
  66. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/commands/messages/system.py +0 -0
  67. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/commands/messages/video.py +0 -0
  68. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/control/__init__.py +0 -0
  69. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/control/joystick.py +0 -0
  70. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/devices/__init__.py +0 -0
  71. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/devices/base.py +0 -0
  72. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/devices/mammotion.py +0 -0
  73. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mammotion/devices/mammotion_bluetooth.py +0 -0
  74. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mqtt/__init__.py +0 -0
  75. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mqtt/mammotion_future.py +0 -0
  76. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/mqtt/mammotion_mqtt.py +0 -0
  77. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/__init__.py +0 -0
  78. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/basestation.proto +0 -0
  79. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/basestation.py +0 -0
  80. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/basestation_pb2.py +0 -0
  81. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/basestation_pb2.pyi +0 -0
  82. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/common.proto +0 -0
  83. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/common.py +0 -0
  84. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/common_pb2.py +0 -0
  85. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/common_pb2.pyi +0 -0
  86. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/dev_net.proto +0 -0
  87. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/dev_net.py +0 -0
  88. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/dev_net_pb2.py +0 -0
  89. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/dev_net_pb2.pyi +0 -0
  90. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/luba_msg.proto +0 -0
  91. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/luba_msg.py +0 -0
  92. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/luba_msg_pb2.py +0 -0
  93. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/luba_msg_pb2.pyi +0 -0
  94. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/luba_mul.proto +0 -0
  95. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/luba_mul.py +0 -0
  96. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/luba_mul_pb2.py +0 -0
  97. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/luba_mul_pb2.pyi +0 -0
  98. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_driver.proto +0 -0
  99. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_driver.py +0 -0
  100. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_driver_pb2.py +0 -0
  101. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_driver_pb2.pyi +0 -0
  102. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_nav_pb2.py +0 -0
  103. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_nav_pb2.pyi +0 -0
  104. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_ota.proto +0 -0
  105. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_ota.py +0 -0
  106. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_ota_pb2.py +0 -0
  107. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_ota_pb2.pyi +0 -0
  108. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_pept.proto +0 -0
  109. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_pept.py +0 -0
  110. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_pept_pb2.py +0 -0
  111. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_pept_pb2.pyi +0 -0
  112. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_sys.proto +0 -0
  113. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_sys.py +0 -0
  114. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_sys_pb2.py +0 -0
  115. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/proto/mctrl_sys_pb2.pyi +0 -0
  116. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/py.typed +0 -0
  117. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/utility/constant/__init__.py +0 -0
  118. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/utility/constant/device_constant.py +0 -0
  119. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/utility/conversions.py +0 -0
  120. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/utility/datatype_converter.py +0 -0
  121. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/utility/device_type.py +0 -0
  122. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/utility/map.py +0 -0
  123. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/utility/movement.py +0 -0
  124. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/utility/periodic.py +0 -0
  125. {pymammotion-0.2.59 → pymammotion-0.2.61}/pymammotion/utility/rocker_util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pymammotion
3
- Version: 0.2.59
3
+ Version: 0.2.61
4
4
  Summary:
5
5
  License: GNU-3.0
6
6
  Author: Michael Arthur
@@ -664,7 +664,6 @@ class CloudIOTGateway:
664
664
  "args": {"content": self.converter.printBase64Binary(command)},
665
665
  "identifier": "device_protobuf_sync_service",
666
666
  "iotId": f"{iot_id}",
667
- "identityId": f"{self._session_by_authcode_response.data.identityId}"
668
667
  },
669
668
  request=request,
670
669
  version="1.0",
@@ -8,6 +8,7 @@ from mashumaro.mixins.orjson import DataClassORJSONMixin
8
8
 
9
9
  from pymammotion.data.model import HashList, RapidState
10
10
  from pymammotion.data.model.device_config import DeviceLimits
11
+ from pymammotion.data.model.device_info import MowerInfo
11
12
  from pymammotion.data.model.location import Location
12
13
  from pymammotion.data.model.report_info import ReportData
13
14
  from pymammotion.data.mqtt.properties import ThingPropertiesMessage
@@ -34,7 +35,8 @@ from pymammotion.utility.map import CoordinateConverter
34
35
  class MowingDevice(DataClassORJSONMixin):
35
36
  """Wraps the betterproto dataclasses, so we can bypass the groups for keeping all data."""
36
37
 
37
- mqtt_properties: ThingPropertiesMessage | None = None
38
+ mower_state: MowerInfo = field(default_factory=MowerInfo)
39
+ mqtt_properties: ThingPropertiesMessage = field(default_factory=ThingPropertiesMessage)
38
40
  map: HashList = field(default_factory=HashList)
39
41
  location: Location = field(default_factory=Location)
40
42
  mowing_state: RapidState = field(default_factory=RapidState)
@@ -0,0 +1,25 @@
1
+ from dataclasses import dataclass, field
2
+
3
+ from mashumaro.mixins.orjson import DataClassORJSONMixin
4
+
5
+
6
+ @dataclass
7
+ class SideLight(DataClassORJSONMixin):
8
+ operate: int = 0
9
+ enable: int = 0
10
+ start_hour: int = 0
11
+ start_min: int = 0
12
+ end_hour: int = 0
13
+ end_min: int = 0
14
+ action: int = 0
15
+
16
+
17
+ @dataclass
18
+ class MowerInfo(DataClassORJSONMixin):
19
+ blade_status: bool = False
20
+ side_led: SideLight = field(default_factory=SideLight)
21
+ collector_installation_status: bool = False
22
+ model: str = ""
23
+ swversion: str = ""
24
+ product_key: str = ""
25
+ model_id: str = ""
@@ -10,6 +10,18 @@ class ConnectData(DataClassORJSONMixin):
10
10
  wifi_rssi: int = 0
11
11
 
12
12
 
13
+ @dataclass
14
+ class CollectorStatus(DataClassORJSONMixin):
15
+ collector_installation_status: int = 0
16
+
17
+
18
+ @dataclass
19
+ class MnetInfo(DataClassORJSONMixin):
20
+ model: str = ""
21
+ revision: str = ""
22
+ imei: str = ""
23
+
24
+
13
25
  @dataclass
14
26
  class DeviceData(DataClassORJSONMixin):
15
27
  sys_status: int = 0
@@ -18,6 +30,8 @@ class DeviceData(DataClassORJSONMixin):
18
30
  sensor_status: int = 0
19
31
  last_status: int = 0
20
32
  sys_time_stamp: str = ""
33
+ collector_status: CollectorStatus = field(default_factory=CollectorStatus)
34
+ mnet_info: MnetInfo = field(default_factory=MnetInfo)
21
35
 
22
36
 
23
37
  @dataclass
@@ -64,6 +64,13 @@ class DeviceNotificationEventValue(DataClassORJSONMixin):
64
64
  data: str # parsed to DeviceNotificationEventCode
65
65
 
66
66
 
67
+ @dataclass
68
+ class DeviceBizReqEventValue(DataClassORJSONMixin):
69
+ bizType: str
70
+ bizId: str
71
+ params: str
72
+
73
+
67
74
  @dataclass
68
75
  class GeneralParams(DataClassORJSONMixin):
69
76
  groupIdList: list[str]
@@ -115,6 +122,13 @@ class DeviceNotificationEventParams(GeneralParams):
115
122
  value: DeviceNotificationEventValue
116
123
 
117
124
 
125
+ @dataclass
126
+ class DeviceBizReqEventParams(GeneralParams):
127
+ identifier: Literal["device_biz_req_event"]
128
+ type: Literal["info"]
129
+ value: DeviceBizReqEventValue
130
+
131
+
118
132
  @dataclass
119
133
  class DeviceWarningEventParams(GeneralParams):
120
134
  identifier: Literal["device_warning_event"]
@@ -152,6 +166,8 @@ class ThingEventMessage(DataClassORJSONMixin):
152
166
  params_obj = DeviceProtobufMsgEventParams.from_dict(params_dict)
153
167
  elif identifier == "device_warning_event":
154
168
  params_obj = DeviceWarningEventParams.from_dict(params_dict)
169
+ elif identifier == "device_biz_req_event":
170
+ params_obj = DeviceBizReqEventParams.from_dict(params_dict)
155
171
  elif identifier == "device_config_req_event":
156
172
  params_obj = payload.get("params", {})
157
173
  elif identifier == "device_notification_event" or identifier == "device_warning_code_event":
@@ -6,12 +6,15 @@ from typing import Any, Awaitable, Callable, Optional
6
6
 
7
7
  import betterproto
8
8
 
9
+ from build.lib.pymammotion.proto.dev_net import WifiIotStatusReport
9
10
  from pymammotion.aliyun.cloud_gateway import SetupException
10
11
  from pymammotion.data.model.device import MowingDevice
12
+ from pymammotion.data.model.device_info import SideLight
11
13
  from pymammotion.data.model.hash_list import AreaHashNameList
12
14
  from pymammotion.data.mqtt.properties import ThingPropertiesMessage
13
15
  from pymammotion.proto.luba_msg import LubaMsg
14
16
  from pymammotion.proto.mctrl_nav import AppGetAllAreaHashName, NavGetCommDataAck, NavGetHashListAck
17
+ from pymammotion.proto.mctrl_sys import TimeCtrlLight, DeviceProductTypeInfoT
15
18
  from pymammotion.utility.constant import WorkMode
16
19
 
17
20
  logger = logging.getLogger(__name__)
@@ -102,12 +105,23 @@ class StateManager:
102
105
  self._device.mow_info(sys_msg[1])
103
106
  case "system_tard_state_tunnel":
104
107
  self._device.run_state_update(sys_msg[1])
108
+ case "todev_time_ctrl_light":
109
+ ctrl_light: TimeCtrlLight = sys_msg[1]
110
+ side_led: SideLight = SideLight.from_dict(ctrl_light.to_dict(casing=betterproto.Casing.SNAKE))
111
+ self._device.mower_state.side_led = side_led
112
+ case "device_product_type_info":
113
+ device_product_type: DeviceProductTypeInfoT = sys_msg[1]
114
+ self._device.mower_state.model_id = device_product_type.main_product_type
105
115
 
106
116
  def _update_driver_data(self, message) -> None:
107
117
  pass
108
118
 
109
119
  def _update_net_data(self, message) -> None:
110
- pass
120
+ net_msg = betterproto.which_one_of(message.net, "NetSubType")
121
+ match net_msg[0]:
122
+ case "toapp_wifi_iot_status":
123
+ wifi_iot_status: WifiIotStatusReport = net_msg[1]
124
+ self._device.mower_state.product_key = wifi_iot_status.productkey
111
125
 
112
126
  def _update_mul_data(self, message) -> None:
113
127
  pass
@@ -258,11 +258,15 @@ class MammotionBaseCloudDevice(MammotionBaseDevice):
258
258
 
259
259
  async def _parse_message_for_device(self, event: ThingEventMessage) -> None:
260
260
  params = event.params
261
+ new_msg = LubaMsg()
261
262
  if event.params.iotId != self.iot_id:
262
263
  return
263
264
  binary_data = base64.b64decode(params.value.content)
264
- self._update_raw_data(binary_data)
265
- new_msg = LubaMsg().parse(binary_data)
265
+ try:
266
+ self._update_raw_data(binary_data)
267
+ new_msg = LubaMsg().parse(binary_data)
268
+ except (KeyError, ValueError, IndexError):
269
+ _LOGGER.exception("Error parsing message %s", binary_data)
266
270
 
267
271
  if (
268
272
  self._commands.get_device_product_key() == ""
@@ -461,8 +461,8 @@ message SvgMessageAckT {
461
461
  int32 sub_cmd = 2; // Represents SUBCMD field
462
462
  int32 total_frame = 3; // Represents TOTALFRAME field
463
463
  int32 current_frame = 4; // Represents CURRENTFRAME field
464
- int64 data_hash = 5; // Represents DATAHASH field
465
- int64 paternal_hash_a = 6; // Represents PATERNALHASHA field
464
+ fixed64 data_hash = 5; // Represents DATAHASH field
465
+ fixed64 paternal_hash_a = 6; // Represents PATERNALHASHA field
466
466
  int32 type = 7; // Represents TYPE field
467
467
  int32 result = 8; // Represents RESULT field
468
468
  svg_message_t svg_message = 9; // Represents SVG_MESSAGE field
@@ -516,8 +516,8 @@ class SvgMessageAckT(betterproto.Message):
516
516
  sub_cmd: int = betterproto.int32_field(2)
517
517
  total_frame: int = betterproto.int32_field(3)
518
518
  current_frame: int = betterproto.int32_field(4)
519
- data_hash: int = betterproto.int64_field(5)
520
- paternal_hash_a: int = betterproto.int64_field(6)
519
+ data_hash: int = betterproto.fixed64_field(5)
520
+ paternal_hash_a: int = betterproto.fixed64_field(6)
521
521
  type: int = betterproto.int32_field(7)
522
522
  result: int = betterproto.int32_field(8)
523
523
  svg_message: "SvgMessageT" = betterproto.message_field(9)
@@ -1,10 +1,10 @@
1
1
  [project]
2
2
  name = "pymammotion"
3
- version = "0.2.59"
3
+ version = "0.2.61"
4
4
 
5
5
  [tool.poetry]
6
6
  name = "pymammotion"
7
- version = "0.2.59"
7
+ version = "0.2.61"
8
8
  license = "GNU-3.0"
9
9
  description = ""
10
10
  readme = "README.md"
@@ -61,7 +61,7 @@ mypy = "^1.11.2"
61
61
  autotyping = "^24.3.0"
62
62
 
63
63
  [tool.bumpver]
64
- current_version = "0.2.59"
64
+ current_version = "0.2.61"
65
65
  version_pattern = "MAJOR.MINOR.PATCH"
66
66
  commit_message = "Bump version {old_version} -> {new_version}"
67
67
  commit = true
File without changes
File without changes