docs(wiki): cover the recent work, with worked examples

Asked for the wiki to catch up, and to be explicit — examples rather than
descriptions. New page and six rewritten sections.

Recent QSOs and Filters, the page named in the request: the right-click menu is
now a table of what every entry does, and the filter builder has five worked
multi-criteria filters written out field by field, each ending in what you then
do with the result. Including the distinction that prompted it — "export
selected" takes the highlighted rows, "export filtered view" takes every QSO the
filter matched, and after building a filter it is the second one you want. Plus
the traps: ADIF date format, and "is empty" not being "equals N".

Connections (new): the page for a settings section that had none. What OpsLog
listens to and sends, which outbound row another logger actually wants — a
logger asking for "WSJT-X UDP" discards a bare ADIF record — the custom-message
triggers with their placeholder lists, three worked examples, and the port-clash
warning that produced this week's CAT-drop report.

Amplifiers and Switches: the generic HTTP relay in full — per-relay URLs, the
pattern form, {relay}, {relay-1} and {value} with what each one sends — relay
automatic control with a four-relay antenna-switch example, and the bench power
supply including why OpsLog writes only its output.

Rotators: the two new native types (SPID with the Rot1Prog/Rot2Prog choice,
DCU-1), two-rotor setups, and that Test only reads the heading on the types
where it does.

Awards: the US county database, and the difference between the automatic fill
(blanks only) and the right-click re-derive (replaces) — with the Connecticut
planning regions, which is the case that needs it.

QSL Management: QSL_VIA against QSL_SENT_VIA/QSL_RCVD_VIA, why an import shows E
on every Log4OM record, and that V counts as confirmed.

Troubleshooting: the three field reports of the last few days, by symptom.

