Autor Thema: IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch  (Gelesen 839 mal)

Offline HomeAuto_User

  • Developer
  • Full Member
  • ****
  • Beiträge: 280
IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
« 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 in den Code zu implementieren.

Mfg
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: 3x FHT 80b | 5x FHT 80 TF-2 | 2x S300TH | 1x WS7000-20 | 5x "Hideki" | THR128 und andere ;-)

Offline HomeAuto_User

  • Developer
  • Full Member
  • ****
  • Beiträge: 280
Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
« Antwort #1 am: 12 Oktober 2018, 00:18:29 »
Zitat
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.

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.

 ::)
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: 3x FHT 80b | 5x FHT 80 TF-2 | 2x S300TH | 1x WS7000-20 | 5x "Hideki" | THR128 und andere ;-)

Offline bjoernh

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 751
Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
« Antwort #2 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

Offline HomeAuto_User

  • Developer
  • Full Member
  • ****
  • Beiträge: 280
Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
« Antwort #3 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.
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: 3x FHT 80b | 5x FHT 80 TF-2 | 2x S300TH | 1x WS7000-20 | 5x "Hideki" | THR128 und andere ;-)

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2139
Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
« Antwort #4 am: 17 Oktober 2018, 00:17:46 »
Zitat
Hexadecimal 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

Zitat
Use 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
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module
SIGNALduino

Offline HomeAuto_User

  • Developer
  • Full Member
  • ****
  • Beiträge: 280
Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
« Antwort #5 am: 17 Oktober 2018, 08:22:44 »
Hallo,

Zitat
Ohne 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.

Zitat
2018.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


Zitat
2018.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!
« Letzte Änderung: 17 Oktober 2018, 08:26:25 von HomeAuto_User »
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: 3x FHT 80b | 5x FHT 80 TF-2 | 2x S300TH | 1x WS7000-20 | 5x "Hideki" | THR128 und andere ;-)

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2139
Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
« Antwort #6 am: 17 Oktober 2018, 19:41:15 »
Zitat
nano_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 986diese 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

« Letzte Änderung: 17 Oktober 2018, 19:49:15 von Ralf9 »
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module
SIGNALduino

Offline bjoernh

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 751
Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
« Antwort #7 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 ;-)
« Letzte Änderung: 17 Oktober 2018, 20:52:52 von bjoernh »

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2139
Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
« Antwort #8 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
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module
SIGNALduino

Offline HomeAuto_User

  • Developer
  • Full Member
  • ****
  • Beiträge: 280
Antw:IT - Modul mit vielen PEARL WARNINGS | Erinnerung Patch
« Antwort #9 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
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: 3x FHT 80b | 5x FHT 80 TF-2 | 2x S300TH | 1x WS7000-20 | 5x "Hideki" | THR128 und andere ;-)