84 Commits

Author SHA1 Message Date
Orne Brocaar
e680db3be0 Bump version to 4.0.0-test.18 2022-08-04 17:11:45 +01:00
Orne Brocaar
a14adfe20b Bump version to 4.0.0-test.17 2022-08-04 10:27:03 +01:00
Orne Brocaar
672511c696 Implement support for JSON for GW<>NS.
This auto-detects the encoding used by the gateway and stores this
setting such that the commands will be encoded using the same setting.

Closes #2.
2022-08-03 15:19:51 +01:00
Orne Brocaar
3348ccf67d Fix async receiver for passive-roaming HomeNSReq + add debug logs. 2022-08-03 15:18:31 +01:00
Orne Brocaar
341ac828b0 Bump version to 4.0.0-test.16 2022-08-01 12:59:57 +01:00
Orne Brocaar
d7a4334b77 Fix missing GatewayStats v4_migrate.
This is needed as the gateway_id field has changed from bytes to string
(as the Protobuf JSON mapping encodes bytes to base64).
2022-08-01 12:08:08 +01:00
Orne Brocaar
edff985ad8 Bump version to 4.0.0-test.15 2022-08-01 10:20:57 +01:00
Orne Brocaar
10d75a1744 Set MQTT persistence to TMP dir instead of CWD. 2022-07-31 13:11:55 +01:00
Orne Brocaar
eee1c4b4b0 Show counter value as rate per aggregation interval. 2022-07-31 13:10:16 +01:00
Orne Brocaar
3ab830f5a0 Change clean_session default + fix re-subscribe.
This changes the clean_session default to false, as only in case of a
persistent session, qos > 0 would be effective. If the client_id is not
set, then ChirpStack will generate a random client_id, which stays the
same during the lifetime of the chirpstack process.

This also implements a subscribe loop, as the client re-connect feature
does not re-subscribe. Even in case of a persistent session there is no
guarantee that the subscription is recovered, as it might have been a
MQTT broker restart. In case the broker stores the sessions in-memory,
the client would re-connect, but without subscriptions.

The (re)subscribe logic is placed outside the on-connected callback, as
the callback function must not block, thus can not wait for the
subscribe result. No the (re)subscribe happens async from the
on-connected.
2022-07-30 13:23:54 +01:00
Orne Brocaar
f58e39e503 Bump version to 4.0.0-test.14 2022-07-28 09:02:54 +01:00
Orne Brocaar
ffa8aa9518 Fix clippy warning. 2022-07-28 08:58:31 +01:00
Orne Brocaar
a53a90b646 Make deduplication_delay configurable. Handle duplicated acks. 2022-07-27 20:19:02 +01:00
Orne Brocaar
7a7d3dbd4e Add missing LoRa 2.4 gHz code-rates to enum. 2022-07-27 10:06:14 +01:00
Orne Brocaar
73d581fc4c Update version. 2022-07-26 15:29:01 +01:00
Orne Brocaar
85cd5e0b80 Fix formatting after clippy fixes. 2022-07-22 13:06:52 +01:00
Orne Brocaar
4612f84045 Update to diesel 2.0.0-rc.1. 2022-07-22 13:05:45 +01:00
Orne Brocaar
b187efe84c Cleanup clippy warnings. 2022-07-22 13:00:30 +01:00
Orne Brocaar
4d665d3ded Remove update, change apt to apt-get to avoid warnings. 2022-07-22 12:20:20 +01:00
Orne Brocaar
c0a450c8f8 Change LR-FHSS code_rate to CodeRate type. 2022-07-22 12:19:36 +01:00
Orne Brocaar
e7432986cd Bump version to v4.0.0-test.11. 2022-07-21 16:17:41 +01:00
Orne Brocaar
69e3b672ac Fix field types for GatewayStats and GatewayConfiguration.
The gateway_id field now has type string and bandwidth is in Hz, which
is consistent with the other messages.
2022-07-21 15:28:09 +01:00
Orne Brocaar
067869e4f0 Bump version to v4.0.0-test.10. 2022-07-21 13:49:51 +01:00
Orne Brocaar
5436582f03 Refactor testing and (cross)compile.
With the update to diesel 2.0.0-rc0, it is now possible to cross-compile
without emulation. Note that during each (cross)compile, we have to
install libpq-dev for the target platform, as only one version can be
installed at a time (e.g. libpq-dev:amd64 conflicts with libpq-dev:armhf).
2022-07-21 11:00:47 +01:00
Orne Brocaar
954c408247 Add rdkafka cmake-build feature. 2022-07-20 14:07:53 +01:00
Orne Brocaar
cbb1449868 Bump version. 2022-07-20 13:27:34 +01:00
Orne Brocaar
634aea6a71 Update diesel to 2.0.0-rc.0.
Diesel 1.4.x makes it impossible to properly cross-compile when using
PostgreSQL and thus having a dependency on libpq. On compile and I
believe when using the diesel_migrations crate, there is a dependency on
both the host and target libpq. Unfortunately, only one can be installed
at a time, because of conflicts. See also:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=995768

