ADR for non static devices


From the documentation of the lora server
It is mentionned that:

Important: ADR is only suitable for static devices, thus devices that do not move!

Is it always the case? the lora server does not suppport the ADR with non static devices?


It’s not an issue of support, is that it’s just not suitable. There’s plenty of info, but as a quick summary check this discussion:

1 Like

The ADR engine calculates the link margin of a device and based on that, calculates how many steps the data-rate can be increased or tx power can be decresed until a “safe” margin has been reached where the device is still “connected”.

As non-static devices might move away from a gatway, ADR could have the effect of disconnecting a device. However, I think you could also implement a kind of ADR algorithm in your device code as it might be able to predict its movements. For this you can use the LinkCheckReq mac-command (initiated by your device) to check its connectivity. LoRa Server will respond to that request with the link margin. Based on sensor input (accelerometer, gps, …) your device could then decide if the margin allows to increase the data-rate. Note that I never tried this, but such a thing should work :slight_smile:

1 Like

I know this post is quite old, but I am having the problem of a dynamic device (in particular, an asset tracker) not getting nearly the range is should, and I suspect it has to do with the ADR.

Is there any way to disable ADR for a particular device, and have it set to a default data rate and TX power?

Yes, you can do this at the device side. How to do this depends on the used device vendor / library.

1 Like