Wir verwirklichen Ihre Ideen!Raum Heilbronn · info@appproject.de
AppProjectApp-Entwicklung · Smart Home · 3D-Druck
HTTP-API

Reolink-Kameras per URL steuern

Reolink-Kameras haben mit HTTP-API eine lokale Schnittstelle. Du steuerst sie direkt im Heimnetz per HTTP-Befehl – aus dem Browser, per curl oder aus einem Programm deiner Homematic-Zentrale. Hier findest du alle Befehle, die wir belegen konnten, sortiert nach Funktion.

Befehl für meine Reolink erzeugen

Schnittstelle
HTTP-API (JSON) an /cgi-bin/api.cgi
Anmeldung
Zugangsdaten in der URL, Token / API-Key
Standard
https://…:443
Funktionen
19 von 21
Stand
November 2026

Gut zu wissen

  • Alle Befehle per POST an /cgi-bin/api.cgi?cmd=<Befehl>, Body als JSON-Array, Content-Type application/json. Die Doku-Beispiele kürzen den Pfad meist auf /api.cgi; Abschnitt 2.1 und Snap nennen /cgi-bin/api.cgi. Snap funktioniert laut Support-Artikel auch als einfacher Browser-Aufruf (GET).
  • Kurzsitzung (für curl von der CCU am einfachsten): &user={user}&password={pass} an die URL hängen. Langsitzung: zuerst cmd=Login mit Body [{"cmd":"Login","param":{"User":{"Version":"0","userName":"{user}","password":"{pass}"}}}], danach &token={token} statt user/password. Token gilt 3600 s (leaseTime).
  • HTTP ist ab Werk aus, HTTPS an (Port 443). HTTP/RTSP-Port unter Einstellungen > Netzwerk > Erweitert > Porteinstellungen aktivieren. Bei HTTPS mit Selbstzertifikat in curl -k nötig.
Alle Hinweise (8)
  • Kanal: in der API 0-basiert (Einzelkamera = 0); in RTSP-URLs zweistellig ab 01.
  • Ob V20-Befehle (SetRecV20, SetPushV20, SetEmailV20, SetAudioAlarmV20) oder die alten (SetRec, SetPush, SetEmail) gelten, zeigt GetAbility: scheduleVersion ver=1 → V20.
  • Sonderzeichen im Passwort in der URL kodieren (z. B. & als %26).
  • Laut Reolink-Support: Akku-WLAN-Kameras (Argus u. a.), E1, E320/E321 und Lumus E430 (Hw. IPC_325C7) nur über Home Hub/NVR; 4G-Modelle (Go, TrackMix LTE, Duo 2 LTE) gar nicht. E1 Pro, E330 und Lumus Pro E450 gehen auch direkt.
  • Bewegungserkennung hat in der API keinen globalen Ein/Aus-Schalter (enable wurde laut Revisionshistorie aus SetAlarm entfernt, SetMdAlarm hat keins); Reaktionen werden über Aufnahme, Push, E-Mail und Audioalarm einzeln geschaltet.

Push-Benachrichtigung an

Im Generator öffnen

Alle verlassen das Haus → Push-Nachrichten der Kamera einschalten

Laut Herstellerdokualle Modelle· API-Guide V7, scheduleVersion ver=1

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetPushV20","param":{"Push":{"enable":1,"schedule":{"channel":0}}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetPushV20&user=BENUTZER&password=PASSWORT'

