Hello collegues
I started to do some tests with ADR, which is enabled by default by TTNv3.
My nodes are based on arduino-lmic v4.0.0 (GitHub - mcci-catena/arduino-lmic: LoraWAN-MAC-in-C library, adapted to run under the Arduino environment).
My tests below are based on their example arduino-lmic/ttn-otaa.ino at master · mcci-catena/arduino-lmic · GitHub to have an easy as possible test setup, without any sleep statements or something else.
The fair use policy from TTN is:
Uplink: 30 seconds per node per 24 hours
Downlink: 10 messages per node per 24 hours
I did some tests and would like to hear your inputs regarding your toughts on ADR and the fair use policy.
All three nodes are sending an uplink message roughly every 304 seconds, as the payload is small, it is well within the fair use limit of 30 seconds per day, great!
But ADR schedules so many downlink messages, that it exceeds the fair use limit with no user scheduled downlinks at all!
All nodes were online and transmitting every ~304 seconds for 2914 Minutes (somewhat over 2 days).
All nodes and gateways in reach are stationary. The two gateways in reach are registered on the V2 network (ttn.opennetworkinfrastructure.org).
Node01 (ADR enabled with link check mode)
LMIC config option: None, ADR and linkcheckmode enabled by default after OTAA join
Uplink count: 631
User uplink count: 574
Downlink count: 56
Downlink count per 24 hours: 28
Node02 (ADR enabled with disabled link check mode)
LMIC config option: LMIC_setLinkCheckMode(0)
Uplink count: 626
User uplink count: 574
Downlink count: 52
Downlink count per 24 hours: 26
Node03 (ADR disabled with enabled link check mode)
LMIC config option: LMIC_setAdrMode(0)
Uplink count: 577
User uplink count: 575
Downlink count: 9
Downlink count per 24 hours: 4
As you can see, with enabled ADR the downlink count is already violating the fair use policy.
Can we do anything against it?
Do we have to do anything against it, or are the 10 downlink messages per day ‘user scheduled’ downlinks and ‘system scheduled’ downlinks are not part of that count?
As I’m no LoRaWAN expert, I cannot tell if this ‘has to be’ like it is, or if it is either a issue/feature from TTNv3 or from LMIC.
Any hints on this would be great!
Looking forward to an open discussion.