From e4cadb65d514f41ff0405af9e3c4ef0cd95c1212 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Mon, 6 Feb 2012 16:05:59 +0000 Subject: [PATCH] Undef added git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@1236 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- FHEM/00_TCM.pm | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/FHEM/00_TCM.pm b/FHEM/00_TCM.pm index 48f95d11b..8afa6fe86 100755 --- a/FHEM/00_TCM.pm +++ b/FHEM/00_TCM.pm @@ -50,6 +50,7 @@ TCM_Initialize($) # Normal devices $hash->{DefFn} = "TCM_Define"; + $hash->{UndefFn} = "TCM_Undef"; $hash->{GetFn} = "TCM_Get"; $hash->{SetFn} = "TCM_Set"; $hash->{AttrList}= "do_not_notify:1,0 dummy:1,0 loglevel:0,1,2,3,4,5,6"; @@ -610,7 +611,7 @@ TCM_ReadAnswer($$) if(defined($buf)) { $data .= uc(unpack('H*', $buf)); - Log 5, "TCM/RAW (ReadAnswer): $data"; + Log $ll5, "TCM/RAW (ReadAnswer): $data"; if($hash->{MODEL} eq "120") { if(length($data) >= 28) { @@ -645,7 +646,26 @@ TCM_ReadAnswer($$) } } } +} +sub +TCM_Undef($$) +{ + my ($hash, $arg) = @_; + my $name = $hash->{NAME}; + + foreach my $d (sort keys %defs) { + if(defined($defs{$d}) && + defined($defs{$d}{IODev}) && + $defs{$d}{IODev} == $hash) + { + my $lev = ($reread_active ? 4 : 2); + Log GetLogLevel($name,$lev), "deleting port for $d"; + delete $defs{$d}{IODev}; + } + } + DevIo_CloseDev($hash); + return undef; } 1;