Synology Surveillance
Use Caution@photonixlaser-ux
npx machina-cli add skill @photonixlaser-ux/synology-surveillance-skill --openclawSynology Surveillance Station Skill
Steuere deine Überwachungskameras über die Synology Surveillance Station API.
Voraussetzungen
- Synology NAS mit installierter Surveillance Station
- Benutzer mit Surveillance Station-Rechten
- 2FA deaktiviert für den API-Benutzer
- jq installiert (
apt install jq)
Schnellstart
1. Konfiguration in TOOLS.md
Füge die Verbindungsdaten zu TOOLS.md hinzu:
### Synology Surveillance
- **Host:** 192.168.1.100 (deine NAS IP)
- **Port:** 5000 (HTTP) oder 5001 (HTTPS)
- **User:** surveillance_user
- **Pass:** dein_passwort
- **HTTPS:** false (true falls HTTPS aktiviert)
2. Login testen
./scripts/syno-surveillance.sh login
3. Kameras anzeigen
./scripts/syno-surveillance.sh cameras
Output:
ID: 1, Name: Eingang, Status: 1
ID: 2, Name: Garten, Status: 1
ID: 3, Name: Garage, Status: 0
4. Snapshot erstellen
./scripts/syno-surveillance.sh snapshot 1
Speichert: syno_snapshot_1_1738972800.jpg
5. Ereignisse anzeigen
# Letzte 10 Ereignisse
./scripts/syno-surveillance.sh events
# Letzte 50 Ereignisse
./scripts/syno-surveillance.sh events 50
Verfügbare Befehle
| Befehl | Beschreibung |
|---|---|
login | Session erstellen (wird automatisch bei anderen Befehlen ausgeführt) |
logout | Session beenden |
cameras | Alle Kameras mit ID und Status auflisten |
snapshot <id> | Snapshot einer Kamera erstellen |
record <id> start|stop | Aufnahme starten/stoppen |
events [limit] | Ereignis-Log anzeigen |
stream <id> | Live-Stream URL generieren |
ptz <id> <direction> | PTZ-Kamera bewegen (left/right/up/down/zoomin/zoomout) |
preset <id> <num> | PTZ-Voreinstellung anfahren |
Umgebungsvariablen
| Variable | Standard | Beschreibung |
|---|---|---|
SYNOLOGY_HOST | 192.168.1.100 | NAS IP/Hostname |
SYNOLOGY_PORT | 5000 | NAS Port |
SYNOLOGY_USER | admin | Username |
SYNOLOGY_PASS | (leer) | Passwort |
SYNOLOGY_HTTPS | false | HTTPS verwenden |
Direkte API-Calls
Falls das Script nicht passt, direkt mit curl:
# Login
curl -c cookies.txt "http://192.168.1.100:5000/webapi/auth.cgi?api=SYNO.API.Auth&method=login&version=3&account=USER&passwd=PASS&session=SurveillanceStation&format=cookie"
# Snapshot
curl -b cookies.txt "http://192.168.1.100:5000/webapi/entry.cgi?api=SYNO.SurveillanceStation.Camera&method=GetSnapshot&version=1&cameraId=1" -o snapshot.jpg
API Details
Für komplexere Operationen: references/api.md
Home Assistant Integration
Für Home Assistant Nutzer: Der Skill kann auch für HA Automatisierungen genutzt werden:
shell_command:
syno_snapshot: "/pfad/zu/syno-surveillance.sh snapshot {{ camera_id }}"
Troubleshooting
- Login failed: Passwort prüfen, 2FA deaktivieren
- Permission denied: Benutzer braucht Surveillance Station-Rechte
- Camera not found: Kamera-ID prüfen mit
camerasBefehl - Empty snapshot: Kamera offline oder keine Lizenz verfügbar
Lizenz-Hinweis
Surveillance Station benötigt pro Kamera eine Lizenz (2 kostenlose inklusive bei den meisten NAS-Modellen).
Overview
Dieser Skill steuert Kameras über die Synology Surveillance Station API. Nutze Snapshots, Live-Streams, Aufnahmen, PTZ-Steuerung und Ereignis-Überwachung direkt aus Automatisierungen. Voraussetzung ist eine Synology NAS mit Surveillance Station.
How This Skill Works
Der Skill authentifiziert sich gegenüber der Surveillance Station API und führt API-Calls über Shell-Skripte oder curl aus (z. B. login, cameras, snapshot, record, events, stream, ptz). Du kannst das bereitgestellte Skript syno-surveillance.sh verwenden oder direkte API-Endpunkte wie SYNO.API.Auth und SYNO.SurveillanceStation.* ansprechen. Die Ergebnisse werden über JSON oder API-Antworten zurückgegeben, ideal für Integrationen.
When to Use It
- Wenn du Live-Streams oder Streams-URLs deiner Kameras in Automatisierungen integrieren möchtest.
- Wenn du automatisiert Snapshots zur Beweissicherung oder Dokumentation erstellen willst.
- Wenn du Aufnahmen per Befehl starten oder stoppen musst (z. B. zeitgesteuerte Aufnahmen).
- Wenn du PTZ-Befehle oder Presets in eine Automatisierung einbinden willst.
- Wenn du zuletzt Ereignisse aus der Surveillance Station überwachen und protokollieren musst.
Quick Start
- Step 1: Trage Host, Port, User, Pass und HTTPS-Einstellung in TOOLS.md oder als SYNOLOGY_*-Umgebungsvariablen ein.
- Step 2: Teste den Login: ./scripts/syno-surveillance.sh login
- Step 3: Zeige Kameras oder erstelle einen Snapshot, z. B. ./scripts/syno-surveillance.sh cameras oder ./scripts/syno-surveillance.sh snapshot 1
Best Practices
- Verwende einen dedizierten Surveillance Station API-Benutzer mit eingeschränkten Rechten.
- Deaktiviere 2FA für den API-Benutzer gemäß den Vorgaben, damit API-Benutzerlogin funktioniert.
- Nutze HTTPS (SYNOLOGY_HTTPS) und sichere Passwörter; verschiebe sensible Daten in sichere Umgebungen.
- Installiere jq und halte Skripte sowie Abhängigkeiten aktuell.
- Speichere Anmeldedaten außerhalb des Codes (Environment Variables oder Tools.md) und verwende klare Rechte- und Zugriffskontrollen.
Example Use Cases
- Kamerasliste abrufen: ./scripts/syno-surveillance.sh cameras
- Snapshot einer Kamera erstellen: ./scripts/syno-surveillance.sh snapshot 1
- Live-Stream-URL generieren: ./scripts/syno-surveillance.sh stream 2
- Aufnahme starten/stoppen: ./scripts/syno-surveillance.sh record 2 start
- Letzte 50 Ereignisse anzeigen: ./scripts/syno-surveillance.sh events 50