From 1867140272ce0625a3598ee3082b383171005702 Mon Sep 17 00:00:00 2001 From: Orne Brocaar Date: Tue, 27 Sep 2022 11:03:49 +0100 Subject: [PATCH] LoRa Cloud: use default if value is not present. --- chirpstack/src/integration/loracloud/client.rs | 8 ++++++-- chirpstack/src/integration/loracloud/mod.rs | 6 +++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/chirpstack/src/integration/loracloud/client.rs b/chirpstack/src/integration/loracloud/client.rs index a0e12159..095f1b50 100644 --- a/chirpstack/src/integration/loracloud/client.rs +++ b/chirpstack/src/integration/loracloud/client.rs @@ -386,13 +386,17 @@ pub struct LocationResult { #[derive(Deserialize, Clone)] pub struct LocationSolverResult { + #[serde(default)] pub ecef: Vec, + #[serde(default)] pub llh: Vec, + #[serde(default)] pub gdop: f64, + #[serde(default)] pub accuracy: f64, - #[serde(rename = "capture_time_gps")] + #[serde(default, rename = "capture_time_gps")] pub capture_time_gps: f64, - #[serde(rename = "capture_time_utc")] + #[serde(default, rename = "capture_time_utc")] pub capture_time_utc: f64, } diff --git a/chirpstack/src/integration/loracloud/mod.rs b/chirpstack/src/integration/loracloud/mod.rs index d4423e3e..402725a1 100644 --- a/chirpstack/src/integration/loracloud/mod.rs +++ b/chirpstack/src/integration/loracloud/mod.rs @@ -192,6 +192,9 @@ impl Integration { return Err(anyhow!("{}", resp.error)); } + self.handle_response_integration_event(vars, pl, &resp.result) + .await?; + if self.config.modem_geolocation_services.parse_tlv && resp.result.stream_records.is_some() { self.handle_response_tlv_records( @@ -202,9 +205,6 @@ impl Integration { .await?; } - self.handle_response_integration_event(vars, pl, &resp.result) - .await?; - if let Some(v) = &resp.result.downlink { self.handle_response_downlink(pl, v).await?; }