dji_mqtt_connect 0.1.19.2 → 0.1.20

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 32ee39b795f662201b49e2390046aba2b90963940ce03980fd6e07f9f7de6c0e
4
- data.tar.gz: d47a3c8bc1154aba8d282ed0095a9c4b986c82dde7359e3ef15db241569085f7
3
+ metadata.gz: df34f882455e0115d20170670c3cfeff6d52af9184be36f221b22b092bf696a6
4
+ data.tar.gz: c0df3c4b7415e9ebee4e8b232268add1a475e92c6add94ed90eee4f3f4b2d855
5
5
  SHA512:
6
- metadata.gz: a75908421b0588112f72b1b08452c18cd6209efb45e6be675c544acf7e5d5e475c4bb85e2a7f3803b49bed114efb9827522285f581489699a59c4079765b89a3
7
- data.tar.gz: 5fc3beab2ba3cb2514704491ce4e084b1578f36e126e71c1e91971b9a7d0a7d26eb2cec9bd6b1d5de9eb48808bd31b492df6ddfcf011d89cdbaf2571c4ce49c3
6
+ metadata.gz: a4c8ab91a478f5bb8e1b70071b1ba0999277cacae5fe36f9195a69f035bc292f2175734fb9a701e5fb6c3fc0ed3a255c0d57cfe2d3337ce66d583094186b97c0
7
+ data.tar.gz: 4bf14e95502fd070111c3928b06488457a44edb1943a6db563339fb106b0f48c7f2fc174c6ba94f66dcd58e94a8432a37056dfcd4b7226016dd778b77046e090
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dji_mqtt_connect (0.1.19.2)
4
+ dji_mqtt_connect (0.1.20)
5
5
  activesupport (>= 6.0, <= 8)
6
6
  dry-struct (~> 1.6)
7
7
  dry-transformer (~> 1.0)
@@ -20,7 +20,7 @@ module DjiMqttConnect
20
20
  copy_keys "data" => "_data"
21
21
 
22
22
  # Fix the legacy hms message
23
- guard ->(message) { message.dig("data", "method") == "hms" } do
23
+ guard ->(message) { message["method"].blank? && message.dig("data", "method") == "hms" } do
24
24
  map_value "data" do
25
25
  reject_keys ["event"]
26
26
 
@@ -47,7 +47,7 @@ module DjiMqttConnect
47
47
  end
48
48
 
49
49
  # Fix the legacy status code message
50
- guard ->(message) { message.dig("data", "method") == "status_code" } do
50
+ guard ->(message) { message["method"].blank? && message.dig("data", "method") == "status_code" } do
51
51
  map_value "data" do
52
52
  unwrap "output", ["codes"]
53
53
  end
@@ -75,9 +75,6 @@ module DjiMqttConnect
75
75
  raise ParseError.new(e, "Unable to parse message as JSON")
76
76
  rescue Dry::Struct::Error => e
77
77
  raise ParseError.new(e, "Unexpected #{message_class} payload")
78
- rescue TypeError => e
79
- # FIXME: airsense messages have data as an array, this breaks a lot of code...
80
- raise ParseError.new(e, "Unable to parse message")
81
78
  end
82
79
 
83
80
  private
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DjiMqttConnect
4
+ module Thing::Product
5
+ class AirsenseWarningEventsMessage < EventsMessage
6
+ attribute :_method, Types::String.enum("airsense_warning")
7
+ attribute :_data, Types::Array
8
+
9
+ attribute :data, Types::Array do
10
+ attribute :icao, Types::String
11
+
12
+ # {"0":"No danger","1":"Level one","2":"Level two","3":"Level three","4":"Level four"}
13
+ attribute :warning_level, Types::Integer.enum(0, 1, 2, 3, 4)
14
+
15
+ attribute :latitude, Types::Latitude
16
+
17
+ attribute :longitude, Types::Longitude
18
+
19
+ attribute :altitude, Types::Integer
20
+
21
+ # {"0":"Ellipsoid height","1":"altitude"}
22
+ attribute :altitude_type, Types::Integer.enum(0, 1)
23
+
24
+ attribute :distance, Types::Integer
25
+
26
+ attribute :heading, Types::JSON::Decimal
27
+
28
+ attribute :relative_altitude, Types::Integer
29
+
30
+ # {"0":"Relative height unchanged","1":"Relative height increase","2":"Relative height decrease"}
31
+ attribute :vert_trend, Types::Integer.enum(0, 1, 2)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DjiMqttConnect
4
- VERSION = "0.1.19.2"
4
+ VERSION = "0.1.20"
5
5
  end
@@ -34,6 +34,7 @@ module DjiMqttConnect
34
34
  module Thing
35
35
  module Product
36
36
  # Messages
37
+ autoload :AirsenseWarningEventsMessage, "dji_mqtt_connect/messages/thing/product/events/airsense_warning"
37
38
  autoload :CoverCloseEventsMessage, "dji_mqtt_connect/messages/thing/product/events/cover_close"
38
39
  autoload :CoverOpenEventsMessage, "dji_mqtt_connect/messages/thing/product/events/cover_open"
39
40
  autoload :DeviceLogEventsMessage, "dji_mqtt_connect/messages/thing/product/events/device_log"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dji_mqtt_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.19.2
4
+ version: 0.1.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sphere Drones
@@ -127,6 +127,7 @@ files:
127
127
  - lib/dji_mqtt_connect/messages/sys/product/status/update_topo.rb
128
128
  - lib/dji_mqtt_connect/messages/sys/product/status_message.rb
129
129
  - lib/dji_mqtt_connect/messages/sys/product/status_reply/update_topo.rb
130
+ - lib/dji_mqtt_connect/messages/thing/product/events/airsense_warning.rb
130
131
  - lib/dji_mqtt_connect/messages/thing/product/events/cover_close.rb
131
132
  - lib/dji_mqtt_connect/messages/thing/product/events/cover_open.rb
132
133
  - lib/dji_mqtt_connect/messages/thing/product/events/device_exit_homing_notify.rb