[release] LoRa App Server v3.2

LoRa App Server v3.2.0

Features

Device queue

The LoRa App Server web-interface has now the option to:

  • Enqueue payloads
  • List pending queue items
  • Flush the device queue

Prometheus metrics

gRPC API metrics can now be exposed using a Prometheus metrics endpoint.
In future releases, more metrics will be exposed using this endpoint.

Improvements

  • Multicast-group frame-counter cleanup (there was a column in both the LoRa App Server and LoRa Server database). (#339)

Bugfixes

  • Fix missing multicast enqueue error handler (this caused the enqueue endpoint to return a 200 even in case of error).
4 Likes

I’m having trouble with multicast enqueue. I mentioned the issue here. I dig a little further and discovered only EU band is affected. NA band is working properly. What is more, if I add device to multicast that is not activated yet (or just leave multicast with no devices) I can enqueue downlink and in response get status 200 and incremented fCnt. But when I add activated device or unactivated device that is activated before any downlink from multicast session, I get following error:

{
  "error": "enqueue multicast-group queue-item error: enqueue multicast-queue item error: rpc error: code = NotFound desc = object does not exist",
  "message": "enqueue multicast-group queue-item error: enqueue multicast-queue item error: rpc error: code = NotFound desc = object does not exist",
  "code": 13,
  "details": []
}

I used 3.1.0, only difference is now I can see that enqueue in fact returns error (I noticed it in loraserver logs anyway):
On both bands (EU and NA) downlink on RX2 works OK for single device. It’s only multicast in EU band that I’m having trouble with.

My main goal is to get FUOTA working. Without multicast enqueue it is not possible. Is there anyone who successfully updated device in EU band? Or maybe can reproduce my issue

One thing I noticed that could be improved and which could result in the same error is when you have not yet configured all your gateways through LoRa App Server.

The enqueue endpoint will link multicast downlinks to one or multiple gateways (as to reach your full group it might be needed to use multiple gateways). When an uplink was received through a gateway that was not configured, this will result in a foreign-key error in PostgreSQL “not found”.

The quick solution: make sure all your gateways are actually configured.

3 Likes

@brocaar Thanks for the fast response! You are right with gateway configuration, my EU gateway had different gateway_ID in lora_pkt_fwd and lora-app-server. Multicast works now! Thank you again!