Neuer eigenstaendiger Container satellite/ (RVS-Client, network_mode host), den man in einem beliebigen Netz (Buero etc.) deployt. Gibt ARIA Zugriff auf dieses Netz ohne Haupt-Stack davor. - satellite/satellite.py: RVS-Client + Discovery (mDNS/Zeroconf, SSDP/UPnP+DIAL, ARP) + Steuerung (dial.launch fuer YouTube-auf-FireTV, wol, http) mit Guards (CONTROL_ENABLED + Allowlist + Logging, token-gated, keine offenen Ports). Periodisches Re-Announce (sat_hello im Heartbeat) fuer spaet joinende Bridge. - satellite/: Dockerfile, requirements, docker-compose (host-net), .env.example (SATELLITE_LOCATION als Adresse), README. - rvs: sat_hello/discover/devices/command/result whitelisted. - bridge: Satelliten-Registry (sat_hello) + Future-Relay (_satellite_request) + /internal/satellite + /internal/satellite-list (Muster wie flux). - brain: Tools satellite_list/devices/command + _dispatch_satellite + Seed-Regel. Alle py_compile + node -c gruen. Kein APK-Rebuild noetig. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
ARIA Satellit 🛰️
Ein eigenständiger Außenposten-Container für ein fremdes Netz (Büro, Werkstatt, Ferienwohnung …). Er verbindet sich als RVS-Client in Stefans Raum und gibt ARIA Augen und Hände in genau diesem Netz — ohne dass der Haupt-Stack dort stehen muss.
- Augen (Info): entdeckt Geräte via mDNS/Zeroconf (Chromecast, AirPlay, Sonos, Drucker, NAS …), SSDP/UPnP + DIAL (Smart-TVs, Fire TV) und der ARP-Tabelle (rohe Hosts). Meldet ARIA ein Live-Inventar.
- Hände (Steuerung): DIAL-App-Launch (z.B. YouTube-Video auf dem Fire TV), Wake-on-LAN, generisches HTTP. Nur wenn freigeschaltet (siehe Sicherheit).
Deploy
cd satellite
cp .env.example .env # RVS-Zugang + SATELLITE_LOCATION eintragen
docker compose up -d --build
docker compose logs -f # "sat_hello gesendet" + "[scan] N Geraete"
RVS_HOST/PORT/TLS/TOKEN identisch zum Haupt-Stack (gleicher Raum, damit ARIA
den Satelliten erreicht). SATELLITE_LOCATION ist der Name, über den ARIA das Netz
anspricht („Büro").
network_mode: hostist Pflicht (schon in der compose gesetzt): nur so sieht der Container die mDNS/SSDP-Broadcasts und die Geräte-IPs des LAN.
So nutzt ARIA es
ARIA hat drei Brain-Tools:
satellite_list— welche Netze/Satelliten sind online + was können sie.satellite_devices(satellite)— Inventar eines Netzes.satellite_command(satellite, device, action, params)— Aktion ausführen.
Beispiel „YouTube-Video auf dem Büro-Stick":
satellite_command(satellite="Büro", device="Fire TV",
action="dial.launch", params={"app":"YouTube","v":"<videoId>"})
Sicherheit
Der Satellit scannt ein Netz und ist über einen Cloud-Relay erreichbar — deshalb:
- Reagiert nur auf den eigenen RVS-Raum (Token).
CONTROL_ENABLED=false= reiner Info-Satellit (steuert nichts). Standard-sicher.- Bei
true: nur Aktionen ausCONTROL_ALLOWLIST, alles andere wird abgelehnt. - Jede ausgeführte Aktion wird geloggt.
- Keine offenen Ports — reiner Client.
Empfehlung: in vertrauenswürdigen Netzen CONTROL_ENABLED=true mit enger Allowlist;
sonst false und nur beobachten.