"Please report"

Begonnen von PNinBB, 08 November 2015, 20:03:02

Vorheriges Thema - Nächstes Thema

rudolfkoenig

Es waere mir lieber, wenn deine Meldungen nicht in diesem Beitrag gelandet waeren, da sie nichts mit dem hier bahandelten Problem zu tun haben. Weiterhin merke: wenn man 2 unterschiedliche Probleme in einem Beitrag meldet, dann ist die Wahrscheinlichkeit halb so hoch, dass man eine Anwort kriegt. Bei 3 Problemen 1/3, usw.

Nun zu den Meldungen:
1. Kein Log, kein Link, keine Details -> keine Hilfe.
2. Ist wohl kein Problem. Mein Danfoss tut nicht.
3. Da die FHEM ZWave.pm Version unbekannt ist, kann ich nicht viel dazu sagen. Rat: Erst update ausfuehren, und nur neue Probleme melden.
3. Das sollte inzwischen nicht mehr kommen.
4. Kling nach ZWdongle Problem oder nach einem Problem mit der ZWDongle Kommunikation. Im 5-er log sehe ich keine Probleme. readingsGroup Warning mit andre (readingsGroup Maintainer) in dem passenden Forumsbereich besprechen. Ich tippe auf ein Problem in der Benutzerkonfiguration.

PNinBB

#16
Danke für die prompte Reaktion und auch für die Hinweise.
Ein paar Antworten:
1. Ich habe seit einiger Zeit den Modul "mailcheck" herausgenommen, aber die Meldungen im Log waren nach dem folgenden Muster und wiederholten sich 5...10 Mal.

2015.10.31 01:36:07 1: PERL WARNING: Trying command when NOT connected! at /usr/local/share/perl/5.20.2/Mail/IMAPClient.pm line 122.
Mail::IMAPClient::LastError(Mail::IMAPClient=HASH(0x33f1810), "NO not connected") called at /usr/local/share/perl/5.20.2/Mail/IMAPClient.pm line 1493
Mail::IMAPClient::_send_line(Mail::IMAPClient=HASH(0x33f1810), "129 SELECT INBOX", 0) called at /usr/local/share/perl/5.20.2/Mail/IMAPClient.pm line 1320
Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x33f1810), "SELECT INBOX") called at /usr/local/share/perl/5.20.2/Mail/IMAPClient.pm line 1225
Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x33f1810), "SELECT INBOX") called at /usr/local/share/perl/5.20.2/Mail/IMAPClient.pm line 845
Mail::IMAPClient::select(Mail::IMAPClient=HASH(0x33f1810), "INBOX") called at ./FHEM/32_mailcheck.pm line 258
main::mailcheck_poll(undef) called at fhem.pl line 2701
main::HandleTimeout() called at fhem.pl line 584
2015.10.31 01:36:07 1: PERL WARNING: Trying command when NOT connected! LastError was: NO not connected at /usr/local/share/perl/5.20.2/Mail/IMAPClient.pm line 122.
Mail::IMAPClient::LastError(Mail::IMAPClient=HASH(0x33f1810), "Error sending '129 SELECT INBOX': NO not connected") called at /usr/local/share/perl/5.20.2/Mail/IMAPClient.pm line 1321
Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x33f1810), "SELECT INBOX") called at /usr/local/share/perl/5.20.2/Mail/IMAPClient.pm line 1225
Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x33f1810), "SELECT INBOX") called at /usr/local/share/perl/5.20.2/Mail/IMAPClient.pm line 845
Mail::IMAPClient::select(Mail::IMAPClient=HASH(0x33f1810), "INBOX") called at ./FHEM/32_mailcheck.pm line 258
main::mailcheck_poll(undef) called at fhem.pl line 2701
main::HandleTimeout() called at fhem.pl line 584

Zum Crash kam es dann mit dem folgenden Eintrag:

2015.08.27 15:28:36 1: PERL WARNING: Trying command when NOT connected! LastError was: Error sending '6 IDLE': NO not connected at /usr/local/share/perl/5.20.2/Mail/IMAPClient.pm line 122.
Mail::IMAPClient::LastError(Mail::IMAPClient=HASH(0x1eb1b20), "Error sending '6 IDLE': NO not connected") called at /usr/local/share/perl/5.20.2/Mail/IMAPClient.pm line 1274
Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x1eb1b20), "IDLE", "+") called at /usr/local/share/perl/5.20.2/Mail/IMAPClient.pm line 1118
Mail::IMAPClient::idle(Mail::IMAPClient=HASH(0x1eb1b20)) called at ./FHEM/32_mailcheck.pm line 451
main::mailcheck_Read(HASH(0x1c66410)) called at fhem.pl line 3056
main::CallFn("??????LiveMail", "ReadFn", HASH(0x1c66410)) called at fhem.pl line 651
2015.08.27 15:28:36 3: ????????LiveMail: logged out
2015.08.27 15:28:36 3: ????????LiveMail: Disconnected
2015.08.27 15:28:36 3: ????????LiveMail: connected to imap-mail.outlook.com
2015.08.27 15:28:37 3: ????????LiveMail: logged in to login_name@live.de
Bizarre copy of HASH in list assignment at /usr/share/perl/5.20/Carp.pm line 228.


3. Ich mache fast jeden Tag das Update; die Details für ZWDongle.pm sind:

##############################################
# $Id: 00_ZWDongle.pm 9825 2015-11-08 14:24:48Z rudolfkoenig $

und für ZWave.pm sind:

