diff --git a/fhem/FHEM/00_CUL.pm b/fhem/FHEM/00_CUL.pm
index 561638f3c..d6042c874 100755
--- a/fhem/FHEM/00_CUL.pm
+++ b/fhem/FHEM/00_CUL.pm
@@ -148,6 +148,7 @@ CUL_Initialize($)
hmId maxid longids
hmProtocolEvents:0_off,1_dump,2_dumpFull,3_dumpTrigger
model:CUL,CUN,CUNO,SCC,nanoCUL
+ noRawReadLog:1,0
rfmode:SlowRF,HomeMatic,MAX,WMBus_T,WMBus_S,WMBus_C,KOPP_FC
sendpool
showtime:1,0
@@ -549,6 +550,7 @@ CUL_ReadAnswer($$$$)
$mculdata = $hash->{PARTIAL} if(defined($hash->{PARTIAL}));
$to = $ohash->{RA_Timeout} if($ohash->{RA_Timeout}); # ...or less
+ my $name = $ohash->{NAME};
for(;;) {
if($^O =~ m/Win/ && $hash->{USBDev}) {
@@ -568,7 +570,7 @@ CUL_ReadAnswer($$$$)
next if ($! == EAGAIN() || $! == EINTR() || $! == 0);
my $err = $!;
DevIo_Disconnected($hash);
- return("CUL_ReadAnswer $arg: $err", undef);
+ return("CUL_ReadAnswer $name $arg: $err", undef);
}
return ("Timeout reading answer for get $arg", undef)
if($nfound == 0);
@@ -578,7 +580,7 @@ CUL_ReadAnswer($$$$)
}
if(defined($buf)) {
- Log3 $ohash->{NAME}, 5, "CUL/RAW (ReadAnswer): $buf";
+ Log3 $name, 5, "CUL_ReadAnswer $name: $buf" if(!$hash->{".noRawReadLog"});
$mculdata .= $buf;
}
@@ -590,7 +592,7 @@ CUL_ReadAnswer($$$$)
(undef, $line) = CUL_prefix(0, $ohash, $line); # Delete prefix
if($regexp && $line !~ m/$regexp/) {
$line =~ s/[\n\r]+//g;
- CUL_Parse($ohash, $hash, $ohash->{NAME}, $line) if($init_done);
+ CUL_Parse($ohash, $hash, $name, $line) if($init_done);
$mculdata = $hash->{PARTIAL};
} else {
return (undef, $line);
@@ -822,7 +824,7 @@ CUL_Read($)
my $name = $hash->{NAME};
my $culdata = $hash->{PARTIAL};
- Log3 $name, 5, "CUL/RAW: $culdata/$buf";
+ Log3 $name, 5, "CUL_Read: $name $culdata/$buf" if(!$hash->{".noRawReadLog"});
$culdata .= $buf;
while($culdata =~ m/\n/) {
@@ -1001,8 +1003,6 @@ CUL_Attr(@)
my $hash = $defs{$name};
if($aName eq "rfmode") {
-
-
$aVal = "SlowRF" if(!$aVal ||
($aVal ne "HomeMatic"
&& $aVal ne "MAX"
@@ -1112,6 +1112,13 @@ CUL_Attr(@)
} elsif($aName eq "connectCommand"){
CUL_SimpleWrite($hash, $aVal) if($cmd eq "set");
+ } elsif($aName eq "noRawReadLog"){
+ if($cmd eq "set" && $aVal) {
+ $hash->{".noRawReadLog"} = 1
+ } else {
+ delete($hash->{".noRawReadLog"});
+ }
+
}
return undef;
@@ -1136,7 +1143,7 @@ CUL_prefix($$$)
=item summary_DE Anbindung von Geraeten mit dem culfw Firmware, z.Bsp. Busware CUL
=begin html
-
+
CUL
@@ -1172,7 +1179,7 @@ CUL_prefix($$$)
-
+
Define
define <name> CUL <device> <FHTID>
@@ -1213,18 +1220,24 @@ CUL_prefix($$$)
-
+
Set
+
- reopen
Reopens the connection to the device and reinitializes it.
+
- raw
Issue a CUL firmware command. See the this document
for details on CUL commands.
+
+
+
+
- freq / bWidth / rAmpl / sens
SlowRF mode only.
Set the CUL frequency / bandwidth / receiver-amplitude / sensitivity
@@ -1249,13 +1262,13 @@ CUL_prefix($$$)
signals. Default is 4 dB.
-
+
- hmPairForSec
HomeMatic mode only.
Set the CUL in Pairing-Mode for the given seconds. Any HM device set into
pairing mode in this time will be paired with FHEM.
-
+
- hmPairSerial
HomeMatic mode only.
Try to pair with the given device. The argument is a 10 character
@@ -1263,29 +1276,34 @@ CUL_prefix($$$)
the backside of the device. It is not necessary to put the given device
in learning mode if it is a receiver.
-
+
- led
Set the CUL led off (00), on (01) or blinking (02).
+
- ITClock
Set the IT clock for Intertechno V1 protocol. Default 250.
-
+
Get
+
- version
returns the CUL firmware version
+
- uptime
returns the CUL uptime (time since CUL reset)
+
- raw
Issues a CUL firmware command, and waits for one line of data returned by
the CUL. See the CUL firmware README document for details on CUL
commands.
+
- fhtbuf
CUL has a message buffer for the FHT. If the buffer is full, then newly
issued commands will be dropped, and an "EOB" message is issued to the
@@ -1298,38 +1316,44 @@ CUL_prefix($$$)
these FHT commands are sent at once to the FHT.
+
- ccconf
Read some CUL radio-chip (cc1101) registers (frequency, bandwidth, etc.),
and display them in human readable form.
+
- cmds
Depending on the firmware installed, CULs have a different set of
possible commands. Please refer to the README of the firmware of your
CUL to interpret the response of this command. See also the raw command.
+
- credit10ms
One may send for a duration of credit10ms*10 ms before the send limit
is reached and a LOVF is generated.
-
+
Attributes
- - addvaltrigger
+
+ - addvaltrigger
Create triggers for additional device values. Right now these are RSSI
and RAWMSG for the CUL family and RAWMSG for the FHZ.
- - connectCommand
+
+ - connectCommand
raw culfw command sent to the CUL after a (re-)connect of the USB device,
and sending the usual initialization needed for the configured rfmode.
- do_not_notify
- dummy
- - hmId
+
+ - hmId
Set the HomeMatic ID of this device. If this attribute is absent, the
ID will be F1<FHTID>. Note 1: After setting or changing this
attribute you have to relearn all your HomeMatic devices. Note 2: The
@@ -1337,7 +1361,8 @@ CUL_prefix($$$)
won't complain if it is not correct, but the communication won't work.
- - hmProtocolEvents
+
+ - hmProtocolEvents
Generate events for HomeMatic protocol messages. These are normally
used for debugging, by activating "inform timer" in a telnet session,
or looking at the Event Monitor window in the FHEMWEB frontend.
@@ -1350,7 +1375,8 @@ CUL_prefix($$$)
- longids
+
+ longids
Comma separated list of device-types for CUL that should be handled
using long IDs. This additional ID allows it to differentiate some
weather sensors, if they are sending on the same channel.
@@ -1372,8 +1398,16 @@ CUL_prefix($$$)
- model (CUL,CUN,etc)
- sendpool
+ model (CUL,CUN,etc)
+
+
+ noRawReadLog
+ Do not log RAW read events at verbose 5, as sometimes makes this the
+ log unreadable (Forum #122160).
+
+
+
+ sendpool
If using more than one CUL for covering a large area, sending
different events by the different CUL's might disturb each other. This
phenomenon is also known as the Palm-Beach-Resort effect.
@@ -1384,7 +1418,8 @@ CUL_prefix($$$)
attr CUN2 sendpool CUN1,CUN2,CUN3
attr CUN3 sendpool CUN1,CUN2,CUN3
- rfmode
+
+ rfmode
Configure the RF Transceiver of the CUL (the CC1101). Available
arguments are:
@@ -1421,7 +1456,7 @@ CUL_prefix($$$)
=begin html_DE
-
+
CUL
@@ -1461,7 +1496,7 @@ CUL_prefix($$$)
-
+
Define
define <name> CUL <device> <FHTID>
@@ -1510,18 +1545,24 @@ CUL_prefix($$$)
-
+
Set
+
- reopen
Öffnet die Verbindung zum Gerät neu und initialisiert es.
+
- raw
Sendet einen CUL Firmware Befehl. Siehe auch
hier für
nähere Erläuterungen der CUL Befehle.
+
+
+
+
- freq / bWidth / rAmpl / sens
Nur in der Betriebsart SlowRF.
Bestimmt die
CUL Frequenz / Bandbreite / Empfänger Amplitude /
@@ -1554,14 +1595,14 @@ CUL_prefix($$$)
dB.
-
+
hmPairForSec
Nur in der Betriebsart HomeMatic.
Versetzt den
CUL für die angegebene Zeit in Sekunden in den Anlern-Modus. Jedes
HM Gerät, das sich im Anlern-Modus befindet, wird an FHEM
angelernt.
-
+
hmPairSerial
Nur in der Betriebsart HomeMatic.
Versucht, das angegebene Gerät anzulernen (zu "pairen"). Der
@@ -1571,30 +1612,35 @@ CUL_prefix($$$)
Empfänger ist, ist es nicht notwendig, das angegebene Gerät in
den Anlern-Modus zu versetzen.
-
+
led
Schaltet die LED des CUL: aus (00), an (01) oder blinkend (02).
+
ITClock
Setzt die IT clock fü Intertechno V1 Protokoll. Default 250.
-
+
Get
+
- version
gibt die Version der CUL Firmware zurück
+
- uptime
gibt die Betriebszeit des CULs zurück (Zeit seit dem letzten Reset
des CULs)
+
- raw
Sendet einen CUL Firmware Befehl und wartet auf eine Rückgabe des
CULs. Siehe auch README der Firmware für nähere
Erläuterungen zu den CUL Befehlen.
+
- fhtbuf
Der CUL hat einen Puffer für Nachrichten für FHT. Wenn der
Puffer voll ist, werden neu empfangene Telegramme ignoriert und eine
@@ -1608,11 +1654,13 @@ CUL_prefix($$$)
dass diese FHT Befehle in einem "Paket" zum FHT Gerät gesendet werden.
+
- ccconf
Liest einige CUL Register des CC1101 (Sende- und Empfängerchips)
aus (Frequenz, Bandbreite, etc.) und stellt diese in lesbarer Form dar.
+
- cmds
In abhägigkeit der installierten Firmware hat der CUL/CUN(O)
unterschiedliche Befehlssätze. Nähere Informationen über
@@ -1620,20 +1668,23 @@ CUL_prefix($$$)
verwendeten CUL Firmware. Siehe auch Anmerkungen beim raw Befehl.
+
- credit10ms
Der Funkraum darf für eine Dauer von credit10ms*10 ms belegt
werden, bevor die gesetzliche 1% Grenze erreicht ist und eine
LOVF Meldung ausgegeben wird.
-
+
Attribute
- - addvaltrigger
+
+ - addvaltrigger
Generiert Trigger für zusätzliche Werte. Momentan sind dies
RSSI und RAWMSG für die CUL Familie und RAWMSG für FHZ.
- - connectCommand
+
+ - connectCommand
culfw Befehl, was nach dem Verbindungsaufbau mit dem USB-Gerät, nach
Senden der zum Initialisieren der konfigurierten rfmode benötigten
Befehle gesendet wird.
@@ -1642,7 +1693,8 @@ CUL_prefix($$$)
- do_not_notify
- dummy
- - hmId
+
+ - hmId
Setzt die HomeMatic ID des Gerätes. Wenn dieses Attribut fehlt,
wird die ID zu F1<FHTID> gesetzt. Bemerkung 1: Nach dem Setzen
bzw. Verändern dieses Attributes müssen alle HomeMatic
@@ -1651,7 +1703,8 @@ CUL_prefix($$$)
überprüft nicht, ob die ID korrekt ist, im Zweifelsfall
funktioniert die Kommunikation nicht.
- - hmProtocolEvents
+
+ - hmProtocolEvents
Generiert Ereignisse für HomeMatic Telegramme. Diese werden
normalerweise für die Fehlersuche verwendet, z.B. durch Aktivieren
von inform timer
in einer telnet Sitzung bzw. im
@@ -1665,7 +1718,8 @@ CUL_prefix($$$)
- longids
+
+ longids
Durch Kommata getrennte Liste von Device-Typen für Empfang von
langen IDs mit den CUL. Diese zusätzliche ID erlaubt es
Wettersensoren, welche auf dem gleichen Kanal senden zu unterscheiden.
@@ -1689,7 +1743,8 @@ CUL_prefix($$$)
model (CUL,CUN)
- rfmode
+
+ rfmode
Konfiguriert den RF Transceiver des CULs (CC1101). Verfügbare
Argumente sind:
@@ -1715,7 +1770,15 @@ CUL_prefix($$$)
- sendpool
+
+ noRawReadLog
+ In manchen Fällen ist der Empfang von verbose 5 / raw Logmeldungen
+ störend, mit diesem Attribut kann man diese Ausgabe deaktivieren
+ (Forum #122160)
+
+
+
+ sendpool
Wenn mehr als ein CUL verwendet wird, um einen größeren
Bereich abzudecken, können diese sich gegenseitig
beeinflussen. Dieses Phänomen wird auch Palm-Beach-Resort Effekt
diff --git a/fhem/FHEM/DevIo.pm b/fhem/FHEM/DevIo.pm
index b24cbf3ec..f64234e4d 100644
--- a/fhem/FHEM/DevIo.pm
+++ b/fhem/FHEM/DevIo.pm
@@ -261,7 +261,7 @@ DevIo_SimpleWrite($$$;$)
return if(!$hash);
my $name = $hash->{NAME};
- Log3 ($name, 5, $type ? "SW: $msg" : "SW: ".unpack("H*",$msg));
+ Log3 $name, 5, "DevIo_SimpleWrite $name: ".($type ? $msg : unpack("H*",$msg));
$msg = pack('H*', $msg) if($type && $type == 1);
$msg .= "\n" if($addnl);