From cc9ca3cf3a5c0a9ecdebac32e1358a31cdef5b05 Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Tue, 26 Oct 2010 09:56:51 +0000 Subject: [PATCH] Check the CUL id for 8v collision git-svn-id: https://svn.fhem.de/fhem/trunk@740 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/11_FHT.pm | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/fhem/FHEM/11_FHT.pm b/fhem/FHEM/11_FHT.pm index 11f911f2a..9657b770b 100755 --- a/fhem/FHEM/11_FHT.pm +++ b/fhem/FHEM/11_FHT.pm @@ -324,12 +324,25 @@ FHT_Define($$) $hash->{CODE} = $a[2]; - $hash->{CODE} = $a[2]; + AssignIoPort($hash); + + # Check if the CULs id collides with our id. + if($hash->{IODev} && $hash->{IODev}{TYPE} eq "CUL") { + $hash->{IODev}{FHTID} =~ m/^(..)(..)$/; + my ($i1, $i2) = (hex($1), hex($2)); + $a[2] =~ m/^(..)(..)$/; + my ($l1, $l2) = (hex($1), hex($2)); + + if($l2 == $i2 && $l1 >= $i1 && $l1 <= $i1+7) { + my $err = "$a[0]: CODE collides with the FHTID of the corresponding CUL"; + Log 1, $err; + return $err; + } + } + $modules{FHT}{defptr}{$a[2]} = $hash; $attr{$a[0]}{retrycount} = 3; - AssignIoPort($hash); - #Log GetLogLevel($a[0],2),"Asking the FHT device $a[0]/$a[2] to send its data"; #FHT_Set($hash, ($a[0], "report1", "255", "report2", "255"));