ADR Algorithm Improvement
ADR Algorithm Improvement API provides mechanisms to optimize Adaptive Data Rate (ADR) behavior for LoRaWAN devices within the network.
It allows tuning of network parameters to improve communication efficiency and device performance.
- ADR parameter optimization
- Network performance tuning
- Device communication efficiency improvements
- Optimizing battery usage in devices
- Improving network reliability
- Fine-tuning data rate adaptation behavior
Send the following POST request to /api/networkSettings endpoint:
curl --location 'https://{host}}/api/networkSettings' \
--header 'x-Authorization: Bearer {Token}' \
--header 'Content-Type: application/json' \
--data '{
"id": {
"id": "{id}"
},
"createdTime": 0,
"additionalInfo": null,
"entityId": {
"entityType": "{entity_type}}",
"id": "{entity_id}"
},
"rxWindow": 0,
"rxDelay": 0,
"rx2DataRate": -1,
"rx2Frequency": 0,
"rx1DataRateOffset": 0,
"adrInterval": 1,
"installationMargin": 0,
"cfList": [],
"chMaskCtrlDataList": null,
"newChIndex": 0,
"newChFrequency": 0,
"newChMaxDr": 0,
"newChMinDr": 0,
"pingSlotDr": 0,
"pingSlotFreq": 0,
"beaconFreq": 0,
"clearDlQueueUponJoin": false,
"adrMinDr": null,
"adrMaxDr": null,
"adrMinTxPower": null,
"adrMaxTxPower": null,
"adrGracePeriod": null,
"downlinkDwellTime": null,
"uplinkDwellTime": null,
"maxEIRP": null,
"adrNbTransRanges": {
"0": {
"minNbTrans": 1,
"maxNbTrans": 3
},
"1": {
"minNbTrans": 1,
"maxNbTrans": 3
}
},
"adrConservativeSlope": true,
"fcntCheck": true
}'
{host}= Network Server or OAM host{id}= id{entity_type}= APPLICATION or DEVICE{entity_id}= APPLICATION ID or DEVICE ID{minNbTrans}= Nb Trans value: 1-3 (value couldn’t be higher than Max NbTrans){maxNbTrans}= Nb Trans value: 1-3 (value couldn’t be lower than Min NbTrans)
- Data Range allowed: DR0 - DR15
- Min NbTrans: 1-3 (value couldn’t be higher than Max NbTrans)
- Max NbTrans: 1-3 (value couldn’t be lower than Min NbTrans)
Changes in ADR section in Network Settings body for POST methods:
- ADR setting fields to be removed:
"adrMaxNbTrans": 0,
"adrMinNbTrans": 0,
}
- ADR setting fields to be added:
"adrConservativeSlope": true,
"adrNbTransRanges": {
"0": {
"maxNbTrans": 0,
"minNbTrans": 0
},
"1": {
"maxNbTrans": 0,
"minNbTrans": 0
},
"2": {
"maxNbTrans": 0,
"minNbTrans": 0
}
...
}
...
}
Other fields in Network Settings body remain unchanged.
To check the NbTrans Ranges send the following GET request to /api/networkSettings endpoint:
curl --location 'https://{host}}/api/networkSettings/{entity_type}/{entity_id}' \
--header 'x-Authorization: Bearer {Token}}' \
--data ''
{host}= Network Server or OAM host{id}= id{entity_type}= APPLICATION or DEVICE