# 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.