Wenn Interesse besteht, veröffentlich ich gerne die Scripte.
Funktionsweise
[ol]
[li]Ein/Ausblenden der Bedienelemente[/li][li]Standbild[/li][li]Automatischer Kamerawechsel nach Zeit[/li][li]Bildgrösse verändern( nur bei IP Cam)[/li][li]Automatischer Stop bei Kameradirektanwahl[/li][li]Intervallzeit der Bildaktualisierung einstellbar[/li][li]Schnappschuss[/li][/ol]
Alle Namen der Scripts und Variablen müssen so übernommen werden. Sollten eigene Namen vergeben werden, so sind diese in den entsprechenden Scripts anzupassen !
Einsortieren der Objekte von 1 bis n kann zum Schluß erfolgen. Alle Scripts ausblenden.
Die Zuordnung der Variablen zum Script erfolgt unter Variable editieren, Eigene Aktion.
Den Variablen eigene Profile geben(Namen frei wählbar).
Für den Schnappschuss muss ein Ordner angelegt werden. Ersichtlich im Script.
·Kategorie anlegen und unter dieser ein Dummy Modul anlegen(Namen frei wählbar)
·Zuerst alle Scripts anlegen danach die Variablen, somit kann man sie gleich mit den Scripts verbinden.
·Variable Integer(Elemente) => Script Bedienelemente
·Script Kamera1 bis n
·Variable Integer(Kamera) => Script Kameraauswertung
·Darunter je Kamera eine String und IntegerVariable anlegen
Beispiele für den Wert Stringvariable
IP-Cam Vivotek 7131 http://IP-Nr:Port/cgi-bin/video.jpg
Universalcam http://IP-Nr:Port/camera=1
webcamXP5 http://IP-Nr:Port/cam_1.jpg
·Variable Integer (Automatischer Kamerawechsel) => Script Automatische Umschaltung
·Variable Boolean(Bildintervall) => Script Bildintervall
·Variable Integer(Bildnummer) => Wert auf 0 setzen
·Variable Integer(Intervallzeit) => Script Bildintervall
·Variable Integer(Schnappschuss) => Script Schnappschuss
·Variable Integer (Bildgröße) => Script Bildgrösse
·Medien(Bild)
Es sind noch einige Ereignisse anzulegen diese ist in den Bildern ersichtlich. Ebenso sind einige Variablen ID anzupassen.
Funktioniert nur mit der Betaversion
[COLOR=Black]Script Bedienelemente
[/COLOR]
<?
$parentID = IPS_GetObject($IPS_SELF);
$parentID = $parentID['ParentID'];
$elemente = IPS_GetVariableIDByName("Elemente", $parentID);
$kamerawechsel = IPS_GetVariableIDByName("Automatischer Kamerawechsel", $parentID);
$kamera = IPS_GetVariableIDByName("Kamera", $parentID);
$bildintervall = IPS_GetVariableIDByName("Bildintervall", $parentID);
$intervallzeit = IPS_GetVariableIDByName("Intervallzeit", $parentID);
$bildgroesse = IPS_GetVariableIDByName("Bildgröße", $parentID);
if ($IPS_SENDER == "WebFront")
{
SetValueInteger($elemente, $IPS_VALUE);
}
switch($IPS_VALUE)
{
case 0:
IPS_SetHidden($kamerawechsel, true);
IPS_SetHidden($kamera, true);
IPS_SetHidden($bildintervall, true);
IPS_SetHidden($intervallzeit, true);
IPS_SetHidden($bildgroesse, true);
break;
case 1:
IPS_SetHidden($kamerawechsel, false);
IPS_SetHidden($kamera, false);
IPS_SetHidden($bildintervall, false);
IPS_SetHidden($intervallzeit, false);
IPS_SetHidden($bildgroesse, false);
break;
}
?>
Script Kamera1
<?
$parentID = IPS_GetObject($IPS_SELF);
$parentID = $parentID['ParentID'];
$intervall = GetValue(28929 /*[Videoüberwachung\Überwachungskameras\Automatischer Kamerawechsel]*/);
$kamera = IPS_GetVariableIDByName("Kamera", $parentID);
$kamera2 = IPS_GetScriptIDByName("Kamera2", $parentID);
IPS_SetScriptTimer($IPS_SELF, 0);
SetValue($kamera,1);
IPS_SetScriptTimer($kamera2, $intervall);
?>
Kamera 2
<?
$parentID = IPS_GetObject($IPS_SELF);
$parentID = $parentID['ParentID'];
$intervall = GetValue(28929 /*[Videoüberwachung\Überwachungskameras\Automatischer Kamerawechsel]*/);
$kamera = IPS_GetVariableIDByName("Kamera", $parentID);
$kamera3 = IPS_GetScriptIDByName("Kamera3", $parentID);
IPS_SetScriptTimer($IPS_SELF, 0);
SetValue($kamera,2);
IPS_SetScriptTimer($kamera3, $intervall);
?>
Kamera 3
<?
$parentID = IPS_GetObject($IPS_SELF);
$parentID = $parentID['ParentID'];
$intervall = GetValue(28929 /*[Videoüberwachung\Überwachungskameras\Automatischer Kamerawechsel]*/);
$kamera = IPS_GetVariableIDByName("Kamera", $parentID);
$kamera1 = IPS_GetScriptIDByName("Kamera1", $parentID);
IPS_SetScriptTimer($IPS_SELF, 0);
SetValue($kamera,3);
IPS_SetScriptTimer($kamera1, $intervall);
?>
Kameraauswertung
<?
$value = 0;
$parentID = IPS_GetObject($IPS_SELF);
$parentID = $parentID['ParentID'];
$camID = IPS_GetMediaIDByName("Bild", $parentID);
$selectionID = IPS_GetVariableIDByName("Kamera", $parentID);
$camSet = IPS_GetVariableIDByName("Automatischer Kamerawechsel", $parentID);
if ($IPS_SENDER == "WebFront")
{
$value = $IPS_VALUE;
SetValue($selectionID, $IPS_VALUE);
SetValue($camSet,0);
}
else
{
$value = GetValue($selectionID);
}
$fileUri = GetValueString(IPS_GetVariableIDByName($value, $selectionID));
$interval = GetValueInteger(IPS_GetVariableIDByName($value." Intervall", $selectionID));
$fileName = "media/CamImage".$camID.".jpg";
IPS_SetMediaFile($camID, $fileName, false);
$imageContent = @Sys_GetURLContent($fileUri);
if ($imageContent !== FALSE)
{
$fileHandle = @fopen("../".$fileName, 'wb+');
if (@fwrite($fileHandle, $imageContent) === FALSE)
{
$fileName = "";
@unlink($fileName);
}
fclose($fileHandle);
}
IPS_SetScriptTimer($IPS_SELF, $interval);
?>
Automatische Umschaltung
<?
$parentID = IPS_GetObject($IPS_SELF);
$parentID = $parentID['ParentID'];
$camSet = IPS_GetVariableIDByName("Automatischer Kamerawechsel", $parentID);
$Kamera1 = IPS_GetScriptIDByName("Kamera1", $parentID);
$Kamera2 = IPS_GetScriptIDByName("Kamera2", $parentID);
$Kamera3 = IPS_GetScriptIDByName("Kamera3", $parentID);
//$Kamera4 = IPS_GetScriptIDByName("Kamera4", $parentID);
if ($IPS_SENDER == "WebFront")
{
SetValue($camSet, $IPS_VALUE);
}
switch($IPS_VALUE)
{
case 0:
IPS_SetScriptTimer($Kamera1, 0);
IPS_SetScriptTimer($Kamera2, 0);
IPS_SetScriptTimer($Kamera3, 0);
//IPS_SetScriptTimer($Kamera4, 0);
break;
case 5:
IPS_RunScript($Kamera1);
break;
case 10:
IPS_RunScript($Kamera1);
break;
case 15:
IPS_RunScript($Kamera1);
break;
case 20:
IPS_RunScript($Kamera1);
break;
case 30:
IPS_RunScript($Kamera1);
break;
case 60:
IPS_RunScript($Kamera1);
break;
}
?>
Bildintervall
<?
$parentID = IPS_GetObject($IPS_SELF);
$parentID = $parentID['ParentID'];
$bildintervall = IPS_GetVariableIDByName("Intervallzeit", $parentID);
$status = IPS_GetVariableIDByName("Bildintervall", $parentID);
$intervall1 = 11126 /*[Videoüberwachung\Überwachungskameras\Kamera\1 Intervall]*/;
$intervall2 = 44228 /*[Videoüberwachung\Überwachungskameras\Kamera\2 Intervall]*/;
$intervall3 = 25257 /*[Videoüberwachung\Überwachungskameras\Kamera\3 Intervall]*/;
$intervall4 = 25822 /*[Videoüberwachung\Überwachungskameras\Kamera\4 Intervall]*/;
if ($IPS_SENDER == "WebFront")
{
SetValue($bildintervall, $IPS_VALUE);
SetValue($status, $IPS_VALUE);
}
switch($IPS_VALUE)
{
case 0:
SetValue($intervall1,0);
SetValue($intervall2,0);
SetValue($intervall3,0);
SetValue($intervall4,0);
break;
case 1:
SetValue($intervall1,1);
SetValue($intervall2,1);
SetValue($intervall3,1);
SetValue($intervall4,1);
break;
case 5:
SetValue($intervall1,5);
SetValue($intervall2,5);
SetValue($intervall3,5);
SetValue($intervall4,5);
break;
case 10:
SetValue($intervall1,10);
SetValue($intervall2,10);
SetValue($intervall3,10);
SetValue($intervall4,10);
break;
case 30:
SetValue($intervall1,30);
SetValue($intervall2,30);
SetValue($intervall3,30);
SetValue($intervall4,30);
break;
case 45:
SetValue($intervall1,45);
SetValue($intervall2,45);
SetValue($intervall3,45);
SetValue($intervall4,45);
break;
case 60:
SetValue($intervall1,60);
SetValue($intervall2,60);
SetValue($intervall3,60);
SetValue($intervall4,60);
break;
}
?>
Schnappschuss
<?
$imagepfad = IPS_GetKernelDir()."\\webfront\\Schnappschuss\\";// anpassen (Ordner erstellen)
$imagename = "Schnappschuss";
$format = ".jpg";
$mediapfad = IPS_GetKernelDir()."\\media\\CamImage33643.jpg";// CamImagexxxxx.jpg anpassen
$parentID = IPS_GetObject($IPS_SELF);
$parentID = $parentID['ParentID'];
$schnappschussID = IPS_GetVariableIDByName("Schnappschuss", $parentID);
$bildnummerID = IPS_GetVariableIDByName("Bildnummer", $parentID);
$bildnummer = GetValueInteger(IPS_GetVariableIDByName("Bildnummer", $parentID));
$bildnummer = $bildnummer +1;
SetValue($bildnummerID, $bildnummer);
if ($IPS_SENDER == "WebFront")
{
SetValue($schnappschussID, $IPS_VALUE);
}
switch($IPS_VALUE)
{
case 1:
$fileHandle = @fopen($imagepfad, 'wb+');
$image = @ImageCreateFromjpeg($mediapfad);
@fwrite(Imagejpeg($image, $imagepfad.$imagename.$bildnummer.$format));
@fclose($fileHandle);
break;
}
?>
Bildgrösse
<?
$bildmini ="http://192.168.1.145/cgi-bin/admin/setparam.cgi?Video_resolution=176x144";
$bildklein ="http://192.168.1.145/cgi-bin/admin/setparam.cgi?Video_resolution=320x240";
$bildgross ="http://192.168.1.145/cgi-bin/admin/setparam.cgi?Video_resolution=640x480";
$parentID = IPS_GetObject($IPS_SELF);
$parentID = $parentID['ParentID'];
$bild = IPS_GetVariableIDByName("Bildgröße", $parentID);
if ($IPS_SENDER == "WebFront")
{
SetValue($bild, $IPS_VALUE);
}
switch($IPS_VALUE)
{
case 0:
$Ausgabe = fopen("$bildmini", 'r');
fclose($Ausgabe);
break;
case 1:
$Ausgabe = fopen("$bildklein", 'r');
fclose($Ausgabe);
break;
case 2:
$Ausgabe = fopen("$bildgross", 'r');
fclose($Ausgabe);
break;
}
?>