wandelbots_api_client 26.3.0.dev29__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 (693) hide show
  1. wandelbots_api_client/__init__.py +48 -0
  2. wandelbots_api_client/api/__init__.py +63 -0
  3. wandelbots_api_client/api/application_api.py +1514 -0
  4. wandelbots_api_client/api/cell_api.py +1424 -0
  5. wandelbots_api_client/api/controller_api.py +2951 -0
  6. wandelbots_api_client/api/controller_ios_api.py +1205 -0
  7. wandelbots_api_client/api/coordinate_systems_api.py +1267 -0
  8. wandelbots_api_client/api/device_configuration_api.py +1193 -0
  9. wandelbots_api_client/api/library_program_api.py +1326 -0
  10. wandelbots_api_client/api/library_program_metadata_api.py +1090 -0
  11. wandelbots_api_client/api/library_recipe_api.py +1351 -0
  12. wandelbots_api_client/api/library_recipe_metadata_api.py +1050 -0
  13. wandelbots_api_client/api/license_api.py +865 -0
  14. wandelbots_api_client/api/motion_api.py +3596 -0
  15. wandelbots_api_client/api/motion_group_api.py +956 -0
  16. wandelbots_api_client/api/motion_group_infos_api.py +2611 -0
  17. wandelbots_api_client/api/motion_group_jogging_api.py +685 -0
  18. wandelbots_api_client/api/motion_group_kinematic_api.py +1055 -0
  19. wandelbots_api_client/api/program_api.py +1987 -0
  20. wandelbots_api_client/api/program_operator_api.py +1881 -0
  21. wandelbots_api_client/api/program_values_api.py +1444 -0
  22. wandelbots_api_client/api/store_collision_components_api.py +3074 -0
  23. wandelbots_api_client/api/store_collision_scenes_api.py +951 -0
  24. wandelbots_api_client/api/store_object_api.py +1387 -0
  25. wandelbots_api_client/api/system_api.py +1075 -0
  26. wandelbots_api_client/api/version_api.py +237 -0
  27. wandelbots_api_client/api/virtual_robot_api.py +1583 -0
  28. wandelbots_api_client/api/virtual_robot_behavior_api.py +649 -0
  29. wandelbots_api_client/api/virtual_robot_mode_api.py +1467 -0
  30. wandelbots_api_client/api/virtual_robot_setup_api.py +2116 -0
  31. wandelbots_api_client/api_client.py +688 -0
  32. wandelbots_api_client/api_response.py +20 -0
  33. wandelbots_api_client/authorization.py +243 -0
  34. wandelbots_api_client/configuration.py +579 -0
  35. wandelbots_api_client/exceptions.py +216 -0
  36. wandelbots_api_client/models/__init__.py +316 -0
  37. wandelbots_api_client/models/abb_controller.py +112 -0
  38. wandelbots_api_client/models/abb_controller_egm_server.py +87 -0
  39. wandelbots_api_client/models/activate_license_request.py +86 -0
  40. wandelbots_api_client/models/add_request.py +95 -0
  41. wandelbots_api_client/models/all_joint_positions_request.py +96 -0
  42. wandelbots_api_client/models/all_joint_positions_response.py +109 -0
  43. wandelbots_api_client/models/api_version.py +86 -0
  44. wandelbots_api_client/models/app.py +148 -0
  45. wandelbots_api_client/models/array_input.py +114 -0
  46. wandelbots_api_client/models/array_output.py +116 -0
  47. wandelbots_api_client/models/behavior.py +35 -0
  48. wandelbots_api_client/models/blending_auto.py +99 -0
  49. wandelbots_api_client/models/blending_position.py +97 -0
  50. wandelbots_api_client/models/box.py +98 -0
  51. wandelbots_api_client/models/box2.py +112 -0
  52. wandelbots_api_client/models/box3.py +112 -0
  53. wandelbots_api_client/models/capsule.py +87 -0
  54. wandelbots_api_client/models/capsule2.py +97 -0
  55. wandelbots_api_client/models/capsule3.py +101 -0
  56. wandelbots_api_client/models/capture.py +86 -0
  57. wandelbots_api_client/models/cell.py +142 -0
  58. wandelbots_api_client/models/circle.py +99 -0
  59. wandelbots_api_client/models/code_with_arguments.py +108 -0
  60. wandelbots_api_client/models/collection_value.py +322 -0
  61. wandelbots_api_client/models/collider.py +105 -0
  62. wandelbots_api_client/models/collider_input.py +105 -0
  63. wandelbots_api_client/models/collider_output.py +105 -0
  64. wandelbots_api_client/models/collider_output_shape.py +242 -0
  65. wandelbots_api_client/models/collider_shape.py +280 -0
  66. wandelbots_api_client/models/collision.py +110 -0
  67. wandelbots_api_client/models/collision_contact.py +92 -0
  68. wandelbots_api_client/models/collision_motion_group.py +124 -0
  69. wandelbots_api_client/models/collision_motion_group_assembly.py +128 -0
  70. wandelbots_api_client/models/collision_robot_configuration_input.py +121 -0
  71. wandelbots_api_client/models/collision_robot_configuration_output.py +121 -0
  72. wandelbots_api_client/models/collision_scene.py +117 -0
  73. wandelbots_api_client/models/collision_scene_assembly.py +133 -0
  74. wandelbots_api_client/models/command.py +140 -0
  75. wandelbots_api_client/models/command_settings.py +104 -0
  76. wandelbots_api_client/models/comparator.py +39 -0
  77. wandelbots_api_client/models/compound.py +114 -0
  78. wandelbots_api_client/models/container_environment_inner.py +87 -0
  79. wandelbots_api_client/models/container_image.py +122 -0
  80. wandelbots_api_client/models/container_image_secrets_inner.py +86 -0
  81. wandelbots_api_client/models/container_resources.py +89 -0
  82. wandelbots_api_client/models/container_storage.py +97 -0
  83. wandelbots_api_client/models/controller_capabilities.py +89 -0
  84. wandelbots_api_client/models/controller_instance.py +148 -0
  85. wandelbots_api_client/models/controller_instance_list.py +109 -0
  86. wandelbots_api_client/models/convex_hull.py +109 -0
  87. wandelbots_api_client/models/convex_hull2.py +97 -0
  88. wandelbots_api_client/models/convex_hull3.py +97 -0
  89. wandelbots_api_client/models/coordinate_system.py +108 -0
  90. wandelbots_api_client/models/coordinate_systems.py +109 -0
  91. wandelbots_api_client/models/create_program_run200_response.py +88 -0
  92. wandelbots_api_client/models/create_program_run_request.py +86 -0
  93. wandelbots_api_client/models/create_trigger200_response.py +86 -0
  94. wandelbots_api_client/models/create_trigger_request.py +101 -0
  95. wandelbots_api_client/models/cubic_spline.py +109 -0
  96. wandelbots_api_client/models/cubic_spline_cubic_spline_parameter.py +93 -0
  97. wandelbots_api_client/models/cubic_spline_parameter.py +93 -0
  98. wandelbots_api_client/models/cycle_time.py +86 -0
  99. wandelbots_api_client/models/cylinder.py +87 -0
  100. wandelbots_api_client/models/cylinder2.py +95 -0
  101. wandelbots_api_client/models/cylinder3.py +101 -0
  102. wandelbots_api_client/models/devices_inner.py +321 -0
  103. wandelbots_api_client/models/dh_parameter.py +98 -0
  104. wandelbots_api_client/models/direction.py +34 -0
  105. wandelbots_api_client/models/direction_jogging_request.py +136 -0
  106. wandelbots_api_client/models/error.py +87 -0
  107. wandelbots_api_client/models/execute_trajectory_request.py +182 -0
  108. wandelbots_api_client/models/execute_trajectory_response.py +223 -0
  109. wandelbots_api_client/models/execution_result.py +113 -0
  110. wandelbots_api_client/models/external_joint_stream_datapoint.py +96 -0
  111. wandelbots_api_client/models/external_joint_stream_datapoint_value.py +96 -0
  112. wandelbots_api_client/models/fanuc_controller.py +99 -0
  113. wandelbots_api_client/models/feedback_collision.py +126 -0
  114. wandelbots_api_client/models/feedback_joint_limit_exceeded.py +101 -0
  115. wandelbots_api_client/models/feedback_out_of_workspace.py +103 -0
  116. wandelbots_api_client/models/feedback_singularity.py +102 -0
  117. wandelbots_api_client/models/flag.py +86 -0
  118. wandelbots_api_client/models/force_vector.py +103 -0
  119. wandelbots_api_client/models/geometry.py +167 -0
  120. wandelbots_api_client/models/get_all_program_runs200_response.py +109 -0
  121. wandelbots_api_client/models/get_all_triggers200_response.py +109 -0
  122. wandelbots_api_client/models/get_mode_response.py +87 -0
  123. wandelbots_api_client/models/get_trajectory_response.py +112 -0
  124. wandelbots_api_client/models/get_trajectory_sample_response.py +90 -0
  125. wandelbots_api_client/models/google_protobuf_any.py +102 -0
  126. wandelbots_api_client/models/http_exception_response.py +86 -0
  127. wandelbots_api_client/models/http_validation_error.py +109 -0
  128. wandelbots_api_client/models/http_validation_error2.py +109 -0
  129. wandelbots_api_client/models/image_credentials.py +88 -0
  130. wandelbots_api_client/models/info_service_capabilities.py +110 -0
  131. wandelbots_api_client/models/initialize_movement_request.py +111 -0
  132. wandelbots_api_client/models/initialize_movement_response.py +96 -0
  133. wandelbots_api_client/models/initialize_movement_response_init_response.py +89 -0
  134. wandelbots_api_client/models/io.py +105 -0
  135. wandelbots_api_client/models/io_description.py +156 -0
  136. wandelbots_api_client/models/io_value.py +104 -0
  137. wandelbots_api_client/models/ios.py +109 -0
  138. wandelbots_api_client/models/jogging_response.py +117 -0
  139. wandelbots_api_client/models/jogging_service_capabilities.py +87 -0
  140. wandelbots_api_client/models/joint_jogging_request.py +108 -0
  141. wandelbots_api_client/models/joint_limit.py +123 -0
  142. wandelbots_api_client/models/joint_limit_exceeded.py +96 -0
  143. wandelbots_api_client/models/joint_position_request.py +104 -0
  144. wandelbots_api_client/models/joint_trajectory.py +117 -0
  145. wandelbots_api_client/models/joints.py +86 -0
  146. wandelbots_api_client/models/kinematic_service_capabilities.py +96 -0
  147. wandelbots_api_client/models/kuka_controller.py +112 -0
  148. wandelbots_api_client/models/kuka_controller_rsi_server.py +92 -0
  149. wandelbots_api_client/models/license.py +124 -0
  150. wandelbots_api_client/models/license_status.py +88 -0
  151. wandelbots_api_client/models/license_status_enum.py +37 -0
  152. wandelbots_api_client/models/limit_settings.py +223 -0
  153. wandelbots_api_client/models/limits_override.py +132 -0
  154. wandelbots_api_client/models/list_io_descriptions_response.py +109 -0
  155. wandelbots_api_client/models/list_io_values_response.py +109 -0
  156. wandelbots_api_client/models/list_payloads_response.py +109 -0
  157. wandelbots_api_client/models/list_program_metadata_response.py +109 -0
  158. wandelbots_api_client/models/list_recipe_metadata_response.py +109 -0
  159. wandelbots_api_client/models/list_response.py +109 -0
  160. wandelbots_api_client/models/list_tcps_response.py +112 -0
  161. wandelbots_api_client/models/location_inner.py +153 -0
  162. wandelbots_api_client/models/location_inner1.py +142 -0
  163. wandelbots_api_client/models/manufacturer.py +37 -0
  164. wandelbots_api_client/models/mode_change_response.py +97 -0
  165. wandelbots_api_client/models/motion_command.py +109 -0
  166. wandelbots_api_client/models/motion_command_blending.py +164 -0
  167. wandelbots_api_client/models/motion_command_path.py +221 -0
  168. wandelbots_api_client/models/motion_group_behavior_getter.py +87 -0
  169. wandelbots_api_client/models/motion_group_info.py +88 -0
  170. wandelbots_api_client/models/motion_group_infos.py +109 -0
  171. wandelbots_api_client/models/motion_group_instance.py +101 -0
  172. wandelbots_api_client/models/motion_group_instance_list.py +109 -0
  173. wandelbots_api_client/models/motion_group_joints.py +100 -0
  174. wandelbots_api_client/models/motion_group_physical.py +105 -0
  175. wandelbots_api_client/models/motion_group_specification.py +136 -0
  176. wandelbots_api_client/models/motion_group_state.py +180 -0
  177. wandelbots_api_client/models/motion_group_state_joint_limit_reached.py +86 -0
  178. wandelbots_api_client/models/motion_group_state_response.py +103 -0
  179. wandelbots_api_client/models/motion_id.py +88 -0
  180. wandelbots_api_client/models/motion_ids_list_response.py +89 -0
  181. wandelbots_api_client/models/motion_vector.py +103 -0
  182. wandelbots_api_client/models/mounting.py +98 -0
  183. wandelbots_api_client/models/move_request.py +162 -0
  184. wandelbots_api_client/models/move_response.py +91 -0
  185. wandelbots_api_client/models/move_to_trajectory_via_joint_ptp_request.py +107 -0
  186. wandelbots_api_client/models/movement.py +90 -0
  187. wandelbots_api_client/models/movement_error.py +90 -0
  188. wandelbots_api_client/models/movement_error_error.py +86 -0
  189. wandelbots_api_client/models/movement_movement.py +98 -0
  190. wandelbots_api_client/models/op_mode.py +93 -0
  191. wandelbots_api_client/models/opcua_node_value_trigger_config.py +100 -0
  192. wandelbots_api_client/models/opcua_node_value_trigger_config_node_value.py +159 -0
  193. wandelbots_api_client/models/optimizer_setup.py +145 -0
  194. wandelbots_api_client/models/out_of_workspace.py +92 -0
  195. wandelbots_api_client/models/path.py +109 -0
  196. wandelbots_api_client/models/path_cartesian_ptp.py +103 -0
  197. wandelbots_api_client/models/path_circle.py +108 -0
  198. wandelbots_api_client/models/path_cubic_spline.py +118 -0
  199. wandelbots_api_client/models/path_joint_ptp.py +96 -0
  200. wandelbots_api_client/models/path_line.py +103 -0
  201. wandelbots_api_client/models/pause_movement_request.py +95 -0
  202. wandelbots_api_client/models/pause_movement_response.py +96 -0
  203. wandelbots_api_client/models/pause_movement_response_pause_response.py +89 -0
  204. wandelbots_api_client/models/pause_on_io.py +96 -0
  205. wandelbots_api_client/models/payload.py +103 -0
  206. wandelbots_api_client/models/plan_collision_free_ptp_request.py +131 -0
  207. wandelbots_api_client/models/plan_collision_free_ptp_request_target.py +150 -0
  208. wandelbots_api_client/models/plan_failed_on_trajectory_response.py +149 -0
  209. wandelbots_api_client/models/plan_failed_response.py +136 -0
  210. wandelbots_api_client/models/plan_request.py +127 -0
  211. wandelbots_api_client/models/plan_response.py +112 -0
  212. wandelbots_api_client/models/plan_successful_response.py +100 -0
  213. wandelbots_api_client/models/plan_trajectory_failed_response.py +106 -0
  214. wandelbots_api_client/models/plan_trajectory_failed_response_error_feedback.py +209 -0
  215. wandelbots_api_client/models/plan_trajectory_request.py +154 -0
  216. wandelbots_api_client/models/plan_trajectory_response.py +92 -0
  217. wandelbots_api_client/models/plan_trajectory_response_response.py +147 -0
  218. wandelbots_api_client/models/plane2.py +93 -0
  219. wandelbots_api_client/models/plane3.py +93 -0
  220. wandelbots_api_client/models/planned_motion.py +125 -0
  221. wandelbots_api_client/models/planner_pose.py +100 -0
  222. wandelbots_api_client/models/planning_limits.py +168 -0
  223. wandelbots_api_client/models/planning_limits_limit_range.py +87 -0
  224. wandelbots_api_client/models/playback_speed_request.py +94 -0
  225. wandelbots_api_client/models/playback_speed_response.py +96 -0
  226. wandelbots_api_client/models/playback_speed_response_playback_speed_response.py +86 -0
  227. wandelbots_api_client/models/point_cloud.py +86 -0
  228. wandelbots_api_client/models/pose.py +107 -0
  229. wandelbots_api_client/models/pose2.py +93 -0
  230. wandelbots_api_client/models/program_metadata.py +100 -0
  231. wandelbots_api_client/models/program_run.py +168 -0
  232. wandelbots_api_client/models/program_run_object.py +103 -0
  233. wandelbots_api_client/models/program_run_state.py +37 -0
  234. wandelbots_api_client/models/program_runner_reference.py +88 -0
  235. wandelbots_api_client/models/pyjectory_datatypes_core_pose.py +88 -0
  236. wandelbots_api_client/models/pyjectory_datatypes_serializer_orientation.py +87 -0
  237. wandelbots_api_client/models/pyjectory_datatypes_serializer_pose.py +87 -0
  238. wandelbots_api_client/models/pyjectory_datatypes_serializer_position.py +87 -0
  239. wandelbots_api_client/models/pyriphery_etcd_etcd_configuration.py +101 -0
  240. wandelbots_api_client/models/pyriphery_hardware_isaac_isaac_configuration.py +101 -0
  241. wandelbots_api_client/models/pyriphery_opcua_opcua_configuration.py +99 -0
  242. wandelbots_api_client/models/pyriphery_pyrae_controller_controller_configuration.py +107 -0
  243. wandelbots_api_client/models/pyriphery_pyrae_robot_robot_configuration.py +119 -0
  244. wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_input.py +130 -0
  245. wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_output.py +130 -0
  246. wandelbots_api_client/models/pyriphery_robotics_robotcell_timer_configuration.py +102 -0
  247. wandelbots_api_client/models/pyriphery_robotics_simulation_robot_with_view_open3d_configuration.py +99 -0
  248. wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_io_configuration.py +94 -0
  249. wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_opcua_configuration.py +94 -0
  250. wandelbots_api_client/models/quaternion.py +89 -0
  251. wandelbots_api_client/models/recipe_metadata.py +102 -0
  252. wandelbots_api_client/models/rectangle.py +87 -0
  253. wandelbots_api_client/models/rectangle2.py +95 -0
  254. wandelbots_api_client/models/rectangle3.py +101 -0
  255. wandelbots_api_client/models/rectangular_capsule.py +94 -0
  256. wandelbots_api_client/models/rectangular_capsule2.py +103 -0
  257. wandelbots_api_client/models/rectangular_capsule3.py +103 -0
  258. wandelbots_api_client/models/release_channel.py +34 -0
  259. wandelbots_api_client/models/request.py +142 -0
  260. wandelbots_api_client/models/request1.py +140 -0
  261. wandelbots_api_client/models/response_get_devices_devices_get_inner.py +321 -0
  262. wandelbots_api_client/models/response_get_value_programs_values_key_get.py +317 -0
  263. wandelbots_api_client/models/response_get_values_programs_values_get_value.py +322 -0
  264. wandelbots_api_client/models/robot_controller.py +108 -0
  265. wandelbots_api_client/models/robot_controller_configuration.py +262 -0
  266. wandelbots_api_client/models/robot_controller_state.py +191 -0
  267. wandelbots_api_client/models/robot_link_geometry.py +98 -0
  268. wandelbots_api_client/models/robot_state.py +101 -0
  269. wandelbots_api_client/models/robot_system_mode.py +37 -0
  270. wandelbots_api_client/models/robot_tcp.py +104 -0
  271. wandelbots_api_client/models/robot_tcps.py +109 -0
  272. wandelbots_api_client/models/rotation_angle_types.py +58 -0
  273. wandelbots_api_client/models/rotation_angles.py +91 -0
  274. wandelbots_api_client/models/safety_configuration.py +182 -0
  275. wandelbots_api_client/models/safety_setup.py +172 -0
  276. wandelbots_api_client/models/safety_setup_safety_settings.py +106 -0
  277. wandelbots_api_client/models/safety_setup_safety_zone.py +103 -0
  278. wandelbots_api_client/models/safety_zone.py +98 -0
  279. wandelbots_api_client/models/safety_zone_limits.py +96 -0
  280. wandelbots_api_client/models/safety_zone_violation.py +86 -0
  281. wandelbots_api_client/models/service_status.py +96 -0
  282. wandelbots_api_client/models/service_status_phase.py +46 -0
  283. wandelbots_api_client/models/service_status_severity.py +35 -0
  284. wandelbots_api_client/models/service_status_status.py +90 -0
  285. wandelbots_api_client/models/set_io.py +93 -0
  286. wandelbots_api_client/models/set_playback_speed.py +91 -0
  287. wandelbots_api_client/models/single_joint_limit.py +112 -0
  288. wandelbots_api_client/models/singularity.py +110 -0
  289. wandelbots_api_client/models/singularity_type_enum.py +35 -0
  290. wandelbots_api_client/models/sphere.py +86 -0
  291. wandelbots_api_client/models/sphere2.py +94 -0
  292. wandelbots_api_client/models/sphere3.py +96 -0
  293. wandelbots_api_client/models/standstill.py +92 -0
  294. wandelbots_api_client/models/standstill_reason.py +36 -0
  295. wandelbots_api_client/models/standstill_standstill.py +99 -0
  296. wandelbots_api_client/models/start_movement_request.py +135 -0
  297. wandelbots_api_client/models/start_on_io.py +96 -0
  298. wandelbots_api_client/models/status.py +119 -0
  299. wandelbots_api_client/models/stop_response.py +109 -0
  300. wandelbots_api_client/models/store_value.py +349 -0
  301. wandelbots_api_client/models/stream_move_backward.py +90 -0
  302. wandelbots_api_client/models/stream_move_forward.py +90 -0
  303. wandelbots_api_client/models/stream_move_playback_speed.py +92 -0
  304. wandelbots_api_client/models/stream_move_request.py +207 -0
  305. wandelbots_api_client/models/stream_move_response.py +110 -0
  306. wandelbots_api_client/models/stream_move_to_trajectory.py +96 -0
  307. wandelbots_api_client/models/stream_stop.py +90 -0
  308. wandelbots_api_client/models/tcp_pose.py +105 -0
  309. wandelbots_api_client/models/tcp_pose_request.py +106 -0
  310. wandelbots_api_client/models/tool_geometry.py +111 -0
  311. wandelbots_api_client/models/trajectory_sample.py +139 -0
  312. wandelbots_api_client/models/trigger_object.py +110 -0
  313. wandelbots_api_client/models/trigger_type.py +33 -0
  314. wandelbots_api_client/models/universalrobots_controller.py +102 -0
  315. wandelbots_api_client/models/update_nova_version_request.py +87 -0
  316. wandelbots_api_client/models/update_program_metadata_request.py +88 -0
  317. wandelbots_api_client/models/update_recipe_metadata_request.py +88 -0
  318. wandelbots_api_client/models/update_trigger_request.py +100 -0
  319. wandelbots_api_client/models/validation_error.py +113 -0
  320. wandelbots_api_client/models/validation_error2.py +113 -0
  321. wandelbots_api_client/models/value.py +317 -0
  322. wandelbots_api_client/models/vector3d.py +88 -0
  323. wandelbots_api_client/models/version_number.py +113 -0
  324. wandelbots_api_client/models/virtual_controller.py +117 -0
  325. wandelbots_api_client/models/virtual_controller_types.py +153 -0
  326. wandelbots_api_client/models/virtual_robot_configuration.py +91 -0
  327. wandelbots_api_client/models/yaskawa_controller.py +99 -0
  328. wandelbots_api_client/py.typed +0 -0
  329. wandelbots_api_client/rest.py +188 -0
  330. wandelbots_api_client/v2/__init__.py +49 -0
  331. wandelbots_api_client/v2/api/__init__.py +55 -0
  332. wandelbots_api_client/v2/api/application_api.py +1532 -0
  333. wandelbots_api_client/v2/api/bus_inputs_outputs_api.py +4534 -0
  334. wandelbots_api_client/v2/api/cell_api.py +2163 -0
  335. wandelbots_api_client/v2/api/controller_api.py +3238 -0
  336. wandelbots_api_client/v2/api/controller_inputs_outputs_api.py +1244 -0
  337. wandelbots_api_client/v2/api/jogging_api.py +113 -0
  338. wandelbots_api_client/v2/api/kinematics_api.py +555 -0
  339. wandelbots_api_client/v2/api/license_api.py +877 -0
  340. wandelbots_api_client/v2/api/motion_group_api.py +689 -0
  341. wandelbots_api_client/v2/api/motion_group_models_api.py +1222 -0
  342. wandelbots_api_client/v2/api/nova_cloud_api.py +760 -0
  343. wandelbots_api_client/v2/api/program_api.py +988 -0
  344. wandelbots_api_client/v2/api/robot_configurations_api.py +485 -0
  345. wandelbots_api_client/v2/api/store_collision_components_api.py +3479 -0
  346. wandelbots_api_client/v2/api/store_collision_setups_api.py +1169 -0
  347. wandelbots_api_client/v2/api/store_object_api.py +1414 -0
  348. wandelbots_api_client/v2/api/system_api.py +2696 -0
  349. wandelbots_api_client/v2/api/trajectory_caching_api.py +1339 -0
  350. wandelbots_api_client/v2/api/trajectory_execution_api.py +115 -0
  351. wandelbots_api_client/v2/api/trajectory_planning_api.py +811 -0
  352. wandelbots_api_client/v2/api/version_api.py +240 -0
  353. wandelbots_api_client/v2/api/virtual_controller_api.py +4534 -0
  354. wandelbots_api_client/v2/api/virtual_controller_behavior_api.py +863 -0
  355. wandelbots_api_client/v2/api/virtual_controller_inputs_outputs_api.py +895 -0
  356. wandelbots_api_client/v2/api_client.py +692 -0
  357. wandelbots_api_client/v2/api_response.py +20 -0
  358. wandelbots_api_client/v2/configuration.py +579 -0
  359. wandelbots_api_client/v2/exceptions.py +216 -0
  360. wandelbots_api_client/v2/models/__init__.py +317 -0
  361. wandelbots_api_client/v2/models/abb_controller.py +104 -0
  362. wandelbots_api_client/v2/models/abb_controller_egm_server.py +84 -0
  363. wandelbots_api_client/v2/models/activate_license_request.py +83 -0
  364. wandelbots_api_client/v2/models/add_trajectory_error.py +95 -0
  365. wandelbots_api_client/v2/models/add_trajectory_error_data.py +298 -0
  366. wandelbots_api_client/v2/models/add_trajectory_request.py +97 -0
  367. wandelbots_api_client/v2/models/add_trajectory_response.py +99 -0
  368. wandelbots_api_client/v2/models/add_virtual_controller_motion_group_request.py +147 -0
  369. wandelbots_api_client/v2/models/api_version.py +83 -0
  370. wandelbots_api_client/v2/models/app.py +156 -0
  371. wandelbots_api_client/v2/models/behavior.py +35 -0
  372. wandelbots_api_client/v2/models/blending_auto.py +97 -0
  373. wandelbots_api_client/v2/models/blending_position.py +143 -0
  374. wandelbots_api_client/v2/models/blending_space.py +34 -0
  375. wandelbots_api_client/v2/models/boolean_value.py +91 -0
  376. wandelbots_api_client/v2/models/box.py +109 -0
  377. wandelbots_api_client/v2/models/bus_io_description.py +111 -0
  378. wandelbots_api_client/v2/models/bus_io_modbus_client.py +100 -0
  379. wandelbots_api_client/v2/models/bus_io_modbus_server.py +127 -0
  380. wandelbots_api_client/v2/models/bus_io_modbus_tcp_client.py +98 -0
  381. wandelbots_api_client/v2/models/bus_io_modbus_tcp_server.py +97 -0
  382. wandelbots_api_client/v2/models/bus_io_modbus_virtual.py +90 -0
  383. wandelbots_api_client/v2/models/bus_io_profinet.py +131 -0
  384. wandelbots_api_client/v2/models/bus_io_profinet_default_route.py +84 -0
  385. wandelbots_api_client/v2/models/bus_io_profinet_ip_config.py +85 -0
  386. wandelbots_api_client/v2/models/bus_io_profinet_network.py +101 -0
  387. wandelbots_api_client/v2/models/bus_io_profinet_slot.py +92 -0
  388. wandelbots_api_client/v2/models/bus_io_profinet_virtual.py +90 -0
  389. wandelbots_api_client/v2/models/bus_io_type.py +223 -0
  390. wandelbots_api_client/v2/models/bus_ios_state.py +88 -0
  391. wandelbots_api_client/v2/models/bus_ios_state_enum.py +36 -0
  392. wandelbots_api_client/v2/models/capsule.py +94 -0
  393. wandelbots_api_client/v2/models/cartesian_limits.py +108 -0
  394. wandelbots_api_client/v2/models/cell.py +127 -0
  395. wandelbots_api_client/v2/models/cloud_config_status.py +164 -0
  396. wandelbots_api_client/v2/models/cloud_config_status_configured.py +97 -0
  397. wandelbots_api_client/v2/models/cloud_config_status_not_configured.py +90 -0
  398. wandelbots_api_client/v2/models/cloud_configuration.py +84 -0
  399. wandelbots_api_client/v2/models/cloud_connection_error.py +87 -0
  400. wandelbots_api_client/v2/models/cloud_connection_error_error.py +275 -0
  401. wandelbots_api_client/v2/models/cloud_connection_error_invalid_token.py +102 -0
  402. wandelbots_api_client/v2/models/cloud_connection_error_invalid_token_details.py +95 -0
  403. wandelbots_api_client/v2/models/cloud_connection_error_invalid_token_details_cloud_response.py +90 -0
  404. wandelbots_api_client/v2/models/cloud_connection_error_leafnode_connection_error.py +106 -0
  405. wandelbots_api_client/v2/models/cloud_connection_error_leafnode_connection_error_details.py +83 -0
  406. wandelbots_api_client/v2/models/cloud_connection_error_leafnode_connection_timeout.py +91 -0
  407. wandelbots_api_client/v2/models/cloud_connection_error_leafnode_restart_timeout.py +91 -0
  408. wandelbots_api_client/v2/models/cloud_connection_error_nats_failed.py +102 -0
  409. wandelbots_api_client/v2/models/cloud_connection_error_nats_failed_details.py +84 -0
  410. wandelbots_api_client/v2/models/cloud_connection_error_unexpected_response.py +104 -0
  411. wandelbots_api_client/v2/models/cloud_connection_error_unexpected_response_details.py +95 -0
  412. wandelbots_api_client/v2/models/cloud_connection_error_unexpected_response_details_cloud_response.py +85 -0
  413. wandelbots_api_client/v2/models/cloud_connection_request.py +98 -0
  414. wandelbots_api_client/v2/models/cloud_disconnection_error.py +89 -0
  415. wandelbots_api_client/v2/models/cloud_disconnection_status_disconnected.py +90 -0
  416. wandelbots_api_client/v2/models/cloud_disconnection_status_disconnecting.py +90 -0
  417. wandelbots_api_client/v2/models/cloud_registration_success_response.py +83 -0
  418. wandelbots_api_client/v2/models/collider.py +102 -0
  419. wandelbots_api_client/v2/models/collider_shape.py +278 -0
  420. wandelbots_api_client/v2/models/collision.py +107 -0
  421. wandelbots_api_client/v2/models/collision_contact.py +89 -0
  422. wandelbots_api_client/v2/models/collision_error.py +100 -0
  423. wandelbots_api_client/v2/models/collision_free_algorithm.py +164 -0
  424. wandelbots_api_client/v2/models/collision_setup.py +130 -0
  425. wandelbots_api_client/v2/models/comparator.py +38 -0
  426. wandelbots_api_client/v2/models/configuration_archive_status.py +197 -0
  427. wandelbots_api_client/v2/models/configuration_archive_status_creating.py +94 -0
  428. wandelbots_api_client/v2/models/configuration_archive_status_error.py +91 -0
  429. wandelbots_api_client/v2/models/configuration_archive_status_success.py +90 -0
  430. wandelbots_api_client/v2/models/configuration_resource.py +104 -0
  431. wandelbots_api_client/v2/models/container_environment_inner.py +84 -0
  432. wandelbots_api_client/v2/models/container_image.py +110 -0
  433. wandelbots_api_client/v2/models/container_image_secrets_inner.py +83 -0
  434. wandelbots_api_client/v2/models/container_resources.py +87 -0
  435. wandelbots_api_client/v2/models/container_storage.py +94 -0
  436. wandelbots_api_client/v2/models/controller_description.py +97 -0
  437. wandelbots_api_client/v2/models/convex_hull.py +94 -0
  438. wandelbots_api_client/v2/models/coordinate_system.py +115 -0
  439. wandelbots_api_client/v2/models/coordinate_system_data.py +106 -0
  440. wandelbots_api_client/v2/models/cubic_spline_parameter.py +90 -0
  441. wandelbots_api_client/v2/models/cycle_time.py +86 -0
  442. wandelbots_api_client/v2/models/cylinder.py +92 -0
  443. wandelbots_api_client/v2/models/dh_parameter.py +98 -0
  444. wandelbots_api_client/v2/models/direction.py +34 -0
  445. wandelbots_api_client/v2/models/error.py +84 -0
  446. wandelbots_api_client/v2/models/error_invalid_joint_count.py +98 -0
  447. wandelbots_api_client/v2/models/error_joint_limit_exceeded.py +103 -0
  448. wandelbots_api_client/v2/models/error_joint_position_collision.py +106 -0
  449. wandelbots_api_client/v2/models/error_max_iterations_exceeded.py +91 -0
  450. wandelbots_api_client/v2/models/execute.py +95 -0
  451. wandelbots_api_client/v2/models/execute_details.py +164 -0
  452. wandelbots_api_client/v2/models/execute_jogging_request.py +204 -0
  453. wandelbots_api_client/v2/models/execute_jogging_response.py +246 -0
  454. wandelbots_api_client/v2/models/execute_trajectory_request.py +209 -0
  455. wandelbots_api_client/v2/models/execute_trajectory_response.py +246 -0
  456. wandelbots_api_client/v2/models/external_joint_stream_datapoint.py +93 -0
  457. wandelbots_api_client/v2/models/external_joint_stream_request.py +97 -0
  458. wandelbots_api_client/v2/models/fanuc_controller.py +91 -0
  459. wandelbots_api_client/v2/models/feedback_collision.py +112 -0
  460. wandelbots_api_client/v2/models/feedback_joint_limit_exceeded.py +99 -0
  461. wandelbots_api_client/v2/models/feedback_no_solution_in_current_configuration.py +100 -0
  462. wandelbots_api_client/v2/models/feedback_out_of_workspace.py +100 -0
  463. wandelbots_api_client/v2/models/feedback_singularity.py +99 -0
  464. wandelbots_api_client/v2/models/flag.py +83 -0
  465. wandelbots_api_client/v2/models/flange_payload.py +98 -0
  466. wandelbots_api_client/v2/models/float_value.py +91 -0
  467. wandelbots_api_client/v2/models/forward_kinematics422_response.py +97 -0
  468. wandelbots_api_client/v2/models/forward_kinematics_request.py +104 -0
  469. wandelbots_api_client/v2/models/forward_kinematics_response.py +93 -0
  470. wandelbots_api_client/v2/models/forward_kinematics_validation_error.py +107 -0
  471. wandelbots_api_client/v2/models/get_trajectory_response.py +97 -0
  472. wandelbots_api_client/v2/models/http_validation_error.py +93 -0
  473. wandelbots_api_client/v2/models/image_credentials.py +85 -0
  474. wandelbots_api_client/v2/models/inconsistent_trajectory_size_error.py +106 -0
  475. wandelbots_api_client/v2/models/inconsistent_trajectory_size_error_inconsistent_trajectory_size.py +91 -0
  476. wandelbots_api_client/v2/models/initialize_jogging_request.py +95 -0
  477. wandelbots_api_client/v2/models/initialize_jogging_response.py +91 -0
  478. wandelbots_api_client/v2/models/initialize_movement_request.py +112 -0
  479. wandelbots_api_client/v2/models/initialize_movement_request_trajectory.py +164 -0
  480. wandelbots_api_client/v2/models/initialize_movement_response.py +107 -0
  481. wandelbots_api_client/v2/models/integer_value.py +91 -0
  482. wandelbots_api_client/v2/models/invalid_dof_error.py +100 -0
  483. wandelbots_api_client/v2/models/invalid_dof_error_invalid_dof.py +86 -0
  484. wandelbots_api_client/v2/models/inverse_kinematics422_response.py +97 -0
  485. wandelbots_api_client/v2/models/inverse_kinematics_request.py +152 -0
  486. wandelbots_api_client/v2/models/inverse_kinematics_response.py +83 -0
  487. wandelbots_api_client/v2/models/inverse_kinematics_validation_error.py +107 -0
  488. wandelbots_api_client/v2/models/inverse_kinematics_validation_error_all_of_data.py +164 -0
  489. wandelbots_api_client/v2/models/io_boolean_value.py +92 -0
  490. wandelbots_api_client/v2/models/io_boundary.py +183 -0
  491. wandelbots_api_client/v2/models/io_description.py +116 -0
  492. wandelbots_api_client/v2/models/io_direction.py +34 -0
  493. wandelbots_api_client/v2/models/io_float_value.py +92 -0
  494. wandelbots_api_client/v2/models/io_integer_value.py +94 -0
  495. wandelbots_api_client/v2/models/io_origin.py +34 -0
  496. wandelbots_api_client/v2/models/io_value.py +183 -0
  497. wandelbots_api_client/v2/models/io_value_type.py +35 -0
  498. wandelbots_api_client/v2/models/jogging_details.py +97 -0
  499. wandelbots_api_client/v2/models/jogging_details_state.py +275 -0
  500. wandelbots_api_client/v2/models/jogging_paused_by_user.py +90 -0
  501. wandelbots_api_client/v2/models/jogging_paused_near_collision.py +91 -0
  502. wandelbots_api_client/v2/models/jogging_paused_near_joint_limit.py +92 -0
  503. wandelbots_api_client/v2/models/jogging_paused_near_singularity.py +91 -0
  504. wandelbots_api_client/v2/models/jogging_paused_on_io.py +90 -0
  505. wandelbots_api_client/v2/models/jogging_running.py +90 -0
  506. wandelbots_api_client/v2/models/joint_limit_exceeded_error.py +102 -0
  507. wandelbots_api_client/v2/models/joint_limits.py +101 -0
  508. wandelbots_api_client/v2/models/joint_trajectory.py +89 -0
  509. wandelbots_api_client/v2/models/joint_type_enum.py +34 -0
  510. wandelbots_api_client/v2/models/joint_velocity_request.py +91 -0
  511. wandelbots_api_client/v2/models/joint_velocity_response.py +91 -0
  512. wandelbots_api_client/v2/models/kinematic_model.py +118 -0
  513. wandelbots_api_client/v2/models/kuka_controller.py +106 -0
  514. wandelbots_api_client/v2/models/kuka_controller_rsi_server.py +89 -0
  515. wandelbots_api_client/v2/models/license.py +121 -0
  516. wandelbots_api_client/v2/models/license_status.py +85 -0
  517. wandelbots_api_client/v2/models/license_status_enum.py +37 -0
  518. wandelbots_api_client/v2/models/limit_range.py +84 -0
  519. wandelbots_api_client/v2/models/limit_set.py +118 -0
  520. wandelbots_api_client/v2/models/limits_override.py +136 -0
  521. wandelbots_api_client/v2/models/list_trajectories_response.py +86 -0
  522. wandelbots_api_client/v2/models/location1_inner.py +153 -0
  523. wandelbots_api_client/v2/models/manufacturer.py +37 -0
  524. wandelbots_api_client/v2/models/merge_trajectories422_response.py +97 -0
  525. wandelbots_api_client/v2/models/merge_trajectories_error.py +97 -0
  526. wandelbots_api_client/v2/models/merge_trajectories_error_error_feedback.py +209 -0
  527. wandelbots_api_client/v2/models/merge_trajectories_request.py +107 -0
  528. wandelbots_api_client/v2/models/merge_trajectories_response.py +109 -0
  529. wandelbots_api_client/v2/models/merge_trajectories_response_feedback_inner.py +147 -0
  530. wandelbots_api_client/v2/models/merge_trajectories_segment.py +126 -0
  531. wandelbots_api_client/v2/models/merge_trajectories_validation_error.py +109 -0
  532. wandelbots_api_client/v2/models/midpoint_insertion_algorithm.py +102 -0
  533. wandelbots_api_client/v2/models/modbus_io.py +109 -0
  534. wandelbots_api_client/v2/models/modbus_io_area.py +37 -0
  535. wandelbots_api_client/v2/models/modbus_io_byte_order.py +37 -0
  536. wandelbots_api_client/v2/models/modbus_io_data.py +105 -0
  537. wandelbots_api_client/v2/models/modbus_io_type_enum.py +36 -0
  538. wandelbots_api_client/v2/models/motion_command.py +106 -0
  539. wandelbots_api_client/v2/models/motion_command_blending.py +164 -0
  540. wandelbots_api_client/v2/models/motion_command_path.py +221 -0
  541. wandelbots_api_client/v2/models/motion_group_description.py +235 -0
  542. wandelbots_api_client/v2/models/motion_group_from_json.py +100 -0
  543. wandelbots_api_client/v2/models/motion_group_from_type.py +96 -0
  544. wandelbots_api_client/v2/models/motion_group_info.py +90 -0
  545. wandelbots_api_client/v2/models/motion_group_joints.py +97 -0
  546. wandelbots_api_client/v2/models/motion_group_setup.py +140 -0
  547. wandelbots_api_client/v2/models/motion_group_state.py +182 -0
  548. wandelbots_api_client/v2/models/motion_group_state_joint_limit_reached.py +83 -0
  549. wandelbots_api_client/v2/models/movement_error_response.py +91 -0
  550. wandelbots_api_client/v2/models/nan_value_error.py +100 -0
  551. wandelbots_api_client/v2/models/nan_value_error_nan_value.py +85 -0
  552. wandelbots_api_client/v2/models/network_device.py +85 -0
  553. wandelbots_api_client/v2/models/network_interface.py +86 -0
  554. wandelbots_api_client/v2/models/network_state.py +125 -0
  555. wandelbots_api_client/v2/models/op_mode.py +84 -0
  556. wandelbots_api_client/v2/models/operating_state.py +34 -0
  557. wandelbots_api_client/v2/models/operation_limits.py +106 -0
  558. wandelbots_api_client/v2/models/operation_mode.py +42 -0
  559. wandelbots_api_client/v2/models/orientation_type.py +58 -0
  560. wandelbots_api_client/v2/models/path_cartesian_ptp.py +100 -0
  561. wandelbots_api_client/v2/models/path_circle.py +105 -0
  562. wandelbots_api_client/v2/models/path_cubic_spline.py +106 -0
  563. wandelbots_api_client/v2/models/path_joint_ptp.py +93 -0
  564. wandelbots_api_client/v2/models/path_line.py +100 -0
  565. wandelbots_api_client/v2/models/pause_jogging_request.py +90 -0
  566. wandelbots_api_client/v2/models/pause_jogging_response.py +91 -0
  567. wandelbots_api_client/v2/models/pause_movement_request.py +90 -0
  568. wandelbots_api_client/v2/models/pause_movement_response.py +91 -0
  569. wandelbots_api_client/v2/models/pause_on_io.py +99 -0
  570. wandelbots_api_client/v2/models/payload.py +98 -0
  571. wandelbots_api_client/v2/models/plan422_response.py +93 -0
  572. wandelbots_api_client/v2/models/plan_collision_free_failed_response.py +93 -0
  573. wandelbots_api_client/v2/models/plan_collision_free_request.py +109 -0
  574. wandelbots_api_client/v2/models/plan_collision_free_response.py +89 -0
  575. wandelbots_api_client/v2/models/plan_collision_free_response_response.py +147 -0
  576. wandelbots_api_client/v2/models/plan_trajectory_failed_response.py +105 -0
  577. wandelbots_api_client/v2/models/plan_trajectory_failed_response_error_feedback.py +252 -0
  578. wandelbots_api_client/v2/models/plan_trajectory_request.py +113 -0
  579. wandelbots_api_client/v2/models/plan_trajectory_response.py +89 -0
  580. wandelbots_api_client/v2/models/plan_trajectory_response_response.py +147 -0
  581. wandelbots_api_client/v2/models/plan_validation_error.py +107 -0
  582. wandelbots_api_client/v2/models/plan_validation_error_all_of_data.py +183 -0
  583. wandelbots_api_client/v2/models/plane.py +90 -0
  584. wandelbots_api_client/v2/models/playback_speed_request.py +96 -0
  585. wandelbots_api_client/v2/models/playback_speed_response.py +91 -0
  586. wandelbots_api_client/v2/models/pose.py +90 -0
  587. wandelbots_api_client/v2/models/profinet_description.py +112 -0
  588. wandelbots_api_client/v2/models/profinet_input_output_config.py +98 -0
  589. wandelbots_api_client/v2/models/profinet_io.py +109 -0
  590. wandelbots_api_client/v2/models/profinet_io_data.py +105 -0
  591. wandelbots_api_client/v2/models/profinet_io_direction.py +35 -0
  592. wandelbots_api_client/v2/models/profinet_io_type_enum.py +42 -0
  593. wandelbots_api_client/v2/models/profinet_slot_description.py +106 -0
  594. wandelbots_api_client/v2/models/profinet_sub_slot_description.py +92 -0
  595. wandelbots_api_client/v2/models/program.py +105 -0
  596. wandelbots_api_client/v2/models/program_run.py +124 -0
  597. wandelbots_api_client/v2/models/program_run_state.py +37 -0
  598. wandelbots_api_client/v2/models/program_start_request.py +83 -0
  599. wandelbots_api_client/v2/models/rectangle.py +92 -0
  600. wandelbots_api_client/v2/models/rectangular_capsule.py +100 -0
  601. wandelbots_api_client/v2/models/release_channel.py +34 -0
  602. wandelbots_api_client/v2/models/robot_controller.py +105 -0
  603. wandelbots_api_client/v2/models/robot_controller_configuration.py +262 -0
  604. wandelbots_api_client/v2/models/robot_controller_configuration_request.py +99 -0
  605. wandelbots_api_client/v2/models/robot_controller_state.py +138 -0
  606. wandelbots_api_client/v2/models/robot_system_mode.py +37 -0
  607. wandelbots_api_client/v2/models/robot_tcp.py +110 -0
  608. wandelbots_api_client/v2/models/robot_tcp_data.py +108 -0
  609. wandelbots_api_client/v2/models/rrt_connect_algorithm.py +127 -0
  610. wandelbots_api_client/v2/models/safety_state_type.py +48 -0
  611. wandelbots_api_client/v2/models/service_group.py +36 -0
  612. wandelbots_api_client/v2/models/service_status.py +96 -0
  613. wandelbots_api_client/v2/models/service_status_phase.py +46 -0
  614. wandelbots_api_client/v2/models/service_status_response.py +100 -0
  615. wandelbots_api_client/v2/models/service_status_severity.py +35 -0
  616. wandelbots_api_client/v2/models/service_status_status.py +87 -0
  617. wandelbots_api_client/v2/models/set_io.py +96 -0
  618. wandelbots_api_client/v2/models/settable_robot_system_mode.py +36 -0
  619. wandelbots_api_client/v2/models/singularity_type_enum.py +35 -0
  620. wandelbots_api_client/v2/models/sphere.py +91 -0
  621. wandelbots_api_client/v2/models/start_movement_request.py +133 -0
  622. wandelbots_api_client/v2/models/start_movement_response.py +91 -0
  623. wandelbots_api_client/v2/models/start_on_io.py +99 -0
  624. wandelbots_api_client/v2/models/stream_io_values_response.py +103 -0
  625. wandelbots_api_client/v2/models/tcp_offset.py +88 -0
  626. wandelbots_api_client/v2/models/tcp_required_error.py +96 -0
  627. wandelbots_api_client/v2/models/tcp_velocity_request.py +110 -0
  628. wandelbots_api_client/v2/models/tcp_velocity_response.py +91 -0
  629. wandelbots_api_client/v2/models/torque_exceeded_error.py +102 -0
  630. wandelbots_api_client/v2/models/torque_exceeded_error_torque_exceeded.py +86 -0
  631. wandelbots_api_client/v2/models/trajectory_data.py +106 -0
  632. wandelbots_api_client/v2/models/trajectory_details.py +106 -0
  633. wandelbots_api_client/v2/models/trajectory_details_state.py +239 -0
  634. wandelbots_api_client/v2/models/trajectory_ended.py +90 -0
  635. wandelbots_api_client/v2/models/trajectory_id.py +93 -0
  636. wandelbots_api_client/v2/models/trajectory_paused_by_user.py +90 -0
  637. wandelbots_api_client/v2/models/trajectory_paused_on_io.py +90 -0
  638. wandelbots_api_client/v2/models/trajectory_running.py +94 -0
  639. wandelbots_api_client/v2/models/trajectory_section.py +84 -0
  640. wandelbots_api_client/v2/models/trajectory_wait_for_io.py +90 -0
  641. wandelbots_api_client/v2/models/unit_type.py +42 -0
  642. wandelbots_api_client/v2/models/universalrobots_controller.py +91 -0
  643. wandelbots_api_client/v2/models/update_cell_version_request.py +84 -0
  644. wandelbots_api_client/v2/models/update_nova_version_request.py +90 -0
  645. wandelbots_api_client/v2/models/validation_error.py +101 -0
  646. wandelbots_api_client/v2/models/validation_error2.py +85 -0
  647. wandelbots_api_client/v2/models/virtual_controller.py +113 -0
  648. wandelbots_api_client/v2/models/virtual_robot_configuration.py +88 -0
  649. wandelbots_api_client/v2/models/wait_for_io_event_request.py +93 -0
  650. wandelbots_api_client/v2/models/yaskawa_controller.py +91 -0
  651. wandelbots_api_client/v2/models/zod_validation_error.py +87 -0
  652. wandelbots_api_client/v2/models/zod_validation_error_error.py +108 -0
  653. wandelbots_api_client/v2/models/zod_validation_error_error_details_inner.py +101 -0
  654. wandelbots_api_client/v2/models/zod_validation_error_error_details_inner_path_inner.py +153 -0
  655. wandelbots_api_client/v2/py.typed +0 -0
  656. wandelbots_api_client/v2/rest.py +188 -0
  657. wandelbots_api_client/v2_pydantic/__init__.py +49 -0
  658. wandelbots_api_client/v2_pydantic/api/__init__.py +55 -0
  659. wandelbots_api_client/v2_pydantic/api/application_api.py +1532 -0
  660. wandelbots_api_client/v2_pydantic/api/bus_inputs_outputs_api.py +4534 -0
  661. wandelbots_api_client/v2_pydantic/api/cell_api.py +2163 -0
  662. wandelbots_api_client/v2_pydantic/api/controller_api.py +3238 -0
  663. wandelbots_api_client/v2_pydantic/api/controller_inputs_outputs_api.py +1244 -0
  664. wandelbots_api_client/v2_pydantic/api/jogging_api.py +113 -0
  665. wandelbots_api_client/v2_pydantic/api/kinematics_api.py +555 -0
  666. wandelbots_api_client/v2_pydantic/api/license_api.py +877 -0
  667. wandelbots_api_client/v2_pydantic/api/motion_group_api.py +689 -0
  668. wandelbots_api_client/v2_pydantic/api/motion_group_models_api.py +1222 -0
  669. wandelbots_api_client/v2_pydantic/api/nova_cloud_api.py +760 -0
  670. wandelbots_api_client/v2_pydantic/api/program_api.py +988 -0
  671. wandelbots_api_client/v2_pydantic/api/robot_configurations_api.py +485 -0
  672. wandelbots_api_client/v2_pydantic/api/store_collision_components_api.py +3479 -0
  673. wandelbots_api_client/v2_pydantic/api/store_collision_setups_api.py +1169 -0
  674. wandelbots_api_client/v2_pydantic/api/store_object_api.py +1414 -0
  675. wandelbots_api_client/v2_pydantic/api/system_api.py +2696 -0
  676. wandelbots_api_client/v2_pydantic/api/trajectory_caching_api.py +1339 -0
  677. wandelbots_api_client/v2_pydantic/api/trajectory_execution_api.py +115 -0
  678. wandelbots_api_client/v2_pydantic/api/trajectory_planning_api.py +811 -0
  679. wandelbots_api_client/v2_pydantic/api/version_api.py +240 -0
  680. wandelbots_api_client/v2_pydantic/api/virtual_controller_api.py +4534 -0
  681. wandelbots_api_client/v2_pydantic/api/virtual_controller_behavior_api.py +863 -0
  682. wandelbots_api_client/v2_pydantic/api/virtual_controller_inputs_outputs_api.py +895 -0
  683. wandelbots_api_client/v2_pydantic/api_client.py +692 -0
  684. wandelbots_api_client/v2_pydantic/api_response.py +20 -0
  685. wandelbots_api_client/v2_pydantic/configuration.py +579 -0
  686. wandelbots_api_client/v2_pydantic/exceptions.py +216 -0
  687. wandelbots_api_client/v2_pydantic/models/__init__.py +642 -0
  688. wandelbots_api_client/v2_pydantic/models/models.py +5090 -0
  689. wandelbots_api_client/v2_pydantic/py.typed +0 -0
  690. wandelbots_api_client/v2_pydantic/rest.py +188 -0
  691. wandelbots_api_client-26.3.0.dev29.dist-info/METADATA +241 -0
  692. wandelbots_api_client-26.3.0.dev29.dist-info/RECORD +693 -0
  693. wandelbots_api_client-26.3.0.dev29.dist-info/WHEEL +4 -0
