Maximum downlink message size


I would like to downlink 300 bytes of data. Obviously it won’t fit into one frame and LoRa Server will reject it, so I need to split it into multiple frames. I understand that frame size depends on specific datarate and also it is up to ADR (if it is enabled) to choose datarate. Is there any way to know at what datarate downlink will be sent before actually sending it (using REST API maybe)? This way I can simply queue downlink with correct size using only REST API

One solution to this problem is that I can send frame, then lookup at what datarate it was sent and I know how much data left to queue but this is just a workaround in my opinion.

Unfortunately there is not a good solution for this. E.g. you might queue 10 downlink frames assuming the device would use DR5, but then the device changes its data-rate to DR3.

Also depending the network-server configuration, the downlink might be scheduled using RX2 instead of RX1 and RX2 might not have the same data-rate as RX1.

Other than making assumptions, I don’t think there is a reliable way to determine the max payload-size when you are scheduling downlinks in advance.