FHEM Forum

FHEM - Hausautomations-Systeme => InterTechno => Thema gestartet von: HomeAuto_User am 09 Oktober 2018, 17:22:39

Titel: IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
Beitrag von: HomeAuto_User am 09 Oktober 2018, 17:22:39
Hallo,

der jetzige Code vom Modul umfasst PEARL WARNINGS.
PEARL WARNINGS sind zwar keine Fehler, sie stellen aber eine unsaubere Umsetzung dar  ;)

Da ich selbst das IT Modul nutze und auch allen anderen Usern "helfen" möchte einen sauberen Code zu erhalten, bitte ich den Code zu fixen.
Die Zeile
} else {
        $msgcode=$msgcode.$bintotristateV3{substr($bin,0,2)};
      }


generiert diesen Fehler.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 986.

------------------------------------------------------------------------------------------------------------------------------------------

Desweiteren möchte ich bitten, diesen schon angezeigten Patch (https://forum.fhem.de/index.php/topic,87336.0.html) in den Code zu implementieren.

Mfg
Titel: Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
Beitrag von: HomeAuto_User am 12 Oktober 2018, 00:18:29
ZitatHexadecimal number > 0xffffffff non-portable at ./FHEM/10_IT.pm line 953.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 986.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 986.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 986.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 986.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 986.

Hexadecimal number > 0xffffffff non-portable at ./FHEM/10_IT.pm line 953.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 986.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 986.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 986.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 986.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 986.

::)
Titel: Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
Beitrag von: bjoernh am 15 Oktober 2018, 20:53:37
Die Meldungen kann ich aktuell nicht nachvollziehen.
Was für eine Perl Version hast Du am laufen?

Gruß
Björn
Titel: Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
Beitrag von: HomeAuto_User am 15 Oktober 2018, 21:40:07
Die Perl Version auf dem Pi ist die v5.24.1.

Wie können wir am günstigen den Fehler finden / eingrenzen? Das Verhalten legt die Steuerung der AB400 Steckdosen lahm.

Das was spanisch ist, nach einem Reset läuft es kurz bis zum Auftreten oder ,,Veränderung" des Wertes der zu dem Fehler führt.
Titel: Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
Beitrag von: Ralf9 am 17 Oktober 2018, 00:17:46
ZitatHexadecimal number > 0xffffffff non-portable at ./FHEM/10_IT.pm line 953.
schau mal hier:
http://pw.de/memos/20101214.html
http://www.perl-community.de/bat/poard/thread/16059

ZitatUse of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 986.
Ohne die Nachricht ($msg) die diese Meldungen auslöst, wird es wahrscheinlich recht schwer den Fehler einzugrenzen.

Gruß Ralf
Titel: Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
Beitrag von: HomeAuto_User am 17 Oktober 2018, 08:22:44
Hallo,

ZitatOhne die Nachricht ($msg) die diese Meldungen auslöst, wird es wahrscheinlich recht schwer den Fehler einzugrenzen.

hier sind die Erkenntnisse nachdem ich mal mein Logfile füllen lies über Nacht.
3 unterschiedliche Zeitpunkte und somit 3 unterschiedliche Nachrichten.

Zitat2018.10.17 02:45:09 4: nano_433Mhz/msg READredu: MS;P0=-3980;P1=525;P4=-9148;P5=-1910;P7=-944;D=1415171517171515151517171717171717171515151715171715151515171717171717171710151715171715151515171717171717171715151517151717151515151717171717171;CP=1;SP=4;R=242;
2018.10.17 02:45:09 4: nano_433Mhz: Matched MS Protocol id 4 -> arctech2
2018.10.17 02:45:09 4: nano_433Mhz: Decoded MS Protocol id 4 dmsg iA78074F0000 length 36 RSSI = -81
2018.10.17 02:45:09 4: nano_433Mhz IT: message "iA78074F0000" (12)
Hexadecimal number > 0xffffffff non-portable at ./FHEM/10_IT.pm line 955.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

