pymammotion 0.5.69__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.
Files changed (154) hide show
  1. pymammotion/__init__.py +53 -0
  2. pymammotion/agora/__init__.py +0 -0
  3. pymammotion/agora/agora_api.py +755 -0
  4. pymammotion/agora/agora_rtc_capabilities.py +748 -0
  5. pymammotion/agora/agora_websockets.py +1175 -0
  6. pymammotion/aliyun/__init__.py +1 -0
  7. pymammotion/aliyun/client.py +235 -0
  8. pymammotion/aliyun/cloud_gateway.py +982 -0
  9. pymammotion/aliyun/model/aep_response.py +21 -0
  10. pymammotion/aliyun/model/connect_response.py +51 -0
  11. pymammotion/aliyun/model/dev_by_account_response.py +195 -0
  12. pymammotion/aliyun/model/login_by_oauth_response.py +64 -0
  13. pymammotion/aliyun/model/regions_response.py +29 -0
  14. pymammotion/aliyun/model/session_by_authcode_response.py +19 -0
  15. pymammotion/aliyun/model/thing_response.py +12 -0
  16. pymammotion/aliyun/regions.py +62 -0
  17. pymammotion/aliyun/tea/core.py +297 -0
  18. pymammotion/aliyun/tmp_constant.py +171 -0
  19. pymammotion/bluetooth/__init__.py +1 -0
  20. pymammotion/bluetooth/ble.py +62 -0
  21. pymammotion/bluetooth/ble_message.py +676 -0
  22. pymammotion/bluetooth/const.py +27 -0
  23. pymammotion/bluetooth/data/__init__.py +0 -0
  24. pymammotion/bluetooth/data/convert.py +25 -0
  25. pymammotion/bluetooth/data/framectrldata.py +40 -0
  26. pymammotion/bluetooth/data/notifydata.py +62 -0
  27. pymammotion/bluetooth/model/__init__.py +0 -0
  28. pymammotion/bluetooth/model/atomic_integer.py +54 -0
  29. pymammotion/const.py +13 -0
  30. pymammotion/data/__init__.py +0 -0
  31. pymammotion/data/model/__init__.py +8 -0
  32. pymammotion/data/model/account.py +8 -0
  33. pymammotion/data/model/device.py +192 -0
  34. pymammotion/data/model/device_config.py +72 -0
  35. pymammotion/data/model/device_info.py +60 -0
  36. pymammotion/data/model/device_limits.py +49 -0
  37. pymammotion/data/model/enums.py +77 -0
  38. pymammotion/data/model/errors.py +12 -0
  39. pymammotion/data/model/events.py +14 -0
  40. pymammotion/data/model/generate_geojson.py +565 -0
  41. pymammotion/data/model/generate_route_information.py +26 -0
  42. pymammotion/data/model/hash_list.py +475 -0
  43. pymammotion/data/model/location.py +36 -0
  44. pymammotion/data/model/mowing_modes.py +77 -0
  45. pymammotion/data/model/rapid_state.py +45 -0
  46. pymammotion/data/model/raw_data.py +215 -0
  47. pymammotion/data/model/region_data.py +102 -0
  48. pymammotion/data/model/report_info.py +182 -0
  49. pymammotion/data/model/work.py +27 -0
  50. pymammotion/data/mower_state_manager.py +369 -0
  51. pymammotion/data/mqtt/__init__.py +1 -0
  52. pymammotion/data/mqtt/event.py +227 -0
  53. pymammotion/data/mqtt/mammotion_properties.py +276 -0
  54. pymammotion/data/mqtt/properties.py +203 -0
  55. pymammotion/data/mqtt/status.py +57 -0
  56. pymammotion/event/__init__.py +6 -0
  57. pymammotion/event/event.py +96 -0
  58. pymammotion/homeassistant/__init__.py +3 -0
  59. pymammotion/homeassistant/mower_api.py +514 -0
  60. pymammotion/homeassistant/rtk_api.py +54 -0
  61. pymammotion/http/__init__.py +0 -0
  62. pymammotion/http/encryption.py +220 -0
  63. pymammotion/http/http.py +673 -0
  64. pymammotion/http/model/__init__.py +0 -0
  65. pymammotion/http/model/camera_stream.py +31 -0
  66. pymammotion/http/model/http.py +249 -0
  67. pymammotion/http/model/response_factory.py +61 -0
  68. pymammotion/http/model/rtk.py +16 -0
  69. pymammotion/mammotion/__init__.py +0 -0
  70. pymammotion/mammotion/commands/__init__.py +0 -0
  71. pymammotion/mammotion/commands/abstract_message.py +24 -0
  72. pymammotion/mammotion/commands/mammotion_command.py +81 -0
  73. pymammotion/mammotion/commands/messages/__init__.py +0 -0
  74. pymammotion/mammotion/commands/messages/basestation.py +43 -0
  75. pymammotion/mammotion/commands/messages/driver.py +122 -0
  76. pymammotion/mammotion/commands/messages/media.py +87 -0
  77. pymammotion/mammotion/commands/messages/navigation.py +564 -0
  78. pymammotion/mammotion/commands/messages/network.py +205 -0
  79. pymammotion/mammotion/commands/messages/ota.py +38 -0
  80. pymammotion/mammotion/commands/messages/system.py +330 -0
  81. pymammotion/mammotion/commands/messages/video.py +33 -0
  82. pymammotion/mammotion/control/__init__.py +0 -0
  83. pymammotion/mammotion/control/joystick.py +145 -0
  84. pymammotion/mammotion/devices/__init__.py +29 -0
  85. pymammotion/mammotion/devices/base.py +163 -0
  86. pymammotion/mammotion/devices/mammotion.py +571 -0
  87. pymammotion/mammotion/devices/mammotion_bluetooth.py +496 -0
  88. pymammotion/mammotion/devices/mammotion_cloud.py +355 -0
  89. pymammotion/mammotion/devices/mammotion_mower_ble.py +48 -0
  90. pymammotion/mammotion/devices/mammotion_mower_cloud.py +39 -0
  91. pymammotion/mammotion/devices/managers/managers.py +81 -0
  92. pymammotion/mammotion/devices/mower_device.py +120 -0
  93. pymammotion/mammotion/devices/mower_manager.py +107 -0
  94. pymammotion/mammotion/devices/rtk_ble.py +89 -0
  95. pymammotion/mammotion/devices/rtk_cloud.py +115 -0
  96. pymammotion/mammotion/devices/rtk_device.py +50 -0
  97. pymammotion/mammotion/devices/rtk_manager.py +125 -0
  98. pymammotion/mqtt/__init__.py +6 -0
  99. pymammotion/mqtt/aliyun_mqtt.py +237 -0
  100. pymammotion/mqtt/linkkit/__init__.py +5 -0
  101. pymammotion/mqtt/linkkit/h2client.py +585 -0
  102. pymammotion/mqtt/linkkit/linkkit.py +3025 -0
  103. pymammotion/mqtt/mammotion_future.py +26 -0
  104. pymammotion/mqtt/mammotion_mqtt.py +214 -0
  105. pymammotion/mqtt/mqtt_models.py +66 -0
  106. pymammotion/proto/__init__.py +4841 -0
  107. pymammotion/proto/basestation.proto +51 -0
  108. pymammotion/proto/basestation_pb2.py +35 -0
  109. pymammotion/proto/basestation_pb2.pyi +89 -0
  110. pymammotion/proto/common.proto +7 -0
  111. pymammotion/proto/common_pb2.py +25 -0
  112. pymammotion/proto/common_pb2.pyi +13 -0
  113. pymammotion/proto/dev_net.proto +321 -0
  114. pymammotion/proto/dev_net_pb2.py +111 -0
  115. pymammotion/proto/dev_net_pb2.pyi +515 -0
  116. pymammotion/proto/luba_msg.proto +76 -0
  117. pymammotion/proto/luba_msg_pb2.py +41 -0
  118. pymammotion/proto/luba_msg_pb2.pyi +97 -0
  119. pymammotion/proto/luba_mul.proto +129 -0
  120. pymammotion/proto/luba_mul_pb2.py +61 -0
  121. pymammotion/proto/luba_mul_pb2.pyi +178 -0
  122. pymammotion/proto/mctrl_driver.proto +107 -0
  123. pymammotion/proto/mctrl_driver_pb2.py +57 -0
  124. pymammotion/proto/mctrl_driver_pb2.pyi +167 -0
  125. pymammotion/proto/mctrl_nav.proto +591 -0
  126. pymammotion/proto/mctrl_nav_pb2.py +136 -0
  127. pymammotion/proto/mctrl_nav_pb2.pyi +1067 -0
  128. pymammotion/proto/mctrl_ota.proto +80 -0
  129. pymammotion/proto/mctrl_ota_pb2.py +45 -0
  130. pymammotion/proto/mctrl_ota_pb2.pyi +128 -0
  131. pymammotion/proto/mctrl_pept.proto +34 -0
  132. pymammotion/proto/mctrl_pept_pb2.py +33 -0
  133. pymammotion/proto/mctrl_pept_pb2.pyi +58 -0
  134. pymammotion/proto/mctrl_sys.proto +741 -0
  135. pymammotion/proto/mctrl_sys_pb2.py +206 -0
  136. pymammotion/proto/mctrl_sys_pb2.pyi +1213 -0
  137. pymammotion/proto/message_pool.py +3 -0
  138. pymammotion/proto/py.typed +0 -0
  139. pymammotion/py.typed +0 -0
  140. pymammotion/utility/constant/__init__.py +3 -0
  141. pymammotion/utility/constant/device_constant.py +315 -0
  142. pymammotion/utility/conversions.py +5 -0
  143. pymammotion/utility/datatype_converter.py +124 -0
  144. pymammotion/utility/device_config.py +755 -0
  145. pymammotion/utility/device_type.py +489 -0
  146. pymammotion/utility/map.py +259 -0
  147. pymammotion/utility/movement.py +18 -0
  148. pymammotion/utility/mur_mur_hash.py +159 -0
  149. pymammotion/utility/periodic.py +106 -0
  150. pymammotion/utility/rocker_util.py +194 -0
  151. pymammotion-0.5.69.dist-info/METADATA +93 -0
  152. pymammotion-0.5.69.dist-info/RECORD +154 -0
  153. pymammotion-0.5.69.dist-info/WHEEL +4 -0
  154. pymammotion-0.5.69.dist-info/licenses/LICENSE +674 -0
