Habe mir die Folgende Kamera gekauft: Reolink RLC-423
mfg: Swen
Habe mir die Folgende Kamera gekauft: Reolink RLC-423
mfg: Swen
Acer90
Habe mir die Folgende Kamera gekauft,
Reolink RLC-423: 4MP PTZ IP Security Camera – Reolink StoreAmazone link:
Reolink RLC423 4MP HD 4X Optical Zoom PTZ PoE Security: Amazon.de: Elektronikmfg: Swen
hast du sie nativ (also mit mjpeg) ins IPS eingebunden ?
Also bei mir läuft halt alles über blueiris.
Hab grade geschaut, hat leider kein MJPEG stream.
Sweb
Also bei mir läuft halt alles über blueiris
solltest du ein Auge auf die Prozessorlast haben
Habe ich kein Problem mit, ist nur eine frage der einstellung.
Moin Moin,
lässt du auch bestimmte Positionen anfahren ? Ich habe auch die Reolink 423 und auch Blue Iris , jetzt würde ich gerne wenn es klingelt auch zur Postion Klingel fahren .
Hat damit jemand Erfahrung ?
Hallo,
ich interessiere mich auch für die Steuerung einer Reolink PTZ via IPS. Kann mir da jemand weiterhelfen?
Screenshots bekomme ich mittels Image grapper hin. Ich möchte aber noch gerne per Befehl aus ips heraus die Position verfahren.
Ich freue mich auf eure Unterstützung.
Ich nutze Blueiris schon seit Beginn einfach per MQTT.
PTZ sieht zb. so aus:
ActionScript:
<?php
//Documentation: https://www.symcon.de/en/service/documentation/concepts/scripts/action-scripts/
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
$MQTT = 57455;
switch ($_IPS['VALUE']) {
case 0; //Neutral
RequestAction($MQTT, "camera=cam1&preset=5&ptz=34");
break;
case 1; //Zentrum
RequestAction($MQTT, "camera=cam1&preset=1&ptz=36");
break;
case 2; //Küche
RequestAction($MQTT, "camera=cam1&preset=2&ptz=36");
break;
case 3; //Terrasse
RequestAction($MQTT, "camera=cam1&preset=3&ptz=36");
break;
case 4; //Couch
RequestAction($MQTT, "camera=cam1&preset=4&ptz=36");
break;
IPS_LogMessage($_IPS['SELF'], "Scriptname: " . IPS_GetName($_IPS['SELF']));
}
Ausserdem schalte ich per Anwesenheitserkennung die Blueiris Profile passend um (Scharfschaltung usw…)
MQTT sieht so aus:
ActionScript:
<?php
//BlueIris Status übermitteln
if ( preg_match("/profile/",$_IPS['VALUE']) ) {
$Profile = substr($_IPS['VALUE'], -1);
SetValue(13676, intval($Profile));
}
Vielen Dank für die ausführliche Antwort. Ich lese mich mal ein in blueiris.
Hallo zusammen,
leider bin ich noch nicht viel weiter gekommen. Ich habe aber bei iobroker etwas gefunden.
Dort wurde folgender code geschrieben:
curl -d '[{"cmd":"Login","action":0,"param":{"User":{"userName":"admin","password":""}}},{"cmd":"PtzCtrl","action":0,"param":{"channel":0,"op":"ToPos","speed":32,"id":1}}]' 192.168.0.21/api.cgi?cmd=Login&cmd=PtzCtrl&token=1640dd95bcac9f2
Meine Frage ist nun, wie bekomme ich das in IPS umgesetzt und was ist mit dem token am Ende gemeint bzw. wie generiere ich diesen? (bitte für nicht IT-Experten erklären )
vielen dank schon mal.
$ch = curl_init();
$intCamPos = $_IPS["VALUE"];
// set url
curl_setopt($ch, CURLOPT_URL, "http://10.0.1.152/cgi-bin/api.cgi?cmd=PtzCtrl&token=5c2c7f3229ecf87&user=user&password=pass");
curl_setopt($ch, CURLOPT_POSTFIELDS, '[{"cmd":"PtzCtrl","action":0,"param":{"channel":0,"op":"ToPos","speed":32,"id":' . $intCamPos . '}}]' );
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// $output contains the output string
$output = curl_exec($ch);
Ein Script anlegen und denn oberen Code einfügen
dann eine Integer Variable anlegen und ein neues Profil (1-xxx) anlegen
dann ein Ereignis bei Variablenänderung auf das script
Die Positionen musst du in der APP vorher abgespeicher haben der Name ist egal
Mit dem Code kannst du denn Token auslesen steht unter „name“
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://10.0.1.152/cgi-bin/api.cgi?cmd=Login&token=null");
curl_setopt($ch, CURLOPT_POSTFIELDS, '[{"cmd":"Login","action":0,"param":{"User":{"userName":"admin","password":"yourpass"}}}]' );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
$myJSON = json_encode($output);
echo $myJSON;
Ich habe letze Woche eine zweite Kamera bei mir angelegt nach 1 Jahr mit dem gleichen Token anscheinend ist der egal es muss nur ein Token vorhanden sein
so habe ich das bei mir
Gruß
Bruno
Bruno VIELEN DANK!!!
es funktioniert! Musste nur noch den Port hinter die IP setzen (bei mir :800)
DANKE!!!
Hallo schmiddi,
vielen Dank, das klappt super.
Abend!
Könnte mann eventuell auch Zoomen via IPS?
lg
Sorry war etwas im Stress
Anbei für Zoom
<?
$ch = curl_init();
$Action = $_IPS["VALUE"];
// Token + Login
curl_setopt($ch, CURLOPT_URL, "http://10.0.1.157/cgi-bin/api.cgi?cmd=PtzCtrl&token=4c2c7f3229ecf87&user=xxxx&password=xxxx");
//Payload
switch ($Action) {
case 1:
//Zoom Stop
curl_setopt($ch, CURLOPT_POSTFIELDS, '[{"cmd":"PtzCtrl","action":0,"param":{"channel":0,"op":"Stop"}}]' );
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
break;
case 2:
//Zoom Plus
curl_setopt($ch, CURLOPT_POSTFIELDS, '[{"cmd":"PtzCtrl","action":0,"param":{"channel":0,"op":"ZoomInc","speed":32}}]' );
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
break;
case 3:
//Zoom Minus
curl_setopt($ch, CURLOPT_POSTFIELDS, '[{"cmd":"PtzCtrl","action":0,"param":{"channel":0,"op":"ZoomDec","speed":32}}]' );
//curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
break;
}
//Senden
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
//[{cmd: "PtzCtrl", action: 0, param: {channel: 0, op: "Stop"}}]
//[{cmd: "PtzCtrl", action: 0, param: {channel: 0, op: "ZoomDec", speed: 32}}]
//[{cmd: "PtzCtrl", action: 0, param: {channel: 0, op: "ZoomInc", speed: 32}}]
?>
Hier noch der Payload für Steuerung ohne Position
//[{cmd: „PtzCtrl“, action: 0, param: {channel: 0, op: „Right“, speed: 32}}]
//[{cmd: „PtzCtrl“, action: 0, param: {channel: 0, op: „Left“, speed: 32}}]
//[{cmd: „PtzCtrl“, action: 0, param: {channel: 0, op: „Up“, speed: 32}}]
//[{cmd: „PtzCtrl“, action: 0, param: {channel: 0, op: „Down“, speed: 32}}]
//[{cmd: „PtzCtrl“, action: 0, param: {channel: 0, op: „RightUp“, speed: 32}}]
//[{cmd: „PtzCtrl“, action: 0, param: {channel: 0, op: „RightDown“, speed: 32}}]
//[{cmd: „PtzCtrl“, action: 0, param: {channel: 0, op: „LeftUp“, speed: 32}}]
//[{cmd: „PtzCtrl“, action: 0, param: {channel: 0, op: „LeftDown“, speed: 32}}]
noch nicht Getestet !!!
Gruß Bruno
Funktioniert wieder einwandfrei Bruno!
Nochmals Danke!!!
Wo hast du den Payload her?
lg
Funktioniert auch! lg
ps: den Stop Button, die fehlenden Anführungszeichen, Leerzeichen weglassen und die Speed beachten!!!
Ansonsten wiedermal TopTop. Danke
Hi!
habe das Script von Bruno noch um
// Update Symcon Variable
SetValueInteger(30805,$intCamPos);
ergänzt. Dann wird in Symcon die aktuelle Position angezeigt.
Hallo Zusammen,
ich habe das Problem, das dieses Skript bei 3 Reolink Kameras funktioniert und bei einer nicht!?
Bei der E1 Pro nicht, bei C1 Pro und RLC-410 und RLC-423 gehts…
Hat da Jemand eine Idee?