mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-21 14:04:15 +00:00
reset hung ec3000 sketch by closeing and reopening device
git-svn-id: https://svn.fhem.de/fhem/trunk@5999 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
1f3887058b
commit
507ab030a3
@ -17,6 +17,7 @@ sub JeeLink_Ready($);
|
||||
sub JeeLink_Write($$);
|
||||
|
||||
sub JeeLink_SimpleWrite(@);
|
||||
sub JeeLink_ResetDevice($);
|
||||
|
||||
my $clientsJeeLink = ":PCA301:EC3000:RoomNode:LaCrosse:ETH200comfort:CUL_IR:HX2272:FS20:AliRF";
|
||||
|
||||
@ -167,7 +168,7 @@ JeeLink_Set($@)
|
||||
my $arg = join(" ", @a);
|
||||
|
||||
|
||||
my $list = "beep raw led:on,off led-on-for-timer LaCrossePairForSec setReceiverMode:LaCrosse,HX2272,FS20";
|
||||
my $list = "beep raw led:on,off led-on-for-timer reset LaCrossePairForSec setReceiverMode:LaCrosse,HX2272,FS20";
|
||||
return $list if( $cmd eq '?' || $cmd eq '');
|
||||
|
||||
|
||||
@ -250,6 +251,9 @@ JeeLink_Set($@)
|
||||
Log3 $name, 4, "Follow: +$to setstate $name off";
|
||||
CommandDefine(undef, $name."_timer at +$to {fhem(\"set $name led" ." off\")}");
|
||||
|
||||
} elsif ($cmd =~ m/reset/i) {
|
||||
return JeeLink_ResetDevice($hash);
|
||||
|
||||
} else {
|
||||
return "Unknown argument $cmd, choose one of ".$list;
|
||||
}
|
||||
@ -594,7 +598,16 @@ JeeLink_Parse($$$$)
|
||||
return;
|
||||
|
||||
} elsif( $dmsg =~ m/drecvintr exit/ ) {
|
||||
JeeLink_SimpleWrite($hash, "ec",1);
|
||||
# command "ec" will not work with the EC3000, use reset instead
|
||||
Log3 $hash, 0, "$name: drecvintr detected";
|
||||
JeeLink_ResetDevice($hash);
|
||||
|
||||
#JeeLink_SimpleWrite($hash, "ec",1);
|
||||
} elsif( $dmsg =~ m/RFM12 hang/ ) {
|
||||
# EC3000 seems not to recover from an RFM12 hang, so do a reset
|
||||
Log3 $hash, 0, "$name: RFM12 hang detected";
|
||||
JeeLink_ResetDevice($hash);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -718,6 +731,17 @@ JeeLink_SimpleWrite(@)
|
||||
# Some linux installations are broken with 0.001, T01 returns no answer
|
||||
select(undef, undef, undef, 0.01);
|
||||
}
|
||||
sub
|
||||
JeeLink_ResetDevice($)
|
||||
{
|
||||
my ($hash) = @_;
|
||||
|
||||
DevIo_CloseDev($hash);
|
||||
my $ret = DevIo_OpenDev($hash, 0, "JeeLink_DoInit");
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
sub
|
||||
JeeLink_Attr(@)
|
||||
@ -843,7 +867,9 @@ sub JeeLink_getIndexOfArray($@) {
|
||||
<ul>
|
||||
<li>raw <datar><br>
|
||||
send <data> as a raw message to the JeeLink to be transmitted over the RF link.
|
||||
</li><br>
|
||||
</li>
|
||||
<li>reset<br>
|
||||
force a device reset closing and reopening the device.</li>
|
||||
<li>LaCrossePairForSec <sec> [ignore_battery]<br>
|
||||
enable autocreate of new LaCrosse sensors for <sec> seconds. if ignore_battery is not given only sensors
|
||||
sending the 'new battery' flag will be created.
|
||||
|
Loading…
x
Reference in New Issue
Block a user