fix Init_Pin_Client if Firmata is not connected (yet)

git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@3394 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
ntruchsess 2013-07-08 12:50:34 +00:00
parent eea81134c5
commit bfbdf00ef4

View File

@ -373,19 +373,15 @@ FRM_Init_Pin_Client($$$) {
return $u unless defined $args and int(@$args) > 0; return $u unless defined $args and int(@$args) > 0;
my $pin = @$args[0]; my $pin = @$args[0];
$hash->{PIN} = $pin; $hash->{PIN} = $pin;
if (defined $hash->{IODev} and defined $hash->{IODev}->{FirmataDevice}) {
eval { eval {
$hash->{IODev}->{FirmataDevice}->pin_mode($pin,$mode); FRM_Client_FirmataDevice($hash)->pin_mode($pin,$mode);
}; };
if ($@) { if ($@) {
main::Log(2,"FRM_Init error setting pin_mode: ".$@); main::Log(2,"FRM_Init error setting pin_mode: ".$@);
FRM_Client_Unassign($hash); #FRM_Client_Unassign($hash);
return "error setting ".$hash->{NAME}." pin_mode for pin ".$pin; return "error setting ".$hash->{NAME}." pin_mode for pin ".$pin;
} }
return undef; return undef;
}
return "no IODev set" unless defined $hash->{IODev};
return "no FirmataDevice assigned to ".$hash->{IODev}->{NAME};
} }
sub sub