fix(wavelog): push live tuned frequency, not just band center

The CAT push only fired on band select (band center). Fine-tuning inside
OpenWebRX did not update Wavelog. Hook the per-operator live-state updates
(/v1/openwebrx/plugin/live-state) so the actual tuned frequency/mode is
pushed, trailing-debounced (WAVELOG_MIN_INTERVAL_MS, default 3000 ms) so
tuning does not flood the Wavelog API. Band-select push kept as immediate
feedback on band change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ARCG Admin (Claude)
2026-10-22 21:16:17 +02:00
parent 4ced7418cd
commit 061045999b
3 changed files with 75 additions and 10 deletions

View File

@@ -9,9 +9,13 @@
- `baseUrl` / `WAVELOG_BASE_URL` – URL der Wavelog-Instanz (ohne Slash am Ende). Leer = deaktiviert.
- `radioName` / `WAVELOG_RADIO_NAME` – Anzeigename in Wavelog (Default `RMS Remote`).
- `timeoutMs` / `WAVELOG_TIMEOUT_MS` – HTTP-Timeout (Default 8000).
- Ausloeser: Der Core ruft die Capability beim Bandwechsel (`/v1/openwebrx/bands/select`) auf und
uebergibt `centerFreqHz` + `startMod` sowie den Wavelog-Key des aktiven Operators. Best-effort:
Fehler brechen den Bandwechsel nie ab.
- Ausloeser:
- **Bandwechsel** (`/v1/openwebrx/bands/select`): sofortiger Push der Band-Mittenfrequenz
(`centerFreqHz` + `startMod`).
- **Live-Tuning in OpenWebRX** (`/v1/openwebrx/plugin/live-state`): Push der tatsaechlich getunten
Frequenz/Mode des aktiven Operators, **gedrosselt** (Trailing-Debounce, `WAVELOG_MIN_INTERVAL_MS`,
Default 3000 ms) damit Feintunen die API nicht flutet.
- Beides best-effort: Fehler brechen den jeweiligen Flow nie ab.
- Key-Ablage: pro Benutzer in `users.json` (`wavelogApiKey`), setzbar via `PUT /v1/me/wavelog-key`
und sichtbar im OpenWebRX-Panel. **Kein** Key im Repo – der Key ist Laufzeit-/Benutzerdatum.
- Mode-Mapping: `usb|lsb|ssb → SSB`, `cw|cwr → CW`, `fm|nfm|wfm → FM`, `am|sam → AM`, sonst Rohwert