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
The CUL/CUR/CUN is a family of RF devices sold by busware.de.
With the opensource firmware (see this link) they are capable
- to receive and send different 868MHz protocols (FS20/FHT/S300/EM/HMS). + to receive and send different 868MHz protocols (FS20/FHT/S300/EM/HMS). + It is even possible to use these devices as range extenders/routers, see the + CUL_RFR module for details. + - Some protocols (FS20/FHT) are converted by this module so that the same - logical device can be used, irrespective if the radio telegram is received by - a CUL or an FHZ device. - Other protocols (S300/EM) need their own modules. E.g. S300 devices are - processed by the CUL_WS module if the signals are received by the CUL, - similarly EMWZ/EMGZ/EMEM is handled by the CUL_EM module. - + Some protocols (FS20, FHT and KS300) are converted by this module so that + the same logical device can be used, irrespective if the radio telegram is + received by a CUL or an FHZ device. Other protocols (S300/EM) need their + own modules. E.g. S300 devices are processed by the CUL_WS module if the + signals are received by the CUL, similarly EMWZ/EMGZ/EMEM is handled by the + CUL_EM module. + + + It is possible to attach more than one device in order to get better + reception, fhem will filter out duplicate messages. + + | + + |
- { $defs{emwz}{READINGS}{basis}{VAL} = <computedvalue> }- + EMWZ device (named emwz) to this value.
+ The CUL_RFR module is used to "attach" a second CUL to your base CUL, and
+ use it as a repeater / range extender. RFR is shorthand for RF_ROUTER.
+ Transmission of the data uses the CC1101 packet capabilities with GFSK
+ modulation at 250kBaud after pinging the base CUL at the usual 1kBaud. When
+ configured, the RFR device can be used like another CUL connected directly to
+ fhem.
+
+
+ + Before you can use this feature in fhem, you have to enable/configure RF + ROUTING in both CUL's: +
| + + |
define <name> CUL_RFR <own-id> <base-id>
define MyCUL raw u0100
define MyCUL raw u0201
define MyRFR CUL_RFR 02 01