dji_mqtt_connect 0.1.28 → 0.1.29.1

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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dji_mqtt_connect/messages/sys/product/status_reply_message.rb +1 -2
  3. data/lib/dji_mqtt_connect/messages/thing/product/events/airsense_warning.rb +2 -0
  4. data/lib/dji_mqtt_connect/messages/thing/product/events/cover_close.rb +3 -5
  5. data/lib/dji_mqtt_connect/messages/thing/product/events/cover_open.rb +3 -6
  6. data/lib/dji_mqtt_connect/messages/thing/product/events/device_reboot.rb +3 -6
  7. data/lib/dji_mqtt_connect/messages/thing/product/events/drone_close.rb +3 -6
  8. data/lib/dji_mqtt_connect/messages/thing/product/events/drone_open.rb +2 -4
  9. data/lib/dji_mqtt_connect/messages/thing/product/events/file_upload_callback.rb +4 -5
  10. data/lib/dji_mqtt_connect/messages/thing/product/events/flighttask_progress.rb +2 -6
  11. data/lib/dji_mqtt_connect/messages/thing/product/events/return_home_info.rb +4 -0
  12. data/lib/dji_mqtt_connect/messages/thing/product/events/takeoff_to_point_progress.rb +1 -2
  13. data/lib/dji_mqtt_connect/messages/thing/product/events/uom_fly_data_info.rb +4 -2
  14. data/lib/dji_mqtt_connect/messages/thing/product/events_reply_message.rb +1 -2
  15. data/lib/dji_mqtt_connect/messages/thing/product/osd/dock.rb +32 -141
  16. data/lib/dji_mqtt_connect/messages/thing/product/osd/drone.rb +7 -5
  17. data/lib/dji_mqtt_connect/messages/thing/product/osd/flight_hub_dock.rb +41 -39
  18. data/lib/dji_mqtt_connect/messages/thing/product/osd/remote.rb +3 -3
  19. data/lib/dji_mqtt_connect/messages/thing/product/requests_reply/airport_bind_status.rb +1 -2
  20. data/lib/dji_mqtt_connect/messages/thing/product/requests_reply/airport_organization_bind.rb +1 -2
  21. data/lib/dji_mqtt_connect/messages/thing/product/requests_reply/airport_organization_get.rb +1 -2
  22. data/lib/dji_mqtt_connect/messages/thing/product/requests_reply/flight_areas_get.rb +1 -2
  23. data/lib/dji_mqtt_connect/messages/thing/product/requests_reply/flighttask_resource_get.rb +1 -2
  24. data/lib/dji_mqtt_connect/messages/thing/product/requests_reply/offline_map_get.rb +1 -2
  25. data/lib/dji_mqtt_connect/messages/thing/product/requests_reply/offline_map_get_v2.rb +1 -2
  26. data/lib/dji_mqtt_connect/messages/thing/product/requests_reply/storage_config_get.rb +1 -2
  27. data/lib/dji_mqtt_connect/messages/thing/product/services/flighttask_execute.rb +3 -0
  28. data/lib/dji_mqtt_connect/messages/thing/product/services/flighttask_prepare.rb +3 -0
  29. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/alarm_state_switch.rb +2 -4
  30. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/cover_close.rb +2 -4
  31. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/cover_open.rb +2 -4
  32. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/debug_mode_close.rb +2 -4
  33. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/debug_mode_open.rb +2 -4
  34. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/drone_close.rb +2 -4
  35. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/drone_open.rb +2 -4
  36. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/flighttask_progress_get.rb +2 -6
  37. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/return_home.rb +2 -4
  38. data/lib/dji_mqtt_connect/messages/thing/product/services_reply/return_specific_home.rb +2 -4
  39. data/lib/dji_mqtt_connect/messages/thing/product/services_reply_message.rb +1 -2
  40. data/lib/dji_mqtt_connect/messages/thing/product/state_message.rb +1 -2
  41. data/lib/dji_mqtt_connect/messages/thing/product/state_reply_message.rb +1 -2
  42. data/lib/dji_mqtt_connect/mixins/air_conditioner_state.rb +11 -0
  43. data/lib/dji_mqtt_connect/mixins/alarm_state.rb +20 -0
  44. data/lib/dji_mqtt_connect/mixins/{humanized_camera_index.rb → camera_index.rb} +6 -2
  45. data/lib/dji_mqtt_connect/mixins/cover_state.rb +24 -0
  46. data/lib/dji_mqtt_connect/mixins/drone_in_dock.rb +11 -0
  47. data/lib/dji_mqtt_connect/mixins/emergency_stop_state.rb +20 -0
  48. data/lib/dji_mqtt_connect/mixins/environment_temperature.rb +11 -0
  49. data/lib/dji_mqtt_connect/mixins/{events_progress_checks.rb → events_progress_step_key.rb} +1 -1
  50. data/lib/dji_mqtt_connect/mixins/flighttask_progress_current_step.rb +11 -0
  51. data/lib/dji_mqtt_connect/mixins/{latitude_conditional.rb → latitude.rb} +1 -1
  52. data/lib/dji_mqtt_connect/mixins/{longitude_conditional.rb → longitude.rb} +1 -1
  53. data/lib/dji_mqtt_connect/mixins/putter_state.rb +24 -0
  54. data/lib/dji_mqtt_connect/mixins/rainfall.rb +24 -0
  55. data/lib/dji_mqtt_connect/mixins/{result_message.rb → result_code.rb} +1 -1
  56. data/lib/dji_mqtt_connect/mixins/{services_output_status_checks.rb → services_output_status.rb} +1 -1
  57. data/lib/dji_mqtt_connect/mixins/supplement_light_state.rb +20 -0
  58. data/lib/dji_mqtt_connect/mixins/{temperature_conditional.rb → temperature.rb} +1 -1
  59. data/lib/dji_mqtt_connect/types.rb +46 -0
  60. data/lib/dji_mqtt_connect/version.rb +1 -1
  61. data/lib/dji_mqtt_connect.rb +17 -7
  62. metadata +19 -9
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Mixins
5
+ module EmergencyStopState
6
+ def humanized_emergency_stop_state
7
+ return unless emergency_stop_state
8
+
9
+ state_key = case emergency_stop_state
10
+ when Types::EMERGENCY_STOP_STATE_CLOSED
11
+ "Closed"
12
+ when Types::EMERGENCY_STOP_STATE_OPEN
13
+ "Open"
14
+ end
15
+
16
+ I18n.t(state_key.downcase, scope: "dji_mqtt_connect.dock_emergency_stop_state", default: state_key)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Mixins
5
+ module EnvironmentTemperature
6
+ def environment_temperature?
7
+ environment_temperature && !Types::InvalidTemperature.valid?(environment_temperature)
8
+ end
9
+ end
10
+ end
11
+ end
@@ -3,7 +3,7 @@
3
3
  module DjiMqttConnect
