Some Clarity on MQTT Topics

actually both the topic format and message format are substantially ‘breaking changes’ v2 → v3. E.g. for basic data uplinks:

V2 topic:
<ttn app id>/devices/<ttn device id>/up

V3 topic:
v3/<ttn app id><at symbol>ttn/devices/<ttn device id>/up

V2 message key field jsonpaths:
<ttn device id> = .dev_id
<ttn app id> = .app_id
<payload> = .payload_raw

v3 message key field jsonpaths:
<ttn device id> = .end_device_ids.device_id
<ttn app id> = .end_device_ids.application_ids.application_id (not including the <at symbol>ttn in the topic)
<payload> = .uplink_message.frm_payload

Presumably these fundamental changes must be documented somewhere, and when I find that I’ll post it here (or anyone else?). Maybe I’ve misunderstood things and there’s no real ‘migration’ but it’s a “new network” so just read the docs and rebuild for it.

1 Like