2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-20 07:16:03 +00:00

93_FHEM2FHEM: add reopen, fix modify on unreachable bug (Forum #30242)

git-svn-id: https://svn.fhem.de/fhem/trunk@7183 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2014-12-10 20:31:12 +00:00
parent 396ce9fae0
commit 03abbe1da1

View File

@ -24,6 +24,7 @@ FHEM2FHEM_Initialize($)
$hash->{ReadFn} = "FHEM2FHEM_Read"; $hash->{ReadFn} = "FHEM2FHEM_Read";
$hash->{WriteFn} = "FHEM2FHEM_Write"; $hash->{WriteFn} = "FHEM2FHEM_Write";
$hash->{ReadyFn} = "FHEM2FHEM_Ready"; $hash->{ReadyFn} = "FHEM2FHEM_Ready";
$hash->{SetFn} = "FHEM2FHEM_Set";
$hash->{noRawInform} = 1; $hash->{noRawInform} = 1;
# Normal devices # Normal devices
@ -196,6 +197,7 @@ FHEM2FHEM_CloseDev($)
$hash->{TCPDev}->close() if($hash->{TCPDev}); $hash->{TCPDev}->close() if($hash->{TCPDev});
$hash->{TCPDev2}->close() if($hash->{TCPDev2}); $hash->{TCPDev2}->close() if($hash->{TCPDev2});
delete($hash->{NEXT_OPEN});
delete($hash->{TCPDev}); delete($hash->{TCPDev});
delete($hash->{TCPDev2}); delete($hash->{TCPDev2});
delete($selectlist{"$name.$dev"}); delete($selectlist{"$name.$dev"});
@ -233,7 +235,8 @@ FHEM2FHEM_OpenDev($$)
} }
if($conn) { if($conn) {
delete($hash->{NEXT_OPEN}) delete($hash->{NEXT_OPEN});
$conn->setsockopt(SOL_SOCKET, SO_KEEPALIVE, 1);
} else { } else {
Log3($name, 3, "Can't connect to $dev: $!") if(!$reopen); Log3($name, 3, "Can't connect to $dev: $!") if(!$reopen);
@ -296,6 +299,21 @@ FHEM2FHEM_SimpleRead($)
return $buf; return $buf;
} }
sub
FHEM2FHEM_Set($@)
{
my ($hash, @a) = @_;
return "set needs at least one parameter" if(@a < 2);
return "Unknown argument $a[1], choose one of reopen:noArg"
if($a[1] ne "reopen");
FHEM2FHEM_CloseDev($hash);
FHEM2FHEM_OpenDev($hash, 0);
return undef;
}
1; 1;
=pod =pod
@ -370,7 +388,11 @@ FHEM2FHEM_SimpleRead($)
<br> <br>
<a name="FHEM2FHEMset"></a> <a name="FHEM2FHEMset"></a>
<b>Set</b> <ul>N/A</ul><br> <b>Set </b>
<ul>
<li>reopen<br>
Reopens the connection to the device and reinitializes it.</li><br>
</ul>
<a name="FHEM2FHEMget"></a> <a name="FHEM2FHEMget"></a>
<b>Get</b> <ul>N/A</ul><br> <b>Get</b> <ul>N/A</ul><br>
@ -463,7 +485,11 @@ FHEM2FHEM_SimpleRead($)
<br> <br>
<a name="FHEM2FHEMset"></a> <a name="FHEM2FHEMset"></a>
<b>Set</b> <ul>N/A</ul><br> <b>Set </b>
<ul>
<li>reopen<br>
&Ouml;ffnet die Verbindung erneut.</li>
</ul>
<a name="FHEM2FHEMget"></a> <a name="FHEM2FHEMget"></a>
<b>Get</b> <ul>N/A</ul><br> <b>Get</b> <ul>N/A</ul><br>