4
4
  module Mixins
5
5
  # Provides checks for the event progress object that contains a Types::EventsProgressStepKey step_key value
6
- module EventsProgressChecks
6
+ module EventsProgressStepKey
7
7
  # Provide accessors for each step key value
8
8
  DjiMqttConnect::Types::EventsProgressStepKey.values.each do |step_key_value|
9
9
  define_method(:"#{step_key_value}_step?") { step_key == step_key_value }
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Mixins
5
+ module FlighttaskProgressCurrentStep
6
+ def humanized_current_step
7
+ I18n.t(current_step, scope: "dji_mqtt_connect.flighttask_progress.current_step", default: current_step.to_s)
8
+ end
9
+ end
10
+ end
11
+ end
@@ -3,7 +3,7 @@
3
3
  module DjiMqttConnect
4
4
  module Mixins
5
5
  # Provides a conditional that returns false for nil for invalid latitude values
6
- module LatitudeConditional
6
+ module Latitude
7
7
  def latitude?
8
8
  latitude && !Types::NullInteger.valid?(latitude)
9
9
  end
@@ -3,7 +3,7 @@
3
3
  module DjiMqttConnect
4
4
  module Mixins
5
5
  # Provides a conditional that returns false for nil for invalid longitude values
6
- module LongitudeConditional
6
+ module Longitude
7
7
  def longitude?
8
8
  longitude && !Types::NullInteger.valid?(longitude)
9
9
  end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Mixins
5
+ module PutterState
6
+ def humanized_putter_state
7
+ return unless putter_state
8
+
9
+ state_key = case putter_state
10
+ when Types::PUTTER_STATE_CLOSED
11
+ "Closed"
12
+ when Types::PUTTER_STATE_OPEN
13
+ "Open"
14
+ when Types::PUTTER_STATE_HALF_OPEN
15
+ "Half-open"
16
+ when Types::PUTTER_STATE_ABNORMAL
17
+ "Abnormal"
18
+ end
19
+
20
+ I18n.t(state_key.parameterize.underscore, scope: "dji_mqtt_connect.dock_putter_state", default: state_key)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Mixins
5
+ module Rainfall
6
+ def humanized_rainfall
7
+ return unless rainfall
8
+
9
+ rainfall_key = case rainfall
10
+ when Types::RAINFALL_NONE
11
+ "None"
12
+ when Types::RAINFALL_LIGHT
13
+ "Light"
14
+ when Types::RAINFALL_MODERATE
15
+ "Moderate"
16
+ when Types::RAINFALL_HEAVY
17
+ "Heavy"
18
+ end
19
+
20
+ I18n.t(rainfall_key.downcase, scope: "dji_mqtt_connect.rainfall", default: rainfall_key)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -3,7 +3,7 @@
3
3
  module DjiMqttConnect