2018.10.17 02:45:09 4: nano_433Mhz IT: msgcode "1101DDD00DDDDDDDDD" (18) bin = 10100111100000000111010011110000000000000000
2018.10.17 02:45:09 4: nano_433Mhz IT: Wrong IT message received: 1101DDD00DDDDDDDDD
2018.10.17 02:45:09 4: nano_433Mhz IT: message "iA78074F0000" (12)
Hexadecimal number > 0xffffffff non-portable at ./FHEM/10_IT.pm line 955.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

2018.10.17 02:45:09 4: nano_433Mhz IT: msgcode "1101DDD00DDDDDDDDD" (18) bin = 10100111100000000111010011110000000000000000
2018.10.17 02:45:09 4: nano_433Mhz IT: Wrong IT message received: 1101DDD00DDDDDDDDD
2018.10.17 02:45:09 3: nano_433Mhz: Unknown code iA78074F0000, help me!
2018.10.17 02:45:09 4: nano_433Mhz: Matched MS Protocol id 17 -> arctech / intertechno


Zitat2018.10.17 07:36:47 4: nano_433Mhz/msg READredu: MS;P0=-116;P2=523;P3=-9172;P4=-1922;P5=-944;P6=-3968;D=2324252425252424242425252525252525252424252424252524242424252525252525252526242524200;CP=2;SP=3;R=241;
2018.10.17 07:36:47 4: nano_433Mhz: Matched MS Protocol id 0 -> weather1
2018.10.17 07:36:47 4: nano_433Mhz: Matched MS Protocol id 4 -> arctech2
2018.10.17 07:36:47 4: nano_433Mhz: Decoded MS Protocol id 4 dmsg iA7806CF0000 length 36 RSSI = -81.5
2018.10.17 07:36:47 4: nano_433Mhz IT: message "iA7806CF0000" (12)
Hexadecimal number > 0xffffffff non-portable at ./FHEM/10_IT.pm line 955.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

2018.10.17 07:36:47 4: nano_433Mhz IT: msgcode "1101DDD01DDDDDDDDD" (18) bin = 10100111100000000110110011110000000000000000
2018.10.17 07:36:47 4: nano_433Mhz IT: Wrong IT message received: 1101DDD01DDDDDDDDD
2018.10.17 07:36:47 4: nano_433Mhz IT: message "iA7806CF0000" (12)
Hexadecimal number > 0xffffffff non-portable at ./FHEM/10_IT.pm line 955.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

2018.10.17 07:36:47 4: nano_433Mhz IT: msgcode "1101DDD01DDDDDDDDD" (18) bin = 10100111100000000110110011110000000000000000
2018.10.17 07:36:47 4: nano_433Mhz IT: Wrong IT message received: 1101DDD01DDDDDDDDD
2018.10.17 07:36:47 3: nano_433Mhz: Unknown code iA7806CF0000, help me!
2018.10.17 07:36:47 4: nano_433Mhz: Matched MS Protocol id 68 -> PFR-130

2018.10.17 07:45:20 4: nano_433Mhz/msg READredu: MS;P2=528;P4=-9112;P5=-1917;P6=-867;D=242526252626252525252626262626262626252526252625252525252526262626260;CP=2;SP=4;R=242;
2018.10.17 07:45:20 4: nano_433Mhz: Matched MS Protocol id 4 -> arctech2
2018.10.17 07:45:20 4: nano_433Mhz: Decoded MS Protocol id 4 dmsg iA7806BF0000 length 36 RSSI = -81
2018.10.17 07:45:20 4: nano_433Mhz IT: message "iA7806BF0000" (12)
Hexadecimal number > 0xffffffff non-portable at ./FHEM/10_IT.pm line 955.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

2018.10.17 07:45:20 4: nano_433Mhz IT: msgcode "1101DDD011DDDDDDDD" (18) bin = 10100111100000000110101111110000000000000000
2018.10.17 07:45:20 4: nano_433Mhz IT: Wrong IT message received: 1101DDD011DDDDDDDD
2018.10.17 07:45:20 4: nano_433Mhz IT: message "iA7806BF0000" (12)
Hexadecimal number > 0xffffffff non-portable at ./FHEM/10_IT.pm line 955.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.

