MQTT Settings overview¶
The MQTT Settings dialog is the central configuration interface for all MQTT functionality in AetherSDR. It lets you connect to an MQTT broker, subscribe to topics (with optional panadapter overlay display), define up to 12 publish buttons, and enable or disable individual internal AetherSDR topics. This page describes the dialog as a whole and points to step-by-step instructions for individual tasks.
How it works¶
The MQTT Settings dialog replaces the earlier in-applet settings panel. It is organized into three tabs:
- Broker β MQTT broker host, port, username, password, TLS, and CA certificate.
- Subscriptions β A table of topics your radio subscribes to. Each row has an editable Topic and a Display checkbox that shows topic data on the panadapter overlay. Below the table is a group box listing internal AetherSDR subscription topics. Each internal topic has an Enable checkbox; topics labeled as always active are grayed out and cannot be disabled.
- Publish Buttons β A table defining up to 12 buttons. Each row has Label, Topic, and Payload (all editable). These buttons appear in the MQTT applet in the Applet Panel tray. Below the table is a group box listing internal AetherSDR publish topics with Enable checkboxes.
The dialog also includes Ok, Apply, and Cancel buttons. Apply saves all settings (connection, topics, button definitions, password, and internal topic enable states) without closing the dialog.
What each control does¶
Broker tab¶
| Control | Label | Default | Range | Behavior | Setting key |
|---|---|---|---|---|---|
| Text field | Host | localhost |
β | Broker hostname or IP address. | MqttHost |
| Spin box | Port | 1883 |
1β65535 | Broker TCP port. Auto-switches to 8883 when TLS is toggled and vice versa. | MqttPort |
| Text field | User | (empty) | β | Broker username (optional). | MqttUser |
| Text field (masked) | Password | (empty) | β | Broker password (optional). Stored in the system keychain when available; falls back to plaintext MqttPass AppSettings key otherwise. |
β |
| Check box | Use TLS | unchecked | β | Enable TLS encryption. Auto-flips the port between 1883 and 8883. Shows/hides the CA cert row. | MqttTls |
| Text field + Browse button | CA cert | (empty) | β | Path to a CA certificate file. Blank means use the system CA bundle. Row visible only when Use TLS is checked. | MqttCaFile |
Subscriptions tab¶
| Control | Label | Behavior |
|---|---|---|
| Table columns | Topic, Display | Topic is an editable text field. Display is a checkbox; when checked, the topic's payload is drawn on the panadapter overlay. |
| Push button | Add | Inserts a new empty row. |
| Push button | Remove | Removes all selected rows. |
The Internal AetherSDR Topics group box lists topics that are subscribed automatically when MQTT connects. Each topic has an Enable checkbox. Topics labeled as always active are shown grayed out and cannot be disabled. The following internal subscription topics are available:
| Topic | Description | Default | User-disableable |
|---|---|---|---|
aethersdr/antenna_alias/+/name |
Antenna name (per-port) | On | No (always active) |
aethersdr/antenna_alias/bulk |
Antenna names (bulk) | On | No (always active) |
aethersdr/cw/transmit |
CW keyer input | On | Yes |
aethersdr/ax25/tx |
AX.25 transmit | On | Yes |
Publish Buttons tab¶
| Control | Label | Behavior |
|---|---|---|
| Table columns | Label, Topic, Payload | All three columns are editable text. Label is the button text shown in the MQTT applet. |
| Push button | Add | Inserts a new empty row. Disabled when the table already has 12 rows. |
| Push button | Remove | Removes all selected rows. |
The Internal AetherSDR Topics group box lists topics that are published automatically when MQTT is connected. Each topic has an Enable checkbox. The following internal publish topics are available:
| Topic | Description | Default | User-disableable |
|---|---|---|---|
aethersdr/cw/decode |
CW decoded text | On | Yes |
aethersdr/radio/state |
Radio VFO / mode / TX state | Off | Yes |
aethersdr/ax25/rx |
AX.25 received frames | Off | Yes |
Tips¶
- Click Apply to save your settings without closing the dialog. This is useful if you want to test the connection immediately.
- The Password field stores credentials in the system keychain when
HAVE_KEYCHAINis set. Legacy plaintext passwords in theMqttPassAppSettings key are migrated on first save. - Disable internal topics you do not need to reduce MQTT traffic. Topics labeled "always active" cannot be disabled because they are required for antenna alias functionality.
- If you use relay scripts that forward
aethersdr/cw/decodeintoaethersdr/cw/transmit, filter on the topic namespace (aethersdr/...) to avoid re-publishing AetherSDR's own output back to it and creating a feedback loop.