You cannot set the min/max DR when ADR is enabled.
This is a limitation of LoRaWAN. If you think you’ll have a changing DR because of your distance to the gateway, then you have to consider the worst possible DR to be set by the ADR algorithm.
If your gateway and devices are in a fix distance. You can probably turn off ADR and just determine what is the optimal DR for your application. The case will be different if you are using a public network and have no control on the gateway.
Yes. The DR is set by the network server. But the ADR algorithm is based on the SNR which is a factor of distance and/or obstruction between the device and the gateway. Though the network server determines it, in terms of deployment, whether ADR should be on/off or what is the optimal DR is still based on the device and gateway
So if he use a public network and has no control on which gateway his device will connect, there will more to consider. Unlike if he controls the gateway/s and device. At least he can have a figure what can be the optimal DR to use.
If ADR is on or off is somewhat under control of the device, though there are necessary commands from the network servver that are implicitly ADR even if ADR is nominally off.
But the fact remains that the “gateway” has zero role in it whatsoever. Gateways don’t really “do” anything in LoRaWAN other than passively transfer traffic, only devices and servers make actual decisions.
has no control on which gateway his device will connect
Devices don’t connect to gateways - they connect through gateways to network servers, and the connection has no regard for which gateway it was achieved through.
A device can only connect to the servers of the network with which it has been registered, the servers of any other network will simply ignore traffic from an unkown device reported in by their gateways.
Probably I wasn’t able to explain well the scenario in which the gateway has critical role in the ADR.
ADR algorithm will set the DR based on SNR. And the SNR is based on the link between the device and the gateway. This is the info that the network server needs to determine which DR it should set.
If a certain application has 1 gateway and 1 device (just an example), the application developer can actually determine the SNR of the device and can probably disable totally the ADR on the device side and just have a fixed DR.