Until now the cross-compile solution is based on docker buildx, which
uses qemu to emulate the different targets. This works, but is very,
very slow.

Diesel 2.0.0-rc.0 no longer depends on both the host and target libpq on
compile and makes it possible to implement proper cross-compiling (using
the rust --target flag in combination with the cross-compile
toolchains).
2022-07-20 10:55:59 +01:00
Orne Brocaar
626af4fadc Update configfile template. 2022-07-18 12:01:29 +01:00
Orne Brocaar
36ec11d175 Annotate gRPC methods for REST interface gen.
The option(google.api.http) annotations can be used by for example
https://github.com/grpc-ecosystem/grpc-gateway to generate a gRPC to
REST proxy.
2022-07-13 12:18:46 +01:00
Orne Brocaar
e1da9f75ae Fix serving backend interfaces using TLS. 2022-07-13 12:15:38 +01:00
Orne Brocaar
4131ed38ec Add Kafka integration. 2022-07-12 09:37:15 +01:00
Orne Brocaar
8350494846 Remove mqtt state topic.
Adding this was probably not a good idea. For a number of reasons:

Persisted messages do not expire, so the database of messages will grow
over time, even when devices are removed.

Other integrations have nothing similar.

Decoded uplink events will probably data that could be seen as a certain
state (e.g. parking spot occupied or not), but are published as events.
2022-07-11 13:59:54 +01:00
Orne Brocaar
9ecfbab5b5 Add missing re-connect config in mqtt connection options. 2022-07-08 13:57:34 +01:00
Orne Brocaar
0d4003a2be Add global AMQP integration. 2022-07-07 10:16:55 +01:00
Orne Brocaar
96ab49944c Add IFTTT integration. 2022-07-06 15:43:00 +01:00
Orne Brocaar
7baedd1bf9 Add Prometheus metrics for gw backend + API methods. 2022-07-05 14:00:57 +01:00
Orne Brocaar
9eeee3759c Rename f_cnt_up to f_cnt. 2022-07-01 15:09:50 +01:00
Orne Brocaar
fb74bda3fd Fix merging device-profile and device tags. 2022-07-01 14:53:29 +01:00
Orne Brocaar
777b95ef1d Add global PostgreSQL integration. 2022-07-01 14:52:38 +01:00
Orne Brocaar
a46b0a9469 Move deduplication_id in LogEvent to context field. 2022-06-30 19:30:56 +01:00
Orne Brocaar
f27b8da38d Re-implement passive-roaming. 2022-06-30 11:17:26 +01:00
Orne Brocaar
3fd821ebdf Update version to v4.0.0-test.7. 2022-06-29 14:10:50 +01:00
Orne Brocaar
a01f8565fd Implement support for quick device measurement metrics. 2022-06-28 15:05:42 +01:00
Orne Brocaar
4fa9341139 Bump version. 2022-06-10 12:32:09 +01:00
Orne Brocaar
fef42fa192 Update openidconnect dependency. 2022-06-07 19:51:48 +01:00
Orne Brocaar
1fbc4e5391 Fix accidentally committed changes. 2022-06-07 19:50:14 +01:00
Orne Brocaar
1236b4dba9 Update rust-embed dependency. 2022-06-07 19:42:15 +01:00
Orne Brocaar
d9d3f14e80 Implement support for device-profile templates + TTN importer. 2022-06-07 19:29:59 +01:00
SAGAR PATEL
d1630e5722
User should not be able to delete its own user record. (#13)
Signed-off-by: SAGAR PATEL <sagar.a.patel@slscorp.com>
2022-06-07 11:53:23 +01:00
SAGAR PATEL
25c71c5483
Do not flush dev_ and join_ nonces when updating AppKey for OTAA (#22)
Signed-off-by: SAGAR PATEL <sagar.a.patel@slscorp.com>
2022-06-07 11:51:04 +01:00