4
4
  module Mixins
5
5
  # Provides a result_message message that provides a human-readable message for result values
6
- module ResultMessage
6
+ module ResultCode
7
7
  def result_message
8
8
  Translations.result_message(result)
9
9
  end
@@ -3,7 +3,7 @@
3
3
  module DjiMqttConnect
4
4
  module Mixins
5
5
  # Provides checks for the output object that contains a Types::ServicesOutputStatus status value
6
- module ServicesOutputStatusChecks
6
+ module ServicesOutputStatus
7
7
  # Provide accessors for each status value
8
8
  DjiMqttConnect::Types::ServicesOutputStatus.values.each do |status_value|
9
9
  define_method(:"status_#{status_value}?") { status == status_value }
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Mixins
5
+ module SupplementLightState
6
+ def humanized_supplement_light_state
7
+ return unless supplement_light_state
8
+
9
+ state_key = case supplement_light_state
10
+ when Types::SUPPLEMENT_LIGHT_STATE_CLOSED
11
+ "Closed"
12
+ when Types::SUPPLEMENT_LIGHT_STATE_OPEN
13
+ "Open"
14
+ end
15
+
16
+ I18n.t(state_key.downcase, scope: "dji_mqtt_connect.dock_supplement_light_state", default: state_key)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -3,7 +3,7 @@
3
3
  module DjiMqttConnect
4
4
  module Mixins
5
5
  # Provides a conditional that returns false for nil or excessive values (invalid data)
6
- module TemperatureConditional
6
+ module Temperature
7
7
  def temperature?
8
8
  temperature && !Types::InvalidTemperature.valid?(temperature)
9
9
  end
@@ -42,6 +42,11 @@ module DjiMqttConnect
42
42
  # {"0":"Idle mode (No cooling, heating, and dehumidification)","1":"Cooling mode","2":"Heating mode","3":"Dehumidification mode","4":"Cooling exit mode","5":"Heating exit mode","6":"Dehumidification exit mode","7":"Cooling preparation mode","8":"Heating preparation mode","9":"Dehumidification preparation mode"}
