Node receives but doesnt respond to class C message

Hi

I’ve been working on this for days and not getting anywhere.

Just wondering if my problem is likely to be an issue with the node or with my config.

I am sending a Class C message owith mqtt to loraserver and using custom javascript codec. The node does not respond immediately, but whenever I try it, the node sends two uploads instead of one when it does a Class A transmit.

topic: application/6/device/1234567812345678/tx
payload: {“reference”: “abcd1234”, “confirmed”: true, “fPort”: 3, “object”: {“obj1”:11}}

In the loraserver log, when I send I get
level=warning msg=“device-queue item discarded due to timeout”

And next time a Class A message is received I get:
level=error msg=“get device-queue item error” dev_eui=1234567812345678 error=“object does not exist”
(which i dont get on a normal Class A transmit)

I get two downlinks when i try to send from loraserver:


Any ideas?

level=warning msg=“device-queue item discarded due to timeout”

This happens after the Class-C timeout you have configured in the device-profile.

level=error msg=“get device-queue item error” dev_eui=1234567812345678 error=“object does not exist”

This is because your device acknowledges a payload after it has been discarded.

In general, I believe this is a device issue. It is up to the vendor how to implement the response to a Class-C message. E.g. it could wait x seconds / minutes and combine the response to the Class-C downlink with it, or respond immediately.

Thanks, unfortunately the node is a modbus device from china and not very configurable. The manufacturers have confirmed that the above functionality is how they designed it to be. In the specs it says its a Class C device but that’s seems to be a bit misleading.