Summary
Hi all,
to read configuration from my TTN devices, I need to send an empty downlink (e.g., on port 7). However, The Things Stack rejects this with a “no_payload” error when using the API.
Iam using a self-hosted The Things Stack docker container v3.33.1.d9c0c7fb7.
Direct attempts fail consistently: Leaving the byte payload empty in the Messaging section of the Console results in frm_payload: "AA==". Sending an empty frm_payload via MQTT is rejected by the server, and omitting frm_payload triggers the same error.
Current Workaround: I set the downlink payload formatter to none. Entering {} as JSON in the Console then produces a downlink without frm_payload, which the end device accepts. (‘{“downlinks”:[{“decoded_payload”:{},“confirmed”:false,“f_port”:7}]}’)
Is there a cleaner way to send a empty downlink payload?
Regards
Tilo
Logs
curl https://myttn.instance.de/api/v3/as/applications/tenantid/devices/eui-XXXXXXXXX/down/replace’
-H ‘accept: application/json, text/plain,
-H ‘accept-language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7’
-H ‘authorization: Bearer MFRWG.XXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXX’
–data-raw ‘{“downlinks”:[{“frm_payload”:“”,“confirmed”:false,“f_port”:7}]}{“code”:3, “message”:“error:pkg/applicationserver:no_payload (no payload)”, “details”:[{“@type”:“type.googleapis.com/ttn.lorawan.v3.ErrorDetails”, “namespace”:“pkg/applicationserver”, “name”:“no_payload”, “message_format”:“no payload”, “correlation_id”:“96882587b654448d8dab4012a35b2c60”, “code”:3}]}