-
-
Notifications
You must be signed in to change notification settings - Fork 107
MQTT Station Automation
The MQTT applet connects AetherSDR to your station automation system using MQTT — the lightweight publish/subscribe protocol used by Node-RED, Home Assistant, and many ham shack automation tools.
- Open the MQTT applet from the toggle row in the Applet Panel.
- Enter your broker's Host and Port (default:
localhost:1883). - Optionally enter a Username and Password if your broker requires authentication.
- Enter comma-separated Topics to subscribe to.
Prefix a topic with
*to display its last value on the panadapter overlay. Example:*rotator/pos, *ant/selected, station/log - Click On to connect.
The status indicator turns green when connected. The applet will auto-reconnect if the broker goes away, using exponential backoff (5 s → 60 s).
You can create custom buttons that publish MQTT messages when clicked — useful for sending rotator commands, switching antennas, or triggering Node-RED flows.
To add a button:
- Click Edit in the Publish section.
- Click the + button to add a new entry.
- Fill in:
- Label — text shown on the button
- Topic — MQTT topic to publish to
- Payload — message body (plain text)
- Click Done to exit edit mode.
To remove a button: right-click it while in edit mode.
Buttons are saved across restarts. Up to 12 buttons (4 rows × 3 columns) can be configured.
Topics prefixed with * in the subscription list display their last received value in the top-right corner of the spectrum, below the propagation and WNB indicators.
Example: subscribing to *rotator/pos shows the current beam heading directly on the spectrum without switching windows.
Multiple *-prefixed topics are shown on the same line, separated by spaces. Values clear automatically when the broker disconnects.
A typical Node-RED rotator setup:
- Node-RED reads your rotator controller (serial, USB, or IP) and publishes
rotator/poswith the current heading (e.g.240) - Node-RED subscribes to
rotator/cmdto send commands back to the controller
AetherSDR setup:
| Field | Value |
|---|---|
| Subscribe topics | *rotator/pos |
| Button: CW | topic rotator/cmd, payload CW
|
| Button: CCW | topic rotator/cmd, payload CCW
|
| Button: Stop | topic rotator/cmd, payload STOP
|
Result: beam heading appears on the spectrum at all times; you send rotator commands without leaving AetherSDR.
For any MQTT-connected antenna switch (Node-RED, ESP32, Raspberry Pi, etc.):
| Field | Value |
|---|---|
| Subscribe topics | *ant/selected |
| Button: Hexbeam | topic ant/select, payload 1
|
| Button: Vertical | topic ant/select, payload 2
|
| Button: Wire | topic ant/select, payload 3
|
The active antenna label appears on the panadapter; tap a button to switch.
For SteppIR antennas controlled via MQTT:
| Field | Value |
|---|---|
| Subscribe topics | *steppir/band, *steppir/direction |
| Button: Normal | topic steppir/cmd, payload normal
|
| Button: 180° | topic steppir/cmd, payload reverse
|
| Button: Bi-Dir | topic steppir/cmd, payload bidir
|
- MQTT QoS 0 (fire-and-forget) is used for both subscribe and publish.
- Auto-reconnect uses exponential backoff: 5 s initial, doubling up to 60 s.
- Username and password are optional; leave blank for unauthenticated brokers.
- TLS is not currently supported — use a local broker or route through a VPN.
- Up to 12 publish buttons can be configured (4 rows × 3 columns).
- The applet uses the bundled Eclipse Mosquitto library (libmosquitto). No separate installation is required.
Any MQTT broker works. Popular options:
-
Mosquitto — lightweight, installs in seconds on most Linux distros (
sudo apt install mosquittoorsudo pacman -S mosquitto) - Home Assistant — built-in MQTT broker available under Settings → Add-ons
-
Node-RED — can act as broker via the
node-red-contrib-aedespackage
For a quick local test broker:
# Install
sudo pacman -S mosquitto # Arch/CachyOS
sudo apt install mosquitto # Debian/Ubuntu
# Start (unauthenticated, local only)
mosquitto -v
# Test subscribe in another terminal
mosquitto_sub -t "test/#" -v
# Test publish
mosquitto_pub -t "test/hello" -m "world"Once working locally, point AetherSDR at localhost:1883.
- Panadapter Controls
- VFO Widget
- RX Controls
- TX Controls
- Aetherial Audio
- Multi-Slice Operation
- Diversity and ESC
- TNF (Tracking Notch Filters)
- Memory Channels
- Profile Management
- Slice Colors
- XVTR (Transverters)
- CWX Panel
- CW Decoder
- DVK Panel
- RTTY Operation
- RADE Digital Voice
- DAX Virtual Audio
- DAX IQ Streaming
- WSJT-X Integration
- CAT Control
- TCI Server