190 Commits

Author SHA1 Message Date
Orne Brocaar
bfcff17f34 Bump version to 4.0.4 2022-11-15 10:13:35 +00:00
Orne Brocaar
6973e91ade Remove unsetting of device_queue_item.
In case the queue-item does fit the first RX window, but not the second
one, it will be set to None. If this happens, then the
save_downlink_frame step will not add the queue-item ID to the
DownlinkFrame (internal).

Then on txack, ChirpStack is unable to dequeue the payload causing the
payload to stay in the queue.
2022-11-08 15:40:37 +00:00
Orne Brocaar
e2214f9485 Add coding_rate field to LoraDataRate (+ fix 2.4GHz coding-rate).
Per Regional Parameters Specification, the LoRa modulation always uses
coding-rate 4/5, however this is not the case for ISM2400 (which is
currently not covered by the reg. params) in which case coding-rate
4/8LI must be used.

Closes #51.
2022-11-08 15:19:45 +00:00
Orne Brocaar
0ac4ef51e2 Bump version to 4.0.3 2022-11-07 11:40:11 +00:00
Orne Brocaar
6b1cf4f8ba Fix metrics per day interval calculation.
This fixes the issue where after a from DST to non-DST, the timstamp was
not incremented by a full day. As the ts was then truncated to day
precision, this would create a never ending loop.

Example, incrementing 2022-10-30 00:00:00 by days(1) would result in
2022-10-30 23:00:00, trucated to day precision would result in
2022-10-30 00:00:00.

If the date (30) is the same after incrementing by days(1), we increment
by days(2), which in the above example results in 2022-10-31 23:00:00,
truncated to day precision results in 2022-10-31 00:00:00 which is the
desired result.
2022-11-07 11:23:02 +00:00
Orne Brocaar
42d6f62509 Simplify error return. 2022-11-04 14:30:55 +00:00
Orne Brocaar
347ac6fcfa Check if channel is closed. Fix blocking_send error.
In order to properly handle the SendError, we must return the original
error, instead of creating a new anyhow::Error.
2022-11-04 14:29:04 +00:00
Orne Brocaar
0b7ee05c6f Update properties > metadata in gateway API. 2022-11-04 12:03:01 +00:00
Orne Brocaar
39a9455972 Add downlink meta-data logging. 2022-11-02 16:15:53 +00:00
Orne Brocaar
0d14bb1ac7 Add uplink meta-data logging. 2022-11-02 14:42:25 +00:00
Orne Brocaar
937f12d4e8 Add Redis config examples for username and password.
Closes #54.
2022-11-02 10:39:42 +00:00
Orne Brocaar
0a23c71641 Add option for auto-detect measurements.
In case the decoded payload contains random keys the auto-detect
measurements feature will add new measurements for each uplink. With
this option it is possible to turn auto-detection off to avoid
polluting the database with many measurements.

Closes #42.
2022-11-02 10:19:38 +00:00
Orne Brocaar
d6cc9d4fd6 Bump version to 4.0.3-test.1 2022-10-21 07:37:25 +01:00
Orne Brocaar
289d97f258 Implement dev_addr_prefixes configuration.
This makes it possible to configure one or multiple DevAddr sub-ranges
instead of using the whole DevAddr range provided by the configured
NetID.

Closes #49.
2022-10-19 12:53:34 +01:00
Orne Brocaar
e04f991e76 Fix 'Cannot serialize NaN as google.protobuf.Value.number_value'.
In case the codec returns a NaN float, this is converted to None to
avoid Protobuf serialization error. This also fixes the eventlog such
that it does not break out of the loop (unless it is a channel error).
Messages that can't be processed will be ignored and an error is
printed.