Every [[link]] checked to resolve.
This commit is contained in:
2026-08-16 14:07:38 +02:00
parent 191e92ad62
commit 99599458ff
10 changed files with 574 additions and 20 deletions
+133 -3
View File
@@ -55,6 +55,8 @@ Over TCP / GSCP — a docked **A/B antenna-switch** widget:
Configure the host / password in Settings → Antenna Genius.
---
## Relay boards (Station Control)
Relay boards for antenna/accessory switching, with named buttons in Station
@@ -68,11 +70,139 @@ Control:
web page — a factory board needs neither.
- **Denkovi** USB (4/8 relays, FT245) and generic **CH340 / LCUS** USB-serial
boards.
- **HTTP relay (home-made / generic)** — see below.
A Test-connection button and detection feedback live in the setup panel.
### HTTP relay (home-made / generic)
For any box that switches on a plain HTTP GET: an ESP8266 with a web page, a
Shelly, a Sonoff on third-party firmware, a qro.cz board, a home-brew switch.
Pick the relay count, name the relays, and give the addresses.
There is **no Host field and no connection test**. This device type has no
address of its own — each relay carries its own full URL, and they need not
even be on the same box. Nothing is read back either: OpsLog remembers what it
commanded, so after a restart each managed relay is re-commanded once.
**Two ways to give the addresses**, and you can mix them.
**A — one URL per relay.** The reason this type exists: a hand-made switch
often has addresses with nothing in common between channels.
| Relay | ON URL | OFF URL |
|---|---|---|
| 1 | `http://192.168.1.9/FF0101` | `http://192.168.1.9/FF0100` |
| 2 | `http://192.168.1.9/relay2/on` | `http://192.168.1.9/relay2/off` |
**B — one pattern for the whole board**, with the relay number filled in:
```
ON pattern: http://192.168.1.9/relay?n={relay}&state=on
OFF pattern: http://192.168.1.9/relay?n={relay}&state=off
```
#### Substitutions
| In a URL or a pattern | Becomes |
|---|---|
| `{relay}` | the relay number, 1-based |
| `{relay-1}` | the relay number counting **from zero** — for boards whose channels are 0, 1, 2… |
| `{value}` | **that relay's label**, from the *Relay labels* row below |
`http` may be left off — it is assumed. `https` works and is used as typed.
`{value}` is for a switch addressed by antenna name rather than by channel
number. Name relay 1 **Ant1**, and:
```
Per-relay ON URL for relay 1: http://10.10.10.100/relay?on={value}
Sent: http://10.10.10.100/relay?on=Ant1
```
Rename the antenna and the address follows it — the name on the button and the
name on the wire cannot drift apart, because they are the same text. A label
with a space or an accent is percent-encoded automatically. A relay whose URL
uses `{value}` **must have a label**; the editor warns you while you type.
A per-relay URL always wins over the pattern, so you can write a pattern for
the seven ordinary channels and one full URL for the odd one out.
### Manual switching
Every relay is a button in **Station Control** — click to toggle. The generic
HTTP board is never greyed out (there is no connection to wait for); the other
types are enabled once the board answers.
---
## Relay automatic control
Settings → **Relay automatic control** turns relays by frequency or band, the
equivalent of PstRotator's automatic control. Each relay of each configured
board gets a rule:
| Mode | Meaning |
|---|---|
| **Off** | OpsLog never touches this relay. |
| **Band** | ON while the current band is one of the bands you tick. |
| **Frequency** | ON while the frequency is inside a kHz range you type. |
Example — a three-way antenna switch on a KMTronic board:
| Relay | Label | Mode | Setting |
|---|---|---|---|
| 1 | Beam 20-10 | Band | 20m, 17m, 15m, 12m, 10m |
| 2 | 40 m dipole | Band | 40m |
| 3 | 80 m inverted-V | Band | 80m, 160m |
| 4 | 6 m preamp | Frequency | 50000 54000 kHz |
Rules to know:
- A relay is only switched when it is **not already** in the wanted position.
On the first evaluation after launch OpsLog reads the boards' live state, so
a relay already correct is left alone rather than clunking.
- An **unknown** frequency or band changes nothing. When CAT disconnects the
frequency reads zero, and treating that as "out of range" would switch every
relay off.
- The rules follow **your radio**. Changing band in the QSO entry strip drives
the rig, the rig reports back, and the relays follow. **Without a CAT
connection** the Band selector itself is the band change, and the relays
follow that instead — unless the band or frequency 🔒 is on, which means the
entry is deliberately decoupled from the rig (logging an old contact) and no
hardware should move.
For a switch driven by a URL or a UDP message rather than by a relay board, see
[[Connections]].
---
## Bench power supply
Settings → **Power supply**. A programmable supply on a serial port speaking
**Modbus RTU** — BSIDE, Wanptek and the other supplies that use function codes
03 and 06.
Give the COM port. The other two fields are the factory settings and only need
changing if you changed them on the supply: **9600 baud**, **Modbus address 1**
(8 data bits, no parity, 1 stop bit).
A card appears in **Station Control**: an **Output** on/off button, the measured
volts / amps / watts, and — in small type — the voltage and current the supply
is *set* to. That pairing is the useful part: `13.80 V set` beside `0.020 A`
says at a glance that the supply is on and the radio is drawing nothing.
> **OpsLog only ever writes the output on/off.** The supply's register map also
> exposes the voltage and current set points and the three protection trip
> levels, and none of them belong to a logbook — a wrong value there is 30 V
> where a radio expected 13.8. They are read and displayed, never changed.
> Set them on the supply's own front panel.
If the protection has tripped, the card says so with the supply's status word.
---
## Station Control
The Station Control tab is a dashboard of fixed-width panels that wrap to fill
the window — amplifier(s), tuner, relays, rotator, Ultrabeam… Drag a panel by
the grip on its left edge to reorder; the order is remembered.
the window — amplifier(s), tuner, relays, rotator, power supply, Ultrabeam…
Drag a panel by the grip on its left edge to reorder; the order is remembered.
A column-count selector (Auto / 16) caps how many sit side by side.