55_GDS.pm - es muss nicht immer Yahoo, openweathermap usw. sein

Begonnen von betateilchen, 03 August 2013, 17:34:17

Vorheriges Thema - Nächstes Thema

betateilchen

#105
Auf dem Raspi ist es noch viel einfacher, wenn man einfach die zur Distribution gehörigen .deb Pakete installiert. Das Rumhampeln mit cpan ist nicht jedermanns Sache und bei der .deb Installation werden die Abhängigkeiten automatisch aufgelöst.


apt-get install libnet-lite-ftp-perl liblist-moreutils-perl libxml-simple-perl libtext-csv-perl
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Hallo Udo,

Zitat von: betateilchen am 30 Dezember 2013, 14:03:08
Ich habe eben ein aktuelles fhem auf meinem MBA installiert - da funktioniert GDS problemlos. Für den Main-Kinzig-Kreis gibt es aktuell keine Warnung.

ich habe die Definitionen wieder aktiviert und siehe da: alles läuft wie gehabt. Vermutlich gab es gestern Abend mit dem DWD-Server ein Problem beim FTP.
Komisch nur, daß die Timeouts von 10 bzw. 360 Sekunden in retrieveFile() nicht zugeschlagen haben. Problem erstmal zurückgestellt.

Die scheinbar fehlenden Warnungen im Kreis behalte ich im Auge und melde mich wieder, wenn ich wieder eine Diskrepanz zwischen der DWD-Webseite und dem Ergebnis von GDS sehe.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

na dann :)

Es gab auch schonmal Probleme mit fehlerhaften XML-Files vom DWD-Server, das hatte ich hier im Thread Anfang November beschrieben.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Rince

Mein /temp/ ist ne RAMDisk.
(Seit meinen Texterkennungsspielereien)

Das hat den Vorteil die Schreibzugriffe auf die SD Karte zu verringern, und fehlerhafte Dateien sind spätestens beim Reboot wieder weg.

Hat das Verfahren irgendwelche Nachteile, die ich grade übersehe?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Dr. Boris Neubert

Zitat von: betateilchen am 30 Dezember 2013, 17:23:17
na dann :)

So, jetzt ist es wieder soweit. FHEM hängt beim Start, weil GDS im FTP-Retrieval hängt:

