From 2926456a44abf73572b90ea3c45b55b60f36032a Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Mon, 8 Feb 2010 13:33:55 +0000 Subject: [PATCH] Queue FS20 over RFR in order to avoid collisions git-svn-id: svn://svn.code.sf.net/p/fhem/code/trunk@572 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_CUL.pm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/fhem/FHEM/00_CUL.pm b/fhem/FHEM/00_CUL.pm index 65477a895..0d19edd1e 100755 --- a/fhem/FHEM/00_CUL.pm +++ b/fhem/FHEM/00_CUL.pm @@ -1,5 +1,4 @@ ############################################## - package main; use strict; @@ -20,6 +19,7 @@ sub CUL_OpenDev($$); sub CUL_CloseDev($); sub CUL_SimpleWrite(@); sub CUL_SimpleRead($); +sub CUL_Disconnected($); my $initstr = "X21"; # Only translated messages + RSSI my %gets = ( @@ -618,6 +618,14 @@ CUL_Write($$$) CUL_SimpleWrite($hash, $bstring); } + } elsif($bstring =~ m/u....F/) { + # put FS20 messages sent over an RFR in the common queue + + if(!CUL_AddFS20Queue($hash, $bstring)) { + CUL_SimpleWrite($hash, $bstring); + } + + } else { CUL_SimpleWrite($hash, $bstring); @@ -846,7 +854,7 @@ CUL_SimpleRead($) if($hash->{TCPDev}) { my $buf; if(!defined(sysread($hash->{TCPDev}, $buf, 256))) { - CUL_Disconnected(); + CUL_Disconnected($hash); return undef; } @@ -949,7 +957,7 @@ CUL_OpenDev($$) if($reopen) { Log 1, "CUL $dev reappeared ($name)"; } else { - Log 3, "CUL opened $dev for $name"; + Log 3, "CUL device opened"; } $hash->{STATE}=""; # Allow InitDev to set the state