47 lines
1.6 KiB
Markdown
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.
|