Queue Mode

Non-Queue mode LwM2M clients are assumed to be always online and reachable. That is why actions triggered on them will be sent as instant actions. Instant actions are actions that are sent directly, without any hesitation.

When the LwM2M client is in queue mode, instant actions are forbidden. The way to execute actions on queue mode clients is through the Rule Engine. There are specific rules that must be followed when using the Rule Engine in order to be compliant with the Queue mode specification. They are illustrated in the Rule Engine section of the user guide. Rules will be invoked when the client sends an update request. The actions will be buffered and sent synchronously, meaning that one action will be sent, when the previous one has finished (the device has returned a response). In case of a request timeout, the sending process will be stopped, and will be started again when the client becomes online again. This workflow means you cannot send instant actions, even when the client is awake. If you add a new rule while the client is awake, it will be scheduled for the next update from the client.

Order of Requests

To keep the order of the requests like a queue (first in, first out) the actions must be invoked in one Rule (one Groovy script). The Groovy script is executed sequentially and that guarantees us the queue behaviour. The order of the rules is not guaranteed.


"Delete Device" is always an instant action!