FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: no_Legend am 08 Juli 2015, 08:18:14

Titel: GDS Modul ständige Neustarts von FHEM
Beitrag von: no_Legend am 08 Juli 2015, 08:18:14
Hi,

ich habe gestern versucht das GDS Modul in betrieb zu nehmen.
Leider ist gestern immer wieder FHEM komplett abgestürtzt, wenn ich probiert habe die Daten abzurufen.
Eingerichtet habe ich es nach dem Wiki eintrag.
Die Benötigten Module für meine Ubuntu auf Cubietruck hatte ich auch installiert.

Heute morgen ging es dann.

Es scheint als ob der Account vom DWD gestern noch nicht funktioniert hat.

Ist im GDS Module ein Errorhandling drin, was die Fehler eines nicht funktionierenden Account abdeckt?

Danke und Gruß Robert
Titel: Antw:GDS Modul ständige Neustarts von FHEM
Beitrag von: CoolTux am 08 Juli 2015, 10:56:46
Ich habe genau das selbe Problem. Bei mir schmiert ständig das Modul ab und reißt FHEM in den Tot. Es scheint aber kein Errorhändler drin zu stecken.
Interessant ist auch das ich keine Fehlermeldungen bekomme. Nicht mal bei Verbose 5


2015.07.08 10:46:44 1: PERL WARNING: readline() on closed filehandle WXDATA at ./FHEM/55_GDS.pm line 524.
2015.07.08 10:46:44 1: PERL WARNING: Use of uninitialized value $line in chomp at ./FHEM/55_GDS.pm line 524.
Modification of non-creatable array value attempted, subscript -1 at ./FHEM/55_GDS.pm line 530.


Ich schaue mal nach was ich in den Zeilen die da angegeben werden finden kann.
Titel: Antw:GDS Modul ständige Neustarts von FHEM
Beitrag von: CoolTux am 08 Juli 2015, 11:02:50
Das hier ist die Funktion

sub getListStationsText($){
        my ($hash) = @_;
        my $name = $hash->{NAME};

        my ($line, @a);
        open WXDATA, $tempDir.$name."_conditions";
        while (chomp($line = <WXDATA>)) {
                push @a, substr(latin1ToUtf8($line),0,19);
        }
        close WXDATA;

        splice(@a,0,6);
        splice(@a,first_index { /Höhe/ } @a);
        splice(@a,-1);
        @a = sort(@a);
        unshift(@a, "Use one of the following stations:", sepLine(40));

        return join("\n", @a);
}

Die Zeilen in der Fehlermeldung sind

while (chomp($line = <WXDATA>)) {

und

splice(@a,first_index { /Höhe/ } @a);


Ich denke aber mal das er schon alleine Probleme beim aufrufen des ftp Befehls hat und das File

open WXDATA, $tempDir.$name."_conditions";

also

$tempDir.$name.

erst gar nicht vorhanden ist oder angelegt wird.
Titel: Antw:GDS Modul ständige Neustarts von FHEM
Beitrag von: CoolTux am 08 Juli 2015, 12:56:34
Bin nun mal ein Schritt weiter.


2015.07.08 12:52:46 4: GDS weatherStahnsdorfDwd: searching for gds/specials/observations/tables/germany/* on DWD server
2015.07.08 12:52:46 4: GDS weatherStahnsdorfDwd: ftp connection established.
2015.07.08 12:52:52 4: GDS weatherStahnsdorfDwd: filelist not found.
2015.07.08 12:52:52 4: GDS weatherStahnsdorfDwd: updating readings.
2015.07.08 12:52:52 4: GDS weatherStahnsdorfDwd: searching for gds/specials/warnings/xml/PVW/Z_CAP* on DWD server
2015.07.08 12:52:52 4: GDS weatherStahnsdorfDwd: ftp connection established.
2015.07.08 12:52:58 4: GDS weatherStahnsdorfDwd: filelist not found.
2015.07.08 12:52:58 4: GDS weatherStahnsdorfDwd: updating readings.
2015.07.08 12:52:58 1: GDS: error analyzing alerts XML:File does not exist: /tmp/weatherStahnsdorfDwd_alerts at ./FHEM/55_GDS.pm line 591.
Titel: Antw:GDS Modul ständige Neustarts von FHEM
Beitrag von: jensb am 14 Juli 2015, 22:02:46
Hallo CoolTux,

die readline/chomp Fehler kommen mir bekannt vor. Sie treten sporadisch auf, wenn der DWD ein Dokument nicht zur Verfügung stellt (z.B. wenn keine Alerts für deine Zelle vorliegen), weil meiner Ansicht nach für diesen Fall die EOF-Prüfung im while vor dem chomp fehlt. Arbeite an einem Patch, der auch das u.a. berücksichtigen soll.

Die Fehlermeldungen führen bei mir nicht zum Absturz von FHEM. Passiert das bei dir immer noch?

LG, jensb
Titel: Antw:GDS Modul ständige Neustarts von FHEM
Beitrag von: CoolTux am 15 Juli 2015, 09:42:48
Hallo JensB

Muss ich mal schauen. Im Moment verwende ich das Modul nicht. Hatte mir stehts und ständig FHEM abgeschossen. Ich muss aber auch sagen das es sein kann das er FTP mäßig eventuell keine Verbindung aufbauen kann. Das musste ich noch prüfen. Ich habe eine sehr komplexe Netzwerkarchitektur. Mehrere Subnetze VLans und alles mit iptables Firewall getrennt. Dazu Squid und Squidguard. Ist nicht immer leicht da schnell den Fehler zu finden.  ;D
Titel: Antw:GDS Modul ständige Neustarts von FHEM
Beitrag von: jensb am 21 Juli 2015, 20:21:53
Hallo,

habe das GDS-Modul überarbeitet. Damit sollten zumindest die Perl-Warnings vermieden werden, möglicherweise ist damit aber auch der Grund für den Absturz weg.

Wer es testen will, sollte dazu die 2. Version des GDS-Moduls vom 21.07.2015 aus dem Thread http://forum.fhem.de/index.php/topic,38106 (http://forum.fhem.de/index.php/topic,38106) verwenden.

LG, jensb