2018.10.17 07:45:20 4: nano_433Mhz IT: msgcode "1101DDD011DDDDDDDD" (18) bin = 10100111100000000110101111110000000000000000
2018.10.17 07:45:20 4: nano_433Mhz IT: Wrong IT message received: 1101DDD011DDDDDDDD
2018.10.17 07:45:20 3: nano_433Mhz: Unknown code iA7806BF0000, help me!
Titel: Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
Beitrag von: Ralf9 am 17 Oktober 2018, 19:41:15
Zitatnano_433Mhz IT: message "iA78074F0000" (12)

Dies sieht mir nach einer fehlerhaften oder nicht vom IT-Modul unterstützten Nachricht aus.

Wenn man diese Abfrage
  if (length($msg) != 7 && length($msg) != 12 && length($msg) != 17 && length($msg) != 19 && length($msg) != 20) {
    Log3 $hash,3,"$ioname IT: message \"$msg\" (" . length($msg) . ") too short!";
    return undef;
  }
  Log3 $hash,4,"$ioname IT: message \"$msg\" (" . length($msg) . ")";

damit ersetzt,
  my $msgLength = length($msg);
  my $msgPos1 = substr($msg, 1, 1);
  if ($msgLength == 7 || ($msgLength == 12 && $msgPos1 eq 'h') || $msgLength == 17 || $msgLength == 19 || ($msgLength == 20 && $msgPos1 eq 'h')) {
    Log3 $hash,4,"$ioname IT: message \"$msg\" ($msgLength)";
  } else {
    Log3 $hash,3,"$ioname IT: message \"$msg\" ($msgLength) wrong length!";
    return "";
  }

dann ist dies weg
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 986

Nachtrag:
Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 986
diese Fehlermeldung entsteht, wenn eine ITv3 Nachricht die undefinierte Codierung "11" enthält.

my %bintotristateV3=(
  "10" => "1",
  "01" => "0",
  "00" => "D"
);


Da müsste noch eine Abfrage nach "11" eingebaut werden.

Gruß Ralf

Titel: Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
Beitrag von: bjoernh am 17 Oktober 2018, 20:33:15
Aber mal doof gefragt, bei IT V3 gibt es doch eigentlich keine 11. Ok ich hab da schon lange nichts mehr gemacht, vielleicht hat sich das ja geändert.
Das müssten doch dann eher Empfangsprobleme sein.
Die Frage ist halt dann auf was sollte das korrekterweise gemappt werden.
Ach so, und beim senden via CUL kommt dann ein HLHL mit synchroner Zeit raus.
Ich baue das mal ein, aber ich würde euch bitten, dass Ihr das testet.

Anbei das geänderte Modul.

Ich kann es leider immer noch nicht nachvollziehen. Mein ITV3 Handsender scheint wohl irgendwie zu perfekt zu sein ;-)
Titel: Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
Beitrag von: Ralf9 am 17 Oktober 2018, 23:01:25
Ja die 11 dürften eigentlich nur bei fehlerhaften Nachrichten vorkommen.

Ich kann es nachvollziehen, wenn ich mit iA78074F0000 oder i3A01ABDE800 ein dispatch zum IT-Modul mache.
Die warnings kommen bei mir nach einem fhem neustart nur einmal. Evtl kommen diese warnings bei einer neueren fhem oder perl Version öfters.

Gruß Ralf
Titel: Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
Beitrag von: HomeAuto_User am 17 Oktober 2018, 23:12:38
Ich denke, wenn wir hier von Empfangsfehlern reden, so sollten wir das aber mit abdecken.

1) die Fehlermeldungen führen bis zum nicht emfpangen von funktionstüchtigen Teilnehmern des Modules
2) die Fehlermeldung "nervt" ja auch irgendwann und ist Logfile füllend

Funk ist nun mal störanfällig und wenn jemand in der Ferne sendet, können div. Fehler auftreten. Persönlich bin ich der Meinung, Fehler "abfangen" und nicht hinnehmen.
Wir wissen das, aber dann kommt ein anderer User X hinzu und dann kommt das Thema wieder auf. Dem können wir damit vorbeugen.