App-Push ein. In der Doku steht bei der URL versehentlich cmd=SetPush, der Body nutzt SetPushV20.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetPushV20\042,\042param\042:{\042Push\042:{\042enable\042:1,\042schedule\042:{\042channel\042:0}}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetPushV20&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Laut Herstellerdokualle Modelle· scheduleVersion 0

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetPush","param":{"Push":{"schedule":{"enable":1}}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetPush&user=BENUTZER&password=PASSWORT'

Alter Befehl, laut Doku nur für Modellreihe 52X.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetPush\042,\042param\042:{\042Push\042:{\042schedule\042:{\042enable\042:1}}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetPush&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Push-Benachrichtigung aus

Im Generator öffnen

Wieder zu Hause → keine Push-Nachrichten mehr aufs Handy

Laut Herstellerdokualle Modelle· API-Guide V7, scheduleVersion ver=1

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetPushV20","param":{"Push":{"enable":0,"schedule":{"channel":0}}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetPushV20&user=BENUTZER&password=PASSWORT'

App-Push aus.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetPushV20\042,\042param\042:{\042Push\042:{\042enable\042:0,\042schedule\042:{\042channel\042:0}}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetPushV20&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Laut Herstellerdokualle Modelle· scheduleVersion 0

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetPush","param":{"Push":{"schedule":{"enable":0}}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetPush&user=BENUTZER&password=PASSWORT'

Alter Befehl, laut Doku nur für 52X.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetPush\042,\042param\042:{\042Push\042:{\042schedule\042:{\042enable\042:0}}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetPush&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Alarm oder Abwesenheit → Aufnahme starten bzw. Aufnahmeplan aktivieren

Laut Herstellerdokualle Modelle· API-Guide V7 (2022-9), Geräte mit scheduleVersion ver=1

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetRecV20","param":{"Rec":{"schedule":{"channel":0,"enable":1}}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetRecV20&user=BENUTZER&password=PASSWORT'

Schaltet die Aufnahme laut Zeitplan ein. GetRecV20 zeigt zusätzlich Rec.enable. Kein Befehl zum manuellen Start einer Aufnahme.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetRecV20\042,\042param\042:{\042Rec\042:{\042schedule\042:{\042channel\042:0,\042enable\042:1}}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetRecV20&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Laut Herstellerdokualle Modelle· ältere Geräte, scheduleVersion 0

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetRec","param":{"Rec":{"channel":0,"schedule":{"enable":1}}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetRec&user=BENUTZER&password=PASSWORT'

Alter Befehl für Geräte ohne V20-Zeitplan.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetRec\042,\042param\042:{\042Rec\042:{\042channel\042:0,\042schedule\042:{\042enable\042:1}}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetRec&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Anwesend → Aufnahme stoppen bzw. Aufnahmeplan deaktivieren

Laut Herstellerdokualle Modelle· API-Guide V7 (2022-9), scheduleVersion ver=1

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetRecV20","param":{"Rec":{"schedule":{"channel":0,"enable":0}}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetRecV20&user=BENUTZER&password=PASSWORT'

Aufnahme-Zeitplan aus.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetRecV20\042,\042param\042:{\042Rec\042:{\042schedule\042:{\042channel\042:0,\042enable\042:0}}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetRecV20&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Laut Herstellerdokualle Modelle· ältere Geräte, scheduleVersion 0

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetRec","param":{"Rec":{"channel":0,"schedule":{"enable":0}}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetRec&user=BENUTZER&password=PASSWORT'

Alter Befehl, Aufnahme-Zeitplan aus.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetRec\042,\042param\042:{\042Rec\042:{\042channel\042:0,\042schedule\042:{\042enable\042:0}}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetRec&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Urlaub → Alarm-E-Mails mit Bild einschalten

Laut Herstellerdokualle Modelle· scheduleVersion 0

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetEmail","param":{"Email":{"schedule":{"enable":1}}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetEmail&user=BENUTZER&password=PASSWORT'

E-Mail-Alarm ein (SMTP muss eingerichtet sein).

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetEmail\042,\042param\042:{\042Email\042:{\042schedule\042:{\042enable\042:1}}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetEmail&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

E-Mail-Alarm aus

Im Generator öffnen

Zurück → Alarm-E-Mails ausschalten

Laut Herstellerdokualle Modelle· scheduleVersion 0

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetEmail","param":{"Email":{"schedule":{"enable":0}}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetEmail&user=BENUTZER&password=PASSWORT'

E-Mail-Alarm aus.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetEmail\042,\042param\042:{\042Email\042:{\042schedule\042:{\042enable\042:0}}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetEmail&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Position anfahren

Im Generator öffnen

Bewegungsmelder an der Einfahrt löst aus → Kamera schwenkt auf die gespeicherte Position

Laut HerstellerdokuPTZ-Modelle (RLC-PTZ, TrackMix, E1)· API-Guide V7

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"PtzCtrl","param":{"channel":0,"op":"ToPos","id":1,"speed":32}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=PtzCtrl&user=BENUTZER&password=PASSWORT'

Preset-ID 1–64 (laut SetPtzPreset).

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042PtzCtrl\042,\042param\042:{\042channel\042:0,\042op\042:\042ToPos\042,\042id\042:1,\042speed\042:32}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=PtzCtrl&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Schwenken / Neigen

Im Generator öffnen

Kamera per Taster oder Programm schrittweise bewegen

Laut HerstellerdokuPTZ-Modelle (RLC-PTZ, TrackMix, E1)· API-Guide V7

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"PtzCtrl","param":{"channel":0,"op":"WERT","speed":32}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=PtzCtrl&user=BENUTZER&password=PASSWORT'

{wert}: Left, Right, Up, Down, LeftUp, LeftDown, RightUp, RightDown, ZoomInc, ZoomDec, FocusInc, FocusDec, IrisInc, IrisDec, Auto, StartPatrol, StopPatrol. Bewegung läuft bis op "Stop" gesendet wird. Die Doku beschreibt ZoomInc/ZoomDec vertauscht wirkend – Richtung am Gerät prüfen.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042PtzCtrl\042,\042param\042:{\042channel\042:0,\042op\042:\042WERT\042,\042speed\042:32}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=PtzCtrl&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Schnappschuss (Bild-URL)

Im Generator öffnen

Klingel gedrückt → aktuelles Bild abrufen und per Push oder Telegram verschicken

Laut Herstellerdokualle Modelle· alle CGI-fähigen Modelle; neuere zusätzlich &iLogicChannel=1&snapType=main|sub (dann channel=1)

curl
curl -s -k 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=WERT&user=BENUTZER&password=PASSWORT'

rs = beliebige Zeichenfolge gegen Browser-Cache. Laut Support-Artikel nicht bei B800, B400, P310C, D800, P335C, D400, Akku-Kameras, Lumus, E1/E1 Pro.

Erwartete Antwort: Content-Type: image/jpeg

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=WERT&user=BENUTZER&password=PASSWORT'");

Quelle: support.reolink.com

Nachtsicht (IR) an

Im Generator öffnen

Nachtsicht dauerhaft einschalten

Laut Herstellerdokualle Modelle· API-Guide V7

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetIrLights","action":0,"param":{"IrLights":{"channel":0,"state":"On"}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetIrLights&user=BENUTZER&password=PASSWORT'

"On" steht im Wertebereich von GetIrLights; ob das Gerät es kann, per GetIrLights (action 1, range) prüfen.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetIrLights\042,\042action\042:0,\042param\042:{\042IrLights\042:{\042channel\042:0,\042state\042:\042On\042}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetIrLights&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Nachtsicht (IR) aus

Im Generator öffnen

IR aus, z. B. hinter einer Scheibe, um Spiegelungen zu vermeiden

Laut Herstellerdokualle Modelle· API-Guide V7

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetIrLights","action":0,"param":{"IrLights":{"channel":0,"state":"Off"}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetIrLights&user=BENUTZER&password=PASSWORT'

IR-LEDs aus (Wert "Off" aus dem Wertebereich von GetIrLights).

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetIrLights\042,\042action\042:0,\042param\042:{\042IrLights\042:{\042channel\042:0,\042state\042:\042Off\042}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetIrLights&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Nachtsicht (IR) automatisch

Im Generator öffnen

Nachtsicht wieder der Kamera überlassen

Laut Herstellerdokualle Modelle· API-Guide V7

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetIrLights","action":0,"param":{"IrLights":{"channel":0,"state":"Auto"}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetIrLights&user=BENUTZER&password=PASSWORT'

IR-LEDs automatisch.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetIrLights\042,\042action\042:0,\042param\042:{\042IrLights\042:{\042channel\042:0,\042state\042:\042Auto\042}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetIrLights&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Privatsphäre-Modus an

Im Generator öffnen

Jemand ist zu Hause → Kamera schaut weg bzw. Bild wird abgedeckt

Laut Herstellerdokualle Modelle· API-Guide V7, Ability mask=1

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetMask","action":0,"param":{"Mask":{"channel":0,"enable":1,"area":[{"screen":{"height":720,"width":1280},"block":{"x":0,"y":0,"width":1280,"height":720}}]}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetMask&user=BENUTZER&password=PASSWORT'

Privatzonen-Maske ein. area-Felder sind laut Doku Pflicht; Beispielbereich anpassen bzw. vorhandene Bereiche per GetMask übernehmen.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetMask\042,\042action\042:0,\042param\042:{\042Mask\042:{\042channel\042:0,\042enable\042:1,\042area\042:[{\042screen\042:{\042height\042:720,\042width\042:1280},\042block\042:{\042x\042:0,\042y\042:0,\042width\042:1280,\042height\042:720}}]}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetMask&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Privatsphäre-Modus aus

Im Generator öffnen

Alle sind weg → Kamera wieder scharf

Laut Herstellerdokualle Modelle· API-Guide V7, Ability mask=1

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetMask","action":0,"param":{"Mask":{"channel":0,"enable":0,"area":[{"screen":{"height":720,"width":1280},"block":{"x":0,"y":0,"width":1280,"height":720}}]}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetMask&user=BENUTZER&password=PASSWORT'

Maske aus; Bereiche wie bei privat_an mitsenden.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetMask\042,\042action\042:0,\042param\042:{\042Mask\042:{\042channel\042:0,\042enable\042:0,\042area\042:[{\042screen\042:{\042height\042:720,\042width\042:1280},\042block\042:{\042x\042:0,\042y\042:0,\042width\042:1280,\042height\042:720}}]}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetMask&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Licht / Spotlight an

Im Generator öffnen

Bewegungsmelder im Garten → Spotlight der Kamera einschalten

Laut HerstellerdokuRLC-Serie (PoE/WLAN, Bullet/Dome/Turret), Duo / ColorX / Floodlight· API-Guide V7, Ability floodLight

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetWhiteLed","param":{"WhiteLed":{"channel":0,"state":1,"bright":WERT}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetWhiteLed&user=BENUTZER&password=PASSWORT'

Weißlicht/Spotlight ein, bright 1–100. mode: 0 nachts dauernd, 1 bei Alarm, 2 Zeitplan.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetWhiteLed\042,\042param\042:{\042WhiteLed\042:{\042channel\042:0,\042state\042:1,\042bright\042:WERT}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetWhiteLed&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Licht / Spotlight aus

Im Generator öffnen

Spotlight nach einigen Minuten wieder ausschalten

Laut HerstellerdokuRLC-Serie (PoE/WLAN, Bullet/Dome/Turret), Duo / ColorX / Floodlight· API-Guide V7, Ability floodLight

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"SetWhiteLed","param":{"WhiteLed":{"channel":0,"state":0}}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetWhiteLed&user=BENUTZER&password=PASSWORT'

Weißlicht aus.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042SetWhiteLed\042,\042param\042:{\042WhiteLed\042:{\042channel\042:0,\042state\042:0}}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=SetWhiteLed&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Sirene / Alarmton auslösen

Im Generator öffnen

Einbruchalarm der Homematic-Alarmanlage → Sirene der Kamera auslösen

Laut Herstellerdokualle Modelle· API-Guide V6/V7 (ab 2021-12), Ability supportAudioAlarm

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"AudioAlarmPlay","action":0,"param":{"alarm_mode":"times","manual_switch":0,"times":WERT,"channel":0}}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=AudioAlarmPlay&user=BENUTZER&password=PASSWORT'

Spielt den Alarmton {wert}-mal ab. Alternativ alarm_mode "manu" mit manual_switch 1 (an) / 0 (aus).

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042AudioAlarmPlay\042,\042action\042:0,\042param\042:{\042alarm_mode\042:\042times\042,\042manual_switch\042:0,\042times\042:WERT,\042channel\042:0}}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=AudioAlarmPlay&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Kamera hängt → per Programm neu starten

Laut Herstellerdokualle Modelle· API-Guide V7

curl
curl -s -k -X POST -H 'Content-Type: application/json' --data-binary '[{"cmd":"Reboot"}]' 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=Reboot&user=BENUTZER&password=PASSWORT'

Startet Kamera bzw. NVR neu.

Erwartete Antwort: "code" : 0 ... "rspCode" : 200

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("printf '[{\042cmd\042:\042Reboot\042}]' | curl -s -m 10 -k -X POST -H 'Content-Type: application/json' --data-binary @- 'https://KAMERA-IP/cgi-bin/api.cgi?cmd=Reboot&user=BENUTZER&password=PASSWORT'");

Quelle: community.symcon.de

Videostream (RTSP)

Im Generator öffnen

Live-Bild in Dashboard, NAS oder Tablet einbinden

Laut Herstellerdokualle Modelle· aktuelle Firmware

curl
curl -s -k 'https://KAMERA-IP/Preview_01_main'

Kein HTTP: rtsp://{user}:{pass}@{ip}:554/Preview_{kanal}_main (bzw. _sub). Kanal zweistellig ab 01; am Home Hub API-Kanal +1. RTSP-Port muss in den Netzwerkeinstellungen aktiviert sein. Kanal in der RTSP-Adresse zweistellig: 01 = Einzelkamera bzw. erster NVR-Kanal.

Erwartete Antwort: RTSP-Videostream

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'https://KAMERA-IP/Preview_01_main'");

Quelle: support.reolink.com

Laut Herstellerdokualle Modelle· ältere Firmware (laut Doku nicht mehr empfohlen, aber kompatibel)

curl
curl -s -k 'https://KAMERA-IP/h264Preview_01_main'

rtsp://{user}:{pass}@{ip}:554/h264Preview_{kanal}_main; bei H.265 h265Preview_{kanal}_main. Kanal in der RTSP-Adresse zweistellig: 01 = Einzelkamera bzw. erster NVR-Kanal.

Erwartete Antwort: RTSP-Videostream

Als Homematic-Skript (CCU3/OpenCCU)
HM-Skript
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("wget -q -O - 'https://KAMERA-IP/h264Preview_01_main'");

Quelle: community.symcon.de

Was per URL nicht geht

Bewegungserkennung an, Bewegungserkennung aus – laut Dokumentation gibt es dafür keinen URL-Befehl.

Modellreihen

  • RLC-Serie (PoE/WLAN, Bullet/Dome/Turret)RLC-4, RLC-5, RLC-8, RLC-1
  • PTZ-Modelle (RLC-PTZ, TrackMix, E1)RLC-823, TrackMix, E1
  • Duo / ColorX / FloodlightDuo, CX, Floodlight
  • NVR (RLN) und Home HubRLN, Home Hub
  • Akku-/4G-Kameras (Argus, Go) – CGI/RTSP nur über Home Hub/NVR bzw. gar nichtArgus, Go

Häufige Fragen

Wie melde ich mich bei Reolink-Befehlen an?

Reolink nutzt Zugangsdaten in der URL oder Token / API-Key. Im Generator wird die passende Anmeldung automatisch in den curl- und CCU-Befehl eingebaut.

Funktionieren die Befehle mit jedem Reolink-Modell?

Nicht immer. Je Befehl steht dabei, für welche Modellreihe und Firmware er dokumentiert ist. Im Zweifel den Befehl einmal im Browser oder per curl testen und die Antwort der Kamera prüfen.

Quellen

Etwas funktioniert bei dir anders? Gib uns Bescheid – wir prüfen jede Meldung.