Hallo, ich habe hier wahrscheinlich eine Expertenfrage.
Folgendes Skript schaltet die Bewegungserkennung meiner Überwachungskamera. Ich möchte es so anpassen, dass es eine Port-Weiterleitung über einen Router in ein anders Subnetz übersteht. Logisch ist, dass ich statt der IP des Gerätes nun die externe IP des Routers verwende. Aber wie mache ich das mit dem Port?
Wenn ich $ip = „192.168.178.21:12345“; verwende, dann erhalte ich folgende Fehlermeldung:
Error: File Not Found
getfile: Cannot open URL(/etc_ro/web/setform/setSystemMotion,No such file or directory)
Wo kommt denn der Pfad /etc_ro/web/setform/ her?
Hier das bislang funktionierende Skript (mit neuer IP):
<?
// *** Daten der Kamera ***
$user = "name";
$pw = "passwort";
$ip = "192.168.178.21";
// *** ab hier nichts mehr ändern ***
if($_IPS['VALUE']) $switch = 1;
else $switch = 0;
if ($switch == 1) $schalt = "ein";
else $schalt = "aus";
IPSUtils_Include ("IPSLogger.inc.php", "IPSLibrary::app::core::IPSLogger");
IPSLogger_Dbg ("Kamera", "Überwachung ".$schalt."geschaltet");
$sURL = $ip."/setSystemMotion";
$sMessage = "MotionDetectionEnable=".$switch."&ConfigSystemMotion=Save";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $sURL);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC ) ;
curl_setopt($ch, CURLOPT_USERPWD, $user.":".$pw);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_REFERER, 'http://'.$ip.'/motion.htm');
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $sMessage);
$sResult = curl_exec($ch);
if (curl_errno($ch)) print curl_error($ch);
else
{
curl_close($ch);
return $sResult;
}
?>
Ich hab schon mit der Option curl_setopt($ch, CURLOPT_PORT, 12345); gespielt, leider erfolglos.
Hat jemand einen heißen Tipp?
Dank und Grüße
galleto