Hallo,
bei den u.g. Code Auszügen vom CUL_TCM97001 Modul ist mir nicht klar wie das funktionieren soll.
Wo muss ich verbose 5 setzen damit eine log Ausgabe erfolgt?
sub checksum_W174 {
my $msg = shift;
Log3 "CUL_TCM97001 ", 4 , "CUL_TCM97001 W174 checksum calc for: $msg";
...
Log3 "CUL_TCM97001 ", 4 , "CUL_TCM97001 W174 checksum ok $CRC == ".hex($aReverse[8]);
sub checksum_W155 {
my $msg = shift;
Log3 "CUL_TCM97001 ", 5 , "CUL_TCM97001 W155 checksum calc for: $msg";
...
Log3 "CUL_TCM97001 ", 5 , "CUL_TCM97001 W155 checksum ok $CRC == ".hex($aReverse[8]);
sub checkCRC4 {
my $msg = shift;
...
Log3 "checkCRC4", 5, "CUL_TCM97001 checkCRC4 failed for msg=($msg) length<9";
...
Log3 "checkCRC4", 5, "CUL_TCM97001 checkCRC4 OK for msg=($msg)";
...
Log3 "checkCRC4", 5, "CUL_TCM97001 checkCRC4 FAILED for msg=($msg)";
sub isRain {
my $msg = shift;
...
Log3 "isRain", 5, "CUL_TCM97001 isRain failed for msg=($msg) length<9";
...
Log3 "isRain", 5, "CUL_TCM97001 isRain for msg=($msg) = FALSE";
...
Log3 "isRain", 5, "CUL_TCM97001 isRain for msg=($msg) = TRUE";
...
sub checkCRCKW9010 {
my $msg = shift;
Log3 "CUL_TCM97001", 5 , "CUL_TCM97001 checkCRCKW9010 crc calc for: $msg";
...
Log3 "CUL_TCM97001", 5 , "CUL_TCM97001 checkCRCKW9010 calc crc is: $CRC";
Log3 "CUL_TCM97001", 5 , "CUL_TCM97001 checkCRCKW9010 ref crc is :".hex($aReverse[8]);
Gruß Ralf
Hi Ralf,
immer beim modulbezogenen device, also dem CUL_TCM97001 device. Ich vermute aber, dass es Dir um autocreate geht ? Dann ginge es wohl nur über global verbose=5.
Grüße Markus
Es geht um die Sub CUL_TCM97001_Parse, da es noch vor
$def = $modules{CUL_TCM97001}{defptr}{$deviceCode};
if($def) {
$name = $def->{NAME};
}
ist, ist das CUL_TCM97001 device noch nicht bekannt.
Gruß Ralf
ich hätte es so geschrieben
Log3 $hash, 5 , "xxxx...
Mir ist nicht klar wie sowas funktionieren soll:
Log3 "CUL_TCM97001 ", 4
Log3 "checkCRC4", 5,
Ich ging eigentlich davon aus, daß diese Routinen mit den Log Ausgaben bei demjenigen der dies progammiert hat, getestet wurde.
Gruß Ralf
eigentlich ist der erste Parameter der device-name, um den verbose-level zu ermitteln. Not defined nimmt global. (https://wiki.fhem.de/wiki/DevelopmentModuleAPI#Log3)
wenn beim ersten Parameter was beliebiges drin steht, wird demnach auch global genommen.
Ich fände bei diesen Fällen hier den hash vom iodev sinnvoller.