diff --git a/fhem/CHANGED b/fhem/CHANGED index e2bb7cd9b..855ba6789 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -544,3 +544,4 @@ - feature: pgm3: Google-Weather, Battery-Check, Log-View added (MartinH) - feature: CUL_RFR (RF_ROUTING) added - feature: Command save retains now the order of the old config file + - feature: List parameter added (list .* RFR_MSGCNT) diff --git a/fhem/FHEM/00_CUL.pm b/fhem/FHEM/00_CUL.pm index 6eb79f68a..c76fdea46 100755 --- a/fhem/FHEM/00_CUL.pm +++ b/fhem/FHEM/00_CUL.pm @@ -526,7 +526,7 @@ CUL_ReadAnswer($$$) } if($buf) { - Log 5, "CUL/RAW: $buf"; + Log 5, "CUL/RAW (ReadAnswer): $buf"; $mculdata .= $buf; } $mculdata = CUL_RFR_DelPrefix($mculdata) if($type eq "CUL_RFR"); diff --git a/fhem/FHEM/16_CUL_RFR.pm b/fhem/FHEM/16_CUL_RFR.pm index 76e849b93..8826fea66 100755 --- a/fhem/FHEM/16_CUL_RFR.pm +++ b/fhem/FHEM/16_CUL_RFR.pm @@ -18,10 +18,7 @@ CUL_RFR_Initialize($) # Message is like # K41350270 - my $cl = $modules{CUL}->{Clients}; - $cl =~ s/CUL_RFR//; # Dont want to be my own client. - - $hash->{Clients} = $cl; + $hash->{Clients} = $modules{CUL}->{Clients}; $hash->{Match} = "^[0-9A-F]{4}U."; $hash->{DefFn} = "CUL_RFR_Define"; $hash->{UndefFn} = "CUL_RFR_Undef"; @@ -69,7 +66,7 @@ sub CUL_RFR_Undef($$) { my ($hash, $name) = @_; - delete($defptr{$hash->{CODE}}); + delete($defptr{$hash->{ID} . $hash->{ROUTERID}}); return undef; } @@ -91,6 +88,13 @@ CUL_RFR_Parse($$) } my $hash = $defptr{$cde}; my $name = $hash->{NAME}; + + if($smsg =~ m/^T/) { $hash->{NR_TMSG}++ } + elsif($smsg =~ m/^F/) { $hash->{NR_FMSG}++ } + elsif($smsg =~ m/^E/) { $hash->{NR_EMSG}++ } + elsif($smsg =~ m/^K/) { $hash->{NR_KMSG}++ } + else { $hash->{NR_RMSG}++ } + CUL_Parse($hash, $iohash, $hash->{NAME}, $smsg, "X21"); return ""; } @@ -98,7 +102,7 @@ CUL_RFR_Parse($$) sub CUL_RFR_DelPrefix($) { - my ($prefix, $msg) = split("U", shift); + my ($prefix, $msg) = split("U", shift, 2); return $msg; } diff --git a/fhem/docs/ccc.jpg b/fhem/docs/ccc.jpg new file mode 100644 index 000000000..cf20ec4b7 Binary files /dev/null and b/fhem/docs/ccc.jpg differ diff --git a/fhem/docs/commandref.html b/fhem/docs/commandref.html index 5e866a75a..edc0ca1d4 100644 --- a/fhem/docs/commandref.html +++ b/fhem/docs/commandref.html @@ -55,6 +55,7 @@ CUL_EM   CUL_FHTTK   CUL_WS   + CUL_RFR   DbLog   EM   EMEM   @@ -1594,21 +1595,35 @@ A line ending with \ will be concatenated with the next one, so long lines

CUL


- + Set
- + Get
Attributes @@ -1765,19 +1780,15 @@ A line ending with \ will be concatenated with the next one, so long lines STATE reading the current reading of your meter. For this purpose: multiply the current reading (from the real device) with the corr1 value (RperKW), and substract the RAW CUM value from it. Now set the basis reading of your - EMWZ device (named emwz) to this value:
- -
-    { $defs{emwz}{READINGS}{basis}{VAL} = <computedvalue> }
- + EMWZ device (named emwz) to this value.

- + Set
- + Get
Attributes @@ -1791,6 +1802,75 @@ A line ending with \ will be concatenated with the next one, so long lines
+ +

CUL_RFR

+ +
+ +

EM

diff --git a/fhem/docs/cul_rfr.jpg b/fhem/docs/cul_rfr.jpg new file mode 100644 index 000000000..effc9f6da Binary files /dev/null and b/fhem/docs/cul_rfr.jpg differ diff --git a/fhem/fhem.pl b/fhem/fhem.pl index cb716340f..bcf957a5c 100755 --- a/fhem/fhem.pl +++ b/fhem/fhem.pl @@ -155,7 +155,7 @@ my $nextat; # Time when next timer will be triggered. my $intAtCnt=0; my %duplicate; # Pool of received msg for multi-fhz/cul setups my $duplidx=0; # helper for the above pool -my $cvsid = '$Id: fhem.pl,v 1.87 2009-11-25 11:13:44 rudolfkoenig Exp $'; +my $cvsid = '$Id: fhem.pl,v 1.88 2009-11-28 11:14:12 rudolfkoenig Exp $'; my $namedef = "where is either:\n" . "- a single device name\n" . @@ -1696,14 +1696,13 @@ RemoveInternalTimer($) sub SignalHandling() { - if ($^O ne "MSWin32") { - + if($^O ne "MSWin32") { $SIG{'INT'} = sub { $sig_term = 1; }; - $SIG{'QUIT'} = sub { $sig_term = 1; }; $SIG{'TERM'} = sub { $sig_term = 1; }; $SIG{'PIPE'} = 'IGNORE'; $SIG{'CHLD'} = 'IGNORE'; $SIG{'HUP'} = sub { CommandRereadCfg(undef, "") }; + } }