chirpstack-application-server

ChirpStack Application Server is an open-source LoRaWAN application-server.

MIT License

Stars
491

Bot releases are hidden (Show)

chirpstack-application-server -

Published by brocaar over 5 years ago

chirpstack-application-server - v2.6.0

Published by brocaar over 5 years ago

v2.6.0

Features

New integrations

Support has been added to forward events to an Azure service-bus or to AWS SNS. See Configuration.

Improvements

  • Make JS codec maximum execution-time configurable and increase default value to 100ms.
  • Add configuration option for CORS headers. (#275)
  • Internal code-cleanup with regards to passing configuration and objects.
  • Internal migration from Dep to Go modules.
  • Improve authentication validator SQL query for speed. (#302)
  • Add codec execution time for decoding. (#307)
  • UI: Make delete application confirmation more explicit. (#306)

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/.

chirpstack-application-server - v2.5.1

Published by brocaar over 5 years ago

v2.5.1

Bugfixes

  • Fix panic in InfluxDB handler on null values in object (#295)

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/.

chirpstack-application-server - v2.5.0

Published by brocaar over 5 years ago

v2.5.0

Features

Support for retained messages

It is now possible to configure the retained flag for the MQTT integration.
When set, the MQTT broker will retain the last message and send this
immediately when a MQTT client connects. (#272)

Environment variable based configuration

Environment variable based configuration has been re-implemented.

Improvements

  • Calls made by the HTTP integration are now made async.
  • The alignment of the UI tabs has been improved.

Bugfixes

  • Fix potential deadlock on MQTT re-connect (#103)
  • Fix logrotate issue (init based systems) (#282

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/.

chirpstack-application-server - v2.4.1

Published by brocaar almost 6 years ago

v2.4.1

Bugfixes

  • Fix createLeafletElement implementation error (introduced by v2.4.0 leaflet upgrade).

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/.

chirpstack-application-server - v2.4.0

Published by brocaar almost 6 years ago

v2.4.0

Improvements

TLS for web-interface and API optional

It is no longer required to configure a TLS certificate for securing the LoRa App Server web-interface and API. This configuration is now optional and unset by default.

InfluxDB uplink meta-data

The following values have been added:

  • RSSI
  • SNR
  • Uplink frame-counter

EUI and key input fields (web-interface)

The device EUI and (session)key input fields have been improved for easier input, supporting both MSB and LSB byte order. Also only the required fields (based on LoRaWAN 1.0.x or 1.1.x) are displayed in the forms.

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/.

chirpstack-application-server - v2.3.0

Published by brocaar about 6 years ago

v2.3.0

Features

Google Cloud Platform integration

LoRa App Server is now able to publish application data to Cloud Pub/Sub as an alternative to a MQTT broker. Please refer to the Configuration for more information.

Deactivate device API

An API endpoint has been added to de-activate (not remove) devices.

Device battery status

LoRa App Server now publishes the device battery-level as a percentage instead of a value between 0...255. The battery field will be removed in the next major release.

Improvements

  • The join-server ca_cert can be left blank to disable client-certificate validation when a TLS certificate is configured.

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/.

chirpstack-application-server - v2.2.0

Published by brocaar about 6 years ago

v2.2.0

Upgrade notes

This upgrade is backwards compatible with previous v2 releases, but when using
geolocation-support, you must also upgrade LoRa Server to v2.2.0+.

Features

Geolocation

This release adds geolocation support.

  • Configuration of fine-timestamp decryption keys (e.g. for the Kerlink iBTS).
  • .../location MQTT topics on which device locations are published.
  • Location notification endpoint for HTTP integration.
  • Per device reference altitude (for more accurate geolocation).

Improvements

  • Replace garyburd/redigo/redis with gomodule/redigo/redis.

Bugfixes

  • Status notification endpoint was missing for HTTP integration.
  • Fix /api endpoint redirecting to web-interface (this might require a clear cache).

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/.

chirpstack-application-server - v2.1.0

Published by brocaar about 6 years ago

v2.1.0

Upgrade notes

This upgrade is backwards compatible with previous v2 releases, but when using multicast-support, you must also upgrade LoRa Server to v2.1.0+.

Features

Multicast support

This adds experimental support for creating multicast-groups to which devices can be assigned (potentially covered by multiple gateways).

LoRaWAN 1.0.3

This update adds LoRaWAN 1.0.3 in MAC version dropdown.

Bugfixes

  • Fix organization selector dropdown styling.

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/.

chirpstack-application-server - v2.0.1

Published by brocaar about 6 years ago

v2.0.1

Bugfixes

  • Use gofrs/uuid UUID library as satori/go.uuid is not truly random. (#253)
  • Fix web-interface login form (sometimes a double login was required).

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/.

chirpstack-application-server - v2.0.0

Published by brocaar about 6 years ago

v2.0.0

Upgrade notes

Before upgrading to v2, first make sure you have the latest v1 installed and running
(including LoRa App Server). As always, it is recommended to make a backup
first :-)

Features

LoRaWAN 1.1 support

This release adds support for LoRaWAN 1.1 devices (meaning that both LoRaWAN 1.0
and LoRaWAN 1.1 devices are supported). Please note that the LoRaWAN 1.0 AppKey
is now called NwkKey and LoRaWAN 1.1 adds a new key called AppKey.

(Encrypted) key signaling

The LoRa App Server join-server API supports using Key Encryption Keys (KEK)
for encrypting the session-keys on a (re)join-request, requested by LoRa Server.
It will also send the (encrypted) AppSKey in this response to LoRa Server.

When LoRa Server receives the first uplink from the device (in case of a rejoin-request,
this will be the first uplink using the new security context), it will send this
(encrypted) AppSKey together with the application payload to LoRa App Server.
This will also be the moment when LoRa App Server will sent the join notification!

New UI

The LoRa App Server web-interface has been re-designed with a focus on better
navigation. All main components are now accessible from a sidebar.

Changes

Device-status

The device-status has been removed from the uplink payload and is sent over
a separate MQTT topic (or HTTP integration). This to make sure that the
the device-status is only published when an update is available.
See also Sending and receiving data.

API changes

The API has been cleaned up to improve consistency and usability. This update
affects most of the endpoints! Most of these changes can be summarized by
the following example (where device is a separate object which now can be
re-used for create / get and update methods).

Old API

POST /api/devices

{
  "name": "test-device",
  "devEUI": "0102030405060708",
  "applicationID": "123"
  ...
}
New API

POST /api/devices

{
  "device": {
    "name": "test-device",
    "devEUI": "0102030405060708",
    "applicationID": "123"
    ...
  }
}

InfluxDB changes

The device_uplink measurement spreading_factor, bandwidth, modulation
and bitrate tags are now replaced by a single dr tag.

Uplink message payload

The uplink message payload (used for MQTT and HTTP integrations) has been
modified slightly:

  • It now contains a dr field indicating the used uplink data-rate.
  • Location related fields of each rxInfo element has been moved inside a location object.
  • MAC has been renamed to gatewayID for each rxInfo element.
  • The adr field has been moved out of txInfo and moved into the root object.

Downlink queue changes

The reference field has been removed to simplify the downlink queue handling.
When using the REST or gRPC API interface, the response to an enqueue action
contains the frame-counter mapped with the downlink queue item. This
frame-counter then can be used to map the acknowledgement in case of a confirmed
downlink payload.

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/.

chirpstack-application-server - v2.0.0-test.1

Published by brocaar about 6 years ago

v2.0.0 (in development)

Upgrade notes

Before upgrading to v2, first make sure you have the latest v1 installed and running
(including LoRa App Server). As always, it is recommended to make a backup
first :-)

Features

LoRaWAN 1.1 support

This release adds support for LoRaWAN 1.1 devices (meaning that both LoRaWAN 1.0
and LoRaWAN 1.1 devices are supported). Please note that the LoRaWAN 1.0 AppKey
is now called NwkKey and LoRaWAN 1.1 adds a new key called AppKey.

(Encrypted) key signaling

The LoRa App Server join-server API supports using Key Encryption Keys (KEK)
for encrypting the session-keys on a (re)join-request, requested by LoRa Server.
It will also send the (encrypted) AppSKey in this response to LoRa Server.

When LoRa Server receives the first uplink from the device (in case of a rejoin-request,
this will be the first uplink using the new security context), it will send this
(encrypted) AppSKey together with the application payload to LoRa App Server.
This will also be the moment when LoRa App Server will sent the join notification!

New UI

The LoRa App Server web-interface has been re-designed with a focus on better
navigation. All main components are now accessible from a sidebar.

Changes

Device-status

The device-status has been removed from the uplink payload and is sent over
a separate MQTT topic (or HTTP integration). This to make sure that the
the device-status is only published when an update is available.
See also Sending and receiving data.

API changes

The API has been cleaned up to improve consistency and usability. This update
affects most of the endpoints! Most of these changes can be summarized by
the following example (where device is a separate object which now can be
re-used for create / get and update methods).

Old API

POST /api/devices

{
  "name": "test-device",
  "devEUI": "0102030405060708",
  "applicationID": "123"
  ...
}
New API

POST /api/devices

{
  "device": {
    "name": "test-device",
    "devEUI": "0102030405060708",
    "applicationID": "123"
    ...
  }
}

InfluxDB changes

The device_uplink measurement spreading_factor, bandwidth, modulation
and bitrate tags are now replaced by a single dr tag.

Uplink message payload

The uplink message payload (used for MQTT and HTTP integrations) has been
modified slightly:

  • It now contains a dr field indicating the used uplink data-rate.
  • Location related fields of each rxInfo element has been moved inside a location object.
  • MAC has been renamed to gatewayID for each rxInfo element.
  • The adr field has been moved out of txInfo and moved into the root object.

Downlink queue changes

The reference field has been removed to simplify the downlink queue handling.
When using the REST or gRPC API interface, the response to an enqueue action
contains the frame-counter mapped with the downlink queue item. This
frame-counter then can be used to map the acknowledgement in case of a confirmed
downlink payload.

chirpstack-application-server - v2.0.0-alpha.2

Published by brocaar over 6 years ago

v2.0.0 (in development)

Upgrade notes

Before upgrading to v2, first make sure you have the latest v1 installed and running
(including LoRa App Server). As always, it is recommended to make a backup
first :-)

Features

LoRaWAN 1.1 support

This release adds support for LoRaWAN 1.1 devices (meaning that both LoRaWAN 1.0
and LoRaWAN 1.1 devices are supported). Please note that the LoRaWAN 1.0 AppKey
is now called NwkKey and LoRaWAN 1.1 adds a new key called AppKey.

New UI

The LoRa App Server web-interface has been re-designed with a focus on better
navigation. All main components are now accessible from a sidebar.

Changes

Device-status

The device-status has been removed from the uplink payload and is sent over
a separate MQTT topic (or HTTP integration). This to make sure that the
the device-status is only published when an update is available.
See also Sending and receiving data.

API changes

The API has been cleaned up to improve consistency and usability. This update
affects most of the endpoints! Most of these changes can be summarized by
the following example (where device is a separate object which now can be
re-used for create / get and update methods).

Old API

POST /api/devices

{
  "name": "test-device",
  "devEUI": "0102030405060708",
  "applicationID": "123"
  ...
}
New API

POST /api/devices

{
  "device": {
    "name": "test-device",
    "devEUI": "0102030405060708",
    "applicationID": "123"
    ...
  }
}

InfluxDB changes

The device_uplink measurement spreading_factor, bandwidth, modulation
and bitrate tags are now replaced by a single dr tag.

Uplink message payload

The uplink message payload (used for MQTT and HTTP integrations) has been
modified slightly:

  • It now contains a dr field indicating the used uplink data-rate.
  • Location related fields of each rxInfo element has been moved inside a location object.
  • MAC has been renamed to gatewayID for each rxInfo element.
  • The adr field has been moved out of txInfo and moved into the root object.

Downlink queue changes

The reference field has been removed to simplify the downlink queue handling.
When using the REST or gRPC API interface, the response to an enqueue action
contains the frame-counter mapped with the downlink queue item. This
frame-counter then can be used to map the acknowledgement in case of a confirmed
downlink payload.

chirpstack-application-server - v1.0.2

Published by brocaar over 6 years ago

Bugfixes

  • Lock device row on downlink enqueue to avoid duplicated frame-counter values (#245)

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/

chirpstack-application-server - v2.0.0-alpha.1

Published by brocaar over 6 years ago

v2.0.0 (in development)

Upgrade notes

Before upgrading to v2, first make sure you have the latest v1 installed and running
(including LoRa App Server). As always, it is recommended to make a backup
first :-)

Features

LoRaWAN 1.1 support!

This release adds support for LoRaWAN 1.1 devices (meaning that both LoRaWAN 1.0
and LoRaWAN 1.1 devices are supported). Please note that the LoRaWAN 1.0 AppKey
is now called NwkKey and LoRaWAN 1.1 adds a new key called AppKey.

Changes

Device-status

The device-status has been removed from the uplink payload and is sent over
a separate MQTT topic (or HTTP integration). This to make sure that the
the device-status is only published when an update is available.
See also Sending and receiving data.

API changes

The API has been cleaned up to improve consistency and usability. This update
affects most of the endpoints! Most of these changes can be summarized by
the following example (where device is a separate object which now can be
re-used for create / get and update methods).

Old API

POST /api/devices

{
  "name": "test-device",
  "devEUI": "0102030405060708",
  "applicationID": "123"
  ...
}
New API

POST /api/devices

{
  "device": {
    "name": "test-device",
    "devEUI": "0102030405060708",
    "applicationID": "123"
    ...
  }
}

InfluxDB changes

The device_uplink measurement spreading_factor, bandwidth, modulation
and bitrate tags are now replaced by a single dr tag.

Uplink message payload

The uplink message payload (used for MQTT and HTTP integrations) has been
modified slightly:

  • It now contains a dr field indicating the used uplink data-rate.
  • Location related fields of each rxInfo element has been moved inside a location object.
  • MAC has been renamed to gatewayID for each rxInfo element.
  • The adr field has been moved out of txInfo and moved into the root object.
chirpstack-application-server - v1.0.1

Published by brocaar over 6 years ago

Improvements

  • tls_cert and tls_key are set automatically (again) when installing from .deb file.

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/

chirpstack-application-server - v1.0.0

Published by brocaar over 6 years ago

This marks the first stable release!

Upgrade notes

  • First make sure you have v0.21.1 installed and running (together with LoRa Server v0.26.3).
  • As some configuration defaults have been changed (in the MQTT topic node
    has been replaced by device), make sure the old defaults are in you config
    file. To re-generate a configuration file while keeping your modifications, run:
    lora-app-server -c lora-app-server-old.toml configfile > lora-app-server.toml
    
  • You are now ready to upgrade to v1.0.0!

See Downloads
for pre-compiled binaries or instructions how to setup the Debian / Ubuntu
repository for v1.x.

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/

chirpstack-application-server - 0.21.1

Published by brocaar over 6 years ago

Bugfixes:

  • Fix InfluxDB handler error for unexported fields (these are now skipped).
  • Fix data_data in InfluxDB measurement names when using a JS based codec.
  • Add missing int64 and uint64 value handling (InfluxDB).

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/

chirpstack-application-server - 0.21.0

Published by brocaar over 6 years ago

Features:

Bugfixes:

  • In some cases the JavaScript editor (codec functions) would only render on click.

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/

chirpstack-application-server - 0.20.2

Published by brocaar over 6 years ago

Bugfixes:

  • JS codec now handles all possible int and float types returned by the encoder function.
  • Fixed Gob decoding issues when decoding to interface{} by using JSON marshaler for logging events.

Improvements:

  • JS codec downlink errors are now logged to .../error MQTT topic.

Pre-compiled binaries are available at: https://www.loraserver.io/lora-app-server/overview/downloads/