Fixes https://github.com/chirpstack/chirpstack-v3-to-v4/issues/4.
2022-10-06 12:31:11 +01:00
Orne Brocaar
94455ffe35 Fix typo (:: > :). 2022-10-04 15:50:20 +01:00
John Dyer
601d3f9aa1
Use trust_store instead of ca_path for mqtt integration. (#47) 2022-10-04 15:44:59 +01:00
Orne Brocaar
4282d3aedc Update clap to v4. 2022-10-03 15:11:53 +01:00
Orne Brocaar
a91fb1f73e Bump version to 4.0.2 2022-09-28 13:05:13 +01:00
Orne Brocaar
0940260541 Fix client_cert_lifetime value in configfile template. 2022-09-28 12:38:37 +01:00
Orne Brocaar
51b622e8e2 Fix terminating stream loop on client disconnect.
As the spawn_blocking thread is not terminated when the frame_log_future
is dropped, it would keep the Redis connection open. By closing the
redis_rx channel on client-disconnect, we can check if the channel has
been closed inside the spawn_blocking thread, and return if this is the
case.

Closes #40.
2022-09-28 12:25:33 +01:00
Orne Brocaar
ea0f84b93d Bump version to 4.0.1 2022-09-28 09:14:53 +01:00
Orne Brocaar
091e3b0f97 Remove bandwidth * 1000 as it is already in Hz.
This fixes the missing per DR stats in the gateway dashboard.
2022-09-27 15:56:04 +01:00
Orne Brocaar
4d000b92e9 Fix PositionSolution decoding from JSON.
Depending the algorithm type, some fields might or might not be present.
This change updates these fields to Option<T>.
2022-09-27 11:28:35 +01:00
Orne Brocaar
2abc85afa6 Revert "LoRa Cloud: use default if value is not present."
This reverts commit 1867140272ce0625a3598ee3082b383171005702.
2022-09-27 11:15:53 +01:00
Orne Brocaar
1867140272 LoRa Cloud: use default if value is not present. 2022-09-27 11:03:49 +01:00
Orne Brocaar
e81e57a020 Fix clippy warnings. 2022-09-27 11:02:55 +01:00
Orne Brocaar
709731ab6e Fix reading arguments after clap update. 2022-09-27 10:45:46 +01:00
Orne Brocaar
bb188949df Update dependencies + fix clippy warnings. 2022-09-26 12:58:01 +01:00
Orne Brocaar
f17250c37f Show region information in UI. 2022-09-15 10:58:37 +01:00
Orne Brocaar
84a1c6e1be Bump version to 4.0.0 2022-09-14 09:43:05 +01:00
Orne Brocaar
331f4bce40 Fix "Error converting from js 'float' into type 'i32'" error. 2022-09-12 12:28:23 +01:00
Orne Brocaar
b0e61b50d2 Remove old commented-out code. 2022-09-12 11:48:59 +01:00
Cecile Thiebaut
62f981fefe
Use trust_store instead of ca_path. (#37) 2022-09-10 12:32:01 +01:00
Orne Brocaar
cba8da2d05 Bump version to 4.0.0-rc.4 2022-09-05 22:47:47 +01:00
Orne Brocaar
97a235cc80 Remove duplicate code.
This is already handled by the filter_mac_commands function.
2022-09-05 22:38:48 +01:00
Orne Brocaar
8a4b537645 Fix filtering on mac-command conflict and error count. 2022-09-05 14:07:16 +01:00
Orne Brocaar
4dd441e85d Cleanup DevEUI from DevAddr > DevEUI set, if DS does not exist. 2022-08-31 11:13:51 +01:00
Orne Brocaar
0fa40717e8 Add missing CN470 configuration.
Closes #36.
2022-08-31 09:48:55 +01:00
Orne Brocaar
7e6552df5e Fix missing Kafka key. 2022-08-31 08:49:53 +01:00
Alejandra Buznego
4f08f7ddcb
Add user_id filter when listing tenants with global API key. (#34) 2022-08-31 08:48:11 +01:00
Orne Brocaar
0a5c38d322 Also log txack errors for mac-only downlinks. 2022-08-30 14:02:21 +01:00
Orne Brocaar
3cf05e8fb9 Fix passive-roaming tx ack and save device-session order.
We first need to save the device-session and then handle the tx ack, as
else we are overwriting the frame-counter increment.
2022-08-26 12:54:46 +01:00
Orne Brocaar
ca2961c7b6 Bump version to 4.0.0-rc.3 2022-08-23 08:59:05 +01:00
Orne Brocaar
63b0af6cf3 Remove owning_ref indirect dep by updating prometheus-client.
The owning_ref crate has a vulnerable. The updated prometheus-client no
longer uses owning_ref as a dependency.
2022-08-22 10:54:33 +01:00
Orne Brocaar
3b297ef221 Replace env. variables in config by localhost for .deb and .rpm
The env. variables are used such that the same configuration can be used
for Docker images, .deb and .rpm packages. However, if installing .deb
or .rpm packages, this can be confusing as executing 'chirpstack -c
/etc/chirpstack' will fail because these environment variables are only
available when using systemctl to start the ChirpStack process
(configured in the .service configuration file).
2022-08-21 21:44:36 +01:00
Orne Brocaar
e917f8ea49 Remove default CA and MQTT cert gen. on install.
In case of mult-server deployments, this can be confusing as each VM
generates different certificate files by default, where all instances
must share the same certificate (or at least CA certificate + key).
The other issue is that the MQTT broker certificate must contain the
correct hostname, which can (most of the times) not automatically be
retrieved. Documentation to generate these certificates can be found
here:

https://www.chirpstack.io/docs/guides/mosquitto-tls-configuration.html
2022-08-21 19:56:49 +01:00
Orne Brocaar
613f4562a2 Add config option to allow unknown gateways. 2022-08-18 10:27:55 +01:00
Orne Brocaar
bf6df9c845 Fix shadowing of rx_info and setting location.
The rx_info value was shadowed, and because of this the location was set
on the cloned value, not the original value, making the location set
useless.
2022-08-14 13:49:00 +01:00
Orne Brocaar
d4337b10ab Bump version to 4.0.0-rc.2 2022-08-11 12:04:21 +01:00