43
43
  AirConditionerState = Types::Integer.enum(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
44
44
 
45
+ AlarmState = Types::Integer.enum(
46
+ ALARM_STATE_CLOSED = 0,
47
+ ALARM_STATE_OPEN = 1
48
+ )
49
+
45
50
  # {"0":"Capturing","1":"Recording","2":"Smart Low-Light","3":"Panorama","-1":"Unsupported mode"}
46
51
  # "4":"Timed Shot"
47
52
  CameraMode = Types::Integer.enum(
@@ -52,6 +57,14 @@ module DjiMqttConnect
52
57
  CAMERA_MODE_TIMED_SHOT = 4
53
58
  )
54
59
 
60
+ # {"0":"Closed","1":"Opened","2":"Half-open","3":"Cover state is abnormal"}
61
+ CoverState = Types::Integer.enum(
62
+ COVER_STATE_CLOSED = 0,
63
+ COVER_STATE_OPEN = 1,
64
+ COVER_STATE_HALF_OPEN = 2,
65
+ COVER_STATE_ABNORMAL = 3
66
+ )
67
+
55
68
  # {"0":"Idle","1":"On-site debugging","2":"Remote debugging","3":"Firmware upgrading","4":"Working"}
56
69
  DockModeCode = Integer.enum(
57
70
  DOCK_MODE_CODE_IDLE = 0,
@@ -103,6 +116,17 @@ module DjiMqttConnect
103
116
  DRONE_CHARGE_STATE_CHARGING = 1
104
117
  )
105
118
 
119
+ DroneInDock = Integer.enum(
120
+ DRONE_OUT_OF_DOCK = 0,
121
+ DRONE_IN_DOCK = 1
122
+ )
123
+
124
+ # {"0":"Closed","1":"Opened"}
125
+ EmergencyStopState = Types::Integer.enum(
126
+ EMERGENCY_STOP_STATE_CLOSED = 0,
127
+ EMERGENCY_STOP_STATE_OPEN = 1
128
+ )
129
+
106
130
  # {"0":"Operation preparation","1":"In-flight operation","2":"Post-operation state recovery","3":"Custom flight area updating","4":"Terrain obstacle updating","5":"Mission idle","255":"Aircraft is abnormal","256":"Unknown state"}
107
131
  FlightTaskStepCode = Types::Integer.enum(
108
132
  FLIGHT_TASK_STEP_OPERATION_PREPARATION = 0,
@@ -159,6 +183,22 @@ module DjiMqttConnect
159
183
 
160
184
  PositionStateQuality = Types::Integer.enum(1, 2, 3, 4, 5, 10)
161
185
 
186
+ # {"0":"Closed","1":"Opened","2":"Half-open","3":"Putter state is abnormal"}
187
+ PutterState = Types::Integer.enum(
188
+ PUTTER_STATE_CLOSED = 0,
189
+ PUTTER_STATE_OPEN = 1,
190
+ PUTTER_STATE_HALF_OPEN = 2,
191
+ PUTTER_STATE_ABNORMAL = 3
192
+ )
193
+
194
+ # {"0":"No rain","1":"Light rain","2":"Moderate rain","3":"Heavy rain"}
195
+ Rainfall = Types::Integer.enum(
196
+ RAINFALL_NONE = 0,
197
+ RAINFALL_LIGHT = 1,
198
+ RAINFALL_MODERATE = 2,
199
+ RAINFALL_HEAVY = 3
200
+ )
201
+
162
202
  # {"sent":"sent","in_progress":"in progress","ok":"success","paused":"paused","rejected":"rejected","failed":"failed","canceled":"canceled or stopped","timeout":"timeout"}
163
203
  ServicesOutputStatus = Types::String.enum(
164
204
  SERVICE_OUTPUT_STATUS_SENT = "sent",
@@ -171,6 +211,12 @@ module DjiMqttConnect
171
211
  SERVICE_OUTPUT_STATUS_TIMEOUT = "timeout"
172
212
  )
173
213
 
214
+ # {"0":"Closed","1":"Opened"}
215
+ SupplementLightState = Types::Integer.enum(
216
+ SUPPLEMENT_LIGHT_STATE_CLOSED = 0,
217
+ SUPPLEMENT_LIGHT_STATE_OPEN = 1
218
+ )
219
+
174
220
  # Video Quality
175
221
  # {"0":"Adaptive","1":"Smooth","2":"Standard definition","3":"High definition","4":"Ultra-high definition"}
176
222
  VideoQuality = Types::Integer.enum(
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DjiMqttConnect
4
- VERSION = "0.1.28"
4
+ VERSION = "0.1.29.1"
5
5
  end
@@ -172,18 +172,28 @@ module DjiMqttConnect
172
172
 
173
173
  # Mixinx
174
174
  module Mixins
175
+ autoload :AirConditionerState, "dji_mqtt_connect/mixins/air_conditioner_state"
176
+ autoload :AlarmState, "dji_mqtt_connect/mixins/alarm_state"
177
+ autoload :CameraIndex, "dji_mqtt_connect/mixins/camera_index"
178
+ autoload :CoverState, "dji_mqtt_connect/mixins/cover_state"
175
179
  autoload :CapacityPercent, "dji_mqtt_connect/mixins/capacity_percent"
176
180
  autoload :DroneChargeState, "dji_mqtt_connect/mixins/drone_charge_state"
177
- autoload :EventsProgressChecks, "dji_mqtt_connect/mixins/events_progress_checks"
178
- autoload :HumanizedCameraIndex, "dji_mqtt_connect/mixins/humanized_camera_index"
179
- autoload :LatitudeConditional, "dji_mqtt_connect/mixins/latitude_conditional"
180
- autoload :LongitudeConditional, "dji_mqtt_connect/mixins/longitude_conditional"
181
+ autoload :DroneInDock, "dji_mqtt_connect/mixins/drone_in_dock"
182
+ autoload :EmergencyStopState, "dji_mqtt_connect/mixins/emergency_stop_state"
183
+ autoload :EnvironmentTemperature, "dji_mqtt_connect/mixins/environment_temperature"
184
+ autoload :EventsProgressStepKey, "dji_mqtt_connect/mixins/events_progress_step_key"
185
+ autoload :FlighttaskProgressCurrentStep, "dji_mqtt_connect/mixins/flighttask_progress_current_step"
186
+ autoload :Latitude, "dji_mqtt_connect/mixins/latitude"
187
+ autoload :Longitude, "dji_mqtt_connect/mixins/longitude"
181
188
  autoload :NetworkStateType, "dji_mqtt_connect/mixins/network_state_type"
182
189
  autoload :NetworkStateQuality, "dji_mqtt_connect/mixins/network_state_quality"
183
190
  autoload :PositionStateQuality, "dji_mqtt_connect/mixins/position_state_quality"
184
- autoload :ServicesOutputStatusChecks, "dji_mqtt_connect/mixins/services_output_status_checks"
185
- autoload :ResultMessage, "dji_mqtt_connect/mixins/result_message"
186
- autoload :TemperatureConditional, "dji_mqtt_connect/mixins/temperature_conditional"
191
+ autoload :PutterState, "dji_mqtt_connect/mixins/putter_state"
192
+ autoload :Rainfall, "dji_mqtt_connect/mixins/rainfall"
193
+ autoload :ServicesOutputStatus, "dji_mqtt_connect/mixins/services_output_status"
194
+ autoload :SupplementLightState, "dji_mqtt_connect/mixins/supplement_light_state"
195
+ autoload :ResultCode, "dji_mqtt_connect/mixins/result_code"
196
+ autoload :Temperature, "dji_mqtt_connect/mixins/temperature"
187
197
  autoload :VideoType, "dji_mqtt_connect/mixins/video_type"
188
198
  autoload :VideoQuality, "dji_mqtt_connect/mixins/video_quality"
189
199
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dji_mqtt_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.28
4
+ version: 0.1.29.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sphere Drones
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-09-17 00:00:00.000000000 Z
11
+ date: 2025-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -257,18 +257,28 @@ files:
257
257
  - lib/dji_mqtt_connect/messages/thing/product/services_reply_message.rb
258
258
  - lib/dji_mqtt_connect/messages/thing/product/state_message.rb
259
259
  - lib/dji_mqtt_connect/messages/thing/product/state_reply_message.rb
260
+ - lib/dji_mqtt_connect/mixins/air_conditioner_state.rb
261
+ - lib/dji_mqtt_connect/mixins/alarm_state.rb
262
+ - lib/dji_mqtt_connect/mixins/camera_index.rb
260
263
  - lib/dji_mqtt_connect/mixins/capacity_percent.rb
264
+ - lib/dji_mqtt_connect/mixins/cover_state.rb
261
265
  - lib/dji_mqtt_connect/mixins/drone_charge_state.rb
262
- - lib/dji_mqtt_connect/mixins/events_progress_checks.rb
263
- - lib/dji_mqtt_connect/mixins/humanized_camera_index.rb
264
- - lib/dji_mqtt_connect/mixins/latitude_conditional.rb
265
- - lib/dji_mqtt_connect/mixins/longitude_conditional.rb
266
+ - lib/dji_mqtt_connect/mixins/drone_in_dock.rb
267
+ - lib/dji_mqtt_connect/mixins/emergency_stop_state.rb
268
+ - lib/dji_mqtt_connect/mixins/environment_temperature.rb
269
+ - lib/dji_mqtt_connect/mixins/events_progress_step_key.rb
270
+ - lib/dji_mqtt_connect/mixins/flighttask_progress_current_step.rb
271
+ - lib/dji_mqtt_connect/mixins/latitude.rb
272
+ - lib/dji_mqtt_connect/mixins/longitude.rb
266
273
  - lib/dji_mqtt_connect/mixins/network_state_quality.rb
267
274
  - lib/dji_mqtt_connect/mixins/network_state_type.rb
268
275
  - lib/dji_mqtt_connect/mixins/position_state_quality.rb
269
- - lib/dji_mqtt_connect/mixins/result_message.rb
270
- - lib/dji_mqtt_connect/mixins/services_output_status_checks.rb
271
- - lib/dji_mqtt_connect/mixins/temperature_conditional.rb
276
+ - lib/dji_mqtt_connect/mixins/putter_state.rb
277
+ - lib/dji_mqtt_connect/mixins/rainfall.rb
278
+ - lib/dji_mqtt_connect/mixins/result_code.rb
279
+ - lib/dji_mqtt_connect/mixins/services_output_status.rb
280
+ - lib/dji_mqtt_connect/mixins/supplement_light_state.rb
281
+ - lib/dji_mqtt_connect/mixins/temperature.rb
272
282
  - lib/dji_mqtt_connect/mixins/video_quality.rb
273
283
  - lib/dji_mqtt_connect/mixins/video_type.rb
274
284
  - lib/dji_mqtt_connect/railtie.rb