Skip to content

Allow MQTT to update local antenna display names #2880

@s53zo

Description

@s53zo

Problem

AetherSDR now supports local antenna display names for canonical radio antenna tokens such as ANT1, ANT2, RX_A, and XVTA. In real shacks, those local names can change dynamically when an external coax switch or automation system changes the routing. Examples include 4O3A Antenna Genius 8x2 setups and other station controllers that decide which physical antenna is currently connected to each radio port.

Without an automation input, the operator has to manually keep AetherSDR's local labels synchronized with external routing state.

Proposal

Let the MQTT station automation integration update AetherSDR's local antenna display aliases while preserving canonical radio protocol tokens.

Suggested default topic contract:

  • Per-port update: aethersdr/antenna/name/ANT1 with payload 80m Dipole
  • Bulk update: aethersdr/antenna/names with payload {"ANT1":"80m Dipole","ANT2":"Hexbeam","RX_A":"Beverage NE"}
  • Empty per-port payload clears that local name
  • In bulk JSON, "" or null clears that local name

These updates should call the existing local alias APIs only. Radio commands must continue using canonical tokens like ANT1, ANT2, and RX_A.

Topic design note

The initial implementation can use fixed AetherSDR-owned default topics as a stable integration contract. A configurable topic prefix may be useful later for multi-station or site-specific MQTT namespaces, but fixed defaults keep the first version small and predictable.

Acceptance criteria

  • MQTT messages can set and clear antenna aliases without a live broker in unit tests.
  • Bulk JSON and per-port topics are both supported.
  • Invalid token keys are ignored.
  • MQTT aliases do not apply while no radio is connected, and queued aliases cannot leak to a later radio.
  • Existing antenna commands continue to send canonical tokens.

Metadata

Metadata

Assignees

No one assigned

    Labels

    GUIUser interfaceenhancementImprovement to existing featureexternal devicesFlexControl, MIDI, serial port, USB peripheralsmaintainer-reviewRequires maintainer review before any action is taken

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions