SNMP soll nicht nur Drucker abfragen: jedes beim Scan entdeckte Geraet mit IP wird jetzt kurz nach seiner SNMP-System-Group (RFC 1213) gefragt. Antwortet es, haengt der Satellit ein 'snmp'-Feld an (sysName/sysDescr/sysContact/sysLocation/ sysUpTime) und leitet einen praeziseren 'type' aus sysDescr ab (switch/router/ access-point/nas/printer/ups). Aus einer nackten ARP-IP wird so ein benanntes, klassifiziertes Geraet im Inventar, das ARIA via satellite_devices sieht. - parallel (Semaphore, Default 16) mit kurzem Timeout (-t1 -r0, 2s) -> Nicht- SNMP-Hosts fallen sofort raus, der Scan bleibt flott. - SNMP_DISCOVERY (Default true) schaltet es ab; Concurrency/Timeout per env. - satellite_devices-Tool: ARIA weiss jetzt vom snmp-Feld + genaueren type. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
53 lines
3.1 KiB
Bash
53 lines
3.1 KiB
Bash
# ─── ARIA Satellit — Konfiguration ──────────────────────────────────
|
|
# Kopiere diese Datei nach .env und passe sie an.
|
|
|
|
# RVS-Zugang (identisch zum Haupt-Stack — gleicher Raum/Token, damit ARIA
|
|
# diesen Satelliten erreicht). Werte aus der Haupt-.env / vom generate-token.sh.
|
|
RVS_HOST=rvs.example.de
|
|
RVS_PORT=443
|
|
RVS_TLS=true
|
|
RVS_TOKEN=
|
|
|
|
# ─── Identitaet / Adresse dieses Satelliten ────────────────────────
|
|
# SATELLITE_ID = technisch eindeutig (a-z0-9-_), Default = Hostname-Slug.
|
|
# SATELLITE_LOCATION = menschlicher Name, so spricht ARIA das Netz an ("Buero").
|
|
# Mehrere Satelliten koennen im selben RVS-Raum haengen — die Location
|
|
# unterscheidet sie ("Buero", "Zuhause", "Werkstatt").
|
|
SATELLITE_ID=buero
|
|
SATELLITE_LOCATION=Büro
|
|
|
|
# ─── Steuerung (Sicherheit!) ───────────────────────────────────────
|
|
# CONTROL_ENABLED=false → reiner Info-/Beobachtungs-Satellit (entdeckt & meldet
|
|
# nur, steuert nichts). Sicherste Basis.
|
|
# CONTROL_ENABLED=true → darf Geraete steuern (nur Aktionen aus der Allowlist).
|
|
CONTROL_ENABLED=true
|
|
# Erlaubte Steuer-Aktionen (kommagetrennt). Alles andere wird abgelehnt.
|
|
# dial.launch App-Launch via DIAL (z.B. YouTube-Video auf Fire TV / Smart-TV)
|
|
# wol Wake-on-LAN (Geraet per MAC aufwecken)
|
|
# http.get generischer HTTP-GET (z.B. lokale IoT-Webhooks, Statusseiten)
|
|
# http.post generischer HTTP-POST
|
|
# snmp.get einzelner SNMP-Wert (params: ip, oid)
|
|
# snmp.walk SNMP-Teilbaum (params: ip, oid)
|
|
# snmp.printer Drucker-Fuellstaende (Tinte/Toner) aus der Printer-MIB (params: ip)
|
|
CONTROL_ALLOWLIST=dial.launch,wol,http.get,snmp.get,snmp.walk,snmp.printer
|
|
|
|
# ─── SNMP (optional) ───────────────────────────────────────────────
|
|
# Defaults fuer die snmp.*-Aktionen; pro Request per params ueberschreibbar.
|
|
SNMP_COMMUNITY=public # Drucker/Switches antworten meist auf 'public'
|
|
SNMP_VERSION=2c # 1 | 2c
|
|
SNMP_TIMEOUT_SEC=5
|
|
# Discovery-Anreicherung: jedes entdeckte Geraet wird beim Scan kurz per SNMP
|
|
# nach Name/Beschreibung/Standort/Uptime gefragt (Switches, Router, APs, NAS ...).
|
|
SNMP_DISCOVERY=true
|
|
SNMP_DISCOVERY_CONCURRENCY=16 # parallele SNMP-Abfragen pro Scan
|
|
SNMP_DISCOVERY_TIMEOUT=2 # Timeout je Geraet (s) — Nicht-SNMP-Hosts fallen schnell raus
|
|
|
|
# ─── HTTP (optional) ───────────────────────────────────────────────
|
|
HTTP_TIMEOUT_SEC=10 # Timeout fuer http.get/http.post
|
|
HTTP_MAX_CHARS=20000 # Default-Body-Ausschnitt (offset/max_chars pro Request)
|
|
|
|
# ─── Discovery-Tuning (optional) ───────────────────────────────────
|
|
SCAN_INTERVAL_SEC=300 # Hintergrund-Rescan-Intervall
|
|
DISCOVER_TIMEOUT_SEC=6 # Dauer eines Sweeps (mDNS + SSDP)
|
|
DEVICE_CACHE_TTL_SEC=120 # wie lange ein Inventar als "frisch" gilt
|