OTAA Authentifizierung erzeugt häufigen Downlink

Hallo,
Hat schon jemand Nodes mit OTAA mit https://github.com/matthijskooijman/arduino-lmic in Betrieb? Der Code wo der Fehler auftritt ist bei: Weathernode_01
Bei mir gibt es nach jedem Uplink ein Downlink, obwohl keine Confirmation eingestellt ist. Damit überschreite ich die TTN Fair Access Policy deutlich.
Der Link Check Request für ADR sollte auch nicht so oft angefordert werden. (Ich glaube alle 64. Messages)
Schalte ich über LMIC_setAdrMode(0); die Adaptive Data Rate ab, gibt es keine übermäßigen Downlinks mehr.
Es wäre aber schön, wenn der Node mit dem Spreadfaktor hochgeht, wenn das Gateway (TTIG) mal ausfällt.
Vielleicht ist es das Problem wie hier: LMIC Library Always Does Unwanted Downlink

Da es sich dabei um ein MAC befehl handelt wird kein Payload in der Application verschickt. Aus den Informationen kann man wohl aber herauslesen was der Downlink bedeutet.

Assuming hex-encoded packet
6050280126A54D020355FF0001FEEE6489

Message Type = Data
  PHYPayload = 6050280126A54D020355FF0001FEEE6489

( PHYPayload = MHDR[1] | MACPayload[..] | MIC[4] )
        MHDR = 60
  MACPayload = 50280126A54D020355FF0001
         MIC = FEEE6489

( MACPayload = FHDR | FPort | FRMPayload )
        FHDR = 50280126A54D020355FF0001
       FPort = 
  FRMPayload = 

      ( FHDR = DevAddr[4] | FCtrl[1] | FCnt[2] | FOpts[0..15] )
     DevAddr = 26012850 (Big Endian)
       FCtrl = A5
        FCnt = 024D (Big Endian)
       FOpts = 0355FF0001

Message Type = Unconfirmed Data Down
   Direction = down
        FCnt = 589
   FCtrl.ACK = true
   FCtrl.ADR = true

@Simeon

Moin

Sind dir diese Zeilen bekannt?: https://www.thethingsnetwork.org/docs/devices/bestpractices.html#device-activation

Gruß

Ich habe die Ursache für den Fehler jetzt gefunden. Die Library von matthijskooijman kann anscheinend mit den MAC-Befehlen von TTN nicht richtig umgehen. Ohne die LoraWAN MAC-Befehle funktioniert ADR nicht.

Die Lösung ist, in bei EV_JOINED den ADR abzuschalten.

case EV_JOINED:
    LMIC_setLinkCheckMode(0);
    LMIC_setAdrMode(0);
    debugPrintLn(F("EV_JOINED"));
    break;

Vorher habe ich das nach LMIC_reset(); gemacht, mit dem Ergebnis, dass der SF(Spreading-Faktor) bis SF11 hochging.
ADR muss also nach dem OTAA Join deaktiviert werden. Warum das so ist, habe ich nicht herausgefunden.