2014.01.19 11:10:42 3: GDS e.ext.GDS: created
2014.01.19 11:10:42 3: GDS e.ext.GDS: tempDir=/tmp/
2014.01.19 11:10:42 3: Registering HTTPSRV gds_web_e.ext.GDS for URL /e.ext.GDS...
2014.01.19 11:10:51 3: GDS e.ext.GDS: searching for gds/specials/observations/tables/germany/* on DWD server
2014.01.19 11:10:52 3: GDS e.ext.GDS: retrieving SXDL99_DWAV_20140119_0914
2014.01.19 11:10:52 3: GDS e.ext.GDS: using FTP for retrieval
2014.01.19 11:10:52 3: GDS e.ext.GDS: searching for gds/specials/warnings/xml/PVW/Z_CAP* on DWD server
2014.01.19 11:10:52 3: GDS e.ext.GDS: retrieving Z_CAP_C_EDZW_20140119101000_PVW_STATUS.xml
2014.01.19 11:10:52 3: GDS e.ext.GDS: using HTTP for retrieval
2014.01.19 11:11:08 3: GDS e.ext.GDS: Retrieving conditions data
2014.01.19 11:11:08 3: GDS e.ext.GDS: searching for gds/specials/observations/tables/germany/* on DWD server
2014.01.19 11:11:09 3: GDS e.ext.GDS: retrieving SXDL99_DWAV_20140119_0914
2014.01.19 11:11:09 3: GDS e.ext.GDS: using FTP for retrieval


Wie kann ich das debuggen? Die Durchsicht des Codes ergibt ja, daß der Timeout den Transfer schon hätte abbrechen müssen.

Viele Grüße
Boris

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

ich mach Dir nen Vorschlag:

Du kümmerst Dich um das von mir gestern hier im Forum beschriebene Calandar-Problem und ich lass mir zu GDS was einfallen  8)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Hallo Boris,

teste mal bitte mit der angehängten Modulversion. Ich bin mir noch nicht ganz sicher, wann das Hängenbleiben wirklich passiert. Setze bitte das Attribut gdsDebug auf 1.

Mich intereressiert, wann die _dF_ Readings aktualisiert werden.
Ausserdem habe ich den Timeout von 360 Sekunden auf 10 umgestellt.

Viele Grüße
Udo
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Dr. Boris Neubert

Hallo,

hier das Resultat mit Verbosity 5 und "attr ... gdsDebug 1" bis zum Hänger. Das Problem tritt bei "set ... conditions ..." auf.

Viele Grüße
Boris


2014.01.19 21:40:25 5: Cmd: >define e.ext.GDS GDS gds10123 foobar<
2014.01.19 21:40:25 5: Loading /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm
given is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 159, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 160, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 165, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 170, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 182, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 188, <$fh> line 12.
given is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 223, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 225, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 231, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 237, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 243, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 250, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 255, <$fh> line 12.
given is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 256, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 257, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 258, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 259, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 265, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 280, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 285, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 292, <$fh> line 12.
given is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 317, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 318, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 322, <$fh> line 12.
given is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 704, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 706, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 713, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 720, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 727, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 737, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 744, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 751, <$fh> line 12.
when is experimental at /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/55_GDS.pm line 759, <$fh> line 12.
2014.01.19 21:40:25 3: GDS e.ext.GDS: created
2014.01.19 21:40:25 3: GDS e.ext.GDS: tempDir=/tmp/
2014.01.19 21:40:25 5: Loading /users/neubert/Development/Perl/fhem-code/trunk/fhem/FHEM/02_HTTPSRV.pm
2014.01.19 21:40:25 3: Registering HTTPSRV gds_web_e.ext.GDS for URL /e.ext.GDS...
2014.01.19 21:40:26 3: GDS e.ext.GDS: searching for gds/specials/observations/tables/germany/* on DWD server
2014.01.19 21:40:27 3: GDS e.ext.GDS: retrieving SXDL99_DWAV_20140119_2014
2014.01.19 21:40:27 3: GDS e.ext.GDS: using FTP for retrieval
2014.01.19 21:40:27 3: GDS e.ext.GDS: searching for gds/specials/warnings/xml/PVW/Z_CAP* on DWD server
2014.01.19 21:40:27 3: GDS e.ext.GDS: retrieving Z_CAP_C_EDZW_20140119203413_PVW_STATUS.xml
2014.01.19 21:40:27 3: GDS e.ext.GDS: using HTTP for retrieval
2014.01.19 21:40:39 5: Cmd: >attr e.ext.GDS gdsDebug 1<
2014.01.19 21:40:39 5: Cmd: >attr e.ext.GDS alias DWD<
2014.01.19 21:40:39 5: Cmd: >attr e.ext.GDS room 1/Garten<
2014.01.19 21:40:39 5: Cmd: >attr e.ext.GDS group Wetter<
2014.01.19 21:40:39 5: Cmd: >attr e.ext.GDS stateFormat currentMsg<
2014.01.19 21:40:39 5: Cmd: >set e.ext.GDS conditions Frankfurt/M-Flh<
2014.01.19 21:40:39 3: GDS e.ext.GDS: Retrieving conditions data
2014.01.19 21:40:39 3: GDS e.ext.GDS: searching for gds/specials/observations/tables/germany/* on DWD server
2014.01.19 21:40:39 3: GDS e.ext.GDS: retrieving SXDL99_DWAV_20140119_2014
2014.01.19 21:40:39 3: GDS e.ext.GDS: using FTP for retrieval
2014.01.19 21:40:39 1: DEBUG> GDS e.ext.GDS ftp-message: Net::FTP=GLOB(0x3cfa850)->message
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

Zitat von: Dr. Boris Neubert am 19 Januar 2014, 21:45:05hier das Resultat mit Verbosity 5 und "attr ... gdsDebug 1" bis zum Hänger. Das Problem tritt bei "set ... conditions ..." auf.

Dass es mit den set conditions zusammehängt, war schon klar. Immerhin scheint aber der FTP-Abruf selbst nicht das Problem zu sein, denn die letzte Debug-Meldung in Deiner Ausgabe entsteht erst nach der FTP Übertragung.

Das mit Deinem GDS Problem ist so ähnlich mein aktuelles Calendar-Problem bei Dir: bei mir funktioniert GDS problemlos, zumal das conditions-File ja für alle Stationen das gleiche ist... *g*

Ich werde der Sache weiter nachgehen - ich muss die Debug-Ausgaben weiter präzisieren.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

yogiflop

Zitat von: betateilchen am 30 Dezember 2013, 17:11:38
Auf dem Raspi ist es noch viel einfacher, wenn man einfach die zur Distribution gehörigen .deb Pakete installiert. Das Rumhampeln mit cpan ist nicht jedermanns Sache und bei der .deb Installation werden die Abhängigkeiten automatisch aufgelöst.


apt-get install libnet-lite-ftp-perl liblist-moreutils-perl libxml-simple-perl libtext-csv-perl


Leider bekomme ich dabei eine Fehlermeldung. Die anderen Module werden geladen, nur das erste nicht ;-)


xxxx@RaspiFHEM:/opt/fhem/FHEM# apt-get install libnet-lite-ftp-perl
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
E: Paket libnet-lite-ftp-perl kann nicht gefunden werden.
xxxx@RaspiFHEM:/opt/fhem/FHEM#
CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

betateilchen

Probier mal das Paket libwww-perl und teste, ob das GDS dann funktioniert.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

yogiflop

Zitat von: betateilchen am 20 Januar 2014, 19:50:30
Probier mal das Paket libwww-perl und teste, ob das GDS dann funktioniert.

jepp, hat funktioniert .....
CubieTruck mit FHEM 5.7
433MHz, 868MHz HMLan
div. Baumarktsteckdosen, 3x HM
div. MiLight's

betateilchen

Zitat von: betateilchen am 20 Januar 2014, 08:32:00Dass es mit den set conditions zusammehängt, war schon klar. Immerhin scheint aber der FTP-Abruf selbst nicht das Problem zu sein, denn die letzte Debug-Meldung in Deiner Ausgabe entsteht erst nach der FTP Übertragung.

Hallo Boris,

Ich habe jetzt sehr viele Versuche gemacht, aber bisher konnte ich das Fehlverhalten nicht ein einziges Mal reproduzieren.
Die Änderung des ftp-Timeouts von 360 auf 10 Sekunden wurde inzwischen als Update generell in das Modul übernommen.

Sollte der Fehler wieder einmal bei Dir auftreten, versuche doch bitte mal, die empfangene conditions-Datei (der FTP Transfer an sich scheint ja generell zu funktionieren) hier zu posten oder mir per email zu schicken.

Viele Grüße
Udo
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

santalaus

Hallo,

irgendwie habe ich Probleme Daten mit dem Modul zubekommen.
2014.02.18 23:00:35 3: GDS dwd: searching for gds/specials/observations/tables/germany/* on DWD server
2014.02.18 23:00:36 3: GDS dwd: searching for gds/specials/warnings/xml/PVW/Z_CAP* on DWD server
2014.02.18 23:00:36 3: GDS dwd: no datafile (conditions) found
2014.02.18 23:00:36 3: GDS dwd: no datafile (alerts) found

Wenn ich direkt auf den Server gehe, dann ist der Pfad anders /gds/gds/[ab hier gleich]

Kann es sein, das da ein Fehler im Modul ist oder der DWD die Struktur geändert hat?

Nico

betateilchen


2014.02.18 23:59:32 3: GDS gds: Retrieving conditions data
2014.02.18 23:59:32 3: GDS gds: searching for gds/specials/observations/tables/germany/* on DWD server
2014.02.18 23:59:32 3: GDS gds: retrieving SXDL99_DWAV_20140218_2214
2014.02.18 23:59:32 3: GDS gds: using FTP for retrieval


funktioniert hier problemlos.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!