@@ -0,0 +1,167 @@
1
+ from google.protobuf.internal import containers as _containers
2
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
3
+ from google.protobuf import descriptor as _descriptor
4
+ from google.protobuf import message as _message
5
+ from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union
6
+
7
+ COLLECT_ABNORMAL: CollectMotorState
8
+ COLLECT_CLOSE: CollectMotorState
9
+ COLLECT_OPEN: CollectMotorState
10
+ COLLECT_STUCK: CollectMotorState
11
+ CUTTER_ECONOMIC: CutterWorkMode
12
+ CUTTER_PERFORMANCE: CutterWorkMode
13
+ CUTTER_STANDARD: CutterWorkMode
14
+ DESCRIPTOR: _descriptor.FileDescriptor
15
+ UNLOAD_CLOSE: UnloadMotorState
16
+ UNLOAD_OPEN: UnloadMotorState
17
+ UNLOAD_RUNNING: UnloadMotorState
18
+ UNLOAD_STOP: UnloadMotorState
19
+
20
+ class AppGetCutterWorkMode(_message.Message):
21
+ __slots__ = ["QueryResult", "current_cutter_mode", "current_cutter_rpm"]
22
+ CURRENT_CUTTER_MODE_FIELD_NUMBER: _ClassVar[int]
23
+ CURRENT_CUTTER_RPM_FIELD_NUMBER: _ClassVar[int]
24
+ QUERYRESULT_FIELD_NUMBER: _ClassVar[int]
25
+ QueryResult: int
26
+ current_cutter_mode: int
27
+ current_cutter_rpm: int
28
+ def __init__(self, current_cutter_mode: _Optional[int] = ..., current_cutter_rpm: _Optional[int] = ..., QueryResult: _Optional[int] = ...) -> None: ...
29
+
30
+ class AppSetCutterWorkMode(_message.Message):
31
+ __slots__ = ["CutterMode", "SetResult"]
32
+ CUTTERMODE_FIELD_NUMBER: _ClassVar[int]
33
+ CutterMode: int
34
+ SETRESULT_FIELD_NUMBER: _ClassVar[int]
35
+ SetResult: int
36
+ def __init__(self, CutterMode: _Optional[int] = ..., SetResult: _Optional[int] = ...) -> None: ...
37
+
38
+ class DrvCollectCtrlByHand(_message.Message):
39
+ __slots__ = ["collect_ctrl", "unload_ctrl"]
40
+ COLLECT_CTRL_FIELD_NUMBER: _ClassVar[int]
41
+ UNLOAD_CTRL_FIELD_NUMBER: _ClassVar[int]
42
+ collect_ctrl: int
43
+ unload_ctrl: int
44
+ def __init__(self, collect_ctrl: _Optional[int] = ..., unload_ctrl: _Optional[int] = ...) -> None: ...
45
+
46
+ class DrvKnifeChangeReport(_message.Message):
47
+ __slots__ = ["cur_height", "end_height", "is_start", "start_height"]
48
+ CUR_HEIGHT_FIELD_NUMBER: _ClassVar[int]
49
+ END_HEIGHT_FIELD_NUMBER: _ClassVar[int]
50
+ IS_START_FIELD_NUMBER: _ClassVar[int]
51
+ START_HEIGHT_FIELD_NUMBER: _ClassVar[int]
52
+ cur_height: int
53
+ end_height: int
54
+ is_start: int
55
+ start_height: int
56
+ def __init__(self, is_start: _Optional[int] = ..., start_height: _Optional[int] = ..., end_height: _Optional[int] = ..., cur_height: _Optional[int] = ...) -> None: ...
57
+
58
+ class DrvKnifeHeight(_message.Message):
59
+ __slots__ = ["knifeHeight"]
60
+ KNIFEHEIGHT_FIELD_NUMBER: _ClassVar[int]
61
+ knifeHeight: int
62
+ def __init__(self, knifeHeight: _Optional[int] = ...) -> None: ...
63
+
64
+ class DrvKnifeStatus(_message.Message):
65
+ __slots__ = ["knife_status"]
66
+ KNIFE_STATUS_FIELD_NUMBER: _ClassVar[int]
67
+ knife_status: int
68
+ def __init__(self, knife_status: _Optional[int] = ...) -> None: ...
69
+
70
+ class DrvMotionCtrl(_message.Message):
71
+ __slots__ = ["setAngularSpeed", "setLinearSpeed"]
72
+ SETANGULARSPEED_FIELD_NUMBER: _ClassVar[int]
73
+ SETLINEARSPEED_FIELD_NUMBER: _ClassVar[int]
74
+ setAngularSpeed: int
75
+ setLinearSpeed: int
76
+ def __init__(self, setLinearSpeed: _Optional[int] = ..., setAngularSpeed: _Optional[int] = ...) -> None: ...
77
+
78
+ class DrvMowCtrlByHand(_message.Message):
79
+ __slots__ = ["cut_knife_ctrl", "cut_knife_height", "main_ctrl", "max_run_speed"]
80
+ CUT_KNIFE_CTRL_FIELD_NUMBER: _ClassVar[int]
81
+ CUT_KNIFE_HEIGHT_FIELD_NUMBER: _ClassVar[int]
82
+ MAIN_CTRL_FIELD_NUMBER: _ClassVar[int]
83
+ MAX_RUN_SPEED_FIELD_NUMBER: _ClassVar[int]
84
+ cut_knife_ctrl: int
85
+ cut_knife_height: int
86
+ main_ctrl: int
87
+ max_run_speed: float
88
+ def __init__(self, main_ctrl: _Optional[int] = ..., cut_knife_ctrl: _Optional[int] = ..., cut_knife_height: _Optional[int] = ..., max_run_speed: _Optional[float] = ...) -> None: ...
89
+
90
+ class DrvSrSpeed(_message.Message):
91
+ __slots__ = ["rw", "speed"]
92
+ RW_FIELD_NUMBER: _ClassVar[int]
93
+ SPEED_FIELD_NUMBER: _ClassVar[int]
94
+ rw: int
95
+ speed: float
96
+ def __init__(self, rw: _Optional[int] = ..., speed: _Optional[float] = ...) -> None: ...
97
+
98
+ class MctlDriver(_message.Message):
99
+ __slots__ = ["bidire_knife_height_report", "bidire_speed_read_set", "collect_ctrl_by_hand", "current_cutter_mode", "cutter_mode_ctrl_by_hand", "mow_ctrl_by_hand", "rtk_cfg_req", "rtk_cfg_req_ack", "rtk_sys_mask_query", "rtk_sys_mask_query_ack", "toapp_knife_status", "toapp_knife_status_change", "todev_devmotion_ctrl", "todev_knife_height_set"]
100
+ BIDIRE_KNIFE_HEIGHT_REPORT_FIELD_NUMBER: _ClassVar[int]
101
+ BIDIRE_SPEED_READ_SET_FIELD_NUMBER: _ClassVar[int]
102
+ COLLECT_CTRL_BY_HAND_FIELD_NUMBER: _ClassVar[int]
103
+ CURRENT_CUTTER_MODE_FIELD_NUMBER: _ClassVar[int]
104
+ CUTTER_MODE_CTRL_BY_HAND_FIELD_NUMBER: _ClassVar[int]
105
+ MOW_CTRL_BY_HAND_FIELD_NUMBER: _ClassVar[int]
106
+ RTK_CFG_REQ_ACK_FIELD_NUMBER: _ClassVar[int]
107
+ RTK_CFG_REQ_FIELD_NUMBER: _ClassVar[int]
108
+ RTK_SYS_MASK_QUERY_ACK_FIELD_NUMBER: _ClassVar[int]
109
+ RTK_SYS_MASK_QUERY_FIELD_NUMBER: _ClassVar[int]
110
+ TOAPP_KNIFE_STATUS_CHANGE_FIELD_NUMBER: _ClassVar[int]
111
+ TOAPP_KNIFE_STATUS_FIELD_NUMBER: _ClassVar[int]
112
+ TODEV_DEVMOTION_CTRL_FIELD_NUMBER: _ClassVar[int]
113
+ TODEV_KNIFE_HEIGHT_SET_FIELD_NUMBER: _ClassVar[int]
114
+ bidire_knife_height_report: DrvKnifeHeight
115
+ bidire_speed_read_set: DrvSrSpeed
116
+ collect_ctrl_by_hand: DrvCollectCtrlByHand
117
+ current_cutter_mode: AppGetCutterWorkMode
118
+ cutter_mode_ctrl_by_hand: AppSetCutterWorkMode
119
+ mow_ctrl_by_hand: DrvMowCtrlByHand
120
+ rtk_cfg_req: rtk_cfg_req_t
121
+ rtk_cfg_req_ack: rtk_cfg_req_ack_t
122
+ rtk_sys_mask_query: rtk_sys_mask_query_t
123
+ rtk_sys_mask_query_ack: rtk_sys_mask_query_ack_t
124
+ toapp_knife_status: DrvKnifeStatus
125
+ toapp_knife_status_change: DrvKnifeChangeReport
126
+ todev_devmotion_ctrl: DrvMotionCtrl
127
+ todev_knife_height_set: DrvKnifeHeight
128
+ def __init__(self, todev_devmotion_ctrl: _Optional[_Union[DrvMotionCtrl, _Mapping]] = ..., todev_knife_height_set: _Optional[_Union[DrvKnifeHeight, _Mapping]] = ..., bidire_speed_read_set: _Optional[_Union[DrvSrSpeed, _Mapping]] = ..., bidire_knife_height_report: _Optional[_Union[DrvKnifeHeight, _Mapping]] = ..., toapp_knife_status: _Optional[_Union[DrvKnifeStatus, _Mapping]] = ..., mow_ctrl_by_hand: _Optional[_Union[DrvMowCtrlByHand, _Mapping]] = ..., rtk_cfg_req: _Optional[_Union[rtk_cfg_req_t, _Mapping]] = ..., rtk_cfg_req_ack: _Optional[_Union[rtk_cfg_req_ack_t, _Mapping]] = ..., rtk_sys_mask_query: _Optional[_Union[rtk_sys_mask_query_t, _Mapping]] = ..., rtk_sys_mask_query_ack: _Optional[_Union[rtk_sys_mask_query_ack_t, _Mapping]] = ..., toapp_knife_status_change: _Optional[_Union[DrvKnifeChangeReport, _Mapping]] = ..., collect_ctrl_by_hand: _Optional[_Union[DrvCollectCtrlByHand, _Mapping]] = ..., cutter_mode_ctrl_by_hand: _Optional[_Union[AppSetCutterWorkMode, _Mapping]] = ..., current_cutter_mode: _Optional[_Union[AppGetCutterWorkMode, _Mapping]] = ...) -> None: ...
129
+
130
+ class rtk_cfg_req_ack_t(_message.Message):
131
+ __slots__ = ["cmd_length", "cmd_response"]
132
+ CMD_LENGTH_FIELD_NUMBER: _ClassVar[int]
133
+ CMD_RESPONSE_FIELD_NUMBER: _ClassVar[int]
134
+ cmd_length: int
135
+ cmd_response: str
136
+ def __init__(self, cmd_length: _Optional[int] = ..., cmd_response: _Optional[str] = ...) -> None: ...
137
+
138
+ class rtk_cfg_req_t(_message.Message):
139
+ __slots__ = ["cmd_length", "cmd_req"]
140
+ CMD_LENGTH_FIELD_NUMBER: _ClassVar[int]
141
+ CMD_REQ_FIELD_NUMBER: _ClassVar[int]
142
+ cmd_length: int
143
+ cmd_req: str
144
+ def __init__(self, cmd_length: _Optional[int] = ..., cmd_req: _Optional[str] = ...) -> None: ...
145
+
146
+ class rtk_sys_mask_query_ack_t(_message.Message):
147
+ __slots__ = ["sat_system", "system_mask_bits"]
148
+ SAT_SYSTEM_FIELD_NUMBER: _ClassVar[int]
149
+ SYSTEM_MASK_BITS_FIELD_NUMBER: _ClassVar[int]
150
+ sat_system: int
151
+ system_mask_bits: _containers.RepeatedScalarFieldContainer[int]
152
+ def __init__(self, sat_system: _Optional[int] = ..., system_mask_bits: _Optional[_Iterable[int]] = ...) -> None: ...
153
+
154
+ class rtk_sys_mask_query_t(_message.Message):
155
+ __slots__ = ["sat_system"]
156
+ SAT_SYSTEM_FIELD_NUMBER: _ClassVar[int]
157
+ sat_system: int
158
+ def __init__(self, sat_system: _Optional[int] = ...) -> None: ...
159
+
160
+ class CutterWorkMode(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
161
+ __slots__ = []
162
+
163
+ class CollectMotorState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
164
+ __slots__ = []
165
+
166
+ class UnloadMotorState(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
167
+ __slots__ = []