LoRaWAN Airtime Calculator

I’ve been investigating the airtime limits - both for The Things Network and the LoRaWAN specification itself.

In doing so, I found that not only is there a 1% duty cycle limit as we knew before, but also The Things Network sets these limits:

  • 30s maximum airtime per 24 hour period
  • Maximum 10 downlink messages per 24 hour period

To help with calculating this, I found a Google Sheet that might be useful to others here:

Click on the “Calculator” sheet on the bottom bar.

I know that for my smart greenhouse project I’m going to have to cook up some more clever tricks to reduce the number of downlink messages I’ll be sending.

See also the duty cycle limits & fair access policy:

What are you using downlink messages for? 10 a day sounds generous but maybe I don’t understand your use case?

I would assume controlling things, but couldn’t these be done is a local network?

I was planning on using the downlink messages as an acknowledgement that the messages reached the other end, but I’ve got a better idea that should remove my need for an immediate ACK.

The initial problem is that the messages might never reach the other end, so I want a way to store them up and send them on when the other end is back up & running.

My new idea is the keep a ring buffer of them locally to the device, and then have a downlink message that the application server can send that will re-request messages from a given point in time. The local device will then keep a note of that and start re-sending the readings from the specified time in batches to stay under the airtime limits until it’s caught up again.

This way, if the application server goes offline, it can ask the sensor for the readings it missed when it next boots up.

Of course, none of this has anything to do with my summer project - it’s just something I’d like to implement for my smart greenhouse.

LoRa is not intrinsically a protocol that easily enables guaranteed message delivery. Have a look at this https://lora-developers.semtech.com/knowledge-base/faq-single/245

Similar to your idea. Check that you really need every message - with sensor data it is often the case that a missed message is not important especially when there are several more recent ones.

Very true. It’s actually the uptime of the server receiving them that I’m worried about. It’s not so much an issue at the moment, but there seems to be a habit of turning my router off at night… which is most frustrating.