Expose downlink payload

Hello everyone, we are working in some integrations with Chirpstack, and we need to receive the downlink payload via MQTT integration, as described here Event types, there is no data for the downlink events, just like uplink has.

If i’m looking at the wrong place, i’ll appreciate any tips

Something like this:

// topic: message/{{ .DevEUI }}/event/txack
	"data": "YWFiYmNj", // => That key does not exist, we have to add that key to be sent over MQTT
	"applicationID": "51",
	"applicationName": "homologation",
	"deviceName": "twtg",
	"devEUI": "devUEI",
	"fCnt": 55,
	"tags": {},
	"gatewayID": "gatewayID",
	"txInfo": {
		"gatewayID": null,
		"frequency": 923900000,
		"power": 27,
		"modulation": "LORA",
		"loRaModulationInfo": {
			"bandwidth": 500,
			"spreadingFactor": 7,
			"codeRate": "4/5",
			"polarizationInversion": true
		"board": 1,
		"antenna": 0,
		"timing": "DELAY",
		"delayTimingInfo": { "delay": "5s" },
		"context": "c/dcmw=="
	"publishedAt": "2021-11-30T13:16:36.549197533Z"
1 Like

You do know, I presume, that a downlink “rides on back of an uplink ACK”? That is, the end device must first send an uplink that is received by Chirpstack before downlink data, in the queue already, can be sent to it.

All my Class A devices work like that - I don’t know about you, but I found this counterintuitive.

P.S. Didn’t know homologation was a real word :slight_smile:

I don’t know if i got your point. The fact is, the data flow is perfectly fine.
The point is, when the we receive an uplink, and there is a queue downlink, that downlink is sent, and we got a message on our MQTT, saying that an downlink was send, but we do not have what was send, with “what was send” i mean the payload, like my example, we do not have "data": "YWFiYmNj"

1 Like