2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-03 16:56:54 +00:00

49_SSCam: contrib 9.5.0

git-svn-id: https://svn.fhem.de/fhem/trunk@22423 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
nasseeder1 2020-07-18 12:34:49 +00:00
parent 2cfe1da41a
commit 12bc470599
2 changed files with 23 additions and 21 deletions

View File

@ -7477,12 +7477,12 @@ sub roomRefresh {
my @spgs = devspec2array("TYPE=SSCamSTRM");
my $room = "";
for(@spgs) {
if($defs{$_}{PARENT} eq $name) {
next if(IsDisabled($defs{$_}{NAME}) || !$hash->{HELPER}{INFORM} || $hash->{HELPER}{INFORM} ne $defs{$_}{FUUID});
$fpr = AttrVal($defs{$_}{NAME},"forcePageRefresh",0);
$room = AttrVal($defs{$_}{NAME},"room","");
Log3($name, 4, "$name - roomRefresh - pagerefresh: $defs{$_}{NAME}") if($fpr);
for my $sd (@spgs) {
if($defs{$sd}{LINKPARENT} eq $name) {
next if(IsDisabled($defs{$sd}{NAME}) || !$hash->{HELPER}{INFORM} || $hash->{HELPER}{INFORM} ne $defs{$sd}{FUUID});
$fpr = AttrVal($defs{$sd}{NAME},"forcePageRefresh",0);
$room = AttrVal($defs{$sd}{NAME},"room","");
Log3($name, 4, "$name - roomRefresh - pagerefresh: $defs{$sd}{NAME}") if($fpr);
}
}
@ -7491,8 +7491,7 @@ sub roomRefresh {
if(!$fpr) {
# nur Räume mit dem SSCamSTRM-Device reloaden
my @rooms = split(",",$room);
for (@rooms) {
my $r = $_;
for my $r (@rooms) {
{ map { FW_directNotify("FILTER=room=$r", "#FHEMWEB:$_", "location.reload('true')", "") } devspec2array("TYPE=FHEMWEB") }
}
}
@ -7511,19 +7510,19 @@ sub roomRefresh {
readingsSingleUpdate($hash,"state", $st, 0);
}
# parentState des SSCamSTRM-Device updaten
# parentState des SSCamSTRM-Device updaten ($hash->{HELPER}{INFORM} des LINKPARENT Devices muss FUUID des Streaming Devices haben)
if($lpoll_strm) {
$st = ReadingsVal($name, "state", "initialized");
for(@spgs) {
if($defs{$_}{PARENT} eq $name) {
next if(IsDisabled($defs{$_}{NAME}) || !$hash->{HELPER}{INFORM} || $hash->{HELPER}{INFORM} ne $defs{$_}{FUUID});
for my $sp (@spgs) {
if($defs{$sp}{LINKPARENT} eq $name) {
next if(IsDisabled($defs{$sp}{NAME}) || !$hash->{HELPER}{INFORM} || $hash->{HELPER}{INFORM} ne $defs{$sp}{FUUID});
readingsBeginUpdate($defs{$_});
readingsBulkUpdate ($defs{$_},"parentState", $st);
readingsBulkUpdate ($defs{$_},"state", "updated");
readingsEndUpdate ($defs{$_}, 1);
readingsBeginUpdate($defs{$sp});
readingsBulkUpdate ($defs{$sp},"parentState", $st);
readingsBulkUpdate ($defs{$sp},"state", "updated");
readingsEndUpdate ($defs{$sp}, 1);
Log3($name, 4, "$name - roomRefresh - caller: $_, FUUID: $hash->{HELPER}{INFORM}");
Log3($name, 4, "$name - roomRefresh - caller: $sp, FUUID: $hash->{HELPER}{INFORM}");
delete $hash->{HELPER}{INFORM};
}
}

View File

@ -314,7 +314,6 @@ sub Set {
return qq{The command "$opt" needs a valid SSCamSTRM device as argument} if(!$valid);
# Übernahme der Readings
my @r;
delReadings($hash);
@ -326,14 +325,16 @@ sub Set {
# Übernahme Link-Parameter
my $link = "{$defs{$strmd}{LINKFN}('$defs{$strmd}{LINKPARENT}','$defs{$strmd}{LINKNAME}','$defs{$strmd}{LINKMODEL}')}";
# readingsSingleUpdate($hash,"clientLink", $link, 0);
explodeLinkData ($hash, $link, 0);
push @r, "clientLink:$link";
if(@r) {
setReadings($hash, \@r, 0);
}
webRefresh($hash);
my $camname = $hash->{LINKPARENT};
$defs{$camname}{HELPER}{INFORM} = $hash->{FUUID};
FHEM::SSCam::roomRefresh ("$camname,1,0,0");
} elsif ($opt eq "reset") {
delReadings($hash);
@ -345,7 +346,9 @@ sub Set {
setReadings($hash, \@r, 0);
webRefresh($hash);
my $camname = $hash->{LINKPARENT};
$defs{$camname}{HELPER}{INFORM} = $hash->{FUUID};
FHEM::SSCam::roomRefresh ("$camname,1,0,0");
} else {
return "$setlist";