##############################################
# $Id: 10_ZWave.pm 9840 2015-11-09 18:14:53Z rudolfkoenig $

Die folgende Meldung kommt nach jedem Neustart im Logfile:

2015.11.10 18:35:08 2: ZWDongle_ProcessSendStack: no ACK, resending message 0107000301020100f9


Ich habe momentan mit meiner alten Konfiguration ohne readingsGroup und DOIF einen stabilen Betrieb.
Meine ZWAVE-Firmware habe ich heute von v.2.0.1auf v.2.1.1 aktualisiert.
Auf jeden Fall: vielen Dank.
Peter
Raspi 4B + RaZberry2 (Deb 10), FritzBox 7490;
AEOTec: KeyFobGen5: 1x;
Danfoss: Living Connect 2.51: 3x;
Fibaro: FGK: 10x: 3x; FGBS: 001: 8x, 222: 1x; FGMS001: 2x; FGR: 222: 3x, 223: 2x; FGRGBWM-441: 1x; FGBS: 222: 2x, 223: 2x,224: 1x;
Philio: PAN06-1A: 3x;

A.Harrenberg

Hi Rudi,
Zitat von: A.Harrenberg am 09 November 2015, 20:19:15
Hi Rudi,ich schau dann mal in die Sourcen von OZW rein was dort zum Thema CRC_16_ENCAP zu finden ist.
ich habe jetzt mal kurz in die Sourcen von OZW reingeschaut. Auch dort ist nur "01" als Befehl definiert:
enum CRC16EncapCmd
{
CRC16EncapCmd_Encap = 0x01
};

Die Nachricht mit 0x5600 "2015.11.08 10:14:08 1: ZWave: unknown message 00040007075600300300cf3b, please report" von PNinBB muss ich daher auch als "defekte" Nachricht einstufen. Es wäre jetzt natürlich schon irgendwie ironisch wenn ausgerechnet ein Fehler in der Nachricht der CRC Klasse nicht durch die Checksumme erkannt wird...

Die CRC wird ja momentan noch nicht gerechnet... Ich schau mir mal die Berechnung der CRC bei OZW an, sieht nicht so kompliziert aus, ist aber in C++ syntax und mir ist nicht ganz klar ob da nur die Payload reingeht oder noch die gesamte Nachricht.

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

A.Harrenberg

Hi Rudi,

ich habe im Netz einen on-line calculator für die CRC gefunden und ein wenig damit rumprobiert.
Das hier:
2015.11.08 10:14:08 1: ZWave: unknown message 00040007075600300300cf3b, please report
ist definitiv eine kaputte Nachricht!

Die CRC_16 der Nachricht ist "cf3b", und passt nicht zu "5600300300" sondern zu "5601300300"! Also doch die bekannte 0x5601 Klasse.

Da die Nachricht ja den CRC_16 Teil noch nicht durchlaufen hat, ist die Länge jetzt 03 und muss der Nachricht vorangestellt werden, dann wäre die Nachricht 03 300300.
Wobei dann die 30 für SENSOR_BINARY steht, 03 für SensorReport und die 00 einen unbekannten Sensortyp meldet, also eine "normale" Nachricht darstellt.

=> Empfangsprobleme...
Und ein gutes Beispiel dafür das die Checksumme alleine nicht (immer) glücklich macht...

Ich habe noch ein paar Codefetzen zur Implementierung gefunden, wahrscheinlich könnte man das wohl auch mit dem cpan DIGEST::CRC modul machen, da diese Nachrichten aber anscheinend so selten sind ist es mMn mit Kanonen auf Spatzen geschossen dafür wieder ein cpan-Modul einzubinden.

Ich werde daher versuchen die gefundenen Codefetzen mal in eine CRC_16 Berechnung ohne das Modul umzusetzen.

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

A.Harrenberg

Hi Rudi,

anbei ein kleiner Patch der jetzt bei CRC_16_Encap 0x5601 die CRC berechnet und eine Meldung rausgibt wenn diese nicht stimmt.
Für den hier vorgekommenen Fall 0x5600 hilft das natürlich nicht, dafür ist es ja aber auch nicht gedacht.

Getestet habe ich das nur recht grob mit "Dispatch" und ein paar Nachrichten die ich im Forum gefunden habe, dabei gab es aber keine Auffälligkeiten und Änderungen wurden entsprechend gemeldet.

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

rudolfkoenig

Habs eingecheckt, aber nicht getestet.

A.Harrenberg

Hi Rudi,
Zitat von: rudolfkoenig am 14 November 2015, 20:06:33
Habs eingecheckt, aber nicht getestet.
Danke, ist ja auch nicht viel zu testen ,-)

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

A.Harrenberg

Hallo Peter (PNinBB),

da Dein Gerät ja anscheinend diese CRC16 Nachricht unterstützt, könntest du mal darauf achten ob es da zu Fehlermeldungen kommt und die dann evtl. posten?

Die Nachricht die den ganzen Thread hier ausgelöst hat war ja eindeutig ein Empfangsproblem das mit der normalen Checksumme anscheinend nicht erkannt werden konnte. Falls es bei Dir häufiger zu Empfangsproblemen kommt sollten zumindest Fehler in der Payload bzw. der CRC jetzt im Log auftauchen, zumindest solange nicht wieder der CRC-Befehl selbst "kaputt" ankommt, dagegen kann man leider nichts machen.

Hattest Du eigentlich auch schon mal Meldungen wegen falscher Checksumme im Log?

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY