ADR algorithm to always use max power

Viewed 29

Most of the devices I have on my network use A/C power, so battery life consideration is not required. I would like to use an ADR algorithm that specifies max power (or close to max power) at all times. I have devices in the US915 and EU868 regions.

Questions are:

  1. What are the negative implications of using max power all the time with regard to overall network performance?

  2. What would be the best way to implement this? Is it as simple as modifying the examples/adr_plugins/default.js plugin example to always set txPowerIndex to 0?

  3. I'm not sure how to configure Chirpstack custom ADR algorithms now. I cannot seem to find any documentation on how to install custom ADR algorithms. Any pointers or forum posts I can use as a reference?

1 Answers

Q1:

The advantage of a lower TX Power is that reducing the TX power also decreases the reach of the device and by that reducing possible collissions with other devices.

B2:

Yes, I think you could modify:

resp.txPowerIndex = desiredTxPowerIndex;

to

resp.txPowerIndex = 0;

ChirpStack will only send a mac-command when the response is different than the current state of the device.

Q3:

Please see the [network] section in the chirpstack.toml configuration. You should add something like:

  adr_plugins=[
    "/path/to/custom/adr_algo.js",
  ]

See also: https://www.chirpstack.io/docs/chirpstack/configuration.html