@@ -0,0 +1,2611 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Wandelbots NOVA API
5
+
6
+ Interact with robots in an easy and intuitive way.
7
+
8
+ The version of the OpenAPI document: 1.4.0 dev
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+ from furl import furl
15
+ import json
16
+ import humps
17
+ import re
18
+ import warnings
19
+ import websockets
20
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
21
+ from typing import Any, AsyncGenerator, Callable, Dict, List, Optional, Tuple, Union
22
+ from typing_extensions import Annotated
23
+ from urllib.parse import quote
24
+
25
+ from pydantic import Field, StrictInt, StrictStr
26
+ from typing import Optional
27
+ from typing_extensions import Annotated
28
+ from wandelbots_api_client.models.info_service_capabilities import InfoServiceCapabilities
29
+ from wandelbots_api_client.models.list_payloads_response import ListPayloadsResponse
30
+ from wandelbots_api_client.models.list_tcps_response import ListTcpsResponse
31
+ from wandelbots_api_client.models.motion_group_specification import MotionGroupSpecification
32
+ from wandelbots_api_client.models.motion_group_state_response import MotionGroupStateResponse
33
+ from wandelbots_api_client.models.mounting import Mounting
34
+ from wandelbots_api_client.models.optimizer_setup import OptimizerSetup
35
+ from wandelbots_api_client.models.payload import Payload
36
+ from wandelbots_api_client.models.robot_tcp import RobotTcp
37
+ from wandelbots_api_client.models.rotation_angle_types import RotationAngleTypes
38
+ from wandelbots_api_client.models.safety_setup import SafetySetup
39
+
40
+ from wandelbots_api_client.api_client import ApiClient, RequestSerialized
41
+ from wandelbots_api_client.api_response import ApiResponse
42
+ from wandelbots_api_client.rest import RESTResponseType
43
+
44
+
45
+ class MotionGroupInfosApi:
46
+ """NOTE: This class is auto generated by OpenAPI Generator
47
+ Ref: https://openapi-generator.tech
48
+
49
+ Do not edit the class manually.
50
+ """
51
+
52
+ def __init__(self, api_client=None) -> None:
53
+ if api_client is None:
54
+ api_client = ApiClient.get_default()
55
+ self.api_client = api_client
56
+
57
+ @validate_call
58
+ async def get_active_payload(
59
+ self,
60
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
61
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
62
+ _request_timeout: Union[
63
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
64
+ ] = None,
65
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
66
+ _content_type: Optional[StrictStr] = None,
67
+ _headers: Optional[Dict[StrictStr, Any]] = None,
68
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
69
+ ) -> Payload:
70
+ """Selected Payload
71
+
72
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Gets the currently selected payload of the motion group. The payload is defined as the sum of all weights attached to the flange/endpoint of the motion group, e.g. sum of the tools and workpiece weight that are currently attached.
73
+
74
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
75
+ :type cell: str
76
+ :param motion_group: The motion-group id. (required)
77
+ :type motion_group: str
78
+ :param _request_timeout: timeout setting for this request. If one
79
+ number provided, it will be total request
80
+ timeout. It can also be a pair (tuple) of
81
+ (connection, read) timeouts.
82
+ :type _request_timeout: int, tuple(int, int), optional
83
+ :param _request_auth: set to override the auth_settings for an a single
84
+ request; this effectively ignores the
85
+ authentication in the spec for a single request.
86
+ :type _request_auth: dict, optional
87
+ :param _content_type: force content-type for the request.
88
+ :type _content_type: str, Optional
89
+ :param _headers: set to override the headers for a single
90
+ request; this effectively ignores the headers
91
+ in the spec for a single request.
92
+ :type _headers: dict, optional
93
+ :param _host_index: set to override the host_index for a single
94
+ request; this effectively ignores the host_index
95
+ in the spec for a single request.
96
+ :type _host_index: int, optional
97
+ :return: Returns the result object.
98
+ """ # noqa: E501
99
+
100
+ _param = self._get_active_payload_serialize(
101
+ cell=cell,
102
+ motion_group=motion_group,
103
+ _request_auth=_request_auth,
104
+ _content_type=_content_type,
105
+ _headers=_headers,
106
+ _host_index=_host_index,
107
+ )
108
+
109
+ _response_types_map: Dict[str, Optional[str]] = {
110
+ "200": "Payload",
111
+ }
112
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
113
+ await response_data.read()
114
+ return self.api_client.response_deserialize(
115
+ response_data=response_data,
116
+ response_types_map=_response_types_map,
117
+ ).data
118
+
119
+ @validate_call
120
+ async def get_active_payload_with_http_info(
121
+ self,
122
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
123
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
124
+ _request_timeout: Union[
125
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
126
+ ] = None,
127
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
128
+ _content_type: Optional[StrictStr] = None,
129
+ _headers: Optional[Dict[StrictStr, Any]] = None,
130
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
131
+ ) -> ApiResponse[Payload]:
132
+ """Selected Payload
133
+
134
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Gets the currently selected payload of the motion group. The payload is defined as the sum of all weights attached to the flange/endpoint of the motion group, e.g. sum of the tools and workpiece weight that are currently attached.
135
+
136
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
137
+ :type cell: str
138
+ :param motion_group: The motion-group id. (required)
139
+ :type motion_group: str
140
+ :param _request_timeout: timeout setting for this request. If one
141
+ number provided, it will be total request
142
+ timeout. It can also be a pair (tuple) of
143
+ (connection, read) timeouts.
144
+ :type _request_timeout: int, tuple(int, int), optional
145
+ :param _request_auth: set to override the auth_settings for an a single
146
+ request; this effectively ignores the
147
+ authentication in the spec for a single request.
148
+ :type _request_auth: dict, optional
149
+ :param _content_type: force content-type for the request.
150
+ :type _content_type: str, Optional
151
+ :param _headers: set to override the headers for a single
152
+ request; this effectively ignores the headers
153
+ in the spec for a single request.
154
+ :type _headers: dict, optional
155
+ :param _host_index: set to override the host_index for a single
156
+ request; this effectively ignores the host_index
157
+ in the spec for a single request.
158
+ :type _host_index: int, optional
159
+ :return: Returns the result object.
160
+ """ # noqa: E501
161
+
162
+ _param = self._get_active_payload_serialize(
163
+ cell=cell,
164
+ motion_group=motion_group,
165
+ _request_auth=_request_auth,
166
+ _content_type=_content_type,
167
+ _headers=_headers,
168
+ _host_index=_host_index,
169
+ )
170
+
171
+ _response_types_map: Dict[str, Optional[str]] = {
172
+ "200": "Payload",
173
+ }
174
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
175
+ await response_data.read()
176
+ return self.api_client.response_deserialize(
177
+ response_data=response_data,
178
+ response_types_map=_response_types_map,
179
+ )
180
+
181
+ @validate_call
182
+ async def get_active_payload_without_preload_content(
183
+ self,
184
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
185
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
186
+ _request_timeout: Union[
187
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
188
+ ] = None,
189
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
190
+ _content_type: Optional[StrictStr] = None,
191
+ _headers: Optional[Dict[StrictStr, Any]] = None,
192
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
193
+ ) -> RESTResponseType:
194
+ """Selected Payload
195
+
196
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Gets the currently selected payload of the motion group. The payload is defined as the sum of all weights attached to the flange/endpoint of the motion group, e.g. sum of the tools and workpiece weight that are currently attached.
197
+
198
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
199
+ :type cell: str
200
+ :param motion_group: The motion-group id. (required)
201
+ :type motion_group: str
202
+ :param _request_timeout: timeout setting for this request. If one
203
+ number provided, it will be total request
204
+ timeout. It can also be a pair (tuple) of
205
+ (connection, read) timeouts.
206
+ :type _request_timeout: int, tuple(int, int), optional
207
+ :param _request_auth: set to override the auth_settings for an a single
208
+ request; this effectively ignores the
209
+ authentication in the spec for a single request.
210
+ :type _request_auth: dict, optional
211
+ :param _content_type: force content-type for the request.
212
+ :type _content_type: str, Optional
213
+ :param _headers: set to override the headers for a single
214
+ request; this effectively ignores the headers
215
+ in the spec for a single request.
216
+ :type _headers: dict, optional
217
+ :param _host_index: set to override the host_index for a single
218
+ request; this effectively ignores the host_index
219
+ in the spec for a single request.
220
+ :type _host_index: int, optional
221
+ :return: Returns the result object.
222
+ """ # noqa: E501
223
+
224
+ _param = self._get_active_payload_serialize(
225
+ cell=cell,
226
+ motion_group=motion_group,
227
+ _request_auth=_request_auth,
228
+ _content_type=_content_type,
229
+ _headers=_headers,
230
+ _host_index=_host_index,
231
+ )
232
+
233
+ _response_types_map: Dict[str, Optional[str]] = {
234
+ "200": "Payload",
235
+ }
236
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
237
+ return response_data.response
238
+
239
+ def _get_active_payload_serialize(
240
+ self,
241
+ cell,
242
+ motion_group,
243
+ _request_auth,
244
+ _content_type,
245
+ _headers,
246
+ _host_index,
247
+ ) -> RequestSerialized:
248
+
249
+ _host = None
250
+
251
+ _collection_formats: Dict[str, str] = {}
252
+
253
+ _path_params: Dict[str, str] = {}
254
+ _query_params: List[Tuple[str, str]] = []
255
+ _header_params: Dict[str, Optional[str]] = _headers or {}
256
+ _form_params: List[Tuple[str, str]] = []
257
+ _files: Dict[str, Union[str, bytes]] = {}
258
+ _body_params: Optional[bytes] = None
259
+
260
+ # process the path parameters
261
+ if cell is not None:
262
+ _path_params["cell"] = cell
263
+ if motion_group is not None:
264
+ _path_params["motion-group"] = motion_group
265
+ # process the query parameters
266
+ # process the header parameters
267
+ # process the form parameters
268
+ # process the body parameter
269
+
270
+ # set the HTTP header `Accept`
271
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
272
+
273
+ # authentication setting
274
+ _auth_settings: List[str] = ["BearerAuth"]
275
+
276
+ return self.api_client.param_serialize(
277
+ method="GET",
278
+ resource_path="/cells/{cell}/motion-groups/{motion-group}/payloads/current",
279
+ path_params=_path_params,
280
+ query_params=_query_params,
281
+ header_params=_header_params,
282
+ body=_body_params,
283
+ post_params=_form_params,
284
+ files=_files,
285
+ auth_settings=_auth_settings,
286
+ collection_formats=_collection_formats,
287
+ _host=_host,
288
+ _request_auth=_request_auth,
289
+ )
290
+
291
+ @validate_call
292
+ async def get_active_tcp(
293
+ self,
294
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
295
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
296
+ rotation_type: Optional[RotationAngleTypes] = None,
297
+ _request_timeout: Union[
298
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
299
+ ] = None,
300
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
301
+ _content_type: Optional[StrictStr] = None,
302
+ _headers: Optional[Dict[StrictStr, Any]] = None,
303
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
304
+ ) -> RobotTcp:
305
+ """Selected TCP
306
+
307
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the internal selected TCP of a connected device.
308
+
309
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
310
+ :type cell: str
311
+ :param motion_group: The motion-group id. (required)
312
+ :type motion_group: str
313
+ :param rotation_type:
314
+ :type rotation_type: RotationAngleTypes
315
+ :param _request_timeout: timeout setting for this request. If one
316
+ number provided, it will be total request
317
+ timeout. It can also be a pair (tuple) of
318
+ (connection, read) timeouts.
319
+ :type _request_timeout: int, tuple(int, int), optional
320
+ :param _request_auth: set to override the auth_settings for an a single
321
+ request; this effectively ignores the
322
+ authentication in the spec for a single request.
323
+ :type _request_auth: dict, optional
324
+ :param _content_type: force content-type for the request.
325
+ :type _content_type: str, Optional
326
+ :param _headers: set to override the headers for a single
327
+ request; this effectively ignores the headers
328
+ in the spec for a single request.
329
+ :type _headers: dict, optional
330
+ :param _host_index: set to override the host_index for a single
331
+ request; this effectively ignores the host_index
332
+ in the spec for a single request.
333
+ :type _host_index: int, optional
334
+ :return: Returns the result object.
335
+ """ # noqa: E501
336
+
337
+ _param = self._get_active_tcp_serialize(
338
+ cell=cell,
339
+ motion_group=motion_group,
340
+ rotation_type=rotation_type,
341
+ _request_auth=_request_auth,
342
+ _content_type=_content_type,
343
+ _headers=_headers,
344
+ _host_index=_host_index,
345
+ )
346
+
347
+ _response_types_map: Dict[str, Optional[str]] = {
348
+ "200": "RobotTcp",
349
+ }
350
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
351
+ await response_data.read()
352
+ return self.api_client.response_deserialize(
353
+ response_data=response_data,
354
+ response_types_map=_response_types_map,
355
+ ).data
356
+
357
+ @validate_call
358
+ async def get_active_tcp_with_http_info(
359
+ self,
360
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
361
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
362
+ rotation_type: Optional[RotationAngleTypes] = None,
363
+ _request_timeout: Union[
364
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
365
+ ] = None,
366
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
367
+ _content_type: Optional[StrictStr] = None,
368
+ _headers: Optional[Dict[StrictStr, Any]] = None,
369
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
370
+ ) -> ApiResponse[RobotTcp]:
371
+ """Selected TCP
372
+
373
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the internal selected TCP of a connected device.
374
+
375
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
376
+ :type cell: str
377
+ :param motion_group: The motion-group id. (required)
378
+ :type motion_group: str
379
+ :param rotation_type:
380
+ :type rotation_type: RotationAngleTypes
381
+ :param _request_timeout: timeout setting for this request. If one
382
+ number provided, it will be total request
383
+ timeout. It can also be a pair (tuple) of
384
+ (connection, read) timeouts.
385
+ :type _request_timeout: int, tuple(int, int), optional
386
+ :param _request_auth: set to override the auth_settings for an a single
387
+ request; this effectively ignores the
388
+ authentication in the spec for a single request.
389
+ :type _request_auth: dict, optional
390
+ :param _content_type: force content-type for the request.
391
+ :type _content_type: str, Optional
392
+ :param _headers: set to override the headers for a single
393
+ request; this effectively ignores the headers
394
+ in the spec for a single request.
395
+ :type _headers: dict, optional
396
+ :param _host_index: set to override the host_index for a single
397
+ request; this effectively ignores the host_index
398
+ in the spec for a single request.
399
+ :type _host_index: int, optional
400
+ :return: Returns the result object.
401
+ """ # noqa: E501
402
+
403
+ _param = self._get_active_tcp_serialize(
404
+ cell=cell,
405
+ motion_group=motion_group,
406
+ rotation_type=rotation_type,
407
+ _request_auth=_request_auth,
408
+ _content_type=_content_type,
409
+ _headers=_headers,
410
+ _host_index=_host_index,
411
+ )
412
+
413
+ _response_types_map: Dict[str, Optional[str]] = {
414
+ "200": "RobotTcp",
415
+ }
416
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
417
+ await response_data.read()
418
+ return self.api_client.response_deserialize(
419
+ response_data=response_data,
420
+ response_types_map=_response_types_map,
421
+ )
422
+
423
+ @validate_call
424
+ async def get_active_tcp_without_preload_content(
425
+ self,
426
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
427
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
428
+ rotation_type: Optional[RotationAngleTypes] = None,
429
+ _request_timeout: Union[
430
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
431
+ ] = None,
432
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
433
+ _content_type: Optional[StrictStr] = None,
434
+ _headers: Optional[Dict[StrictStr, Any]] = None,
435
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
436
+ ) -> RESTResponseType:
437
+ """Selected TCP
438
+
439
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the internal selected TCP of a connected device.
440
+
441
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
442
+ :type cell: str
443
+ :param motion_group: The motion-group id. (required)
444
+ :type motion_group: str
445
+ :param rotation_type:
446
+ :type rotation_type: RotationAngleTypes
447
+ :param _request_timeout: timeout setting for this request. If one
448
+ number provided, it will be total request
449
+ timeout. It can also be a pair (tuple) of
450
+ (connection, read) timeouts.
451
+ :type _request_timeout: int, tuple(int, int), optional
452
+ :param _request_auth: set to override the auth_settings for an a single
453
+ request; this effectively ignores the
454
+ authentication in the spec for a single request.
455
+ :type _request_auth: dict, optional
456
+ :param _content_type: force content-type for the request.
457
+ :type _content_type: str, Optional
458
+ :param _headers: set to override the headers for a single
459
+ request; this effectively ignores the headers
460
+ in the spec for a single request.
461
+ :type _headers: dict, optional
462
+ :param _host_index: set to override the host_index for a single
463
+ request; this effectively ignores the host_index
464
+ in the spec for a single request.
465
+ :type _host_index: int, optional
466
+ :return: Returns the result object.
467
+ """ # noqa: E501
468
+
469
+ _param = self._get_active_tcp_serialize(
470
+ cell=cell,
471
+ motion_group=motion_group,
472
+ rotation_type=rotation_type,
473
+ _request_auth=_request_auth,
474
+ _content_type=_content_type,
475
+ _headers=_headers,
476
+ _host_index=_host_index,
477
+ )
478
+
479
+ _response_types_map: Dict[str, Optional[str]] = {
480
+ "200": "RobotTcp",
481
+ }
482
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
483
+ return response_data.response
484
+
485
+ def _get_active_tcp_serialize(
486
+ self,
487
+ cell,
488
+ motion_group,
489
+ rotation_type,
490
+ _request_auth,
491
+ _content_type,
492
+ _headers,
493
+ _host_index,
494
+ ) -> RequestSerialized:
495
+
496
+ _host = None
497
+
498
+ _collection_formats: Dict[str, str] = {}
499
+
500
+ _path_params: Dict[str, str] = {}
501
+ _query_params: List[Tuple[str, str]] = []
502
+ _header_params: Dict[str, Optional[str]] = _headers or {}
503
+ _form_params: List[Tuple[str, str]] = []
504
+ _files: Dict[str, Union[str, bytes]] = {}
505
+ _body_params: Optional[bytes] = None
506
+
507
+ # process the path parameters
508
+ if cell is not None:
509
+ _path_params["cell"] = cell
510
+ if motion_group is not None:
511
+ _path_params["motion-group"] = motion_group
512
+ # process the query parameters
513
+ if rotation_type is not None:
514
+ _query_params.append(("rotation_type", rotation_type.value))
515
+
516
+ # process the header parameters
517
+ # process the form parameters
518
+ # process the body parameter
519
+
520
+ # set the HTTP header `Accept`
521
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
522
+
523
+ # authentication setting
524
+ _auth_settings: List[str] = ["BearerAuth"]
525
+
526
+ return self.api_client.param_serialize(
527
+ method="GET",
528
+ resource_path="/cells/{cell}/motion-groups/{motion-group}/tcps/current",
529
+ path_params=_path_params,
530
+ query_params=_query_params,
531
+ header_params=_header_params,
532
+ body=_body_params,
533
+ post_params=_form_params,
534
+ files=_files,
535
+ auth_settings=_auth_settings,
536
+ collection_formats=_collection_formats,
537
+ _host=_host,
538
+ _request_auth=_request_auth,
539
+ )
540
+
541
+ @validate_call
542
+ async def get_current_motion_group_state(
543
+ self,
544
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
545
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
546
+ tcp: Annotated[
547
+ Optional[StrictStr],
548
+ Field(
549
+ description="The identifier of the tool center point (TCP) to be used for tcp_pose in response. If not set, the flange pose is returned as tcp_pose. "
550
+ ),
551
+ ] = None,
552
+ response_coordinate_system: Annotated[
553
+ Optional[StrictStr],
554
+ Field(
555
+ description="Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used. "
556
+ ),
557
+ ] = None,
558
+ _request_timeout: Union[
559
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
560
+ ] = None,
561
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
562
+ _content_type: Optional[StrictStr] = None,
563
+ _headers: Optional[Dict[StrictStr, Any]] = None,
564
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
565
+ ) -> MotionGroupStateResponse:
566
+ """State of Device
567
+
568
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Returns the current state of the selected motion group including the current joint position, velocity, pose, and more.
569
+
570
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
571
+ :type cell: str
572
+ :param motion_group: The motion-group id. (required)
573
+ :type motion_group: str
574
+ :param tcp: The identifier of the tool center point (TCP) to be used for tcp_pose in response. If not set, the flange pose is returned as tcp_pose.
575
+ :type tcp: str
576
+ :param response_coordinate_system: Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used.
577
+ :type response_coordinate_system: str
578
+ :param _request_timeout: timeout setting for this request. If one
579
+ number provided, it will be total request
580
+ timeout. It can also be a pair (tuple) of
581
+ (connection, read) timeouts.
582
+ :type _request_timeout: int, tuple(int, int), optional
583
+ :param _request_auth: set to override the auth_settings for an a single
584
+ request; this effectively ignores the
585
+ authentication in the spec for a single request.
586
+ :type _request_auth: dict, optional
587
+ :param _content_type: force content-type for the request.
588
+ :type _content_type: str, Optional
589
+ :param _headers: set to override the headers for a single
590
+ request; this effectively ignores the headers
591
+ in the spec for a single request.
592
+ :type _headers: dict, optional
593
+ :param _host_index: set to override the host_index for a single
594
+ request; this effectively ignores the host_index
595
+ in the spec for a single request.
596
+ :type _host_index: int, optional
597
+ :return: Returns the result object.
598
+ """ # noqa: E501
599
+
600
+ _param = self._get_current_motion_group_state_serialize(
601
+ cell=cell,
602
+ motion_group=motion_group,
603
+ tcp=tcp,
604
+ response_coordinate_system=response_coordinate_system,
605
+ _request_auth=_request_auth,
606
+ _content_type=_content_type,
607
+ _headers=_headers,
608
+ _host_index=_host_index,
609
+ )
610
+
611
+ _response_types_map: Dict[str, Optional[str]] = {
612
+ "200": "MotionGroupStateResponse",
613
+ }
614
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
615
+ await response_data.read()
616
+ return self.api_client.response_deserialize(
617
+ response_data=response_data,
618
+ response_types_map=_response_types_map,
619
+ ).data
620
+
621
+ @validate_call
622
+ async def get_current_motion_group_state_with_http_info(
623
+ self,
624
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
625
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
626
+ tcp: Annotated[
627
+ Optional[StrictStr],
628
+ Field(
629
+ description="The identifier of the tool center point (TCP) to be used for tcp_pose in response. If not set, the flange pose is returned as tcp_pose. "
630
+ ),
631
+ ] = None,
632
+ response_coordinate_system: Annotated[
633
+ Optional[StrictStr],
634
+ Field(
635
+ description="Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used. "
636
+ ),
637
+ ] = None,
638
+ _request_timeout: Union[
639
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
640
+ ] = None,
641
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
642
+ _content_type: Optional[StrictStr] = None,
643
+ _headers: Optional[Dict[StrictStr, Any]] = None,
644
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
645
+ ) -> ApiResponse[MotionGroupStateResponse]:
646
+ """State of Device
647
+
648
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Returns the current state of the selected motion group including the current joint position, velocity, pose, and more.
649
+
650
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
651
+ :type cell: str
652
+ :param motion_group: The motion-group id. (required)
653
+ :type motion_group: str
654
+ :param tcp: The identifier of the tool center point (TCP) to be used for tcp_pose in response. If not set, the flange pose is returned as tcp_pose.
655
+ :type tcp: str
656
+ :param response_coordinate_system: Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used.
657
+ :type response_coordinate_system: str
658
+ :param _request_timeout: timeout setting for this request. If one
659
+ number provided, it will be total request
660
+ timeout. It can also be a pair (tuple) of
661
+ (connection, read) timeouts.
662
+ :type _request_timeout: int, tuple(int, int), optional
663
+ :param _request_auth: set to override the auth_settings for an a single
664
+ request; this effectively ignores the
665
+ authentication in the spec for a single request.
666
+ :type _request_auth: dict, optional
667
+ :param _content_type: force content-type for the request.
668
+ :type _content_type: str, Optional
669
+ :param _headers: set to override the headers for a single
670
+ request; this effectively ignores the headers
671
+ in the spec for a single request.
672
+ :type _headers: dict, optional
673
+ :param _host_index: set to override the host_index for a single
674
+ request; this effectively ignores the host_index
675
+ in the spec for a single request.
676
+ :type _host_index: int, optional
677
+ :return: Returns the result object.
678
+ """ # noqa: E501
679
+
680
+ _param = self._get_current_motion_group_state_serialize(
681
+ cell=cell,
682
+ motion_group=motion_group,
683
+ tcp=tcp,
684
+ response_coordinate_system=response_coordinate_system,
685
+ _request_auth=_request_auth,
686
+ _content_type=_content_type,
687
+ _headers=_headers,
688
+ _host_index=_host_index,
689
+ )
690
+
691
+ _response_types_map: Dict[str, Optional[str]] = {
692
+ "200": "MotionGroupStateResponse",
693
+ }
694
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
695
+ await response_data.read()
696
+ return self.api_client.response_deserialize(
697
+ response_data=response_data,
698
+ response_types_map=_response_types_map,
699
+ )
700
+
701
+ @validate_call
702
+ async def get_current_motion_group_state_without_preload_content(
703
+ self,
704
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
705
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
706
+ tcp: Annotated[
707
+ Optional[StrictStr],
708
+ Field(
709
+ description="The identifier of the tool center point (TCP) to be used for tcp_pose in response. If not set, the flange pose is returned as tcp_pose. "
710
+ ),
711
+ ] = None,
712
+ response_coordinate_system: Annotated[
713
+ Optional[StrictStr],
714
+ Field(
715
+ description="Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used. "
716
+ ),
717
+ ] = None,
718
+ _request_timeout: Union[
719
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
720
+ ] = None,
721
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
722
+ _content_type: Optional[StrictStr] = None,
723
+ _headers: Optional[Dict[StrictStr, Any]] = None,
724
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
725
+ ) -> RESTResponseType:
726
+ """State of Device
727
+
728
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Returns the current state of the selected motion group including the current joint position, velocity, pose, and more.
729
+
730
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
731
+ :type cell: str
732
+ :param motion_group: The motion-group id. (required)
733
+ :type motion_group: str
734
+ :param tcp: The identifier of the tool center point (TCP) to be used for tcp_pose in response. If not set, the flange pose is returned as tcp_pose.
735
+ :type tcp: str
736
+ :param response_coordinate_system: Unique identifier addressing a coordinate system to which the responses should be converted. If not set, world coordinate system is used.
737
+ :type response_coordinate_system: str
738
+ :param _request_timeout: timeout setting for this request. If one
739
+ number provided, it will be total request
740
+ timeout. It can also be a pair (tuple) of
741
+ (connection, read) timeouts.
742
+ :type _request_timeout: int, tuple(int, int), optional
743
+ :param _request_auth: set to override the auth_settings for an a single
744
+ request; this effectively ignores the
745
+ authentication in the spec for a single request.
746
+ :type _request_auth: dict, optional
747
+ :param _content_type: force content-type for the request.
748
+ :type _content_type: str, Optional
749
+ :param _headers: set to override the headers for a single
750
+ request; this effectively ignores the headers
751
+ in the spec for a single request.
752
+ :type _headers: dict, optional
753
+ :param _host_index: set to override the host_index for a single
754
+ request; this effectively ignores the host_index
755
+ in the spec for a single request.
756
+ :type _host_index: int, optional
757
+ :return: Returns the result object.
758
+ """ # noqa: E501
759
+
760
+ _param = self._get_current_motion_group_state_serialize(
761
+ cell=cell,
762
+ motion_group=motion_group,
763
+ tcp=tcp,
764
+ response_coordinate_system=response_coordinate_system,
765
+ _request_auth=_request_auth,
766
+ _content_type=_content_type,
767
+ _headers=_headers,
768
+ _host_index=_host_index,
769
+ )
770
+
771
+ _response_types_map: Dict[str, Optional[str]] = {
772
+ "200": "MotionGroupStateResponse",
773
+ }
774
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
775
+ return response_data.response
776
+
777
+ def _get_current_motion_group_state_serialize(
778
+ self,
779
+ cell,
780
+ motion_group,
781
+ tcp,
782
+ response_coordinate_system,
783
+ _request_auth,
784
+ _content_type,
785
+ _headers,
786
+ _host_index,
787
+ ) -> RequestSerialized:
788
+
789
+ _host = None
790
+
791
+ _collection_formats: Dict[str, str] = {}
792
+
793
+ _path_params: Dict[str, str] = {}
794
+ _query_params: List[Tuple[str, str]] = []
795
+ _header_params: Dict[str, Optional[str]] = _headers or {}
796
+ _form_params: List[Tuple[str, str]] = []
797
+ _files: Dict[str, Union[str, bytes]] = {}
798
+ _body_params: Optional[bytes] = None
799
+
800
+ # process the path parameters
801
+ if cell is not None:
802
+ _path_params["cell"] = cell
803
+ if motion_group is not None:
804
+ _path_params["motion-group"] = motion_group
805
+ # process the query parameters
806
+ if tcp is not None:
807
+ _query_params.append(("tcp", tcp))
808
+
809
+ if response_coordinate_system is not None:
810
+ _query_params.append(("response_coordinate_system", response_coordinate_system))
811
+
812
+ # process the header parameters
813
+ # process the form parameters
814
+ # process the body parameter
815
+
816
+ # set the HTTP header `Accept`
817
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
818
+
819
+ # authentication setting
820
+ _auth_settings: List[str] = ["BearerAuth"]
821
+
822
+ return self.api_client.param_serialize(
823
+ method="GET",
824
+ resource_path="/cells/{cell}/motion-groups/{motion-group}/state",
825
+ path_params=_path_params,
826
+ query_params=_query_params,
827
+ header_params=_header_params,
828
+ body=_body_params,
829
+ post_params=_form_params,
830
+ files=_files,
831
+ auth_settings=_auth_settings,
832
+ collection_formats=_collection_formats,
833
+ _host=_host,
834
+ _request_auth=_request_auth,
835
+ )
836
+
837
+ @validate_call
838
+ async def get_info_capabilities(
839
+ self,
840
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
841
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
842
+ _request_timeout: Union[
843
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
844
+ ] = None,
845
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
846
+ _content_type: Optional[StrictStr] = None,
847
+ _headers: Optional[Dict[StrictStr, Any]] = None,
848
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
849
+ ) -> InfoServiceCapabilities:
850
+ """Capabilities
851
+
852
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Shows the options the motion group offers in regard to the information service. Some motion groups may not provide all information services, e.g. some manufacturers don't have a blending zone concept.
853
+
854
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
855
+ :type cell: str
856
+ :param motion_group: The motion-group id. (required)
857
+ :type motion_group: str
858
+ :param _request_timeout: timeout setting for this request. If one
859
+ number provided, it will be total request
860
+ timeout. It can also be a pair (tuple) of
861
+ (connection, read) timeouts.
862
+ :type _request_timeout: int, tuple(int, int), optional
863
+ :param _request_auth: set to override the auth_settings for an a single
864
+ request; this effectively ignores the
865
+ authentication in the spec for a single request.
866
+ :type _request_auth: dict, optional
867
+ :param _content_type: force content-type for the request.
868
+ :type _content_type: str, Optional
869
+ :param _headers: set to override the headers for a single
870
+ request; this effectively ignores the headers
871
+ in the spec for a single request.
872
+ :type _headers: dict, optional
873
+ :param _host_index: set to override the host_index for a single
874
+ request; this effectively ignores the host_index
875
+ in the spec for a single request.
876
+ :type _host_index: int, optional
877
+ :return: Returns the result object.
878
+ """ # noqa: E501
879
+
880
+ _param = self._get_info_capabilities_serialize(
881
+ cell=cell,
882
+ motion_group=motion_group,
883
+ _request_auth=_request_auth,
884
+ _content_type=_content_type,
885
+ _headers=_headers,
886
+ _host_index=_host_index,
887
+ )
888
+
889
+ _response_types_map: Dict[str, Optional[str]] = {
890
+ "200": "InfoServiceCapabilities",
891
+ }
892
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
893
+ await response_data.read()
894
+ return self.api_client.response_deserialize(
895
+ response_data=response_data,
896
+ response_types_map=_response_types_map,
897
+ ).data
898
+
899
+ @validate_call
900
+ async def get_info_capabilities_with_http_info(
901
+ self,
902
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
903
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
904
+ _request_timeout: Union[
905
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
906
+ ] = None,
907
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
908
+ _content_type: Optional[StrictStr] = None,
909
+ _headers: Optional[Dict[StrictStr, Any]] = None,
910
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
911
+ ) -> ApiResponse[InfoServiceCapabilities]:
912
+ """Capabilities
913
+
914
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Shows the options the motion group offers in regard to the information service. Some motion groups may not provide all information services, e.g. some manufacturers don't have a blending zone concept.
915
+
916
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
917
+ :type cell: str
918
+ :param motion_group: The motion-group id. (required)
919
+ :type motion_group: str
920
+ :param _request_timeout: timeout setting for this request. If one
921
+ number provided, it will be total request
922
+ timeout. It can also be a pair (tuple) of
923
+ (connection, read) timeouts.
924
+ :type _request_timeout: int, tuple(int, int), optional
925
+ :param _request_auth: set to override the auth_settings for an a single
926
+ request; this effectively ignores the
927
+ authentication in the spec for a single request.
928
+ :type _request_auth: dict, optional
929
+ :param _content_type: force content-type for the request.
930
+ :type _content_type: str, Optional
931
+ :param _headers: set to override the headers for a single
932
+ request; this effectively ignores the headers
933
+ in the spec for a single request.
934
+ :type _headers: dict, optional
935
+ :param _host_index: set to override the host_index for a single
936
+ request; this effectively ignores the host_index
937
+ in the spec for a single request.
938
+ :type _host_index: int, optional
939
+ :return: Returns the result object.
940
+ """ # noqa: E501
941
+
942
+ _param = self._get_info_capabilities_serialize(
943
+ cell=cell,
944
+ motion_group=motion_group,
945
+ _request_auth=_request_auth,
946
+ _content_type=_content_type,
947
+ _headers=_headers,
948
+ _host_index=_host_index,
949
+ )
950
+
951
+ _response_types_map: Dict[str, Optional[str]] = {
952
+ "200": "InfoServiceCapabilities",
953
+ }
954
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
955
+ await response_data.read()
956
+ return self.api_client.response_deserialize(
957
+ response_data=response_data,
958
+ response_types_map=_response_types_map,
959
+ )
960
+
961
+ @validate_call
962
+ async def get_info_capabilities_without_preload_content(
963
+ self,
964
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
965
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
966
+ _request_timeout: Union[
967
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
968
+ ] = None,
969
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
970
+ _content_type: Optional[StrictStr] = None,
971
+ _headers: Optional[Dict[StrictStr, Any]] = None,
972
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
973
+ ) -> RESTResponseType:
974
+ """Capabilities
975
+
976
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Shows the options the motion group offers in regard to the information service. Some motion groups may not provide all information services, e.g. some manufacturers don't have a blending zone concept.
977
+
978
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
979
+ :type cell: str
980
+ :param motion_group: The motion-group id. (required)
981
+ :type motion_group: str
982
+ :param _request_timeout: timeout setting for this request. If one
983
+ number provided, it will be total request
984
+ timeout. It can also be a pair (tuple) of
985
+ (connection, read) timeouts.
986
+ :type _request_timeout: int, tuple(int, int), optional
987
+ :param _request_auth: set to override the auth_settings for an a single
988
+ request; this effectively ignores the
989
+ authentication in the spec for a single request.
990
+ :type _request_auth: dict, optional
991
+ :param _content_type: force content-type for the request.
992
+ :type _content_type: str, Optional
993
+ :param _headers: set to override the headers for a single
994
+ request; this effectively ignores the headers
995
+ in the spec for a single request.
996
+ :type _headers: dict, optional
997
+ :param _host_index: set to override the host_index for a single
998
+ request; this effectively ignores the host_index
999
+ in the spec for a single request.
1000
+ :type _host_index: int, optional
1001
+ :return: Returns the result object.
1002
+ """ # noqa: E501
1003
+
1004
+ _param = self._get_info_capabilities_serialize(
1005
+ cell=cell,
1006
+ motion_group=motion_group,
1007
+ _request_auth=_request_auth,
1008
+ _content_type=_content_type,
1009
+ _headers=_headers,
1010
+ _host_index=_host_index,
1011
+ )
1012
+
1013
+ _response_types_map: Dict[str, Optional[str]] = {
1014
+ "200": "InfoServiceCapabilities",
1015
+ }
1016
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1017
+ return response_data.response
1018
+
1019
+ def _get_info_capabilities_serialize(
1020
+ self,
1021
+ cell,
1022
+ motion_group,
1023
+ _request_auth,
1024
+ _content_type,
1025
+ _headers,
1026
+ _host_index,
1027
+ ) -> RequestSerialized:
1028
+
1029
+ _host = None
1030
+
1031
+ _collection_formats: Dict[str, str] = {}
1032
+
1033
+ _path_params: Dict[str, str] = {}
1034
+ _query_params: List[Tuple[str, str]] = []
1035
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1036
+ _form_params: List[Tuple[str, str]] = []
1037
+ _files: Dict[str, Union[str, bytes]] = {}
1038
+ _body_params: Optional[bytes] = None
1039
+
1040
+ # process the path parameters
1041
+ if cell is not None:
1042
+ _path_params["cell"] = cell
1043
+ if motion_group is not None:
1044
+ _path_params["motion-group"] = motion_group
1045
+ # process the query parameters
1046
+ # process the header parameters
1047
+ # process the form parameters
1048
+ # process the body parameter
1049
+
1050
+ # set the HTTP header `Accept`
1051
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1052
+
1053
+ # authentication setting
1054
+ _auth_settings: List[str] = ["BearerAuth"]
1055
+
1056
+ return self.api_client.param_serialize(
1057
+ method="GET",
1058
+ resource_path="/cells/{cell}/motion-groups/{motion-group}/info-capabilities",
1059
+ path_params=_path_params,
1060
+ query_params=_query_params,
1061
+ header_params=_header_params,
1062
+ body=_body_params,
1063
+ post_params=_form_params,
1064
+ files=_files,
1065
+ auth_settings=_auth_settings,
1066
+ collection_formats=_collection_formats,
1067
+ _host=_host,
1068
+ _request_auth=_request_auth,
1069
+ )
1070
+
1071
+ @validate_call
1072
+ async def get_motion_group_specification(
1073
+ self,
1074
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1075
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
1076
+ _request_timeout: Union[
1077
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1078
+ ] = None,
1079
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1080
+ _content_type: Optional[StrictStr] = None,
1081
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1082
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1083
+ ) -> MotionGroupSpecification:
1084
+ """Get Static Properties
1085
+
1086
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get static properties of the motion group. Those properties are used internally for motion group plannning. Only supported motion groups will return a valid response.
1087
+
1088
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1089
+ :type cell: str
1090
+ :param motion_group: The motion-group id. (required)
1091
+ :type motion_group: str
1092
+ :param _request_timeout: timeout setting for this request. If one
1093
+ number provided, it will be total request
1094
+ timeout. It can also be a pair (tuple) of
1095
+ (connection, read) timeouts.
1096
+ :type _request_timeout: int, tuple(int, int), optional
1097
+ :param _request_auth: set to override the auth_settings for an a single
1098
+ request; this effectively ignores the
1099
+ authentication in the spec for a single request.
1100
+ :type _request_auth: dict, optional
1101
+ :param _content_type: force content-type for the request.
1102
+ :type _content_type: str, Optional
1103
+ :param _headers: set to override the headers for a single
1104
+ request; this effectively ignores the headers
1105
+ in the spec for a single request.
1106
+ :type _headers: dict, optional
1107
+ :param _host_index: set to override the host_index for a single
1108
+ request; this effectively ignores the host_index
1109
+ in the spec for a single request.
1110
+ :type _host_index: int, optional
1111
+ :return: Returns the result object.
1112
+ """ # noqa: E501
1113
+
1114
+ _param = self._get_motion_group_specification_serialize(
1115
+ cell=cell,
1116
+ motion_group=motion_group,
1117
+ _request_auth=_request_auth,
1118
+ _content_type=_content_type,
1119
+ _headers=_headers,
1120
+ _host_index=_host_index,
1121
+ )
1122
+
1123
+ _response_types_map: Dict[str, Optional[str]] = {
1124
+ "200": "MotionGroupSpecification",
1125
+ }
1126
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1127
+ await response_data.read()
1128
+ return self.api_client.response_deserialize(
1129
+ response_data=response_data,
1130
+ response_types_map=_response_types_map,
1131
+ ).data
1132
+
1133
+ @validate_call
1134
+ async def get_motion_group_specification_with_http_info(
1135
+ self,
1136
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1137
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
1138
+ _request_timeout: Union[
1139
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1140
+ ] = None,
1141
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1142
+ _content_type: Optional[StrictStr] = None,
1143
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1144
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1145
+ ) -> ApiResponse[MotionGroupSpecification]:
1146
+ """Get Static Properties
1147
+
1148
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get static properties of the motion group. Those properties are used internally for motion group plannning. Only supported motion groups will return a valid response.
1149
+
1150
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1151
+ :type cell: str
1152
+ :param motion_group: The motion-group id. (required)
1153
+ :type motion_group: str
1154
+ :param _request_timeout: timeout setting for this request. If one
1155
+ number provided, it will be total request
1156
+ timeout. It can also be a pair (tuple) of
1157
+ (connection, read) timeouts.
1158
+ :type _request_timeout: int, tuple(int, int), optional
1159
+ :param _request_auth: set to override the auth_settings for an a single
1160
+ request; this effectively ignores the
1161
+ authentication in the spec for a single request.
1162
+ :type _request_auth: dict, optional
1163
+ :param _content_type: force content-type for the request.
1164
+ :type _content_type: str, Optional
1165
+ :param _headers: set to override the headers for a single
1166
+ request; this effectively ignores the headers
1167
+ in the spec for a single request.
1168
+ :type _headers: dict, optional
1169
+ :param _host_index: set to override the host_index for a single
1170
+ request; this effectively ignores the host_index
1171
+ in the spec for a single request.
1172
+ :type _host_index: int, optional
1173
+ :return: Returns the result object.
1174
+ """ # noqa: E501
1175
+
1176
+ _param = self._get_motion_group_specification_serialize(
1177
+ cell=cell,
1178
+ motion_group=motion_group,
1179
+ _request_auth=_request_auth,
1180
+ _content_type=_content_type,
1181
+ _headers=_headers,
1182
+ _host_index=_host_index,
1183
+ )
1184
+
1185
+ _response_types_map: Dict[str, Optional[str]] = {
1186
+ "200": "MotionGroupSpecification",
1187
+ }
1188
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1189
+ await response_data.read()
1190
+ return self.api_client.response_deserialize(
1191
+ response_data=response_data,
1192
+ response_types_map=_response_types_map,
1193
+ )
1194
+
1195
+ @validate_call
1196
+ async def get_motion_group_specification_without_preload_content(
1197
+ self,
1198
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1199
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
1200
+ _request_timeout: Union[
1201
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1202
+ ] = None,
1203
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1204
+ _content_type: Optional[StrictStr] = None,
1205
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1206
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1207
+ ) -> RESTResponseType:
1208
+ """Get Static Properties
1209
+
1210
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get static properties of the motion group. Those properties are used internally for motion group plannning. Only supported motion groups will return a valid response.
1211
+
1212
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1213
+ :type cell: str
1214
+ :param motion_group: The motion-group id. (required)
1215
+ :type motion_group: str
1216
+ :param _request_timeout: timeout setting for this request. If one
1217
+ number provided, it will be total request
1218
+ timeout. It can also be a pair (tuple) of
1219
+ (connection, read) timeouts.
1220
+ :type _request_timeout: int, tuple(int, int), optional
1221
+ :param _request_auth: set to override the auth_settings for an a single
1222
+ request; this effectively ignores the
1223
+ authentication in the spec for a single request.
1224
+ :type _request_auth: dict, optional
1225
+ :param _content_type: force content-type for the request.
1226
+ :type _content_type: str, Optional
1227
+ :param _headers: set to override the headers for a single
1228
+ request; this effectively ignores the headers
1229
+ in the spec for a single request.
1230
+ :type _headers: dict, optional
1231
+ :param _host_index: set to override the host_index for a single
1232
+ request; this effectively ignores the host_index
1233
+ in the spec for a single request.
1234
+ :type _host_index: int, optional
1235
+ :return: Returns the result object.
1236
+ """ # noqa: E501
1237
+
1238
+ _param = self._get_motion_group_specification_serialize(
1239
+ cell=cell,
1240
+ motion_group=motion_group,
1241
+ _request_auth=_request_auth,
1242
+ _content_type=_content_type,
1243
+ _headers=_headers,
1244
+ _host_index=_host_index,
1245
+ )
1246
+
1247
+ _response_types_map: Dict[str, Optional[str]] = {
1248
+ "200": "MotionGroupSpecification",
1249
+ }
1250
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1251
+ return response_data.response
1252
+
1253
+ def _get_motion_group_specification_serialize(
1254
+ self,
1255
+ cell,
1256
+ motion_group,
1257
+ _request_auth,
1258
+ _content_type,
1259
+ _headers,
1260
+ _host_index,
1261
+ ) -> RequestSerialized:
1262
+
1263
+ _host = None
1264
+
1265
+ _collection_formats: Dict[str, str] = {}
1266
+
1267
+ _path_params: Dict[str, str] = {}
1268
+ _query_params: List[Tuple[str, str]] = []
1269
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1270
+ _form_params: List[Tuple[str, str]] = []
1271
+ _files: Dict[str, Union[str, bytes]] = {}
1272
+ _body_params: Optional[bytes] = None
1273
+
1274
+ # process the path parameters
1275
+ if cell is not None:
1276
+ _path_params["cell"] = cell
1277
+ if motion_group is not None:
1278
+ _path_params["motion-group"] = motion_group
1279
+ # process the query parameters
1280
+ # process the header parameters
1281
+ # process the form parameters
1282
+ # process the body parameter
1283
+
1284
+ # set the HTTP header `Accept`
1285
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1286
+
1287
+ # authentication setting
1288
+ _auth_settings: List[str] = ["BearerAuth"]
1289
+
1290
+ return self.api_client.param_serialize(
1291
+ method="GET",
1292
+ resource_path="/cells/{cell}/motion-groups/{motion-group}/specification",
1293
+ path_params=_path_params,
1294
+ query_params=_query_params,
1295
+ header_params=_header_params,
1296
+ body=_body_params,
1297
+ post_params=_form_params,
1298
+ files=_files,
1299
+ auth_settings=_auth_settings,
1300
+ collection_formats=_collection_formats,
1301
+ _host=_host,
1302
+ _request_auth=_request_auth,
1303
+ )
1304
+
1305
+ @validate_call
1306
+ async def get_mounting(
1307
+ self,
1308
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1309
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
1310
+ _request_timeout: Union[
1311
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1312
+ ] = None,
1313
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1314
+ _content_type: Optional[StrictStr] = None,
1315
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1316
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1317
+ ) -> Mounting:
1318
+ """Device Mounting
1319
+
1320
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Returns the configured mounting pose offset in relation to world coordinate system and the motion groups coordinate system.
1321
+
1322
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1323
+ :type cell: str
1324
+ :param motion_group: The motion-group id. (required)
1325
+ :type motion_group: str
1326
+ :param _request_timeout: timeout setting for this request. If one
1327
+ number provided, it will be total request
1328
+ timeout. It can also be a pair (tuple) of
1329
+ (connection, read) timeouts.
1330
+ :type _request_timeout: int, tuple(int, int), optional
1331
+ :param _request_auth: set to override the auth_settings for an a single
1332
+ request; this effectively ignores the
1333
+ authentication in the spec for a single request.
1334
+ :type _request_auth: dict, optional
1335
+ :param _content_type: force content-type for the request.
1336
+ :type _content_type: str, Optional
1337
+ :param _headers: set to override the headers for a single
1338
+ request; this effectively ignores the headers
1339
+ in the spec for a single request.
1340
+ :type _headers: dict, optional
1341
+ :param _host_index: set to override the host_index for a single
1342
+ request; this effectively ignores the host_index
1343
+ in the spec for a single request.
1344
+ :type _host_index: int, optional
1345
+ :return: Returns the result object.
1346
+ """ # noqa: E501
1347
+
1348
+ _param = self._get_mounting_serialize(
1349
+ cell=cell,
1350
+ motion_group=motion_group,
1351
+ _request_auth=_request_auth,
1352
+ _content_type=_content_type,
1353
+ _headers=_headers,
1354
+ _host_index=_host_index,
1355
+ )
1356
+
1357
+ _response_types_map: Dict[str, Optional[str]] = {
1358
+ "200": "Mounting",
1359
+ }
1360
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1361
+ await response_data.read()
1362
+ return self.api_client.response_deserialize(
1363
+ response_data=response_data,
1364
+ response_types_map=_response_types_map,
1365
+ ).data
1366
+
1367
+ @validate_call
1368
+ async def get_mounting_with_http_info(
1369
+ self,
1370
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1371
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
1372
+ _request_timeout: Union[
1373
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1374
+ ] = None,
1375
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1376
+ _content_type: Optional[StrictStr] = None,
1377
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1378
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1379
+ ) -> ApiResponse[Mounting]:
1380
+ """Device Mounting
1381
+
1382
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Returns the configured mounting pose offset in relation to world coordinate system and the motion groups coordinate system.
1383
+
1384
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1385
+ :type cell: str
1386
+ :param motion_group: The motion-group id. (required)
1387
+ :type motion_group: str
1388
+ :param _request_timeout: timeout setting for this request. If one
1389
+ number provided, it will be total request
1390
+ timeout. It can also be a pair (tuple) of
1391
+ (connection, read) timeouts.
1392
+ :type _request_timeout: int, tuple(int, int), optional
1393
+ :param _request_auth: set to override the auth_settings for an a single
1394
+ request; this effectively ignores the
1395
+ authentication in the spec for a single request.
1396
+ :type _request_auth: dict, optional
1397
+ :param _content_type: force content-type for the request.
1398
+ :type _content_type: str, Optional
1399
+ :param _headers: set to override the headers for a single
1400
+ request; this effectively ignores the headers
1401
+ in the spec for a single request.
1402
+ :type _headers: dict, optional
1403
+ :param _host_index: set to override the host_index for a single
1404
+ request; this effectively ignores the host_index
1405
+ in the spec for a single request.
1406
+ :type _host_index: int, optional
1407
+ :return: Returns the result object.
1408
+ """ # noqa: E501
1409
+
1410
+ _param = self._get_mounting_serialize(
1411
+ cell=cell,
1412
+ motion_group=motion_group,
1413
+ _request_auth=_request_auth,
1414
+ _content_type=_content_type,
1415
+ _headers=_headers,
1416
+ _host_index=_host_index,
1417
+ )
1418
+
1419
+ _response_types_map: Dict[str, Optional[str]] = {
1420
+ "200": "Mounting",
1421
+ }
1422
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1423
+ await response_data.read()
1424
+ return self.api_client.response_deserialize(
1425
+ response_data=response_data,
1426
+ response_types_map=_response_types_map,
1427
+ )
1428
+
1429
+ @validate_call
1430
+ async def get_mounting_without_preload_content(
1431
+ self,
1432
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1433
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
1434
+ _request_timeout: Union[
1435
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1436
+ ] = None,
1437
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1438
+ _content_type: Optional[StrictStr] = None,
1439
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1440
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1441
+ ) -> RESTResponseType:
1442
+ """Device Mounting
1443
+
1444
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Returns the configured mounting pose offset in relation to world coordinate system and the motion groups coordinate system.
1445
+
1446
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1447
+ :type cell: str
1448
+ :param motion_group: The motion-group id. (required)
1449
+ :type motion_group: str
1450
+ :param _request_timeout: timeout setting for this request. If one
1451
+ number provided, it will be total request
1452
+ timeout. It can also be a pair (tuple) of
1453
+ (connection, read) timeouts.
1454
+ :type _request_timeout: int, tuple(int, int), optional
1455
+ :param _request_auth: set to override the auth_settings for an a single
1456
+ request; this effectively ignores the
1457
+ authentication in the spec for a single request.
1458
+ :type _request_auth: dict, optional
1459
+ :param _content_type: force content-type for the request.
1460
+ :type _content_type: str, Optional
1461
+ :param _headers: set to override the headers for a single
1462
+ request; this effectively ignores the headers
1463
+ in the spec for a single request.
1464
+ :type _headers: dict, optional
1465
+ :param _host_index: set to override the host_index for a single
1466
+ request; this effectively ignores the host_index
1467
+ in the spec for a single request.
1468
+ :type _host_index: int, optional
1469
+ :return: Returns the result object.
1470
+ """ # noqa: E501
1471
+
1472
+ _param = self._get_mounting_serialize(
1473
+ cell=cell,
1474
+ motion_group=motion_group,
1475
+ _request_auth=_request_auth,
1476
+ _content_type=_content_type,
1477
+ _headers=_headers,
1478
+ _host_index=_host_index,
1479
+ )
1480
+
1481
+ _response_types_map: Dict[str, Optional[str]] = {
1482
+ "200": "Mounting",
1483
+ }
1484
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1485
+ return response_data.response
1486
+
1487
+ def _get_mounting_serialize(
1488
+ self,
1489
+ cell,
1490
+ motion_group,
1491
+ _request_auth,
1492
+ _content_type,
1493
+ _headers,
1494
+ _host_index,
1495
+ ) -> RequestSerialized:
1496
+
1497
+ _host = None
1498
+
1499
+ _collection_formats: Dict[str, str] = {}
1500
+
1501
+ _path_params: Dict[str, str] = {}
1502
+ _query_params: List[Tuple[str, str]] = []
1503
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1504
+ _form_params: List[Tuple[str, str]] = []
1505
+ _files: Dict[str, Union[str, bytes]] = {}
1506
+ _body_params: Optional[bytes] = None
1507
+
1508
+ # process the path parameters
1509
+ if cell is not None:
1510
+ _path_params["cell"] = cell
1511
+ if motion_group is not None:
1512
+ _path_params["motion-group"] = motion_group
1513
+ # process the query parameters
1514
+ # process the header parameters
1515
+ # process the form parameters
1516
+ # process the body parameter
1517
+
1518
+ # set the HTTP header `Accept`
1519
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1520
+
1521
+ # authentication setting
1522
+ _auth_settings: List[str] = ["BearerAuth"]
1523
+
1524
+ return self.api_client.param_serialize(
1525
+ method="GET",
1526
+ resource_path="/cells/{cell}/motion-groups/{motion-group}/mounting",
1527
+ path_params=_path_params,
1528
+ query_params=_query_params,
1529
+ header_params=_header_params,
1530
+ body=_body_params,
1531
+ post_params=_form_params,
1532
+ files=_files,
1533
+ auth_settings=_auth_settings,
1534
+ collection_formats=_collection_formats,
1535
+ _host=_host,
1536
+ _request_auth=_request_auth,
1537
+ )
1538
+
1539
+ @validate_call
1540
+ async def get_optimizer_configuration(
1541
+ self,
1542
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1543
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
1544
+ tcp: Optional[StrictStr] = None,
1545
+ _request_timeout: Union[
1546
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1547
+ ] = None,
1548
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1549
+ _content_type: Optional[StrictStr] = None,
1550
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1551
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1552
+ ) -> OptimizerSetup:
1553
+ """Optimizer Configuration
1554
+
1555
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ <!-- theme: danger --> > **Experimental** Get the complete configuration which can be passed to the planner-optimizer (incl. motion group description, limits etc.)
1556
+
1557
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1558
+ :type cell: str
1559
+ :param motion_group: The motion-group id. (required)
1560
+ :type motion_group: str
1561
+ :param tcp:
1562
+ :type tcp: str
1563
+ :param _request_timeout: timeout setting for this request. If one
1564
+ number provided, it will be total request
1565
+ timeout. It can also be a pair (tuple) of
1566
+ (connection, read) timeouts.
1567
+ :type _request_timeout: int, tuple(int, int), optional
1568
+ :param _request_auth: set to override the auth_settings for an a single
1569
+ request; this effectively ignores the
1570
+ authentication in the spec for a single request.
1571
+ :type _request_auth: dict, optional
1572
+ :param _content_type: force content-type for the request.
1573
+ :type _content_type: str, Optional
1574
+ :param _headers: set to override the headers for a single
1575
+ request; this effectively ignores the headers
1576
+ in the spec for a single request.
1577
+ :type _headers: dict, optional
1578
+ :param _host_index: set to override the host_index for a single
1579
+ request; this effectively ignores the host_index
1580
+ in the spec for a single request.
1581
+ :type _host_index: int, optional
1582
+ :return: Returns the result object.
1583
+ """ # noqa: E501
1584
+
1585
+ _param = self._get_optimizer_configuration_serialize(
1586
+ cell=cell,
1587
+ motion_group=motion_group,
1588
+ tcp=tcp,
1589
+ _request_auth=_request_auth,
1590
+ _content_type=_content_type,
1591
+ _headers=_headers,
1592
+ _host_index=_host_index,
1593
+ )
1594
+
1595
+ _response_types_map: Dict[str, Optional[str]] = {
1596
+ "200": "OptimizerSetup",
1597
+ }
1598
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1599
+ await response_data.read()
1600
+ return self.api_client.response_deserialize(
1601
+ response_data=response_data,
1602
+ response_types_map=_response_types_map,
1603
+ ).data
1604
+
1605
+ @validate_call
1606
+ async def get_optimizer_configuration_with_http_info(
1607
+ self,
1608
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1609
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
1610
+ tcp: Optional[StrictStr] = None,
1611
+ _request_timeout: Union[
1612
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1613
+ ] = None,
1614
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1615
+ _content_type: Optional[StrictStr] = None,
1616
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1617
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1618
+ ) -> ApiResponse[OptimizerSetup]:
1619
+ """Optimizer Configuration
1620
+
1621
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ <!-- theme: danger --> > **Experimental** Get the complete configuration which can be passed to the planner-optimizer (incl. motion group description, limits etc.)
1622
+
1623
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1624
+ :type cell: str
1625
+ :param motion_group: The motion-group id. (required)
1626
+ :type motion_group: str
1627
+ :param tcp:
1628
+ :type tcp: str
1629
+ :param _request_timeout: timeout setting for this request. If one
1630
+ number provided, it will be total request
1631
+ timeout. It can also be a pair (tuple) of
1632
+ (connection, read) timeouts.
1633
+ :type _request_timeout: int, tuple(int, int), optional
1634
+ :param _request_auth: set to override the auth_settings for an a single
1635
+ request; this effectively ignores the
1636
+ authentication in the spec for a single request.
1637
+ :type _request_auth: dict, optional
1638
+ :param _content_type: force content-type for the request.
1639
+ :type _content_type: str, Optional
1640
+ :param _headers: set to override the headers for a single
1641
+ request; this effectively ignores the headers
1642
+ in the spec for a single request.
1643
+ :type _headers: dict, optional
1644
+ :param _host_index: set to override the host_index for a single
1645
+ request; this effectively ignores the host_index
1646
+ in the spec for a single request.
1647
+ :type _host_index: int, optional
1648
+ :return: Returns the result object.
1649
+ """ # noqa: E501
1650
+
1651
+ _param = self._get_optimizer_configuration_serialize(
1652
+ cell=cell,
1653
+ motion_group=motion_group,
1654
+ tcp=tcp,
1655
+ _request_auth=_request_auth,
1656
+ _content_type=_content_type,
1657
+ _headers=_headers,
1658
+ _host_index=_host_index,
1659
+ )
1660
+
1661
+ _response_types_map: Dict[str, Optional[str]] = {
1662
+ "200": "OptimizerSetup",
1663
+ }
1664
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1665
+ await response_data.read()
1666
+ return self.api_client.response_deserialize(
1667
+ response_data=response_data,
1668
+ response_types_map=_response_types_map,
1669
+ )
1670
+
1671
+ @validate_call
1672
+ async def get_optimizer_configuration_without_preload_content(
1673
+ self,
1674
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1675
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
1676
+ tcp: Optional[StrictStr] = None,
1677
+ _request_timeout: Union[
1678
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1679
+ ] = None,
1680
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1681
+ _content_type: Optional[StrictStr] = None,
1682
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1683
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1684
+ ) -> RESTResponseType:
1685
+ """Optimizer Configuration
1686
+
1687
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ <!-- theme: danger --> > **Experimental** Get the complete configuration which can be passed to the planner-optimizer (incl. motion group description, limits etc.)
1688
+
1689
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1690
+ :type cell: str
1691
+ :param motion_group: The motion-group id. (required)
1692
+ :type motion_group: str
1693
+ :param tcp:
1694
+ :type tcp: str
1695
+ :param _request_timeout: timeout setting for this request. If one
1696
+ number provided, it will be total request
1697
+ timeout. It can also be a pair (tuple) of
1698
+ (connection, read) timeouts.
1699
+ :type _request_timeout: int, tuple(int, int), optional
1700
+ :param _request_auth: set to override the auth_settings for an a single
1701
+ request; this effectively ignores the
1702
+ authentication in the spec for a single request.
1703
+ :type _request_auth: dict, optional
1704
+ :param _content_type: force content-type for the request.
1705
+ :type _content_type: str, Optional
1706
+ :param _headers: set to override the headers for a single
1707
+ request; this effectively ignores the headers
1708
+ in the spec for a single request.
1709
+ :type _headers: dict, optional
1710
+ :param _host_index: set to override the host_index for a single
1711
+ request; this effectively ignores the host_index
1712
+ in the spec for a single request.
1713
+ :type _host_index: int, optional
1714
+ :return: Returns the result object.
1715
+ """ # noqa: E501
1716
+
1717
+ _param = self._get_optimizer_configuration_serialize(
1718
+ cell=cell,
1719
+ motion_group=motion_group,
1720
+ tcp=tcp,
1721
+ _request_auth=_request_auth,
1722
+ _content_type=_content_type,
1723
+ _headers=_headers,
1724
+ _host_index=_host_index,
1725
+ )
1726
+
1727
+ _response_types_map: Dict[str, Optional[str]] = {
1728
+ "200": "OptimizerSetup",
1729
+ }
1730
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1731
+ return response_data.response
1732
+
1733
+ def _get_optimizer_configuration_serialize(
1734
+ self,
1735
+ cell,
1736
+ motion_group,
1737
+ tcp,
1738
+ _request_auth,
1739
+ _content_type,
1740
+ _headers,
1741
+ _host_index,
1742
+ ) -> RequestSerialized:
1743
+
1744
+ _host = None
1745
+
1746
+ _collection_formats: Dict[str, str] = {}
1747
+
1748
+ _path_params: Dict[str, str] = {}
1749
+ _query_params: List[Tuple[str, str]] = []
1750
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1751
+ _form_params: List[Tuple[str, str]] = []
1752
+ _files: Dict[str, Union[str, bytes]] = {}
1753
+ _body_params: Optional[bytes] = None
1754
+
1755
+ # process the path parameters
1756
+ if cell is not None:
1757
+ _path_params["cell"] = cell
1758
+ if motion_group is not None:
1759
+ _path_params["motion-group"] = motion_group
1760
+ # process the query parameters
1761
+ if tcp is not None:
1762
+ _query_params.append(("tcp", tcp))
1763
+
1764
+ # process the header parameters
1765
+ # process the form parameters
1766
+ # process the body parameter
1767
+
1768
+ # set the HTTP header `Accept`
1769
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1770
+
1771
+ # authentication setting
1772
+ _auth_settings: List[str] = ["BearerAuth"]
1773
+
1774
+ return self.api_client.param_serialize(
1775
+ method="GET",
1776
+ resource_path="/cells/{cell}/motion-groups/{motion-group}/optimizer-setup",
1777
+ path_params=_path_params,
1778
+ query_params=_query_params,
1779
+ header_params=_header_params,
1780
+ body=_body_params,
1781
+ post_params=_form_params,
1782
+ files=_files,
1783
+ auth_settings=_auth_settings,
1784
+ collection_formats=_collection_formats,
1785
+ _host=_host,
1786
+ _request_auth=_request_auth,
1787
+ )
1788
+
1789
+ @validate_call
1790
+ async def get_safety_setup(
1791
+ self,
1792
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1793
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
1794
+ _request_timeout: Union[
1795
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1796
+ ] = None,
1797
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1798
+ _content_type: Optional[StrictStr] = None,
1799
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1800
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1801
+ ) -> SafetySetup:
1802
+ """Safety Setup and Limitations
1803
+
1804
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the safety setup and limitations of a connected device, which restricts the device. Safety settings are configured globally on the robot controller and are valid for all the connected devices (like robots).
1805
+
1806
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1807
+ :type cell: str
1808
+ :param motion_group: The motion-group id. (required)
1809
+ :type motion_group: str
1810
+ :param _request_timeout: timeout setting for this request. If one
1811
+ number provided, it will be total request
1812
+ timeout. It can also be a pair (tuple) of
1813
+ (connection, read) timeouts.
1814
+ :type _request_timeout: int, tuple(int, int), optional
1815
+ :param _request_auth: set to override the auth_settings for an a single
1816
+ request; this effectively ignores the
1817
+ authentication in the spec for a single request.
1818
+ :type _request_auth: dict, optional
1819
+ :param _content_type: force content-type for the request.
1820
+ :type _content_type: str, Optional
1821
+ :param _headers: set to override the headers for a single
1822
+ request; this effectively ignores the headers
1823
+ in the spec for a single request.
1824
+ :type _headers: dict, optional
1825
+ :param _host_index: set to override the host_index for a single
1826
+ request; this effectively ignores the host_index
1827
+ in the spec for a single request.
1828
+ :type _host_index: int, optional
1829
+ :return: Returns the result object.
1830
+ """ # noqa: E501
1831
+
1832
+ _param = self._get_safety_setup_serialize(
1833
+ cell=cell,
1834
+ motion_group=motion_group,
1835
+ _request_auth=_request_auth,
1836
+ _content_type=_content_type,
1837
+ _headers=_headers,
1838
+ _host_index=_host_index,
1839
+ )
1840
+
1841
+ _response_types_map: Dict[str, Optional[str]] = {
1842
+ "200": "SafetySetup",
1843
+ }
1844
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1845
+ await response_data.read()
1846
+ return self.api_client.response_deserialize(
1847
+ response_data=response_data,
1848
+ response_types_map=_response_types_map,
1849
+ ).data
1850
+
1851
+ @validate_call
1852
+ async def get_safety_setup_with_http_info(
1853
+ self,
1854
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1855
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
1856
+ _request_timeout: Union[
1857
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1858
+ ] = None,
1859
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1860
+ _content_type: Optional[StrictStr] = None,
1861
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1862
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1863
+ ) -> ApiResponse[SafetySetup]:
1864
+ """Safety Setup and Limitations
1865
+
1866
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the safety setup and limitations of a connected device, which restricts the device. Safety settings are configured globally on the robot controller and are valid for all the connected devices (like robots).
1867
+
1868
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1869
+ :type cell: str
1870
+ :param motion_group: The motion-group id. (required)
1871
+ :type motion_group: str
1872
+ :param _request_timeout: timeout setting for this request. If one
1873
+ number provided, it will be total request
1874
+ timeout. It can also be a pair (tuple) of
1875
+ (connection, read) timeouts.
1876
+ :type _request_timeout: int, tuple(int, int), optional
1877
+ :param _request_auth: set to override the auth_settings for an a single
1878
+ request; this effectively ignores the
1879
+ authentication in the spec for a single request.
1880
+ :type _request_auth: dict, optional
1881
+ :param _content_type: force content-type for the request.
1882
+ :type _content_type: str, Optional
1883
+ :param _headers: set to override the headers for a single
1884
+ request; this effectively ignores the headers
1885
+ in the spec for a single request.
1886
+ :type _headers: dict, optional
1887
+ :param _host_index: set to override the host_index for a single
1888
+ request; this effectively ignores the host_index
1889
+ in the spec for a single request.
1890
+ :type _host_index: int, optional
1891
+ :return: Returns the result object.
1892
+ """ # noqa: E501
1893
+
1894
+ _param = self._get_safety_setup_serialize(
1895
+ cell=cell,
1896
+ motion_group=motion_group,
1897
+ _request_auth=_request_auth,
1898
+ _content_type=_content_type,
1899
+ _headers=_headers,
1900
+ _host_index=_host_index,
1901
+ )
1902
+
1903
+ _response_types_map: Dict[str, Optional[str]] = {
1904
+ "200": "SafetySetup",
1905
+ }
1906
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1907
+ await response_data.read()
1908
+ return self.api_client.response_deserialize(
1909
+ response_data=response_data,
1910
+ response_types_map=_response_types_map,
1911
+ )
1912
+
1913
+ @validate_call
1914
+ async def get_safety_setup_without_preload_content(
1915
+ self,
1916
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1917
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
1918
+ _request_timeout: Union[
1919
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
1920
+ ] = None,
1921
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1922
+ _content_type: Optional[StrictStr] = None,
1923
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1924
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1925
+ ) -> RESTResponseType:
1926
+ """Safety Setup and Limitations
1927
+
1928
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get the safety setup and limitations of a connected device, which restricts the device. Safety settings are configured globally on the robot controller and are valid for all the connected devices (like robots).
1929
+
1930
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1931
+ :type cell: str
1932
+ :param motion_group: The motion-group id. (required)
1933
+ :type motion_group: str
1934
+ :param _request_timeout: timeout setting for this request. If one
1935
+ number provided, it will be total request
1936
+ timeout. It can also be a pair (tuple) of
1937
+ (connection, read) timeouts.
1938
+ :type _request_timeout: int, tuple(int, int), optional
1939
+ :param _request_auth: set to override the auth_settings for an a single
1940
+ request; this effectively ignores the
1941
+ authentication in the spec for a single request.
1942
+ :type _request_auth: dict, optional
1943
+ :param _content_type: force content-type for the request.
1944
+ :type _content_type: str, Optional
1945
+ :param _headers: set to override the headers for a single
1946
+ request; this effectively ignores the headers
1947
+ in the spec for a single request.
1948
+ :type _headers: dict, optional
1949
+ :param _host_index: set to override the host_index for a single
1950
+ request; this effectively ignores the host_index
1951
+ in the spec for a single request.
1952
+ :type _host_index: int, optional
1953
+ :return: Returns the result object.
1954
+ """ # noqa: E501
1955
+
1956
+ _param = self._get_safety_setup_serialize(
1957
+ cell=cell,
1958
+ motion_group=motion_group,
1959
+ _request_auth=_request_auth,
1960
+ _content_type=_content_type,
1961
+ _headers=_headers,
1962
+ _host_index=_host_index,
1963
+ )
1964
+
1965
+ _response_types_map: Dict[str, Optional[str]] = {
1966
+ "200": "SafetySetup",
1967
+ }
1968
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
1969
+ return response_data.response
1970
+
1971
+ def _get_safety_setup_serialize(
1972
+ self,
1973
+ cell,
1974
+ motion_group,
1975
+ _request_auth,
1976
+ _content_type,
1977
+ _headers,
1978
+ _host_index,
1979
+ ) -> RequestSerialized:
1980
+
1981
+ _host = None
1982
+
1983
+ _collection_formats: Dict[str, str] = {}
1984
+
1985
+ _path_params: Dict[str, str] = {}
1986
+ _query_params: List[Tuple[str, str]] = []
1987
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1988
+ _form_params: List[Tuple[str, str]] = []
1989
+ _files: Dict[str, Union[str, bytes]] = {}
1990
+ _body_params: Optional[bytes] = None
1991
+
1992
+ # process the path parameters
1993
+ if cell is not None:
1994
+ _path_params["cell"] = cell
1995
+ if motion_group is not None:
1996
+ _path_params["motion-group"] = motion_group
1997
+ # process the query parameters
1998
+ # process the header parameters
1999
+ # process the form parameters
2000
+ # process the body parameter
2001
+
2002
+ # set the HTTP header `Accept`
2003
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2004
+
2005
+ # authentication setting
2006
+ _auth_settings: List[str] = ["BearerAuth"]
2007
+
2008
+ return self.api_client.param_serialize(
2009
+ method="GET",
2010
+ resource_path="/cells/{cell}/motion-groups/{motion-group}/safety-setup",
2011
+ path_params=_path_params,
2012
+ query_params=_query_params,
2013
+ header_params=_header_params,
2014
+ body=_body_params,
2015
+ post_params=_form_params,
2016
+ files=_files,
2017
+ auth_settings=_auth_settings,
2018
+ collection_formats=_collection_formats,
2019
+ _host=_host,
2020
+ _request_auth=_request_auth,
2021
+ )
2022
+
2023
+ @validate_call
2024
+ async def list_payloads(
2025
+ self,
2026
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2027
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
2028
+ _request_timeout: Union[
2029
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2030
+ ] = None,
2031
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2032
+ _content_type: Optional[StrictStr] = None,
2033
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2034
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2035
+ ) -> ListPayloadsResponse:
2036
+ """List Payloads
2037
+
2038
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Lists all defined payloads of the motion group. The payload is defined as the sum of all weights attached to the flange/endpoint of the motion group, e.g. sum of the tools and workpiece weight that are currently attached.
2039
+
2040
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2041
+ :type cell: str
2042
+ :param motion_group: The motion-group id. (required)
2043
+ :type motion_group: str
2044
+ :param _request_timeout: timeout setting for this request. If one
2045
+ number provided, it will be total request
2046
+ timeout. It can also be a pair (tuple) of
2047
+ (connection, read) timeouts.
2048
+ :type _request_timeout: int, tuple(int, int), optional
2049
+ :param _request_auth: set to override the auth_settings for an a single
2050
+ request; this effectively ignores the
2051
+ authentication in the spec for a single request.
2052
+ :type _request_auth: dict, optional
2053
+ :param _content_type: force content-type for the request.
2054
+ :type _content_type: str, Optional
2055
+ :param _headers: set to override the headers for a single
2056
+ request; this effectively ignores the headers
2057
+ in the spec for a single request.
2058
+ :type _headers: dict, optional
2059
+ :param _host_index: set to override the host_index for a single
2060
+ request; this effectively ignores the host_index
2061
+ in the spec for a single request.
2062
+ :type _host_index: int, optional
2063
+ :return: Returns the result object.
2064
+ """ # noqa: E501
2065
+
2066
+ _param = self._list_payloads_serialize(
2067
+ cell=cell,
2068
+ motion_group=motion_group,
2069
+ _request_auth=_request_auth,
2070
+ _content_type=_content_type,
2071
+ _headers=_headers,
2072
+ _host_index=_host_index,
2073
+ )
2074
+
2075
+ _response_types_map: Dict[str, Optional[str]] = {
2076
+ "200": "ListPayloadsResponse",
2077
+ }
2078
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2079
+ await response_data.read()
2080
+ return self.api_client.response_deserialize(
2081
+ response_data=response_data,
2082
+ response_types_map=_response_types_map,
2083
+ ).data
2084
+
2085
+ @validate_call
2086
+ async def list_payloads_with_http_info(
2087
+ self,
2088
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2089
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
2090
+ _request_timeout: Union[
2091
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2092
+ ] = None,
2093
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2094
+ _content_type: Optional[StrictStr] = None,
2095
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2096
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2097
+ ) -> ApiResponse[ListPayloadsResponse]:
2098
+ """List Payloads
2099
+
2100
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Lists all defined payloads of the motion group. The payload is defined as the sum of all weights attached to the flange/endpoint of the motion group, e.g. sum of the tools and workpiece weight that are currently attached.
2101
+
2102
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2103
+ :type cell: str
2104
+ :param motion_group: The motion-group id. (required)
2105
+ :type motion_group: str
2106
+ :param _request_timeout: timeout setting for this request. If one
2107
+ number provided, it will be total request
2108
+ timeout. It can also be a pair (tuple) of
2109
+ (connection, read) timeouts.
2110
+ :type _request_timeout: int, tuple(int, int), optional
2111
+ :param _request_auth: set to override the auth_settings for an a single
2112
+ request; this effectively ignores the
2113
+ authentication in the spec for a single request.
2114
+ :type _request_auth: dict, optional
2115
+ :param _content_type: force content-type for the request.
2116
+ :type _content_type: str, Optional
2117
+ :param _headers: set to override the headers for a single
2118
+ request; this effectively ignores the headers
2119
+ in the spec for a single request.
2120
+ :type _headers: dict, optional
2121
+ :param _host_index: set to override the host_index for a single
2122
+ request; this effectively ignores the host_index
2123
+ in the spec for a single request.
2124
+ :type _host_index: int, optional
2125
+ :return: Returns the result object.
2126
+ """ # noqa: E501
2127
+
2128
+ _param = self._list_payloads_serialize(
2129
+ cell=cell,
2130
+ motion_group=motion_group,
2131
+ _request_auth=_request_auth,
2132
+ _content_type=_content_type,
2133
+ _headers=_headers,
2134
+ _host_index=_host_index,
2135
+ )
2136
+
2137
+ _response_types_map: Dict[str, Optional[str]] = {
2138
+ "200": "ListPayloadsResponse",
2139
+ }
2140
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2141
+ await response_data.read()
2142
+ return self.api_client.response_deserialize(
2143
+ response_data=response_data,
2144
+ response_types_map=_response_types_map,
2145
+ )
2146
+
2147
+ @validate_call
2148
+ async def list_payloads_without_preload_content(
2149
+ self,
2150
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2151
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
2152
+ _request_timeout: Union[
2153
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2154
+ ] = None,
2155
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2156
+ _content_type: Optional[StrictStr] = None,
2157
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2158
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2159
+ ) -> RESTResponseType:
2160
+ """List Payloads
2161
+
2162
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Lists all defined payloads of the motion group. The payload is defined as the sum of all weights attached to the flange/endpoint of the motion group, e.g. sum of the tools and workpiece weight that are currently attached.
2163
+
2164
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2165
+ :type cell: str
2166
+ :param motion_group: The motion-group id. (required)
2167
+ :type motion_group: str
2168
+ :param _request_timeout: timeout setting for this request. If one
2169
+ number provided, it will be total request
2170
+ timeout. It can also be a pair (tuple) of
2171
+ (connection, read) timeouts.
2172
+ :type _request_timeout: int, tuple(int, int), optional
2173
+ :param _request_auth: set to override the auth_settings for an a single
2174
+ request; this effectively ignores the
2175
+ authentication in the spec for a single request.
2176
+ :type _request_auth: dict, optional
2177
+ :param _content_type: force content-type for the request.
2178
+ :type _content_type: str, Optional
2179
+ :param _headers: set to override the headers for a single
2180
+ request; this effectively ignores the headers
2181
+ in the spec for a single request.
2182
+ :type _headers: dict, optional
2183
+ :param _host_index: set to override the host_index for a single
2184
+ request; this effectively ignores the host_index
2185
+ in the spec for a single request.
2186
+ :type _host_index: int, optional
2187
+ :return: Returns the result object.
2188
+ """ # noqa: E501
2189
+
2190
+ _param = self._list_payloads_serialize(
2191
+ cell=cell,
2192
+ motion_group=motion_group,
2193
+ _request_auth=_request_auth,
2194
+ _content_type=_content_type,
2195
+ _headers=_headers,
2196
+ _host_index=_host_index,
2197
+ )
2198
+
2199
+ _response_types_map: Dict[str, Optional[str]] = {
2200
+ "200": "ListPayloadsResponse",
2201
+ }
2202
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2203
+ return response_data.response
2204
+
2205
+ def _list_payloads_serialize(
2206
+ self,
2207
+ cell,
2208
+ motion_group,
2209
+ _request_auth,
2210
+ _content_type,
2211
+ _headers,
2212
+ _host_index,
2213
+ ) -> RequestSerialized:
2214
+
2215
+ _host = None
2216
+
2217
+ _collection_formats: Dict[str, str] = {}
2218
+
2219
+ _path_params: Dict[str, str] = {}
2220
+ _query_params: List[Tuple[str, str]] = []
2221
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2222
+ _form_params: List[Tuple[str, str]] = []
2223
+ _files: Dict[str, Union[str, bytes]] = {}
2224
+ _body_params: Optional[bytes] = None
2225
+
2226
+ # process the path parameters
2227
+ if cell is not None:
2228
+ _path_params["cell"] = cell
2229
+ if motion_group is not None:
2230
+ _path_params["motion-group"] = motion_group
2231
+ # process the query parameters
2232
+ # process the header parameters
2233
+ # process the form parameters
2234
+ # process the body parameter
2235
+
2236
+ # set the HTTP header `Accept`
2237
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2238
+
2239
+ # authentication setting
2240
+ _auth_settings: List[str] = ["BearerAuth"]
2241
+
2242
+ return self.api_client.param_serialize(
2243
+ method="GET",
2244
+ resource_path="/cells/{cell}/motion-groups/{motion-group}/payloads",
2245
+ path_params=_path_params,
2246
+ query_params=_query_params,
2247
+ header_params=_header_params,
2248
+ body=_body_params,
2249
+ post_params=_form_params,
2250
+ files=_files,
2251
+ auth_settings=_auth_settings,
2252
+ collection_formats=_collection_formats,
2253
+ _host=_host,
2254
+ _request_auth=_request_auth,
2255
+ )
2256
+
2257
+ @validate_call
2258
+ async def list_tcps(
2259
+ self,
2260
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2261
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
2262
+ rotation_type: Optional[RotationAngleTypes] = None,
2263
+ _request_timeout: Union[
2264
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2265
+ ] = None,
2266
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2267
+ _content_type: Optional[StrictStr] = None,
2268
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2269
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2270
+ ) -> ListTcpsResponse:
2271
+ """List TCPs
2272
+
2273
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get all internal configured TCPs of a connected device.
2274
+
2275
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2276
+ :type cell: str
2277
+ :param motion_group: The motion-group id. (required)
2278
+ :type motion_group: str
2279
+ :param rotation_type:
2280
+ :type rotation_type: RotationAngleTypes
2281
+ :param _request_timeout: timeout setting for this request. If one
2282
+ number provided, it will be total request
2283
+ timeout. It can also be a pair (tuple) of
2284
+ (connection, read) timeouts.
2285
+ :type _request_timeout: int, tuple(int, int), optional
2286
+ :param _request_auth: set to override the auth_settings for an a single
2287
+ request; this effectively ignores the
2288
+ authentication in the spec for a single request.
2289
+ :type _request_auth: dict, optional
2290
+ :param _content_type: force content-type for the request.
2291
+ :type _content_type: str, Optional
2292
+ :param _headers: set to override the headers for a single
2293
+ request; this effectively ignores the headers
2294
+ in the spec for a single request.
2295
+ :type _headers: dict, optional
2296
+ :param _host_index: set to override the host_index for a single
2297
+ request; this effectively ignores the host_index
2298
+ in the spec for a single request.
2299
+ :type _host_index: int, optional
2300
+ :return: Returns the result object.
2301
+ """ # noqa: E501
2302
+
2303
+ _param = self._list_tcps_serialize(
2304
+ cell=cell,
2305
+ motion_group=motion_group,
2306
+ rotation_type=rotation_type,
2307
+ _request_auth=_request_auth,
2308
+ _content_type=_content_type,
2309
+ _headers=_headers,
2310
+ _host_index=_host_index,
2311
+ )
2312
+
2313
+ _response_types_map: Dict[str, Optional[str]] = {
2314
+ "200": "ListTcpsResponse",
2315
+ }
2316
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2317
+ await response_data.read()
2318
+ return self.api_client.response_deserialize(
2319
+ response_data=response_data,
2320
+ response_types_map=_response_types_map,
2321
+ ).data
2322
+
2323
+ @validate_call
2324
+ async def list_tcps_with_http_info(
2325
+ self,
2326
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2327
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
2328
+ rotation_type: Optional[RotationAngleTypes] = None,
2329
+ _request_timeout: Union[
2330
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2331
+ ] = None,
2332
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2333
+ _content_type: Optional[StrictStr] = None,
2334
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2335
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2336
+ ) -> ApiResponse[ListTcpsResponse]:
2337
+ """List TCPs
2338
+
2339
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get all internal configured TCPs of a connected device.
2340
+
2341
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2342
+ :type cell: str
2343
+ :param motion_group: The motion-group id. (required)
2344
+ :type motion_group: str
2345
+ :param rotation_type:
2346
+ :type rotation_type: RotationAngleTypes
2347
+ :param _request_timeout: timeout setting for this request. If one
2348
+ number provided, it will be total request
2349
+ timeout. It can also be a pair (tuple) of
2350
+ (connection, read) timeouts.
2351
+ :type _request_timeout: int, tuple(int, int), optional
2352
+ :param _request_auth: set to override the auth_settings for an a single
2353
+ request; this effectively ignores the
2354
+ authentication in the spec for a single request.
2355
+ :type _request_auth: dict, optional
2356
+ :param _content_type: force content-type for the request.
2357
+ :type _content_type: str, Optional
2358
+ :param _headers: set to override the headers for a single
2359
+ request; this effectively ignores the headers
2360
+ in the spec for a single request.
2361
+ :type _headers: dict, optional
2362
+ :param _host_index: set to override the host_index for a single
2363
+ request; this effectively ignores the host_index
2364
+ in the spec for a single request.
2365
+ :type _host_index: int, optional
2366
+ :return: Returns the result object.
2367
+ """ # noqa: E501
2368
+
2369
+ _param = self._list_tcps_serialize(
2370
+ cell=cell,
2371
+ motion_group=motion_group,
2372
+ rotation_type=rotation_type,
2373
+ _request_auth=_request_auth,
2374
+ _content_type=_content_type,
2375
+ _headers=_headers,
2376
+ _host_index=_host_index,
2377
+ )
2378
+
2379
+ _response_types_map: Dict[str, Optional[str]] = {
2380
+ "200": "ListTcpsResponse",
2381
+ }
2382
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2383
+ await response_data.read()
2384
+ return self.api_client.response_deserialize(
2385
+ response_data=response_data,
2386
+ response_types_map=_response_types_map,
2387
+ )
2388
+
2389
+ @validate_call
2390
+ async def list_tcps_without_preload_content(
2391
+ self,
2392
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2393
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
2394
+ rotation_type: Optional[RotationAngleTypes] = None,
2395
+ _request_timeout: Union[
2396
+ None, Annotated[StrictFloat, Field(gt=0)], Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]]
2397
+ ] = None,
2398
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2399
+ _content_type: Optional[StrictStr] = None,
2400
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2401
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2402
+ ) -> RESTResponseType:
2403
+ """List TCPs
2404
+
2405
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Get all internal configured TCPs of a connected device.
2406
+
2407
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2408
+ :type cell: str
2409
+ :param motion_group: The motion-group id. (required)
2410
+ :type motion_group: str
2411
+ :param rotation_type:
2412
+ :type rotation_type: RotationAngleTypes
2413
+ :param _request_timeout: timeout setting for this request. If one
2414
+ number provided, it will be total request
2415
+ timeout. It can also be a pair (tuple) of
2416
+ (connection, read) timeouts.
2417
+ :type _request_timeout: int, tuple(int, int), optional
2418
+ :param _request_auth: set to override the auth_settings for an a single
2419
+ request; this effectively ignores the
2420
+ authentication in the spec for a single request.
2421
+ :type _request_auth: dict, optional
2422
+ :param _content_type: force content-type for the request.
2423
+ :type _content_type: str, Optional
2424
+ :param _headers: set to override the headers for a single
2425
+ request; this effectively ignores the headers
2426
+ in the spec for a single request.
2427
+ :type _headers: dict, optional
2428
+ :param _host_index: set to override the host_index for a single
2429
+ request; this effectively ignores the host_index
2430
+ in the spec for a single request.
2431
+ :type _host_index: int, optional
2432
+ :return: Returns the result object.
2433
+ """ # noqa: E501
2434
+
2435
+ _param = self._list_tcps_serialize(
2436
+ cell=cell,
2437
+ motion_group=motion_group,
2438
+ rotation_type=rotation_type,
2439
+ _request_auth=_request_auth,
2440
+ _content_type=_content_type,
2441
+ _headers=_headers,
2442
+ _host_index=_host_index,
2443
+ )
2444
+
2445
+ _response_types_map: Dict[str, Optional[str]] = {
2446
+ "200": "ListTcpsResponse",
2447
+ }
2448
+ response_data = await self.api_client.call_api(*_param, _request_timeout=_request_timeout)
2449
+ return response_data.response
2450
+
2451
+ def _list_tcps_serialize(
2452
+ self,
2453
+ cell,
2454
+ motion_group,
2455
+ rotation_type,
2456
+ _request_auth,
2457
+ _content_type,
2458
+ _headers,
2459
+ _host_index,
2460
+ ) -> RequestSerialized:
2461
+
2462
+ _host = None
2463
+
2464
+ _collection_formats: Dict[str, str] = {}
2465
+
2466
+ _path_params: Dict[str, str] = {}
2467
+ _query_params: List[Tuple[str, str]] = []
2468
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2469
+ _form_params: List[Tuple[str, str]] = []
2470
+ _files: Dict[str, Union[str, bytes]] = {}
2471
+ _body_params: Optional[bytes] = None
2472
+
2473
+ # process the path parameters
2474
+ if cell is not None:
2475
+ _path_params["cell"] = cell
2476
+ if motion_group is not None:
2477
+ _path_params["motion-group"] = motion_group
2478
+ # process the query parameters
2479
+ if rotation_type is not None:
2480
+ _query_params.append(("rotation_type", rotation_type.value))
2481
+
2482
+ # process the header parameters
2483
+ # process the form parameters
2484
+ # process the body parameter
2485
+
2486
+ # set the HTTP header `Accept`
2487
+ _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
2488
+
2489
+ # authentication setting
2490
+ _auth_settings: List[str] = ["BearerAuth"]
2491
+
2492
+ return self.api_client.param_serialize(
2493
+ method="GET",
2494
+ resource_path="/cells/{cell}/motion-groups/{motion-group}/tcps",
2495
+ path_params=_path_params,
2496
+ query_params=_query_params,
2497
+ header_params=_header_params,
2498
+ body=_body_params,
2499
+ post_params=_form_params,
2500
+ files=_files,
2501
+ auth_settings=_auth_settings,
2502
+ collection_formats=_collection_formats,
2503
+ _host=_host,
2504
+ _request_auth=_request_auth,
2505
+ )
2506
+
2507
+ @validate_call
2508
+ async def stream_motion_group_state(
2509
+ self,
2510
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2511
+ motion_group: Annotated[StrictStr, Field(description="The motion-group id.")],
2512
+ response_rate: Annotated[
2513
+ Optional[StrictInt],
2514
+ Field(
2515
+ description="Update rate for the response message in milliseconds (ms). Default is 200 ms. We recommend to use the step rate of the controller or a multiple of the step rate as NOVA updates the state in the controller's step rate as well. Minimal response rate is the step rate of controller."
2516
+ ),
2517
+ ] = None,
2518
+ response_coordinate_system: Annotated[
2519
+ Optional[StrictStr],
2520
+ Field(
2521
+ description="Unique identifier addressing a coordinate system to which the cartesian data of the responses should be converted. Default is the world coordinate system. "
2522
+ ),
2523
+ ] = None,
2524
+ tcp: Annotated[
2525
+ Optional[StrictStr],
2526
+ Field(
2527
+ description="The identifier of the tool center point (TCP) to be used for tcp_pose in response. If not set, the flange pose is returned as tcp_pose. "
2528
+ ),
2529
+ ] = None,
2530
+ ) -> AsyncGenerator[MotionGroupStateResponse, None]: # noqa: E501
2531
+ """Stream State of Device # noqa: E501
2532
+
2533
+ **Required permissions:** `can_operate_controllers` - Operate and monitor robot controllers ___ Receive updates of the motion group state. The stream will be closed from the server if the controller is disconnected. # noqa: E501
2534
+ :param request: A StreamMotionGroupStateRequest
2535
+ :info All responses from the server will be yielded
2536
+ :type StreamMotionGroupStateRequest
2537
+ """
2538
+
2539
+ def format_path_parameters(path):
2540
+ # Find all substrings that are enclosed in brackets
2541
+ bracket_contents = re.findall(r"\{(.*?)\}", path)
2542
+
2543
+ # For each found substring, replace underscores with spaces
2544
+ for content in bracket_contents:
2545
+ content = "{" + content + "}"
2546
+ modified_content = humps.dekebabize(content)
2547
+ path = path.replace(content, modified_content)
2548
+
2549
+ return path
2550
+
2551
+ def append_parameter_connector(url_schema):
2552
+ if not "?" in url_schema:
2553
+ url_schema += "?"
2554
+ else:
2555
+ url_schema += "&"
2556
+ return url_schema
2557
+
2558
+ path = format_path_parameters("/cells/{cell}/motion-groups/{motion-group}/state-stream")
2559
+ path = path.format(
2560
+ cell=cell,
2561
+ motion_group=motion_group,
2562
+ )
2563
+
2564
+ headers = websockets.Headers()
2565
+ tmp_host = self.api_client.configuration.host
2566
+ if self.api_client.configuration.host.startswith("https://"):
2567
+ # Basic Auth
2568
+ if self.api_client.configuration.username:
2569
+ tmp_host = self.api_client.configuration.host.replace("https://", "")
2570
+ tmp_host = f"wss://{self.api_client.configuration.username}:{self.api_client.configuration.password}@{tmp_host}"
2571
+
2572
+ # OAuth2
2573
+ elif self.api_client.configuration.access_token:
2574
+ tmp_host = self.api_client.configuration.host.replace("https://", "")
2575
+ tmp_host = f"wss://{tmp_host}"
2576
+ headers = websockets.Headers([("Authorization", f"Bearer {self.api_client.configuration.access_token}")])
2577
+ else:
2578
+ tmp_host = tmp_host.replace("http://", "ws://")
2579
+
2580
+ url_schema = tmp_host + path
2581
+ if locals().get("response_rate") is not None:
2582
+ url_schema = append_parameter_connector(url_schema)
2583
+ if isinstance(response_rate, list):
2584
+ url_schema += "&".join(["response_rate=" + s for s in response_rate])
2585
+ else:
2586
+ url_schema += "response_rate=" + str(response_rate)
2587
+ if locals().get("response_coordinate_system") is not None:
2588
+ url_schema = append_parameter_connector(url_schema)
2589
+ if isinstance(response_coordinate_system, list):
2590
+ url_schema += "&".join(["response_coordinate_system=" + s for s in response_coordinate_system])
2591
+ else:
2592
+ url_schema += "response_coordinate_system=" + str(response_coordinate_system)
2593
+ if locals().get("tcp") is not None:
2594
+ url_schema = append_parameter_connector(url_schema)
2595
+ if isinstance(tcp, list):
2596
+ url_schema += "&".join(["tcp=" + s for s in tcp])
2597
+ else:
2598
+ url_schema += "tcp=" + str(tcp)
2599
+ full_url = furl(url_schema)
2600
+
2601
+ async with websockets.connect(full_url.url, open_timeout=10, additional_headers=headers) as websocket:
2602
+ try:
2603
+ async for response in websocket:
2604
+ response_data = json.loads(response)
2605
+ if "result" not in response_data:
2606
+ raise Exception(response_data)
2607
+ yield MotionGroupStateResponse.from_dict(response_data["result"])
2608
+ except websockets.exceptions.ConnectionClosed:
2609
+ return
2610
+ finally:
2611
+ await websocket.close()