Mapping, worauf, können wir da nicht etwas "unbekanntes" nehmen und dies mit einem Kommentar dahinter versehen?
Bsp: A wie Ausfall?
"11" => "A" ## Fehler bei Empfang
Titel: Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
Beitrag von: yersinia am 22 Dezember 2018, 14:32:20
Hallo zusammen,
via g00gle bin ich von https://forum.fhem.de/index.php?topic=92161.0 auf diesen Thread gekommen und habe heute einige Warnings vom IT-Modul erhalten.

Folgendes finde ich im Log (scheint etwas vom Nachbarn zu sein) anscheinend durch ein autocreate initiiert:
2018.12.22 10:23:10 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/10_IT.pm line 988.
2018.12.22 10:23:10 1: PERL WARNING: substr outside of string at ./FHEM/10_IT.pm line 1016.
2018.12.22 10:23:10 1: PERL WARNING: substr outside of string at ./FHEM/10_IT.pm line 1017.
2018.12.22 10:23:10 1: PERL WARNING: substr outside of string at ./FHEM/10_IT.pm line 1018.
2018.12.22 10:23:10 1: PERL WARNING: Use of uninitialized value $groupBit in concatenation (.) or string at ./FHEM/10_IT.pm line 1019.
2018.12.22 10:23:10 1: PERL WARNING: Use of uninitialized value $unitCode in concatenation (.) or string at ./FHEM/10_IT.pm line 1019.
2018.12.22 10:23:10 1: PERL WARNING: Use of uninitialized value $groupBit in concatenation (.) or string at ./FHEM/10_IT.pm line 1130.
2018.12.22 10:23:10 1: PERL WARNING: Use of uninitialized value $unitCode in concatenation (.) or string at ./FHEM/10_IT.pm line 1130.
2018.12.22 10:23:10 1: PERL WARNING: Use of uninitialized value $onoffcode in concatenation (.) or string at ./FHEM/10_IT.pm line 1130.
2018.12.22 10:23:10 1: PERL WARNING: Use of uninitialized value $groupBit in concatenation (.) or string at ./FHEM/10_IT.pm line 1131.
2018.12.22 10:23:10 1: PERL WARNING: Use of uninitialized value $unitCode in concatenation (.) or string at ./FHEM/10_IT.pm line 1131.
2018.12.22 10:23:10 2: autocreate: define IT_V3_7fffff IT 011111111111111111111111 
2018.12.22 10:23:10 1: PERL WARNING: Use of uninitialized value $a[3] in string eq at ./FHEM/10_IT.pm line 710.
2018.12.22 10:23:10 1: define IT_V3_7fffff IT 011111111111111111111111  : Define IT_V3_7fffff: wrong IT-Code format: specify a 10 digits 0/1/f
2018.12.22 10:23:10 1: ERROR: Define IT_V3_7fffff: wrong IT-Code format: specify a 10 digits 0/1/f
2018.12.22 10:23:10 2: autocreate: define IT_V3_7fffff IT 011111111111111111111111 
2018.12.22 10:23:10 1: define IT_V3_7fffff IT 011111111111111111111111  : Define IT_V3_7fffff: wrong IT-Code format: specify a 10 digits 0/1/f
2018.12.22 10:23:10 1: ERROR: Define IT_V3_7fffff: wrong IT-Code format: specify a 10 digits 0/1/f


Ich habe gestern erst ein FHEM Update gemacht, version vom IT Modul:
10_IT.pm       17540 2018-10-15 19:00:42Z bjoernh

Perl Version ist 5.20.2.

Kann ich -neben autocreate deaktivieren- irgendwas tun um diese Warnings zu unterbinden?

Vielen Dank im Voraus.
Titel: IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
Beitrag von: HomeAuto_User am 22 Dezember 2018, 15:37:54
Hallo,
du müsstest mal schauen wieso die Warnings kommen um diese ggf zu reproduzieren sonst tappt man fast im Dunklen.

Edit: Was für ein Empfänger benutzt du?

Lg
Titel: Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
Beitrag von: yersinia am 22 Dezember 2018, 16:24:31
Warum die Warning kommen, weiss ich nicht. Ich habe diese heute morgen so erhalten wie oben gepostet. ich vermute, dass der 433 selbstbau CUL was empfangen hat und das autocreate versucht hat, ein IT device anzulegen, was irgendwie scheiterte.

Anbei ein List des empfangenden CULs:
Internals:
   CMDS       ABCeFfGiKLlMNRTtUVWXx
   Clients    :FS20:FHT.*:KS300:USF1000:BS:HMS:FS20V: :CUL_EM:CUL_WS:CUL_FHTTK:CUL_HOERMANN: :ESA2000:CUL_IR:CUL_TX:Revolt:IT:UNIRoll:SOMFY: :STACKABLE_CC:TSSTACKED:STACKABLE:CUL_RFR::CUL_TCM97001:CUL_REDIRECT::OREGON::Hideki::SD_WS07:
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@38400 0000
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0@38400
   FD         11
   FHTID      0000
   NAME       nanoCUL_433_1
   NR         36
   PARTIAL   
   RAWMSG     omB8D062568F8049B5B0E7
   RSSI       -92.5
   STATE      2018-12-22 16:21:55 Initialized
   TIME       1545492029
   TYPE       CUL
   VERSION    V 1.26.03 a-culfw Build: 300 (2018-04-15_20-15-39) nanoCUL433 (F-Band: 433MHz)
   initString X21
   nanoCUL_433_1_MSGCNT 310
   nanoCUL_433_1_TIME 2018-12-22 16:21:55
   .attraggr:
   .attrminint:
   .clientArray:
     IT
     CUL_TCM97001
   MatchList:
     0:FS20V    ^81..(04|0c)..0101a001......00[89a-f]...
     1:USF1000  ^81..(04|0c)..0101a001a5ceaa00....
     2:BS       ^81..(04|0c)..0101a001a5cf
     3:FS20     ^81..(04|0c)..0101a001
     4:FHT      ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
     5:KS300    ^810d04..4027a001
     6:CUL_WS   ^K.....
     7:CUL_EM   ^E0.................$
     8:HMS      ^810e04......a001
     9:CUL_FHTTK ^T[A-F0-9]{8}
     A:CUL_RFR  ^[0-9A-F]{4}U.
     B:CUL_HOERMANN ^R..........
     C:ESA2000  ^S................................$
     C:Hideki   ^P12#75[A-F0-9]{17,30}
     C:OREGON   ^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*
     C:SD_WS07  ^P7#[A-Fa-f0-9]{6}F[A-Fa-f0-9]{2}
     D:CUL_IR   ^I............
     E:CUL_TX   ^TX[A-F0-9]{10}
     F:Revolt   ^r......................$
     G:IT       ^i......
     H:STACKABLE_CC ^\*
     I:UNIRoll  ^[0-9A-F]{5}(B|D|E)
     J:SOMFY    ^Y[r|t|s]:?[A-F0-9]+
     K:CUL_TCM97001 ^s[A-F0-9]+
     L:CUL_REDIRECT ^o+
     M:TSSTACKED ^\*
     N:STACKABLE ^\*
   READINGS:
     2018-12-22 15:07:02   Initialized     
     2018-03-05 17:04:02   ccconf          freq:433.920MHz bWidth:325KHz rAmpl:42dB sens:4dB
     2018-12-22 15:07:14   cmds             A B C e F f G i K L l M N R T t U V W X x
     2018-12-22 15:47:08   raw             isFFFF0FFF0F0F
     2018-12-22 16:21:55   state           Initialized
     2018-08-16 20:14:46   uptime          0 00:13:58
     2018-05-26 11:19:49   version         V 1.26.03 a-culfw Build: 300 (2018-04-15_20-15-39) nanoCUL433 (F-Band: 433MHz)
Attributes:
   DbLogExclude .*