FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: Ralf9 am 23 November 2019, 12:04:58

Titel: Verständnisfrage zu Log Ausgaben beim CUL_TCM97001 Modul
Beitrag von: Ralf9 am 23 November 2019, 12:04:58
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
Titel: Antw:Verständnisfrage zu Log Ausgaben beim CUL_TCM97001 Modul
Beitrag von: KölnSolar am 23 November 2019, 12:35:53
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
Titel: Antw:Verständnisfrage zu Log Ausgaben beim CUL_TCM97001 Modul
Beitrag von: Ralf9 am 23 November 2019, 12:42:14
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
Titel: Antw:Verständnisfrage zu Log Ausgaben beim CUL_TCM97001 Modul
Beitrag von: Ralf9 am 23 November 2019, 13:05:24
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
Titel: Antw:Verständnisfrage zu Log Ausgaben beim CUL_TCM97001 Modul
Beitrag von: KölnSolar am 23 November 2019, 13:25:13
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)
Titel: Antw:Verständnisfrage zu Log Ausgaben beim CUL_TCM97001 Modul
Beitrag von: Ralf9 am 23 November 2019, 13:32:09
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.