synology-surveillance-skill

Web & Frontend Development
v0.1.0
Benign

Steuere Synology Surveillance Station Kameras über die Web API.

898 downloads898 installsby @photonixlaser-ux

Setup & Installation

Install command

clawhub install photonixlaser-ux/synology-surveillance-skill

If the CLI is not installed:

Install command

npx clawhub@latest install photonixlaser-ux/synology-surveillance-skill

Or install with OpenClaw CLI:

Install command

openclaw skills install photonixlaser-ux/synology-surveillance-skill

or paste the repo link into your assistant's chat

Install command

https://github.com/openclaw/skills/tree/main/skills/photonixlaser-ux/synology-surveillance-skill

What This Skill Does

Controls Synology Surveillance Station cameras via the NAS web API using a bash script. Supports snapshots, live-stream URL generation, manual recording, PTZ movement, and event log retrieval. Requires a Synology NAS running Surveillance Station.

Replaces the need to log into the Surveillance Station web UI or mobile app for routine operations, enabling scripted automation and agent-driven control.

When to Use It

  • Taking a snapshot of the front door camera when motion is detected
  • Starting a manual recording on the garage camera
  • Moving a PTZ camera to check a specific area
  • Pulling the last 50 camera events for a security review
  • Generating a live-stream URL for a monitoring dashboard
View original SKILL.md file
# Synology Surveillance Station Skill

Steuere deine Überwachungskameras über die Synology Surveillance Station API.

## Voraussetzungen

1. **Synology NAS** mit installierter Surveillance Station
2. **Benutzer** mit Surveillance Station-Rechten
3. **2FA deaktiviert** für den API-Benutzer
4. **jq** installiert (`apt install jq`)

## Schnellstart

### 1. Konfiguration in TOOLS.md

Füge die Verbindungsdaten zu `TOOLS.md` hinzu:

```markdown
### 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

```bash
./scripts/syno-surveillance.sh login
```

### 3. Kameras anzeigen

```bash
./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

```bash
./scripts/syno-surveillance.sh snapshot 1
```

Speichert: `syno_snapshot_1_1738972800.jpg`

### 5. Ereignisse anzeigen

```bash
# 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:

```bash
# 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](references/api.md)

## Home Assistant Integration

Für Home Assistant Nutzer: Der Skill kann auch für HA Automatisierungen genutzt werden:

```yaml
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 `cameras` Befehl
- **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).

Example Workflow

Here's how your AI assistant might use this skill in practice.

INPUT

User asks: Taking a snapshot of the front door camera when motion is detected

AGENT
  1. 1Taking a snapshot of the front door camera when motion is detected
  2. 2Starting a manual recording on the garage camera
  3. 3Moving a PTZ camera to check a specific area
  4. 4Pulling the last 50 camera events for a security review
  5. 5Generating a live-stream URL for a monitoring dashboard
OUTPUT
Steuere Synology Surveillance Station Kameras über die Web API.

Share this skill

Security Audits

VirusTotalBenign
OpenClawBenign
View full report

These signals reflect official OpenClaw status values. A Suspicious status means the skill should be used with extra caution.

Details

LanguageMarkdown
Last updatedMar 1, 2026