[release] ChirpStack Application Server v3.12

Would it help if I make the expected stats interval configurable like I have done with the devices? Currently I’m assuming the default packet-forwarder interval of 30 seconds (+ some margin).

2 Likes

yes i think this will be the solution

Which default packet forwarder interval is that, stats you mean? If so, we set that for much longer. But yeah, configurable would work well.

Correct, the last seen is based on the stats and the active / inactive is based on the last seen. The reason for using the stats and not every uplink is that the latter one could generate a lot more queries when the gateway receives uplinks for many devices where the stats has a predictable interval.

After version update, the number of network servers has tripled. It turned out three each.
tripplesrv

Thanks for reporting. There was one API cleanup related to the network-server listing. I think I have missed one distinct in the SQL query. Will fix this asap.

1 Like

This fixes the issue:

It was because of the left join (which can match multiple times for the same network-server record).

1 Like

ChirpStack Application Server v3.12.1

Bugfixes

  • Fix duplicated network-server entries in API and web-interface.
  • Fix auto-complete select placeholder. (#526)
2 Likes

I have just implemented this. Will be included in the next version :slight_smile: Thanks for the feedback!

1 Like

There seems to be an issue with websockets in this release, I get a lot of
“[write] error writing websocket message: write tcp 192.168.1.116:8080->192.168.1.100:54774: i/o timeout”
messages in the log, and the feed seems to miss LoRa packets.

3 Likes

I am also facing same problem

@brocaar

I have a debugged WebSocket issue and it’s caused due to the below commit.

I have tested chirpstack-application-server without WebSocketProxy with a 30s interval and it’s working fine.

Thanks

Thanks for testing. I’ll roll back the change in the next release until I have found a better approach for the ping / pong.

1 Like

Dashboards looks nice! One thing tho - how is the DR taken into account? I can see one device with DR7 on my test server.

AFAIK there were two devices operating on DR7 - one of them is currently on DR5 and other one is inactive for about 8 months.

Wouldn’t it be better (if possible) to tie it with device activity? Or set some other interval for which the DR stats would be shown?

obrazek

Maybe that is a good point. Currently each device record has a dr field which stores the last used dr. The dashboard aggregates the values of all devices (of which the dr is set). It does not exclude inactive devices.

I’m looking forward to more feedback on this. Filtering on active devices should be straightforward to implement. I’m interested to hear more opinions on this approach :slight_smile:

Please pardon me if this is the wrong place to ask this question. I’m very much a newbie to both ChirpStack and Docker.

When there is a new release like this, do the Docker images get updated automatically? I can’t tell from the docker download page (https://hub.docker.com/r/chirpstack/chirpstack-application-server/). I ran the appropriate Docker command (“docker pull chirpstack/chirpstack-application-server”) and it appeared to update my image (“Status: Downloaded newer image for chirpstack/chirpstack-application-server:latest”), but after a restart it still appears to be version 3.10.0. Is there something else I need to do after the “pull”+restart, or has the Docker image not yet been updated to 3.12?

Thanks a lot in advance!
Brad.

I would advise to look into Docker tags :slight_smile: That way you know exactly which version you are fetching.

1 Like

@sagarpatel @brocaar can you tell me how to disable the 30s Ping/Pong? I really would like to have my live Frames back.
Is it possible to Change
“return wsproxy.WebsocketProxy(r, wsproxy.WithPingControl(30*time.Second)), Nil”
back to
“return wsproxy.WebsocketProxy(r )), Nil”

Thanks

ChirpStack Application Server v3.12.2

Improvements

  • Add gateway-profile option to configure (expected) gateway stats interval.
  • Implement workaround for parsing LoRa Cloud stream records containing GNSS payloads.

Bugfixes

  • Revert ‘Add WebSocket ping (30s interval) to avoid that load-balancers close the connection after inactivity’ as it causes more issues that that it solves.
  • Fix resetting altitude when updating the gateway location.
4 Likes

@brocaar Thanks a lot! :+1: