Reolink Webhhok - Variablen?

Hallo,

das es hier ja einige Leute gibt, die Reolink Devices haben, wollte ich mal nachfragen, ob jemand die unterstützten Variablen und deren Notation im Feld “content” kenn, wenn man “customize” wählt?

Ich habe einige Cams von Reolink. Wenn ich bei der Webhook “default” einstelle, liefert mir die Cam NICHT wie in der Doku beschrieben, ein mit aktuellen Werten gefülltes JSON-Array an die Web-URL. Die URL wird zwar korrekt angesprochen, aber sowohl $_POST als auch $_GET sind leer. Auch im QueryString und argv steht nichts brauchbares.

Grundsätzlich funktioniert der Aufruf des scripts (sagen wir “reo.php”) via der von mir eingegebenen URL (isch schreibe alle info in eine Text-Datei), aber ich kriege einfach keine “aktuellen” Werte aus der CAM übermittelt.

Ich vermute, dass man in der JSON-Deklaration die entsprechende interne Variable in einer bestimmten Notation eingeben muß (in Klammern oder so), damit der Platzhalter von der Cam mit “life-Daten” gefüllt wird …

Wer weiss mehr?

Dann musst du halt den RAW Inhalt vom Post nutzen.

$json = file_get_contents("php://input")

Siehe hier

Edit: Gibt es nicht ein Reolink Modul was den Webhook auswertet?

Danke. Halbe Miete. Das (file_get_contents() war meine Wissenslücke. Ich bin davon ausgegangen, dass alles, was per HTTP-POST “abgeliefert” wird, immer in $_POST landet.

Was mich dennoch interessieren würde: Wie kann man auf interne CAM-Daten zugreifen, wenn man die zu sendenden JSON-Daten selber definieren will? Das sollte irgendwie gehen, aber ich finde keine Doku dazu.

Es ist lediglich zu lesen, dass bei “default”, also OHNE die eigenen Anpassungen,

{
„alarm“: {
„alarmTime“: „time“,
„channel“: „chn“,
„channelName“: „chnname“,
„device“: „****“,
„deviceModel“: „****“,
„message“: „****“,
„name“: „****“,
„time“: „****“,
„type“: „****“
},
„secret“: „****“,
„type“: „****“
}

gesendet wird.

Daneben gibt es die Möglichkeit, eine eigene Definition zu schreiben (“customize”), aber die Doku schweigt, WIE die zu schreiben ist, also die Notation für die Platzhalter interner Daten innerhalb des (JSON) Textes.

Irgendwie müsste man ja dasselbe Ergebnis wie “default” bekommen können, wenn man den obigen JSON-Text ins Eingabefeld schreibt, und dann bei den Werten die entsprechenden Platzhalter einträgt … ???

Ich gebe hier mal selbst eine Antwort für den Fall, dass das jemand sucht - habe Kontakt mit dem Support gehabt (der erstaunlich schnell, willig und umfangreich antwortet):

Aktuell (Stand 10/2025) gibt es nur die Möglichkeit per “default” die dort dokumentierten und vorgegebenen internen Werte (ich nehme an schlicht alle) zu übermitteln.

Wählt man “customize” gibt es nur einen Text, dar als solches übermittelt wird, aber keine Platzhalter für “live-Werte” aus der Cam enthalten kann.

Ausserdem werden die Werte als Content-Type: application/json übermittelt, was dazu führt, dass die Daten NICHT im $_POST landen (und nur per file_get_contents() ausgelesen werden können).