LoRaWAN devices can send uplink (i.e. from device to the gateway) messages at any time. However, listening for incoming downlink (i.e. from gateway to device) messages consumes battery capacity and reduces battery duration.
Depending on the use case, different types of trade-offs between listening behavior and battery consumption must be considered. To account for that, LoRaWAN protocol specifies three classes of LoRaWAN devices:
- Class A devices sleep most of the time. They listen for downlink messages (from gateway to device) only for a short period after transmitting. If a cloud-hosted application sends a command to this device, a significant delay may take place until the messages is received by the device. Because of that, class A devices are typically battery-powered sensors, having a battery time of up to 10 years.
- Class C almost never sleep and continuously listen for the incoming messages. If a cloud-hosted application sends a command to this device, the message will reach the devices with a low delay. Because of that, these devices are typically mains-powered actuators.
- Class B devices can receive downlink messages in scheduled downlink slots. These devices are typically battery-powered actuators.