diff --git a/fhem/contrib/DS_Starter/49_SSCamSTRM.pm b/fhem/contrib/DS_Starter/49_SSCamSTRM.pm index 39e555f6a..80c9caa3b 100644 --- a/fhem/contrib/DS_Starter/49_SSCamSTRM.pm +++ b/fhem/contrib/DS_Starter/49_SSCamSTRM.pm @@ -326,17 +326,11 @@ sub Set { # Übernahme Link-Parameter my $link = "{$defs{$strmd}{LINKFN}('$defs{$strmd}{LINKPARENT}','$defs{$strmd}{LINKNAME}','$defs{$strmd}{LINKMODEL}')}"; - readingsSingleUpdate($hash,"clientLink", $link, 0); + # readingsSingleUpdate($hash,"clientLink", $link, 0); + push @r, "clientLink:$link"; if(@r) { - readingsBeginUpdate($hash); - - for my $elem (@r) { - my ($rn,$rval) = split ":", $elem, 2; - readingsBulkUpdate($hash, $rn, $rval); - } - - readingsEndUpdate($hash, 0); + setReadings($hash, \@r, 0); } webRefresh($hash); @@ -349,14 +343,7 @@ sub Set { push @r, "parentState:initialized"; push @r, "state:initialized"; - readingsBeginUpdate($hash); - - for my $elem (@r) { - my ($rn,$rval) = split ":", $elem, 2; - readingsBulkUpdate($hash, $rn, $rval); - } - - readingsEndUpdate($hash, 0); + setReadings($hash, \@r, 0); webRefresh($hash); @@ -651,6 +638,31 @@ sub delReadings { return; } +################################################################ +# set Readings +# $rref = Referenz zum Array der zu setzenen Reading +# (Aufbau: :) +# $event = 1 wenn Event generiert werden soll +################################################################ +sub setReadings { + my $hash = shift; + my $rref = shift; + my $event = shift; + + my $name = $hash->{NAME}; + + readingsBeginUpdate($hash); + + for my $elem (@$rref) { + my ($rn,$rval) = split ":", $elem, 2; + readingsBulkUpdate($hash, $rn, $rval); + } + + readingsEndUpdate($hash, $event); + +return; +} + ################################################################ # liefert String aller Streamingdevices außer MODEL = master # und füllt Hash %sdevs{Alias} = Devicename zu Auflösung