From c6f47df4960a77561e795e1ca1433532e6ff65be Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Fri, 6 Jan 2017 12:32:42 +0000 Subject: [PATCH] 00_CUL.pm: TSCUL patches (Forum #57806) git-svn-id: https://svn.fhem.de/fhem/trunk@12978 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_CUL.pm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/fhem/FHEM/00_CUL.pm b/fhem/FHEM/00_CUL.pm index 967b0f85f..1244db330 100755 --- a/fhem/FHEM/00_CUL.pm +++ b/fhem/FHEM/00_CUL.pm @@ -47,6 +47,7 @@ my @ampllist = (24, 27, 30, 33, 36, 38, 40, 42); # rAmpl(dB) my $sccMods = "STACKABLE_CC:TSSTACKED"; # for noansi my $culNameRe = "^(CUL|TSCUL)\$"; +my $culLikeRe = "^(CUL|TSCUL|STACKABLE_CC|TSSTACKED)\$"; my $clientsSlowRF = ":FS20:FHT.*:KS300:USF1000:BS:HMS: ". ":CUL_EM:CUL_WS:CUL_FHTTK:CUL_HOERMANN: ". @@ -188,7 +189,7 @@ CUL_Define($$) my $x = $1; foreach my $d (keys %defs) { next if($d eq $name); - if($defs{$d}{TYPE} =~ m/$culNameRe/) { + if($defs{$d}{TYPE} =~ m/$culLikeRe/) { if(uc($defs{$d}{FHTID}) =~ m/^$x/) { my $m = "$name: Cannot define multiple CULs with identical ". "first two digits ($x)"; @@ -1138,12 +1139,10 @@ sub CUL_prefix($$$) { my ($isadd, $hash, $msg) = @_; - my $t = $hash->{TYPE}; - while($t !~ m/$culNameRe/) { + while($hash && $hash->{TYPE} !~ m/$culNameRe/) { $msg = CallFn($hash->{NAME}, $isadd ? "AddPrefix":"DelPrefix", $hash, $msg); $hash = $hash->{IODev}; last if(!$hash); - $t = $hash->{TYPE}; } return ($hash, $msg); }