From 73af9420e05dc62485dc580348ef462e9cf92209 Mon Sep 17 00:00:00 2001 From: ntruchsess Date: Sun, 20 Oct 2013 20:10:49 +0000 Subject: [PATCH] Merge branch 'dev' git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@4080 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/10_FRM.pm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/fhem/FHEM/10_FRM.pm b/fhem/FHEM/10_FRM.pm index db8ab9027..97eef2fb9 100755 --- a/fhem/FHEM/10_FRM.pm +++ b/fhem/FHEM/10_FRM.pm @@ -372,6 +372,16 @@ FRM_Init_Pin_Client($$$) { my $u = "wrong syntax: define FRM_XXX pin"; return $u unless defined $args and int(@$args) > 0; my $pin = @$args[0]; + + foreach my $d ( sort keys %main::defs ) { + if ( defined( $main::defs{$d} ) + && defined( $main::defs{$d}{IODev} ) + && defined( $main::defs{$d}{PIN} ) + && $main::defs{$d}{IODev} == $hash->{IODev} + && $main::defs{$d}{PIN} == $pin ) { + die "Device $main::defs{$d}{NAME} allready defined for pin $pin"; + } + } $hash->{PIN} = $pin; eval { FRM_Client_FirmataDevice($hash)->pin_mode($pin,$mode); @@ -393,9 +403,10 @@ FRM_Client_Define($$) $hash->{STATE}="defined"; AssignIoPort($hash); - FRM_Init_Client($hash,[@a[2..scalar(@a)-1]]); - - return undef; + eval { + FRM_Init_Client($hash,[@a[2..scalar(@a)-1]]); + }; + return $@; } sub