Files
ARCG-Remote-Station-Software/docs/hardware-station-shell-guide.md

47 lines
1.6 KiB
Markdown

# Station Hardware via Shell Scripts
Diese Anleitung beschreibt die stationseitige Hardware-Orchestrierung ueber `rms.station.shell`.
Das Plugin selbst steuert keine einzelne Komponente direkt, sondern ruft Aktivierungs-/Deaktivierungs-Skripte auf, die typischerweise Relais, Netzteile, TRX und Nebenkomponenten schalten.
## Quick Start
```bash
grep -E '^(SCRIPT_ROOT|SCRIPT_ACTIVATE|SCRIPT_DEACTIVATE|STATION_SCRIPT_TIMEOUT_MS)=' /etc/remotestation-arcg/remotestation-arcg.env
sudo systemctl restart remotestation-arcg
```
## 1) Relevante ENV-Keys
```env
SCRIPT_ROOT=/opt/remotestation
SCRIPT_ACTIVATE=/opt/remotestation/bin/activate.sh
SCRIPT_DEACTIVATE=/opt/remotestation/bin/deactivate.sh
STATION_SCRIPT_TIMEOUT_MS=180000
```
## 2) Verhalten
- `station.activate` ruft `SCRIPT_ACTIVATE` auf.
- `station.deactivate` ruft `SCRIPT_DEACTIVATE` auf.
- Falls Standardskript fehlt, versucht das Plugin Runtime-Fallbacks unter `SCRIPT_ROOT/src/...`.
- Wenn kein Skript konfiguriert ist, wird Aktion als `skipped` behandelt.
## 3) Einstellen
1. Skripte separat shellseitig testen.
2. `SCRIPT_ROOT` so setzen, dass Fallback-Pfade konsistent sind.
3. Timeouts an reale Schaltzeiten anpassen.
4. In Skripten idempotent arbeiten (mehrfaches Ausfuehren darf nicht zerstoeren).
## 4) Fehlerbilder
- `${KEY} failed`: Skriptfehler (Exit != 0 / stderr).
- Standardskript fehlt: Plugin meldet Skip/Fallback.
- Timeout: `STATION_SCRIPT_TIMEOUT_MS` zu niedrig oder Skript haengt.
## 5) Sicherheitsregeln
- Skripte muessen TX/PTT-Fail-safe beachten.
- Keine produktiven Zugangsdaten in Skripten oder Repo ablegen.