feat(relays): generic HTTP relay board, and point band switching at it
An operator was about to build band→relay mapping into the custom URL rows.
It already exists, and better: relay auto-control has a per-relay "band" rule
driving webswitch, KMTronic, Dingtian, Denkovi and USB boards. It holds state
so a relay is only commanded when its wanted position changed, reads the
boards live before the first apply so it does not re-command one already in
place, and carries per-relay labels. A URL fired on a band change has none of
that, and would have been a second definition of "which antenna on which band"
— the drift that cost us a week on counties.
So the gap was only the hardware: a hand-made switch is none of the five named
types. It is now the sixth, "HTTP relay": an ON URL and an OFF URL, either as
one pattern with {relay} substituted, or one pair per relay. The per-relay
form is the reason it exists — these boxes often have URLs with nothing in
common between channels (…/FF0101 and …/FF0201), which no pattern can express.
Status is remembered rather than read: most have no endpoint worth trusting.
The cost is stated in the code and the panel — after a restart every relay is
re-commanded once, which is harmless on a board with no memory and far better
than assuming an antenna is already selected.
And the Connections panel now says so, exactly where the wrong choice is made:
picking a band change with a URL transport shows a note pointing at Station
Control. The URL transport stays — a lookup pushed to a webhook or a QSO to a
dashboard is an event, not a state, and Station Control has no place for it.
This commit is contained in:
+4
-2
@@ -15,7 +15,8 @@
|
||||
"UDP: new outbound “WSJT-X logged QSO” — announces each contact on the WSJT-X UDP interface, both messages WSJT-X itself sends, for any logger that listens there rather than for plain-text ADIF (Logger32 among them).",
|
||||
"Appearance: the Sahara theme is lighter, parchment rather than deep sand, with a terracotta accent.",
|
||||
"UDP: new outbound “Custom message” — you choose what fires it (band change, QSO logged, rotator command, callsign lookup) and what it says, with fields like {band} or {az}. It leaves as a UDP datagram or an HTTP request, which is how most antenna switches are driven.",
|
||||
"Settings: the UDP section is now “Connections” — it no longer carries only UDP. Every custom message is logged with what was sent, and a message that came out empty says so, with a password in a URL redacted."
|
||||
"Settings: the UDP section is now “Connections” — it no longer carries only UDP. Every custom message is logged with what was sent, and a message that came out empty says so, with a password in a URL redacted.",
|
||||
"Station relays: new “HTTP relay” device for home-made and generic switches — an ON and an OFF URL, either one pattern with {relay} or one pair per relay. It then follows the same per-band rules as the named boards."
|
||||
],
|
||||
"fr": [
|
||||
"Envoi de spot : le commentaire porte désormais les références de diplôme après le mode — celles que vous avez attribuées (POTA, SOTA, IOTA…), pas le DXCC, la zone et le préfixe que chacun déduit de l’indicatif. Un auto-spot porte VOS références d’activation.",
|
||||
@@ -30,7 +31,8 @@
|
||||
"UDP : nouvelle sortie « QSO enregistré WSJT-X » — annonce chaque contact sur l’interface UDP WSJT-X, les deux messages que WSJT-X émet lui-même, pour tout logger qui écoute là plutôt que l’ADIF en texte brut (Logger32 entre autres).",
|
||||
"Apparence : le thème Sahara s’éclaircit, parchemin plutôt que sable profond, avec un accent terre cuite.",
|
||||
"UDP : nouvelle sortie « Message personnalisé » — vous choisissez ce qui la déclenche (changement de bande, QSO enregistré, commande de rotor, recherche d’indicatif) et ce qu’elle dit, avec des champs comme {band} ou {az}. Elle part en datagramme UDP ou en requête HTTP, ce qui est la façon dont se pilotent la plupart des commutateurs d’antennes.",
|
||||
"Réglages : la section UDP devient « Connexions » — elle ne porte plus seulement de l’UDP. Chaque message personnalisé est journalisé avec son contenu, un message rendu vide le signale, et un mot de passe dans une URL est masqué."
|
||||
"Réglages : la section UDP devient « Connexions » — elle ne porte plus seulement de l’UDP. Chaque message personnalisé est journalisé avec son contenu, un message rendu vide le signale, et un mot de passe dans une URL est masqué.",
|
||||
"Relais de station : nouveau périphérique « Relais HTTP » pour les commutateurs faits main ou génériques — une URL ON et une URL OFF, soit un modèle avec {relay}, soit une paire par relais. Il suit ensuite les mêmes règles par bande que les cartes reconnues."
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user