DevIo.pm: fix reattach handling of ser2net device (Forum #54732)

git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@11693 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2016-06-19 10:21:42 +00:00
parent ea96ed747c
commit 98dc2bdced

View File

@ -373,25 +373,34 @@ DevIo_OpenDev($$$)
$po->write_settings; $po->write_settings;
} }
if($reopen) {
Log3 $name, 1, "$dev reappeared ($name)";
} else {
Log3 $name, 3, "$name device opened" if(!$hash->{DevioText});
}
DevIo_setStates($hash, "opened"); DevIo_setStates($hash, "opened");
my $ret; my $ret;
if($initfn) { if($initfn) {
my $ret = &$initfn($hash); my $hadFD = defined($hash->{FD});
$ret = &$initfn($hash);
if($ret) { if($ret) {
DevIo_CloseDev($hash); if($hadFD && !defined($hash->{FD})) { # Forum #54732 / ser2net
Log3 $name, 1, "Cannot init $dev, ignoring it ($name)"; DevIo_Disconnected($hash);
$hash->{NEXT_OPEN} = time()+60;
} else {
DevIo_CloseDev($hash);
Log3 $name, 1, "Cannot init $dev, ignoring it ($name)";
}
} }
} }
DoTrigger($name, "CONNECTED") if($reopen); if(!$ret) {
return $ret; if($reopen) {
Log3 $name, 1, "$dev reappeared ($name)";
} else {
Log3 $name, 3, "$name device opened" if(!$hash->{DevioText});
}
}
DoTrigger($name, "CONNECTED") if($reopen && !$ret);
return undef;
} }
sub sub