49_SSCam: contrib 8.13.5

git-svn-id: https://svn.fhem.de/fhem/trunk@19444 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
nasseeder1 2019-05-22 17:31:17 +00:00
parent db03bd0d08
commit 7c94793ea7

View File

@ -4362,21 +4362,17 @@ sub SSCam_getcamid_parse ($) {
# Ist der gesuchte Kameraname im Hash enhalten (in SVS eingerichtet ?) # Ist der gesuchte Kameraname im Hash enhalten (in SVS eingerichtet ?)
if (exists($allcams{$camname})) { if (exists($allcams{$camname})) {
$camid = $allcams{$camname}; $camid = $allcams{$camname};
# in hash eintragen
$hash->{CAMID} = $camid; $hash->{CAMID} = $camid;
# Logausgabe
Log3($name, 4, "$name - Detection Camid successful - $camname ID: $camid"); Log3($name, 4, "$name - Detection Camid successful - $camname ID: $camid");
} else { } else {
# Kameraname nicht gefunden, id = "" # Kameraname nicht gefunden, id = ""
# Setreading
readingsBeginUpdate($hash); readingsBeginUpdate($hash);
readingsBulkUpdate($hash,"Errorcode","none"); readingsBulkUpdate($hash,"Errorcode","none");
readingsBulkUpdate($hash,"Error","Camera(ID) not found in Surveillance Station"); readingsBulkUpdate($hash,"Error","Camera(ID) not found in Surveillance Station");
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
Log3($name, 2, "$name - ERROR - Cameraname $camname wasn't found in Surveillance Station. Check Userrights, Cameraname and Spelling"); Log3($name, 2, "$name - ERROR - Cameraname $camname wasn't found in Surveillance Station. Check Userrights, Cameraname and Spelling");
SSCam_delActiveToken($hash); SSCam_delActiveToken($hash);
return; return;
@ -4495,7 +4491,6 @@ sub SSCam_camop ($) {
# ein Schnappschuß wird ausgelöst # ein Schnappschuß wird ausgelöst
$url = "$proto://$serveraddr:$serverport/webapi/$apitakesnappath?api=\"$apitakesnap\"&dsId=\"0\"&method=\"TakeSnapshot\"&version=\"$apitakesnapmaxver\"&camId=\"$camid\"&blSave=\"true\"&_sid=\"$sid\""; $url = "$proto://$serveraddr:$serverport/webapi/$apitakesnappath?api=\"$apitakesnap\"&dsId=\"0\"&method=\"TakeSnapshot\"&version=\"$apitakesnapmaxver\"&camId=\"$camid\"&blSave=\"true\"&_sid=\"$sid\"";
readingsSingleUpdate($hash,"state", "snap", 1); readingsSingleUpdate($hash,"state", "snap", 1);
#readingsSingleUpdate($hash, "LastSnapId", "", 0);
} elsif ($OpMode eq "SaveRec" || $OpMode eq "GetRec") { } elsif ($OpMode eq "SaveRec" || $OpMode eq "GetRec") {
# eine Aufnahme soll in lokalem File (.mp4) gespeichert werden # eine Aufnahme soll in lokalem File (.mp4) gespeichert werden
@ -5145,7 +5140,7 @@ sub SSCam_camop_parse ($) {
my $pname = delete($hash->{HELPER}{PNAME}); my $pname = delete($hash->{HELPER}{PNAME});
my $pspeed = delete($hash->{HELPER}{PSPEED}); my $pspeed = delete($hash->{HELPER}{PSPEED});
$pspeed = $pspeed?$pspeed:"not set"; $pspeed = $pspeed?$pspeed:"not set";
# Logausgabe
Log3($name, 3, "$name - Camera \"$camname\" preset \"$pname\" was saved to number $pnumber with speed $pspeed"); Log3($name, 3, "$name - Camera \"$camname\" preset \"$pname\" was saved to number $pnumber with speed $pspeed");
SSCam_getptzlistpreset($hash); SSCam_getptzlistpreset($hash);
@ -5166,7 +5161,6 @@ sub SSCam_camop_parse ($) {
readingsBulkUpdate($hash,"Error","none"); readingsBulkUpdate($hash,"Error","none");
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
my $piract = ($hash->{HELPER}{PIRACT} == 0)?"activated":"deactivated"; my $piract = ($hash->{HELPER}{PIRACT} == 0)?"activated":"deactivated";
Log3($name, 3, "$name - PIR sensor $piract"); Log3($name, 3, "$name - PIR sensor $piract");
@ -5207,7 +5201,6 @@ sub SSCam_camop_parse ($) {
readingsBulkUpdate($hash,"Error","none"); readingsBulkUpdate($hash,"Error","none");
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
my $sensitivity; my $sensitivity;
if ($hash->{HELPER}{MOTDETSC} eq "SVS" && keys %{$hash->{HELPER}{MOTDETOPTIONS}}) { if ($hash->{HELPER}{MOTDETSC} eq "SVS" && keys %{$hash->{HELPER}{MOTDETOPTIONS}}) {
# Optionen für "SVS" sind gesetzt # Optionen für "SVS" sind gesetzt
@ -5529,7 +5522,6 @@ sub SSCam_camop_parse ($) {
readingsBulkUpdate($hash,"LastSnapFilename", $data->{'data'}{'data'}[0]{'fileName'}); readingsBulkUpdate($hash,"LastSnapFilename", $data->{'data'}{'data'}[0]{'fileName'});
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
Log3($name, 4, "$name - Filename of Snap-ID $snapid is \"$data->{'data'}{'data'}[0]{'fileName'}\"") if($data->{'data'}{'data'}[0]{'fileName'}); Log3($name, 4, "$name - Filename of Snap-ID $snapid is \"$data->{'data'}{'data'}[0]{'fileName'}\"") if($data->{'data'}{'data'}[0]{'fileName'});
} elsif ($OpMode eq "getstreamformat") { } elsif ($OpMode eq "getstreamformat") {
@ -5569,7 +5561,6 @@ sub SSCam_camop_parse ($) {
readingsBulkUpdate($hash,"Error","none"); readingsBulkUpdate($hash,"Error","none");
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
Log3($name, 3, "$name - Patrol \"$hash->{HELPER}{GOPATROLNAME}\" of camera $camname has been started successfully"); Log3($name, 3, "$name - Patrol \"$hash->{HELPER}{GOPATROLNAME}\" of camera $camname has been started successfully");
} elsif ($OpMode eq "goabsptz") { } elsif ($OpMode eq "goabsptz") {
@ -5584,7 +5575,6 @@ sub SSCam_camop_parse ($) {
readingsBulkUpdate($hash,"Error","none"); readingsBulkUpdate($hash,"Error","none");
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
Log3($name, 3, "$name - Camera $camname has been moved to absolute position \"posX=$hash->{HELPER}{GOPTZPOSX}\" and \"posY=$hash->{HELPER}{GOPTZPOSY}\""); Log3($name, 3, "$name - Camera $camname has been moved to absolute position \"posX=$hash->{HELPER}{GOPTZPOSX}\" and \"posY=$hash->{HELPER}{GOPTZPOSY}\"");
} elsif ($OpMode eq "startTrack") { } elsif ($OpMode eq "startTrack") {
@ -5595,7 +5585,6 @@ sub SSCam_camop_parse ($) {
readingsBulkUpdate($hash,"Error","none"); readingsBulkUpdate($hash,"Error","none");
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
Log3($name, 3, "$name - Object tracking of Camera $camname has been switched on"); Log3($name, 3, "$name - Object tracking of Camera $camname has been switched on");
} elsif ($OpMode eq "stopTrack") { } elsif ($OpMode eq "stopTrack") {
@ -5606,7 +5595,6 @@ sub SSCam_camop_parse ($) {
readingsBulkUpdate($hash,"Error","none"); readingsBulkUpdate($hash,"Error","none");
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
Log3($name, 3, "$name - Object tracking of Camera $camname has been stopped"); Log3($name, 3, "$name - Object tracking of Camera $camname has been stopped");
} elsif ($OpMode eq "movestart") { } elsif ($OpMode eq "movestart") {
@ -5617,7 +5605,6 @@ sub SSCam_camop_parse ($) {
readingsBulkUpdate($hash,"Error","none"); readingsBulkUpdate($hash,"Error","none");
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
Log3($name, 3, "$name - Camera $camname started move to direction \"$hash->{HELPER}{GOMOVEDIR}\" with duration of $hash->{HELPER}{GOMOVETIME} s"); Log3($name, 3, "$name - Camera $camname started move to direction \"$hash->{HELPER}{GOMOVEDIR}\" with duration of $hash->{HELPER}{GOMOVETIME} s");
RemoveInternalTimer($hash, "SSCam_movestop"); RemoveInternalTimer($hash, "SSCam_movestop");
@ -5660,7 +5647,6 @@ sub SSCam_camop_parse ($) {
readingsBulkUpdate($hash,"Error","none"); readingsBulkUpdate($hash,"Error","none");
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
Log3($name, 3, "$name - Camera $camname has been disabled successfully"); Log3($name, 3, "$name - Camera $camname has been disabled successfully");
} elsif ($OpMode eq "getsvsinfo") { } elsif ($OpMode eq "getsvsinfo") {
@ -5799,7 +5785,6 @@ sub SSCam_camop_parse ($) {
readingsBulkUpdate($hash,"Error","none"); readingsBulkUpdate($hash,"Error","none");
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
Log3($name, $verbose, "$name - Stream-URLs of camera $camname retrieved"); Log3($name, $verbose, "$name - Stream-URLs of camera $camname retrieved");
} elsif ($OpMode eq "Getcaminfo") { } elsif ($OpMode eq "Getcaminfo") {
@ -5984,7 +5969,6 @@ sub SSCam_camop_parse ($) {
readingsBulkUpdate($hash,"Error","none"); readingsBulkUpdate($hash,"Error","none");
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
Log3($name, $verbose, "$name - Query eventlist of camera $camname retrieved"); Log3($name, $verbose, "$name - Query eventlist of camera $camname retrieved");
# Versand Aufnahme initiieren # Versand Aufnahme initiieren
@ -6056,7 +6040,6 @@ sub SSCam_camop_parse ($) {
readingsBulkUpdate($hash,"Error","none"); readingsBulkUpdate($hash,"Error","none");
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
Log3($name, $verbose, "$name - Enumerate motion detection parameters of camera $camname retrieved"); Log3($name, $verbose, "$name - Enumerate motion detection parameters of camera $camname retrieved");
} elsif ($OpMode eq "Getcapabilities") { } elsif ($OpMode eq "Getcapabilities") {
@ -6142,7 +6125,6 @@ sub SSCam_camop_parse ($) {
readingsBulkUpdate($hash,"Error","none"); readingsBulkUpdate($hash,"Error","none");
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
Log3($name, $verbose, "$name - Capabilities of camera $camname retrieved"); Log3($name, $verbose, "$name - Capabilities of camera $camname retrieved");
} elsif ($OpMode eq "Getptzlistpreset") { } elsif ($OpMode eq "Getptzlistpreset") {
@ -6167,7 +6149,6 @@ sub SSCam_camop_parse ($) {
my @preskeys = sort(keys(%{$hash->{HELPER}{ALLPRESETS}})); my @preskeys = sort(keys(%{$hash->{HELPER}{ALLPRESETS}}));
my $presetlist = join(",",@preskeys); my $presetlist = join(",",@preskeys);
# Setreading
readingsBeginUpdate($hash); readingsBeginUpdate($hash);
readingsBulkUpdate($hash,"Presets",$presetlist); readingsBulkUpdate($hash,"Presets",$presetlist);
readingsBulkUpdate($hash,"PresetHome",$home); readingsBulkUpdate($hash,"PresetHome",$home);
@ -6178,7 +6159,6 @@ sub SSCam_camop_parse ($) {
# spezifische Attribute für PTZ-Cams verfügbar machen # spezifische Attribute für PTZ-Cams verfügbar machen
SSCam_addptzattr($name); SSCam_addptzattr($name);
# Logausgabe
Log3($name, $verbose, "$name - PTZ Presets of camera $camname retrieved"); Log3($name, $verbose, "$name - PTZ Presets of camera $camname retrieved");
} elsif ($OpMode eq "Getptzlistpatrol") { } elsif ($OpMode eq "Getptzlistpatrol") {
@ -6204,7 +6184,6 @@ sub SSCam_camop_parse ($) {
readingsBulkUpdate($hash,"Error","none"); readingsBulkUpdate($hash,"Error","none");
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
Log3($name, $verbose, "$name - PTZ Patrols of camera $camname retrieved"); Log3($name, $verbose, "$name - PTZ Patrols of camera $camname retrieved");
} }
@ -6216,7 +6195,6 @@ sub SSCam_camop_parse ($) {
# Fehlertext zum Errorcode ermitteln # Fehlertext zum Errorcode ermitteln
$error = SSCam_experror($hash,$errorcode); $error = SSCam_experror($hash,$errorcode);
# Setreading
readingsBeginUpdate($hash); readingsBeginUpdate($hash);
readingsBulkUpdate($hash,"Errorcode",$errorcode); readingsBulkUpdate($hash,"Errorcode",$errorcode);
readingsBulkUpdate($hash,"Error",$error); readingsBulkUpdate($hash,"Error",$error);
@ -6227,7 +6205,6 @@ sub SSCam_camop_parse ($) {
return SSCam_login($hash,'SSCam_getapisites'); return SSCam_login($hash,'SSCam_getapisites');
} }
# Logausgabe
Log3($name, 2, "$name - ERROR - Operation $OpMode of Camera $camname was not successful. Errorcode: $errorcode - $error"); Log3($name, 2, "$name - ERROR - Operation $OpMode of Camera $camname was not successful. Errorcode: $errorcode - $error");
} }
} }
@ -6353,13 +6330,11 @@ sub SSCam_login_return ($) {
# Session ID in hash eintragen # Session ID in hash eintragen
$hash->{HELPER}{SID} = $sid; $hash->{HELPER}{SID} = $sid;
# Setreading
readingsBeginUpdate($hash); readingsBeginUpdate($hash);
readingsBulkUpdate($hash,"Errorcode","none"); readingsBulkUpdate($hash,"Errorcode","none");
readingsBulkUpdate($hash,"Error","none"); readingsBulkUpdate($hash,"Error","none");
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
Log3($name, 4, "$name - Login of User $username successful - SID: $sid"); Log3($name, 4, "$name - Login of User $username successful - SID: $sid");
return &$subref($hash); return &$subref($hash);
@ -6371,13 +6346,11 @@ sub SSCam_login_return ($) {
# Fehlertext zum Errorcode ermitteln # Fehlertext zum Errorcode ermitteln
my $error = SSCam_experrorauth($hash,$errorcode); my $error = SSCam_experrorauth($hash,$errorcode);
# Setreading
readingsBeginUpdate($hash); readingsBeginUpdate($hash);
readingsBulkUpdate($hash,"Errorcode",$errorcode); readingsBulkUpdate($hash,"Errorcode",$errorcode);
readingsBulkUpdate($hash,"Error",$error); readingsBulkUpdate($hash,"Error",$error);
readingsEndUpdate($hash, 1); readingsEndUpdate($hash, 1);
# Logausgabe
Log3($name, 3, "$name - Login of User $username unsuccessful. Code: $errorcode - $error - try again"); Log3($name, 3, "$name - Login of User $username unsuccessful. Code: $errorcode - $error - try again");
return SSCam_login($hash,$fret); return SSCam_login($hash,$fret);
@ -6529,9 +6502,8 @@ sub SSCam_Autocreate ($$) {
if($success) { if($success) {
CommandSet(undef, "$camname credentials $username $password"); CommandSet(undef, "$camname credentials $username $password");
} }
#InternalTimer(gettimeofday()+1.8, "SSCam_addptzattr", "$name", 0);
} }
} else { } else {
Log3($name, 4, "$name - Autocreate - SVS camera \"$sn\" already defined by \"$dcn\" "); Log3($name, 4, "$name - Autocreate - SVS camera \"$sn\" already defined by \"$dcn\" ");
$camname = ""; $camname = "";
@ -6560,7 +6532,7 @@ sub SSCam_evaljson($$) {
} }
} else { } else {
$success = 0; $success = 0;
# Setreading
readingsBeginUpdate($hash); readingsBeginUpdate($hash);
readingsBulkUpdate($hash,"Errorcode","none"); readingsBulkUpdate($hash,"Errorcode","none");
readingsBulkUpdate($hash,"Error","malformed JSON string received"); readingsBulkUpdate($hash,"Error","malformed JSON string received");
@ -6818,13 +6790,6 @@ sub SSCam_ptzpanel($;$$) {
my $ptz_ret; my $ptz_ret;
my $row; my $row;
#my @vl = split (/\.|-/,ReadingsVal($name, "SVSversion", ""));
#if(@vl) {
# my $actvs = $vl[0];
# $actvs .= $vl[1];
# return "" if($actvs <= 71);
#}
return "" if(SSCam_myVersion($hash) <= 71); return "" if(SSCam_myVersion($hash) <= 71);
$ptz_ret = "<div class=\"ptzpanel\">"; $ptz_ret = "<div class=\"ptzpanel\">";
@ -7593,9 +7558,9 @@ return $htmlCode;
############################################################################## ##############################################################################
# Auflösung Errorcodes bei Login / Logout # Auflösung Errorcodes bei Login / Logout
# Übernahmewerte sind $hash, $errorcode
############################################################################## ##############################################################################
sub SSCam_experrorauth ($$) { sub SSCam_experrorauth ($$) {
# Übernahmewerte sind $hash, $errorcode
my ($hash,$errorcode) = @_; my ($hash,$errorcode) = @_;
my $device = $hash->{NAME}; my $device = $hash->{NAME};
my $error; my $error;
@ -7610,9 +7575,9 @@ return ($error);
############################################################################## ##############################################################################
# Auflösung Errorcodes SVS API # Auflösung Errorcodes SVS API
# Übernahmewerte sind $hash, $errorcode
############################################################################## ##############################################################################
sub SSCam_experror ($$) { sub SSCam_experror ($$) {
# Übernahmewerte sind $hash, $errorcode
my ($hash,$errorcode) = @_; my ($hash,$errorcode) = @_;
my $device = $hash->{NAME}; my $device = $hash->{NAME};
my $error; my $error;