mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-20 19:36:02 +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:
parent
396ce9fae0
commit
03abbe1da1
@ -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>
|
||||||
|
Ö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>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user