From 3960f4c93e6ee82d119039745d932297ac19640c Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Sat, 18 Jul 2020 16:43:30 +0000 Subject: [PATCH] 49_SSCam: contrib 9.5.0 git-svn-id: https://svn.fhem.de/fhem/trunk@22427 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/DS_Starter/49_SSCam.pm | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/fhem/contrib/DS_Starter/49_SSCam.pm b/fhem/contrib/DS_Starter/49_SSCam.pm index 308b2d228..56223bbc8 100644 --- a/fhem/contrib/DS_Starter/49_SSCam.pm +++ b/fhem/contrib/DS_Starter/49_SSCam.pm @@ -7474,7 +7474,8 @@ sub roomRefresh { my $fpr = 0; # SSCamSTRM-Device mit hinterlegter FUUID ($hash->{HELPER}{INFORM}) selektieren - my @spgs = devspec2array("TYPE=SSCamSTRM"); + my @spgs = devspec2array("TYPE=SSCamSTRM"); # alle Streaming Devices ! + my @mstd = devspec2array("TYPE=SSCamSTRM:FILTER=MODEL=master"); # alle Streaming MODEL=master Devices my $room = ""; for my $sd (@spgs) { @@ -7513,7 +7514,7 @@ sub roomRefresh { # 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 my $sp (@spgs) { + for my $sp (@spgs) { # $sp = ein Streaming Device aus allen Streaming Devices if($defs{$sp}{LINKPARENT} eq $name) { next if(IsDisabled($defs{$sp}{NAME}) || !$hash->{HELPER}{INFORM} || $hash->{HELPER}{INFORM} ne $defs{$sp}{FUUID}); @@ -7522,6 +7523,15 @@ sub roomRefresh { readingsBulkUpdate ($defs{$sp},"state", "updated"); readingsEndUpdate ($defs{$sp}, 1); + for my $sm (@mstd) { # Wenn Streaming Device von Streaming Master adoptiert wurde auch den Master updaten + next if($defs{$sm}{LINKNAME} ne $sp); + + readingsBeginUpdate($defs{$sm}); + readingsBulkUpdate ($defs{$sm},"parentState", $st); + readingsBulkUpdate ($defs{$sm},"state", "updated"); + readingsEndUpdate ($defs{$sm}, 1); + } + Log3($name, 4, "$name - roomRefresh - caller: $sp, FUUID: $hash->{HELPER}{INFORM}"); delete $hash->{HELPER}{INFORM}; }