ourskyai-node-platform-api 1.3.9821__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.
- ourskyai_node_platform_api/__init__.py +301 -0
- ourskyai_node_platform_api/api/__init__.py +5 -0
- ourskyai_node_platform_api/api/default_api.py +22197 -0
- ourskyai_node_platform_api/api_client.py +758 -0
- ourskyai_node_platform_api/api_response.py +25 -0
- ourskyai_node_platform_api/configuration.py +456 -0
- ourskyai_node_platform_api/exceptions.py +166 -0
- ourskyai_node_platform_api/models/__init__.py +284 -0
- ourskyai_node_platform_api/models/all_sky_camera_diagnosis_report.py +73 -0
- ourskyai_node_platform_api/models/astro_camera_diagnosis_report.py +79 -0
- ourskyai_node_platform_api/models/auto_stretch_image_completed.py +71 -0
- ourskyai_node_platform_api/models/auto_stretch_image_started.py +71 -0
- ourskyai_node_platform_api/models/autofocus_failed.py +71 -0
- ourskyai_node_platform_api/models/autofocus_finished.py +80 -0
- ourskyai_node_platform_api/models/autofocus_method.py +41 -0
- ourskyai_node_platform_api/models/autofocus_point_added.py +75 -0
- ourskyai_node_platform_api/models/autofocus_started.py +79 -0
- ourskyai_node_platform_api/models/bff_v1_all_sky_images.py +90 -0
- ourskyai_node_platform_api/models/camera_image_captured.py +75 -0
- ourskyai_node_platform_api/models/camera_status_updated.py +76 -0
- ourskyai_node_platform_api/models/camera_temperature_set.py +71 -0
- ourskyai_node_platform_api/models/capture_image_started.py +79 -0
- ourskyai_node_platform_api/models/connection_status.py +41 -0
- ourskyai_node_platform_api/models/create_mount_model_completed.py +71 -0
- ourskyai_node_platform_api/models/create_mount_model_failed.py +71 -0
- ourskyai_node_platform_api/models/create_mount_model_started.py +71 -0
- ourskyai_node_platform_api/models/custom_image_processing_container.py +81 -0
- ourskyai_node_platform_api/models/custom_image_processing_container_list.py +81 -0
- ourskyai_node_platform_api/models/debug_logged.py +73 -0
- ourskyai_node_platform_api/models/elevation_mask_diagnostic_completed.py +71 -0
- ourskyai_node_platform_api/models/elevation_mask_diagnostic_failed.py +71 -0
- ourskyai_node_platform_api/models/elevation_mask_diagnostic_started.py +71 -0
- ourskyai_node_platform_api/models/elevation_mask_point_added.py +75 -0
- ourskyai_node_platform_api/models/empty_success.py +71 -0
- ourskyai_node_platform_api/models/enclosure_shutter_label.py +40 -0
- ourskyai_node_platform_api/models/enclosure_shutter_state.py +46 -0
- ourskyai_node_platform_api/models/enclosure_shutter_statuses_updated.py +75 -0
- ourskyai_node_platform_api/models/enclosure_state.py +50 -0
- ourskyai_node_platform_api/models/event_type.py +94 -0
- ourskyai_node_platform_api/models/fits_header.py +73 -0
- ourskyai_node_platform_api/models/focus_operation.py +43 -0
- ourskyai_node_platform_api/models/focuser_diagnosis_report.py +73 -0
- ourskyai_node_platform_api/models/focuser_position.py +81 -0
- ourskyai_node_platform_api/models/focuser_status_updated.py +72 -0
- ourskyai_node_platform_api/models/go_to_altitude_azimuth_completed.py +73 -0
- ourskyai_node_platform_api/models/go_to_altitude_azimuth_failed.py +73 -0
- ourskyai_node_platform_api/models/go_to_altitude_azimuth_started.py +73 -0
- ourskyai_node_platform_api/models/go_to_home_completed.py +71 -0
- ourskyai_node_platform_api/models/go_to_home_failed.py +71 -0
- ourskyai_node_platform_api/models/go_to_home_started.py +71 -0
- ourskyai_node_platform_api/models/go_to_mechanical_coordinates_completed.py +73 -0
- ourskyai_node_platform_api/models/go_to_mechanical_coordinates_failed.py +73 -0
- ourskyai_node_platform_api/models/go_to_mechanical_coordinates_started.py +73 -0
- ourskyai_node_platform_api/models/go_to_ra_dec_completed.py +73 -0
- ourskyai_node_platform_api/models/go_to_ra_dec_failed.py +73 -0
- ourskyai_node_platform_api/models/go_to_ra_dec_started.py +73 -0
- ourskyai_node_platform_api/models/gps_data_updated.py +83 -0
- ourskyai_node_platform_api/models/hardware_daemon_logged.py +71 -0
- ourskyai_node_platform_api/models/ice_message.py +87 -0
- ourskyai_node_platform_api/models/image_file_format.py +42 -0
- ourskyai_node_platform_api/models/image_set_type.py +43 -0
- ourskyai_node_platform_api/models/location.py +75 -0
- ourskyai_node_platform_api/models/message_type.py +46 -0
- ourskyai_node_platform_api/models/message_type_wrapper.py +72 -0
- ourskyai_node_platform_api/models/metric_type.py +42 -0
- ourskyai_node_platform_api/models/motor_faulted.py +76 -0
- ourskyai_node_platform_api/models/motor_faults_cleared.py +72 -0
- ourskyai_node_platform_api/models/mount_diagnosis_report.py +77 -0
- ourskyai_node_platform_api/models/mount_model_point_added.py +77 -0
- ourskyai_node_platform_api/models/mount_model_point_failed.py +73 -0
- ourskyai_node_platform_api/models/mount_status_updated.py +72 -0
- ourskyai_node_platform_api/models/operation_status_updated.py +75 -0
- ourskyai_node_platform_api/models/optical_tube_status.py +71 -0
- ourskyai_node_platform_api/models/optical_tube_status_updated.py +72 -0
- ourskyai_node_platform_api/models/peer.py +78 -0
- ourskyai_node_platform_api/models/peer_role.py +40 -0
- ourskyai_node_platform_api/models/plate_solve_completed.py +75 -0
- ourskyai_node_platform_api/models/plate_solve_failed.py +71 -0
- ourskyai_node_platform_api/models/plate_solve_started.py +71 -0
- ourskyai_node_platform_api/models/platform_connection_diagnosis_report.py +71 -0
- ourskyai_node_platform_api/models/point2_d.py +73 -0
- ourskyai_node_platform_api/models/relay_channel.py +45 -0
- ourskyai_node_platform_api/models/relay_function.py +46 -0
- ourskyai_node_platform_api/models/relays_diagnosis_report.py +75 -0
- ourskyai_node_platform_api/models/relays_status.py +71 -0
- ourskyai_node_platform_api/models/relays_updated.py +82 -0
- ourskyai_node_platform_api/models/roof_diagnosis_report.py +75 -0
- ourskyai_node_platform_api/models/roof_state.py +50 -0
- ourskyai_node_platform_api/models/roof_status.py +71 -0
- ourskyai_node_platform_api/models/roof_updated.py +78 -0
- ourskyai_node_platform_api/models/rotator_position.py +73 -0
- ourskyai_node_platform_api/models/rotator_status_updated.py +72 -0
- ourskyai_node_platform_api/models/rotator_target_type.py +40 -0
- ourskyai_node_platform_api/models/safety_status_updated.py +75 -0
- ourskyai_node_platform_api/models/sdp_message.py +73 -0
- ourskyai_node_platform_api/models/slew_demo_enabled.py +71 -0
- ourskyai_node_platform_api/models/star_measurement_failed.py +71 -0
- ourskyai_node_platform_api/models/star_measurement_started.py +71 -0
- ourskyai_node_platform_api/models/stars_measured.py +75 -0
- ourskyai_node_platform_api/models/startup_wizard_step.py +76 -0
- ourskyai_node_platform_api/models/system_event_type.py +96 -0
- ourskyai_node_platform_api/models/task_cancelled.py +78 -0
- ourskyai_node_platform_api/models/task_completed.py +76 -0
- ourskyai_node_platform_api/models/task_scheduled.py +76 -0
- ourskyai_node_platform_api/models/task_started.py +76 -0
- ourskyai_node_platform_api/models/update_custom_image_processing_container_request.py +73 -0
- ourskyai_node_platform_api/models/v1_all_sky_classification.py +74 -0
- ourskyai_node_platform_api/models/v1_all_sky_classification_label.py +43 -0
- ourskyai_node_platform_api/models/v1_all_sky_image.py +81 -0
- ourskyai_node_platform_api/models/v1_all_sky_images.py +79 -0
- ourskyai_node_platform_api/models/v1_all_sky_keogram.py +81 -0
- ourskyai_node_platform_api/models/v1_all_sky_keograms.py +79 -0
- ourskyai_node_platform_api/models/v1_all_sky_prediction_label.py +43 -0
- ourskyai_node_platform_api/models/v1_all_sky_timelapse.py +81 -0
- ourskyai_node_platform_api/models/v1_all_sky_timelapses.py +79 -0
- ourskyai_node_platform_api/models/v1_apex_charts_timeline.py +79 -0
- ourskyai_node_platform_api/models/v1_apex_charts_timeline_element.py +75 -0
- ourskyai_node_platform_api/models/v1_astro_target.py +83 -0
- ourskyai_node_platform_api/models/v1_camera_roll_image.py +86 -0
- ourskyai_node_platform_api/models/v1_camera_status.py +85 -0
- ourskyai_node_platform_api/models/v1_camera_statuses.py +79 -0
- ourskyai_node_platform_api/models/v1_cancel_all_tasks_request.py +71 -0
- ourskyai_node_platform_api/models/v1_cancel_task_request.py +73 -0
- ourskyai_node_platform_api/models/v1_capture_image_request.py +89 -0
- ourskyai_node_platform_api/models/v1_capture_images_continuously_request.py +89 -0
- ourskyai_node_platform_api/models/v1_connected_camera.py +73 -0
- ourskyai_node_platform_api/models/v1_create_mount_model_request.py +77 -0
- ourskyai_node_platform_api/models/v1_cycle_relays_request.py +74 -0
- ourskyai_node_platform_api/models/v1_delete_image_request.py +71 -0
- ourskyai_node_platform_api/models/v1_diagnose_system_request.py +85 -0
- ourskyai_node_platform_api/models/v1_disable_live_video_request.py +71 -0
- ourskyai_node_platform_api/models/v1_elevation_mask.py +81 -0
- ourskyai_node_platform_api/models/v1_elevation_mask_point.py +75 -0
- ourskyai_node_platform_api/models/v1_enable_live_video_request.py +81 -0
- ourskyai_node_platform_api/models/v1_enclosure_rotator_status.py +75 -0
- ourskyai_node_platform_api/models/v1_enclosure_shutter_status.py +79 -0
- ourskyai_node_platform_api/models/v1_enclosure_shutter_statuses.py +79 -0
- ourskyai_node_platform_api/models/v1_enclosure_status.py +78 -0
- ourskyai_node_platform_api/models/v1_enclosure_window_status.py +75 -0
- ourskyai_node_platform_api/models/v1_end_session_request.py +73 -0
- ourskyai_node_platform_api/models/v1_event.py +80 -0
- ourskyai_node_platform_api/models/v1_event_data.py +911 -0
- ourskyai_node_platform_api/models/v1_filter.py +74 -0
- ourskyai_node_platform_api/models/v1_filter_type.py +65 -0
- ourskyai_node_platform_api/models/v1_filter_wheel_status.py +85 -0
- ourskyai_node_platform_api/models/v1_focuser_limit.py +73 -0
- ourskyai_node_platform_api/models/v1_focuser_status.py +79 -0
- ourskyai_node_platform_api/models/v1_follow_tle_request.py +73 -0
- ourskyai_node_platform_api/models/v1_get_component_status_response.py +145 -0
- ourskyai_node_platform_api/models/v1_get_health_check_response.py +83 -0
- ourskyai_node_platform_api/models/v1_get_storage_status_response.py +75 -0
- ourskyai_node_platform_api/models/v1_gnss_pps_status.py +88 -0
- ourskyai_node_platform_api/models/v1_gnss_pps_status_details.py +77 -0
- ourskyai_node_platform_api/models/v1_go_to_filter_wheel_position_request.py +71 -0
- ourskyai_node_platform_api/models/v1_go_to_focuser_position_request.py +74 -0
- ourskyai_node_platform_api/models/v1_go_to_m3_port_request.py +71 -0
- ourskyai_node_platform_api/models/v1_go_to_mount_coordinates_request.py +77 -0
- ourskyai_node_platform_api/models/v1_go_to_rotator_position_request.py +74 -0
- ourskyai_node_platform_api/models/v1_image.py +103 -0
- ourskyai_node_platform_api/models/v1_images.py +79 -0
- ourskyai_node_platform_api/models/v1_jog_enclosure_rotator_request.py +71 -0
- ourskyai_node_platform_api/models/v1_jog_enclosure_shutter_request.py +74 -0
- ourskyai_node_platform_api/models/v1_jog_enclosure_shutters_request.py +79 -0
- ourskyai_node_platform_api/models/v1_jog_enclosure_window_request.py +71 -0
- ourskyai_node_platform_api/models/v1_jog_mount_request.py +73 -0
- ourskyai_node_platform_api/models/v1_last_sample.py +75 -0
- ourskyai_node_platform_api/models/v1_latest_image.py +89 -0
- ourskyai_node_platform_api/models/v1_list_producers_request.py +71 -0
- ourskyai_node_platform_api/models/v1_list_producers_response.py +81 -0
- ourskyai_node_platform_api/models/v1_m3_status.py +73 -0
- ourskyai_node_platform_api/models/v1_metric.py +82 -0
- ourskyai_node_platform_api/models/v1_motor.py +46 -0
- ourskyai_node_platform_api/models/v1_motor_status.py +87 -0
- ourskyai_node_platform_api/models/v1_mount_model.py +81 -0
- ourskyai_node_platform_api/models/v1_mount_model_point.py +77 -0
- ourskyai_node_platform_api/models/v1_mount_status.py +93 -0
- ourskyai_node_platform_api/models/v1_mount_system_settings.py +73 -0
- ourskyai_node_platform_api/models/v1_move_focuser_position_request.py +74 -0
- ourskyai_node_platform_api/models/v1_move_focuser_response.py +77 -0
- ourskyai_node_platform_api/models/v1_move_focuser_steps_request.py +74 -0
- ourskyai_node_platform_api/models/v1_node_history.py +73 -0
- ourskyai_node_platform_api/models/v1_node_overview.py +122 -0
- ourskyai_node_platform_api/models/v1_node_status.py +43 -0
- ourskyai_node_platform_api/models/v1_ntp_status.py +88 -0
- ourskyai_node_platform_api/models/v1_ntp_status_details.py +73 -0
- ourskyai_node_platform_api/models/v1_open_enclosure_shutters_request.py +71 -0
- ourskyai_node_platform_api/models/v1_open_roof_request.py +71 -0
- ourskyai_node_platform_api/models/v1_optical_tube_cover_status.py +73 -0
- ourskyai_node_platform_api/models/v1_optical_tube_fan_role.py +46 -0
- ourskyai_node_platform_api/models/v1_optical_tube_fan_status.py +76 -0
- ourskyai_node_platform_api/models/v1_optical_tube_fan_statuses.py +79 -0
- ourskyai_node_platform_api/models/v1_optical_tube_heater_role.py +41 -0
- ourskyai_node_platform_api/models/v1_optical_tube_heater_status.py +76 -0
- ourskyai_node_platform_api/models/v1_optical_tube_heater_statuses.py +79 -0
- ourskyai_node_platform_api/models/v1_optical_tube_status.py +87 -0
- ourskyai_node_platform_api/models/v1_peer_status_changed_request.py +81 -0
- ourskyai_node_platform_api/models/v1_ptp_data_set.py +75 -0
- ourskyai_node_platform_api/models/v1_ptp_port_properties.py +77 -0
- ourskyai_node_platform_api/models/v1_ptp_status.py +88 -0
- ourskyai_node_platform_api/models/v1_ptp_status_details.py +102 -0
- ourskyai_node_platform_api/models/v1_ptp_time_status.py +85 -0
- ourskyai_node_platform_api/models/v1_record_video_request.py +71 -0
- ourskyai_node_platform_api/models/v1_relay.py +74 -0
- ourskyai_node_platform_api/models/v1_reset_mount_system_settings_to_default_request.py +73 -0
- ourskyai_node_platform_api/models/v1_reset_system_settings_to_default_request.py +75 -0
- ourskyai_node_platform_api/models/v1_roof_status.py +78 -0
- ourskyai_node_platform_api/models/v1_rotator_status.py +81 -0
- ourskyai_node_platform_api/models/v1_run_autofocus_request.py +82 -0
- ourskyai_node_platform_api/models/v1_run_blind_autofocus_request.py +73 -0
- ourskyai_node_platform_api/models/v1_safety_status.py +83 -0
- ourskyai_node_platform_api/models/v1_save_image_request.py +71 -0
- ourskyai_node_platform_api/models/v1_set_mount_park_position_request.py +73 -0
- ourskyai_node_platform_api/models/v1_set_optical_tube_heater_power_request.py +74 -0
- ourskyai_node_platform_api/models/v1_set_peer_status_request.py +88 -0
- ourskyai_node_platform_api/models/v1_set_relay_state_request.py +74 -0
- ourskyai_node_platform_api/models/v1_signal_message_request.py +90 -0
- ourskyai_node_platform_api/models/v1_signalling_request.py +225 -0
- ourskyai_node_platform_api/models/v1_source_statistics.py +103 -0
- ourskyai_node_platform_api/models/v1_start_session_request.py +90 -0
- ourskyai_node_platform_api/models/v1_stop_capturing_images_continuously_request.py +71 -0
- ourskyai_node_platform_api/models/v1_stop_recording_video_request.py +71 -0
- ourskyai_node_platform_api/models/v1_suntimes.py +87 -0
- ourskyai_node_platform_api/models/v1_system_diagnosis_report.py +117 -0
- ourskyai_node_platform_api/models/v1_system_event.py +80 -0
- ourskyai_node_platform_api/models/v1_system_event_data.py +939 -0
- ourskyai_node_platform_api/models/v1_system_events.py +79 -0
- ourskyai_node_platform_api/models/v1_system_health_check.py +86 -0
- ourskyai_node_platform_api/models/v1_system_location.py +83 -0
- ourskyai_node_platform_api/models/v1_system_location_gps_details.py +77 -0
- ourskyai_node_platform_api/models/v1_system_metric.py +88 -0
- ourskyai_node_platform_api/models/v1_system_metric_names.py +71 -0
- ourskyai_node_platform_api/models/v1_system_metric_tag.py +73 -0
- ourskyai_node_platform_api/models/v1_system_metric_type.py +40 -0
- ourskyai_node_platform_api/models/v1_system_metrics.py +79 -0
- ourskyai_node_platform_api/models/v1_system_network_interface.py +83 -0
- ourskyai_node_platform_api/models/v1_system_network_interface_info.py +75 -0
- ourskyai_node_platform_api/models/v1_system_network_interfaces.py +79 -0
- ourskyai_node_platform_api/models/v1_system_operation_mode.py +41 -0
- ourskyai_node_platform_api/models/v1_system_operation_status.py +75 -0
- ourskyai_node_platform_api/models/v1_system_settings.py +75 -0
- ourskyai_node_platform_api/models/v1_system_status.py +135 -0
- ourskyai_node_platform_api/models/v1_system_storage_status.py +75 -0
- ourskyai_node_platform_api/models/v1_system_time.py +94 -0
- ourskyai_node_platform_api/models/v1_system_variant.py +43 -0
- ourskyai_node_platform_api/models/v1_task.py +78 -0
- ourskyai_node_platform_api/models/v1_task_type.py +47 -0
- ourskyai_node_platform_api/models/v1_time_source.py +42 -0
- ourskyai_node_platform_api/models/v1_time_windowed_asset.py +86 -0
- ourskyai_node_platform_api/models/v1_time_windowed_asset_type.py +40 -0
- ourskyai_node_platform_api/models/v1_turn_off_optical_tube_fans_request.py +72 -0
- ourskyai_node_platform_api/models/v1_turn_on_optical_tube_fans_request.py +72 -0
- ourskyai_node_platform_api/models/v1_ui_operation_mode.py +40 -0
- ourskyai_node_platform_api/models/v1_update_filter_request.py +74 -0
- ourskyai_node_platform_api/models/v1_video.py +105 -0
- ourskyai_node_platform_api/models/v1_videos.py +79 -0
- ourskyai_node_platform_api/models/v1_weather_forecast.py +85 -0
- ourskyai_node_platform_api/models/v1_weather_forecast_city.py +73 -0
- ourskyai_node_platform_api/models/v1_weather_forecast_item.py +103 -0
- ourskyai_node_platform_api/models/v1_weather_forecast_temperature.py +77 -0
- ourskyai_node_platform_api/models/v1_weather_forecast_weather.py +77 -0
- ourskyai_node_platform_api/models/v1_weather_metric.py +85 -0
- ourskyai_node_platform_api/models/v1_weather_metrics.py +79 -0
- ourskyai_node_platform_api/models/v1_weather_station_status.py +71 -0
- ourskyai_node_platform_api/models/v2_capture_image_request.py +89 -0
- ourskyai_node_platform_api/models/v2_cycle_relays_request.py +74 -0
- ourskyai_node_platform_api/models/v2_enclosure_status.py +87 -0
- ourskyai_node_platform_api/models/v2_mount_status.py +94 -0
- ourskyai_node_platform_api/models/v2_relay_status.py +76 -0
- ourskyai_node_platform_api/models/v2_relay_statuses.py +79 -0
- ourskyai_node_platform_api/models/v2_turn_off_relay_request.py +72 -0
- ourskyai_node_platform_api/models/v2_turn_on_relay_request.py +72 -0
- ourskyai_node_platform_api/models/video_codec.py +39 -0
- ourskyai_node_platform_api/models/video_container_format.py +39 -0
- ourskyai_node_platform_api/models/wavefront_sensor_data_updated.py +110 -0
- ourskyai_node_platform_api/models/weather_station_diagnosis_report.py +73 -0
- ourskyai_node_platform_api/models/weather_station_status_updated.py +72 -0
- ourskyai_node_platform_api/py.typed +0 -0
- ourskyai_node_platform_api/rest.py +303 -0
- ourskyai_node_platform_api-1.3.9821.dist-info/METADATA +23 -0
- ourskyai_node_platform_api-1.3.9821.dist-info/RECORD +282 -0
- ourskyai_node_platform_api-1.3.9821.dist-info/WHEEL +5 -0
- ourskyai_node_platform_api-1.3.9821.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
from typing import List
|
|
22
|
+
from pydantic import BaseModel, Field, StrictStr, conlist
|
|
23
|
+
from ourskyai_node_platform_api.models.v1_metric import V1Metric
|
|
24
|
+
|
|
25
|
+
class V1WeatherMetric(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
A single weather metric with its data points. # noqa: E501
|
|
28
|
+
"""
|
|
29
|
+
title: StrictStr = Field(..., description="Human-readable title of the metric.")
|
|
30
|
+
display_unit: StrictStr = Field(..., alias="displayUnit", description="Unit to display to users.")
|
|
31
|
+
unit: StrictStr = Field(..., description="Raw unit of the metric values.")
|
|
32
|
+
data: conlist(V1Metric) = Field(...)
|
|
33
|
+
__properties = ["title", "displayUnit", "unit", "data"]
|
|
34
|
+
|
|
35
|
+
class Config:
|
|
36
|
+
"""Pydantic configuration"""
|
|
37
|
+
allow_population_by_field_name = True
|
|
38
|
+
validate_assignment = True
|
|
39
|
+
|
|
40
|
+
def to_str(self) -> str:
|
|
41
|
+
"""Returns the string representation of the model using alias"""
|
|
42
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
43
|
+
|
|
44
|
+
def to_json(self) -> str:
|
|
45
|
+
"""Returns the JSON representation of the model using alias"""
|
|
46
|
+
return json.dumps(self.to_dict())
|
|
47
|
+
|
|
48
|
+
@classmethod
|
|
49
|
+
def from_json(cls, json_str: str) -> V1WeatherMetric:
|
|
50
|
+
"""Create an instance of V1WeatherMetric from a JSON string"""
|
|
51
|
+
return cls.from_dict(json.loads(json_str))
|
|
52
|
+
|
|
53
|
+
def to_dict(self):
|
|
54
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
55
|
+
_dict = self.dict(by_alias=True,
|
|
56
|
+
exclude={
|
|
57
|
+
},
|
|
58
|
+
exclude_none=True)
|
|
59
|
+
# override the default output from pydantic by calling `to_dict()` of each item in data (list)
|
|
60
|
+
_items = []
|
|
61
|
+
if self.data:
|
|
62
|
+
for _item in self.data:
|
|
63
|
+
if _item:
|
|
64
|
+
_items.append(_item.to_dict())
|
|
65
|
+
_dict['data'] = _items
|
|
66
|
+
return _dict
|
|
67
|
+
|
|
68
|
+
@classmethod
|
|
69
|
+
def from_dict(cls, obj: dict) -> V1WeatherMetric:
|
|
70
|
+
"""Create an instance of V1WeatherMetric from a dict"""
|
|
71
|
+
if obj is None:
|
|
72
|
+
return None
|
|
73
|
+
|
|
74
|
+
if not isinstance(obj, dict):
|
|
75
|
+
return V1WeatherMetric.parse_obj(obj)
|
|
76
|
+
|
|
77
|
+
_obj = V1WeatherMetric.parse_obj({
|
|
78
|
+
"title": obj.get("title"),
|
|
79
|
+
"display_unit": obj.get("displayUnit"),
|
|
80
|
+
"unit": obj.get("unit"),
|
|
81
|
+
"data": [V1Metric.from_dict(_item) for _item in obj.get("data")] if obj.get("data") is not None else None
|
|
82
|
+
})
|
|
83
|
+
return _obj
|
|
84
|
+
|
|
85
|
+
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
from typing import List
|
|
22
|
+
from pydantic import BaseModel, Field, conlist
|
|
23
|
+
from ourskyai_node_platform_api.models.v1_weather_metric import V1WeatherMetric
|
|
24
|
+
|
|
25
|
+
class V1WeatherMetrics(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
Weather metrics response containing multiple weather data series. # noqa: E501
|
|
28
|
+
"""
|
|
29
|
+
metrics: conlist(V1WeatherMetric) = Field(...)
|
|
30
|
+
__properties = ["metrics"]
|
|
31
|
+
|
|
32
|
+
class Config:
|
|
33
|
+
"""Pydantic configuration"""
|
|
34
|
+
allow_population_by_field_name = True
|
|
35
|
+
validate_assignment = True
|
|
36
|
+
|
|
37
|
+
def to_str(self) -> str:
|
|
38
|
+
"""Returns the string representation of the model using alias"""
|
|
39
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
40
|
+
|
|
41
|
+
def to_json(self) -> str:
|
|
42
|
+
"""Returns the JSON representation of the model using alias"""
|
|
43
|
+
return json.dumps(self.to_dict())
|
|
44
|
+
|
|
45
|
+
@classmethod
|
|
46
|
+
def from_json(cls, json_str: str) -> V1WeatherMetrics:
|
|
47
|
+
"""Create an instance of V1WeatherMetrics from a JSON string"""
|
|
48
|
+
return cls.from_dict(json.loads(json_str))
|
|
49
|
+
|
|
50
|
+
def to_dict(self):
|
|
51
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
52
|
+
_dict = self.dict(by_alias=True,
|
|
53
|
+
exclude={
|
|
54
|
+
},
|
|
55
|
+
exclude_none=True)
|
|
56
|
+
# override the default output from pydantic by calling `to_dict()` of each item in metrics (list)
|
|
57
|
+
_items = []
|
|
58
|
+
if self.metrics:
|
|
59
|
+
for _item in self.metrics:
|
|
60
|
+
if _item:
|
|
61
|
+
_items.append(_item.to_dict())
|
|
62
|
+
_dict['metrics'] = _items
|
|
63
|
+
return _dict
|
|
64
|
+
|
|
65
|
+
@classmethod
|
|
66
|
+
def from_dict(cls, obj: dict) -> V1WeatherMetrics:
|
|
67
|
+
"""Create an instance of V1WeatherMetrics from a dict"""
|
|
68
|
+
if obj is None:
|
|
69
|
+
return None
|
|
70
|
+
|
|
71
|
+
if not isinstance(obj, dict):
|
|
72
|
+
return V1WeatherMetrics.parse_obj(obj)
|
|
73
|
+
|
|
74
|
+
_obj = V1WeatherMetrics.parse_obj({
|
|
75
|
+
"metrics": [V1WeatherMetric.from_dict(_item) for _item in obj.get("metrics")] if obj.get("metrics") is not None else None
|
|
76
|
+
})
|
|
77
|
+
return _obj
|
|
78
|
+
|
|
79
|
+
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
from pydantic import BaseModel, Field, StrictBool
|
|
23
|
+
|
|
24
|
+
class V1WeatherStationStatus(BaseModel):
|
|
25
|
+
"""
|
|
26
|
+
Status information for the local weather monitoring station. The weather station provides environmental data used for safety decisions and observation planning. # noqa: E501
|
|
27
|
+
"""
|
|
28
|
+
connected: StrictBool = Field(..., description="Indicates whether the weather station is currently connected and reporting data. A false value means weather data is unavailable and safety decisions may be affected. When disconnected, the safety system may prevent roof operations as a precaution.")
|
|
29
|
+
__properties = ["connected"]
|
|
30
|
+
|
|
31
|
+
class Config:
|
|
32
|
+
"""Pydantic configuration"""
|
|
33
|
+
allow_population_by_field_name = True
|
|
34
|
+
validate_assignment = True
|
|
35
|
+
|
|
36
|
+
def to_str(self) -> str:
|
|
37
|
+
"""Returns the string representation of the model using alias"""
|
|
38
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
39
|
+
|
|
40
|
+
def to_json(self) -> str:
|
|
41
|
+
"""Returns the JSON representation of the model using alias"""
|
|
42
|
+
return json.dumps(self.to_dict())
|
|
43
|
+
|
|
44
|
+
@classmethod
|
|
45
|
+
def from_json(cls, json_str: str) -> V1WeatherStationStatus:
|
|
46
|
+
"""Create an instance of V1WeatherStationStatus from a JSON string"""
|
|
47
|
+
return cls.from_dict(json.loads(json_str))
|
|
48
|
+
|
|
49
|
+
def to_dict(self):
|
|
50
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
51
|
+
_dict = self.dict(by_alias=True,
|
|
52
|
+
exclude={
|
|
53
|
+
},
|
|
54
|
+
exclude_none=True)
|
|
55
|
+
return _dict
|
|
56
|
+
|
|
57
|
+
@classmethod
|
|
58
|
+
def from_dict(cls, obj: dict) -> V1WeatherStationStatus:
|
|
59
|
+
"""Create an instance of V1WeatherStationStatus from a dict"""
|
|
60
|
+
if obj is None:
|
|
61
|
+
return None
|
|
62
|
+
|
|
63
|
+
if not isinstance(obj, dict):
|
|
64
|
+
return V1WeatherStationStatus.parse_obj(obj)
|
|
65
|
+
|
|
66
|
+
_obj = V1WeatherStationStatus.parse_obj({
|
|
67
|
+
"connected": obj.get("connected")
|
|
68
|
+
})
|
|
69
|
+
return _obj
|
|
70
|
+
|
|
71
|
+
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
from typing import Optional, Union
|
|
22
|
+
from pydantic import BaseModel, Field, StrictFloat, StrictInt, StrictStr
|
|
23
|
+
|
|
24
|
+
class V2CaptureImageRequest(BaseModel):
|
|
25
|
+
"""
|
|
26
|
+
Request object containing all parameters needed to capture a single image. Includes exposure settings, sensor configuration, and optional region of interest for sub-frame capture. # noqa: E501
|
|
27
|
+
"""
|
|
28
|
+
exposure: Union[StrictFloat, StrictInt] = Field(..., description="Exposure duration in seconds. Longer exposures collect more light but increase the risk of star trailing without tracking. Typical values range from 0.001 seconds for planetary imaging to 300 seconds or more for deep sky objects.")
|
|
29
|
+
gain: StrictInt = Field(..., description="Sensor gain setting that controls signal amplification. Higher values increase sensitivity but also increase noise. The valid range depends on the specific camera model.")
|
|
30
|
+
binning: StrictInt = Field(..., description="Pixel binning factor that combines adjacent pixels to increase sensitivity at the cost of resolution. A value of 1 means no binning, 2 combines 2x2 pixels, etc.")
|
|
31
|
+
offset: StrictInt = Field(..., description="Sensor offset or black level setting that adjusts the baseline signal level. Used to prevent clipping of faint signals near the noise floor. The valid range depends on the camera model.")
|
|
32
|
+
gain_mode: StrictInt = Field(..., alias="gainMode", description="Gain mode selector for cameras that support multiple gain modes such as high conversion gain (HCG) or dual gain modes. A value of 1 typically represents the default mode.")
|
|
33
|
+
camera_id: Optional[StrictStr] = Field(None, alias="cameraId", description="Unique identifier of the camera to use for capture. If omitted, the system will use the default or primary camera. Obtain valid camera IDs from the camera statuses endpoint.")
|
|
34
|
+
roi_start_x: Optional[StrictInt] = Field(None, alias="roiStartX", description="Starting X coordinate in pixels for region of interest capture, measured from the left edge of the sensor. Used together with roiWidth to define a horizontal sub-region.")
|
|
35
|
+
roi_start_y: Optional[StrictInt] = Field(None, alias="roiStartY", description="Starting Y coordinate in pixels for region of interest capture, measured from the top edge of the sensor. Used together with roiHeight to define a vertical sub-region.")
|
|
36
|
+
roi_width: Optional[StrictInt] = Field(None, alias="roiWidth", description="Width in pixels of the region of interest. When combined with roiStartX, defines the horizontal extent of the sub-frame to capture.")
|
|
37
|
+
roi_height: Optional[StrictInt] = Field(None, alias="roiHeight", description="Height in pixels of the region of interest. When combined with roiStartY, defines the vertical extent of the sub-frame to capture.")
|
|
38
|
+
__properties = ["exposure", "gain", "binning", "offset", "gainMode", "cameraId", "roiStartX", "roiStartY", "roiWidth", "roiHeight"]
|
|
39
|
+
|
|
40
|
+
class Config:
|
|
41
|
+
"""Pydantic configuration"""
|
|
42
|
+
allow_population_by_field_name = True
|
|
43
|
+
validate_assignment = True
|
|
44
|
+
|
|
45
|
+
def to_str(self) -> str:
|
|
46
|
+
"""Returns the string representation of the model using alias"""
|
|
47
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
48
|
+
|
|
49
|
+
def to_json(self) -> str:
|
|
50
|
+
"""Returns the JSON representation of the model using alias"""
|
|
51
|
+
return json.dumps(self.to_dict())
|
|
52
|
+
|
|
53
|
+
@classmethod
|
|
54
|
+
def from_json(cls, json_str: str) -> V2CaptureImageRequest:
|
|
55
|
+
"""Create an instance of V2CaptureImageRequest from a JSON string"""
|
|
56
|
+
return cls.from_dict(json.loads(json_str))
|
|
57
|
+
|
|
58
|
+
def to_dict(self):
|
|
59
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
60
|
+
_dict = self.dict(by_alias=True,
|
|
61
|
+
exclude={
|
|
62
|
+
},
|
|
63
|
+
exclude_none=True)
|
|
64
|
+
return _dict
|
|
65
|
+
|
|
66
|
+
@classmethod
|
|
67
|
+
def from_dict(cls, obj: dict) -> V2CaptureImageRequest:
|
|
68
|
+
"""Create an instance of V2CaptureImageRequest from a dict"""
|
|
69
|
+
if obj is None:
|
|
70
|
+
return None
|
|
71
|
+
|
|
72
|
+
if not isinstance(obj, dict):
|
|
73
|
+
return V2CaptureImageRequest.parse_obj(obj)
|
|
74
|
+
|
|
75
|
+
_obj = V2CaptureImageRequest.parse_obj({
|
|
76
|
+
"exposure": obj.get("exposure"),
|
|
77
|
+
"gain": obj.get("gain"),
|
|
78
|
+
"binning": obj.get("binning"),
|
|
79
|
+
"offset": obj.get("offset"),
|
|
80
|
+
"gain_mode": obj.get("gainMode") if obj.get("gainMode") is not None else 1,
|
|
81
|
+
"camera_id": obj.get("cameraId"),
|
|
82
|
+
"roi_start_x": obj.get("roiStartX"),
|
|
83
|
+
"roi_start_y": obj.get("roiStartY"),
|
|
84
|
+
"roi_width": obj.get("roiWidth"),
|
|
85
|
+
"roi_height": obj.get("roiHeight")
|
|
86
|
+
})
|
|
87
|
+
return _obj
|
|
88
|
+
|
|
89
|
+
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
from typing import List
|
|
22
|
+
from pydantic import BaseModel, Field, StrictInt, conlist
|
|
23
|
+
from ourskyai_node_platform_api.models.relay_function import RelayFunction
|
|
24
|
+
|
|
25
|
+
class V2CycleRelaysRequest(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
Request parameters for power cycling one or more relays. Specify which equipment to cycle and how long to keep power off before restoring it. # noqa: E501
|
|
28
|
+
"""
|
|
29
|
+
functions: conlist(RelayFunction) = Field(..., description="Array of relay functions to power cycle. All specified relays will be cycled simultaneously. Include only the equipment that needs to be reset.")
|
|
30
|
+
duration_seconds: StrictInt = Field(..., alias="durationSeconds", description="The duration in seconds to keep the relays powered off before restoring power. Typical values range from 5 to 30 seconds depending on equipment requirements.")
|
|
31
|
+
__properties = ["functions", "durationSeconds"]
|
|
32
|
+
|
|
33
|
+
class Config:
|
|
34
|
+
"""Pydantic configuration"""
|
|
35
|
+
allow_population_by_field_name = True
|
|
36
|
+
validate_assignment = True
|
|
37
|
+
|
|
38
|
+
def to_str(self) -> str:
|
|
39
|
+
"""Returns the string representation of the model using alias"""
|
|
40
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
41
|
+
|
|
42
|
+
def to_json(self) -> str:
|
|
43
|
+
"""Returns the JSON representation of the model using alias"""
|
|
44
|
+
return json.dumps(self.to_dict())
|
|
45
|
+
|
|
46
|
+
@classmethod
|
|
47
|
+
def from_json(cls, json_str: str) -> V2CycleRelaysRequest:
|
|
48
|
+
"""Create an instance of V2CycleRelaysRequest from a JSON string"""
|
|
49
|
+
return cls.from_dict(json.loads(json_str))
|
|
50
|
+
|
|
51
|
+
def to_dict(self):
|
|
52
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
53
|
+
_dict = self.dict(by_alias=True,
|
|
54
|
+
exclude={
|
|
55
|
+
},
|
|
56
|
+
exclude_none=True)
|
|
57
|
+
return _dict
|
|
58
|
+
|
|
59
|
+
@classmethod
|
|
60
|
+
def from_dict(cls, obj: dict) -> V2CycleRelaysRequest:
|
|
61
|
+
"""Create an instance of V2CycleRelaysRequest from a dict"""
|
|
62
|
+
if obj is None:
|
|
63
|
+
return None
|
|
64
|
+
|
|
65
|
+
if not isinstance(obj, dict):
|
|
66
|
+
return V2CycleRelaysRequest.parse_obj(obj)
|
|
67
|
+
|
|
68
|
+
_obj = V2CycleRelaysRequest.parse_obj({
|
|
69
|
+
"functions": obj.get("functions"),
|
|
70
|
+
"duration_seconds": obj.get("durationSeconds")
|
|
71
|
+
})
|
|
72
|
+
return _obj
|
|
73
|
+
|
|
74
|
+
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
from typing import Optional
|
|
22
|
+
from pydantic import BaseModel
|
|
23
|
+
from ourskyai_node_platform_api.models.v1_enclosure_rotator_status import V1EnclosureRotatorStatus
|
|
24
|
+
from ourskyai_node_platform_api.models.v1_enclosure_shutter_statuses import V1EnclosureShutterStatuses
|
|
25
|
+
from ourskyai_node_platform_api.models.v1_enclosure_window_status import V1EnclosureWindowStatus
|
|
26
|
+
|
|
27
|
+
class V2EnclosureStatus(BaseModel):
|
|
28
|
+
"""
|
|
29
|
+
Comprehensive status object containing the state of all enclosure subsystems. This unified view includes shutter panels, dome rotator, and observation window, providing everything needed for complete enclosure monitoring and control decisions. # noqa: E501
|
|
30
|
+
"""
|
|
31
|
+
shutters: Optional[V1EnclosureShutterStatuses] = None
|
|
32
|
+
rotator: Optional[V1EnclosureRotatorStatus] = None
|
|
33
|
+
window: Optional[V1EnclosureWindowStatus] = None
|
|
34
|
+
__properties = ["shutters", "rotator", "window"]
|
|
35
|
+
|
|
36
|
+
class Config:
|
|
37
|
+
"""Pydantic configuration"""
|
|
38
|
+
allow_population_by_field_name = True
|
|
39
|
+
validate_assignment = True
|
|
40
|
+
|
|
41
|
+
def to_str(self) -> str:
|
|
42
|
+
"""Returns the string representation of the model using alias"""
|
|
43
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
44
|
+
|
|
45
|
+
def to_json(self) -> str:
|
|
46
|
+
"""Returns the JSON representation of the model using alias"""
|
|
47
|
+
return json.dumps(self.to_dict())
|
|
48
|
+
|
|
49
|
+
@classmethod
|
|
50
|
+
def from_json(cls, json_str: str) -> V2EnclosureStatus:
|
|
51
|
+
"""Create an instance of V2EnclosureStatus from a JSON string"""
|
|
52
|
+
return cls.from_dict(json.loads(json_str))
|
|
53
|
+
|
|
54
|
+
def to_dict(self):
|
|
55
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
56
|
+
_dict = self.dict(by_alias=True,
|
|
57
|
+
exclude={
|
|
58
|
+
},
|
|
59
|
+
exclude_none=True)
|
|
60
|
+
# override the default output from pydantic by calling `to_dict()` of shutters
|
|
61
|
+
if self.shutters:
|
|
62
|
+
_dict['shutters'] = self.shutters.to_dict()
|
|
63
|
+
# override the default output from pydantic by calling `to_dict()` of rotator
|
|
64
|
+
if self.rotator:
|
|
65
|
+
_dict['rotator'] = self.rotator.to_dict()
|
|
66
|
+
# override the default output from pydantic by calling `to_dict()` of window
|
|
67
|
+
if self.window:
|
|
68
|
+
_dict['window'] = self.window.to_dict()
|
|
69
|
+
return _dict
|
|
70
|
+
|
|
71
|
+
@classmethod
|
|
72
|
+
def from_dict(cls, obj: dict) -> V2EnclosureStatus:
|
|
73
|
+
"""Create an instance of V2EnclosureStatus from a dict"""
|
|
74
|
+
if obj is None:
|
|
75
|
+
return None
|
|
76
|
+
|
|
77
|
+
if not isinstance(obj, dict):
|
|
78
|
+
return V2EnclosureStatus.parse_obj(obj)
|
|
79
|
+
|
|
80
|
+
_obj = V2EnclosureStatus.parse_obj({
|
|
81
|
+
"shutters": V1EnclosureShutterStatuses.from_dict(obj.get("shutters")) if obj.get("shutters") is not None else None,
|
|
82
|
+
"rotator": V1EnclosureRotatorStatus.from_dict(obj.get("rotator")) if obj.get("rotator") is not None else None,
|
|
83
|
+
"window": V1EnclosureWindowStatus.from_dict(obj.get("window")) if obj.get("window") is not None else None
|
|
84
|
+
})
|
|
85
|
+
return _obj
|
|
86
|
+
|
|
87
|
+
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
from typing import Union
|
|
22
|
+
from pydantic import BaseModel, Field, StrictBool, StrictFloat, StrictInt
|
|
23
|
+
from ourskyai_node_platform_api.models.v1_motor_status import V1MotorStatus
|
|
24
|
+
|
|
25
|
+
class V2MountStatus(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
Enhanced mount status including detailed motor telemetry for both axes. Provides more comprehensive diagnostic information than V1MountStatus. # noqa: E501
|
|
28
|
+
"""
|
|
29
|
+
connected: StrictBool = Field(..., description="Indicates whether the mount is currently connected and communicating. When false, mount commands will fail and position data may be stale.")
|
|
30
|
+
is_slewing: StrictBool = Field(..., alias="isSlewing", description="Indicates whether the mount is currently slewing (moving rapidly) to a new position. True during goto operations, false when stationary or tracking.")
|
|
31
|
+
is_tracking: StrictBool = Field(..., alias="isTracking", description="Indicates whether sidereal tracking is currently active. When true, the mount compensates for Earth rotation to keep objects centered.")
|
|
32
|
+
ra_j2000_degrees: Union[StrictFloat, StrictInt] = Field(..., alias="raJ2000Degrees", description="Current right ascension coordinate of the telescope pointing in degrees (J2000 epoch). Range is 0 to 360 degrees.")
|
|
33
|
+
dec_j2000_degrees: Union[StrictFloat, StrictInt] = Field(..., alias="decJ2000Degrees", description="Current declination coordinate of the telescope pointing in degrees (J2000 epoch). Range is -90 to +90 degrees.")
|
|
34
|
+
azimuth_degrees: Union[StrictFloat, StrictInt] = Field(..., alias="azimuthDegrees", description="Current azimuth angle measured clockwise from north in degrees. Range is 0 to 360 degrees where 0/360 is north, 90 is east.")
|
|
35
|
+
altitude_degrees: Union[StrictFloat, StrictInt] = Field(..., alias="altitudeDegrees", description="Current altitude (elevation) angle above the horizon in degrees. Range is 0 (horizon) to 90 (zenith) degrees.")
|
|
36
|
+
motor_a: V1MotorStatus = Field(..., alias="motorA")
|
|
37
|
+
motor_b: V1MotorStatus = Field(..., alias="motorB")
|
|
38
|
+
__properties = ["connected", "isSlewing", "isTracking", "raJ2000Degrees", "decJ2000Degrees", "azimuthDegrees", "altitudeDegrees", "motorA", "motorB"]
|
|
39
|
+
|
|
40
|
+
class Config:
|
|
41
|
+
"""Pydantic configuration"""
|
|
42
|
+
allow_population_by_field_name = True
|
|
43
|
+
validate_assignment = True
|
|
44
|
+
|
|
45
|
+
def to_str(self) -> str:
|
|
46
|
+
"""Returns the string representation of the model using alias"""
|
|
47
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
48
|
+
|
|
49
|
+
def to_json(self) -> str:
|
|
50
|
+
"""Returns the JSON representation of the model using alias"""
|
|
51
|
+
return json.dumps(self.to_dict())
|
|
52
|
+
|
|
53
|
+
@classmethod
|
|
54
|
+
def from_json(cls, json_str: str) -> V2MountStatus:
|
|
55
|
+
"""Create an instance of V2MountStatus from a JSON string"""
|
|
56
|
+
return cls.from_dict(json.loads(json_str))
|
|
57
|
+
|
|
58
|
+
def to_dict(self):
|
|
59
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
60
|
+
_dict = self.dict(by_alias=True,
|
|
61
|
+
exclude={
|
|
62
|
+
},
|
|
63
|
+
exclude_none=True)
|
|
64
|
+
# override the default output from pydantic by calling `to_dict()` of motor_a
|
|
65
|
+
if self.motor_a:
|
|
66
|
+
_dict['motorA'] = self.motor_a.to_dict()
|
|
67
|
+
# override the default output from pydantic by calling `to_dict()` of motor_b
|
|
68
|
+
if self.motor_b:
|
|
69
|
+
_dict['motorB'] = self.motor_b.to_dict()
|
|
70
|
+
return _dict
|
|
71
|
+
|
|
72
|
+
@classmethod
|
|
73
|
+
def from_dict(cls, obj: dict) -> V2MountStatus:
|
|
74
|
+
"""Create an instance of V2MountStatus from a dict"""
|
|
75
|
+
if obj is None:
|
|
76
|
+
return None
|
|
77
|
+
|
|
78
|
+
if not isinstance(obj, dict):
|
|
79
|
+
return V2MountStatus.parse_obj(obj)
|
|
80
|
+
|
|
81
|
+
_obj = V2MountStatus.parse_obj({
|
|
82
|
+
"connected": obj.get("connected"),
|
|
83
|
+
"is_slewing": obj.get("isSlewing"),
|
|
84
|
+
"is_tracking": obj.get("isTracking"),
|
|
85
|
+
"ra_j2000_degrees": obj.get("raJ2000Degrees"),
|
|
86
|
+
"dec_j2000_degrees": obj.get("decJ2000Degrees"),
|
|
87
|
+
"azimuth_degrees": obj.get("azimuthDegrees"),
|
|
88
|
+
"altitude_degrees": obj.get("altitudeDegrees"),
|
|
89
|
+
"motor_a": V1MotorStatus.from_dict(obj.get("motorA")) if obj.get("motorA") is not None else None,
|
|
90
|
+
"motor_b": V1MotorStatus.from_dict(obj.get("motorB")) if obj.get("motorB") is not None else None
|
|
91
|
+
})
|
|
92
|
+
return _obj
|
|
93
|
+
|
|
94
|
+
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
OurSky
|
|
5
|
+
|
|
6
|
+
Node Platform API
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 1.3.9821
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
import pprint
|
|
17
|
+
import re # noqa: F401
|
|
18
|
+
import json
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
from pydantic import BaseModel, Field, StrictBool
|
|
23
|
+
from ourskyai_node_platform_api.models.relay_function import RelayFunction
|
|
24
|
+
|
|
25
|
+
class V2RelayStatus(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
Status information for a single power relay including its connected equipment function and current power state. # noqa: E501
|
|
28
|
+
"""
|
|
29
|
+
connected: StrictBool = Field(..., description="Indicates whether the relay controller is currently connected and responding. A false value means this relay cannot be switched or its state monitored reliably.")
|
|
30
|
+
function: RelayFunction = Field(...)
|
|
31
|
+
is_on: StrictBool = Field(..., alias="isOn", description="The current power state of the relay. True indicates the relay is closed and power is flowing to the equipment. False indicates the relay is open and equipment is unpowered.")
|
|
32
|
+
__properties = ["connected", "function", "isOn"]
|
|
33
|
+
|
|
34
|
+
class Config:
|
|
35
|
+
"""Pydantic configuration"""
|
|
36
|
+
allow_population_by_field_name = True
|
|
37
|
+
validate_assignment = True
|
|
38
|
+
|
|
39
|
+
def to_str(self) -> str:
|
|
40
|
+
"""Returns the string representation of the model using alias"""
|
|
41
|
+
return pprint.pformat(self.dict(by_alias=True))
|
|
42
|
+
|
|
43
|
+
def to_json(self) -> str:
|
|
44
|
+
"""Returns the JSON representation of the model using alias"""
|
|
45
|
+
return json.dumps(self.to_dict())
|
|
46
|
+
|
|
47
|
+
@classmethod
|
|
48
|
+
def from_json(cls, json_str: str) -> V2RelayStatus:
|
|
49
|
+
"""Create an instance of V2RelayStatus from a JSON string"""
|
|
50
|
+
return cls.from_dict(json.loads(json_str))
|
|
51
|
+
|
|
52
|
+
def to_dict(self):
|
|
53
|
+
"""Returns the dictionary representation of the model using alias"""
|
|
54
|
+
_dict = self.dict(by_alias=True,
|
|
55
|
+
exclude={
|
|
56
|
+
},
|
|
57
|
+
exclude_none=True)
|
|
58
|
+
return _dict
|
|
59
|
+
|
|
60
|
+
@classmethod
|
|
61
|
+
def from_dict(cls, obj: dict) -> V2RelayStatus:
|
|
62
|
+
"""Create an instance of V2RelayStatus from a dict"""
|
|
63
|
+
if obj is None:
|
|
64
|
+
return None
|
|
65
|
+
|
|
66
|
+
if not isinstance(obj, dict):
|
|
67
|
+
return V2RelayStatus.parse_obj(obj)
|
|
68
|
+
|
|
69
|
+
_obj = V2RelayStatus.parse_obj({
|
|
70
|
+
"connected": obj.get("connected"),
|
|
71
|
+
"function": obj.get("function"),
|
|
72
|
+
"is_on": obj.get("isOn")
|
|
73
|
+
})
|
|
74
|
+
return _obj
|
|
75
|
+
|
|
76
|
+
|