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

juppzupp

Hallo betateilchen,

habe den get DWD alerts Kreis_Mettmann
aus dem at entfernt.

dann manuell nochmal
get DWD rereadcfg
und sicherheitshalber für mich
sleep 120
abgewartet.
Es bleibt leider so, das ich im WEBIF "No_alerts_published!" sehe, und auch ein "get DWD alerts 115081000" nichts zurück liefert, obwohl in der datei eine Meldung dazu vorhanden ist.

juppzupp

hm, das kann ja nicht die lösung sein.

Zitat von: Mx112 am 05 August 2014, 09:31:54
Starte mal FHEM neu. Hab ein ähnliches Problem. Die Alerts werden bei mir nur nach einem Neustart eingelesen oder gelöscht. Danach tut sich bis zum nächsten Neustart nichts mehr obwohl die _alerts Datei regelmäßig aktualisiert wird.

Mx112

Zitat von: juppzupp am 05 August 2014, 10:54:28
hm, das kann ja nicht die lösung sein.
Sicherlich nicht. Aber wenn das bei Dir auch so ist das das Modul dann einmalig funktioniert haben wir beide das gleiche Problem.
FHEM 5.5 SVN - FB7390 FRITZ!OS 06.03 - RaspberryPi - Z-Wave - FBDECT

juppzupp

mal schauen was betateilchen sagt. ich will jetzt den Zustand nicht ändern, falls es noch eine idee zum troubleshooten gibt.

betateilchen

in der eingangs angehängten alerts-Datei finde ich weder einen Eintrag für Mettmann noch einen für 115081000
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

juppzupp

#245
richtig. das mettmann nix liefert ist klar, aber mich hatte das "No_alerts_published!" stutzig gemacht, und deswegen genauer geschaut.

danach hatte ich ja nochmal manuell refreshed, deswegen ist der für 115081000 auch verschwunden.

im moment habe ich 52 alerts :

root@cubie:/tmp# grep '<value>[0-9]\{9\}' DWD_alerts -c
52
root@cubie:/tmp#


root@cubie:/tmp# for each in `grep '<value>[0-9]\{9\}' DWD_alerts | cut -b8-16` ; do  echo list DWD $each | nc -vt localhost 7072 -q2 ; done
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
localhost [127.0.0.1] 7072 (?) open
root@cubie:/tmp#



ohne Ergebnisse. probe ob nc richtig funktioniert :

root@cubie:/tmp# echo list DWD | nc -vt localhost 7072 -q2
localhost [127.0.0.1] 7072 (?) open
Internals:
   DEF        xyv xyv
   LOCAL      1
   NAME       DWD
   NR         327
   STATE      active
   TYPE       GDS
   CHANGETIME:
   Helper:
     Dblog:
       C_pressure-nn:
         Mydblog:
           TIME       1407237529.226
           VALUE      1019.6
       C_temperature:
         Mydblog:
           TIME       1407237529.226
           VALUE      20.5
   Readings:
     2014-08-05 13:18:49   _dataSource     Quelle: Deutscher Wetterdienst
     2014-08-05 13:34:45   _tzOffset       7200
     2014-08-05 13:18:49   c_altitude      150
     2014-08-05 13:18:49   c_nextUpdate    Tue Aug  5 13:38:49 2014
     2014-08-05 13:18:49   c_pressure-nn   1019.6
     2014-08-05 08:38:40   c_rain12h       1
     2014-08-05 13:18:49   c_rain1h        0.0
     2014-08-05 08:58:40   c_rain24h       0.5
     2014-08-05 08:38:40   c_snow          ---
     2014-08-05 08:58:40   c_solar         ----
     2014-08-05 13:18:49   c_stationName   Essen
     2014-08-05 08:58:40   c_sunshine      4.8
     2014-08-05 08:58:40   c_tAvgAir24     19.2
     2014-08-05 08:38:40   c_tMaxAir12     21.3
     2014-08-05 08:58:40   c_tMaxAir24     23.6
     2014-08-05 08:38:40   c_tMinAir12     15.5
     2014-08-05 08:58:40   c_tMinAir24     15.3
     2014-08-05 08:58:40   c_tMinGrnd24    15.0
     2014-08-05 13:18:49   c_temperature   20.5
     2014-08-05 13:18:49   c_weather       ---
     2014-08-05 13:18:49   c_windDir       NW
     2014-08-05 13:18:49   c_windGust      ---
     2014-08-05 13:18:49   c_windPeak      ---
     2014-08-05 13:18:49   c_windSpeed     7
     2014-07-28 16:05:03   g_altitude      150
     2014-07-28 16:05:03   g_pressure-nn   1009.5
     2014-07-28 16:05:03   g_rain1h        0.0
     2014-07-28 16:05:03   g_stationName   Essen
     2014-07-28 16:05:03   g_temperature   25.4
     2014-07-28 16:05:03   g_weather       ---
     2014-07-28 16:05:03   g_windDir       O
     2014-07-28 16:05:03   g_windGust      ---
     2014-07-28 16:05:03   g_windPeak      ---
     2014-07-28 16:05:03   g_windSpeed     11
     2014-07-31 23:35:14   state           active
   Helper:
     INTERVAL   1200
     PASS       xyv
     URL        ftp-outgoing2.dwd.de
     USER       xcyc
Attributes:
   gdsDebug   0
   gdsSetCond Essen
   room       Wetter
   verbose    0

root@cubie:/tmp#


Michael

Hallo betateilchen,

Ich glaube ich habe ein Problem?

Zitat
# $Id: 55_GDS.pm 6326 2014-07-28 18:14:54Z betateilchen $

Wenn ich diesen Code laufen lasse, bekomme ich keine Alerts Meldung.

#############################################
# DeutscherWetterDienst Information
#
# - 1. DWD Device
# - 2. DWD Device neu einlesen
# - 3. Unwettermeldugen
#

#1.
define DWD GDS xxxxxxx yyyyyyy
attr DWD gdsSetCond 103151000
attr DWD group 08 DWD
attr DWD room Umwelt

#2.
define readDWD at +*00:10:00 get DWD rereadcfg
attr readDWD alignTime 22:35:05
attr readDWD group 08 DWD
attr readDWD room Umwelt

#3.
define alertsDWD at +*00:10:00 get DWD alerts 103151000
attr alertsDWD alignTime 22:40:05
attr alertsDWD group 08 DWD
attr alertsDWD room Umwelt


Wenn ich jetzt aber beim DWD nach sehe, bekomme ich einen
Warnhinweiss.

Mach ich was falsch?
Gruß, Michael

FHEM 6.0 auf RPi 3
CUL V3 868 Mhz | JeeLink LaCrosse & PCA301 | CCU3
BMP085(180) | 14x TX29DTH-IT | 5x PCA 301 | SMA Peripheries | MobileAlerts MA-10(100,120PRO,200,251,410,650,660,800) | HM IP

Hollo

Während meiner Testphase im Rahmen des RSS-Aufbaus hatte ich auch mehrfach "Unstimmigkeiten" zwischen der DWD-Grafik und den GDS-Ausgaben. Musste allerdings auch feststellen, dass teilweise Unterschiede in der Datei vorlagen.
Z.B. sind die Vorwarnungen auf der Seite und in den FTP-Daten nicht immer identisch vorhanden.
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"

Filly

#248
Hab ein Problem mit GDS und den get list Befehlen.
In meiner Konfig steht nur :
define DWD GDS **** ****
Benutzername und Passwort mehrmals überprüft.

Wenn ich get list stations über das Web Interface rufe stirbt FHEM mit diesen Meldungen:
readline() on closed filehandle WXDATA at ./FHEM/55_GDS.pm line 1036.
Use of uninitialized value $line in chomp at ./FHEM/55_GDS.pm line 1036.
Modification of non-creatable array value attempted, subscript -1 at ./FHEM/55_GDS.pm line 1042.
readline() on closed filehandle WXDATA at ./FHEM/55_GDS.pm line 397.
Use of uninitialized value $line in chomp at ./FHEM/55_GDS.pm line 397.
Modification of non-creatable array value attempted, subscript -1 at ./FHEM/55_GDS.pm line 403.


Eigenartig ist seit dem ich GDS benutze meckert er immer mit dieser Meldung:
2014.08.07 19:27:35 3: telnetForBlockingFn: port 47643 opened
2014.08.07 19:27:36 2: SecurityCheck:  telnetForBlockingFn has no password/globalpassword attribute.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.


Ich habe schon überprüft das alle benötigten Perl Module für GDS installiert sind.

Edit: Ich nutze die neuste verfügbare GDS Version.
Raspberry PI mit günstigen 433Mhz Transmitter
3x Pollin Funksteckdosen

betateilchen

Auf welcher Hardwareplattform betreibst Du fhem? Mir scheint, Du hast ein Kommunikationsproblem das darin liegt, dass Deine fhem Installation den DWD Server nicht erreichen kann, um dort Daten abzurufen.

Wie Du die Hinweismeldung wegen des fehlenden Passwortes unterdrücken kannst, steht in der Meldung. Du musst sie nur komplett lesen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Filly

#250
FHEM läuft auf einem Raspberry PI.

Eigentlich wollte ich das Problem lieber lösen und es nicht unterdrücken. Ich verstehe nur nicht was telnetForBlockingFn ist.
Ein Passwort werde ich bestimmt genau wie für meinen standard telnetPort geben können.

Edit: Hab mich eben vom rapsberry pi mit Hilfe von ncftp auf dem gds Server eingewählt, das funktionierte problemlos.
Raspberry PI mit günstigen 433Mhz Transmitter
3x Pollin Funksteckdosen

betateilchen

Zitat von: Filly am 07 August 2014, 20:01:40
Eigentlich wollte ich das Problem lieber lösen und es nicht unterdrücken.

Die Meldung ist kein Problem, sie ist noch nicht einmal eine Fehlermeldung, sondern, wie schon geschrieben, nur ein Hinweis. Deshalb kann und darf man sie auch einfach abschalten.

Setze doch mal verbose auf 5 und poste dann die komplette Ausgabe. Im Moment habe ich keine Idee, was da bei Dir schiefläuft.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: Filly am 07 August 2014, 20:01:40
Edit: Hab mich eben vom rapsberry pi mit Hilfe von ncftp auf dem gds Server eingewählt, das funktionierte problemlos.

Das besagt nicht viel - eigentlich sogar gar nix.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Filly

Habe jetzt Fhem mit folgenden Kommandos gestartet:

define DWD GDS *** ***
set DWD conditions Gera


Hier der Verbose 5 Log dazu:
2014.08.07 22:43:54 5: Cmd: >define DWD GDS **** ****<
2014.08.07 22:43:54 5: Loading ./FHEM/55_GDS.pm
2014.08.07 22:44:18 3: GDS DWD: created
2014.08.07 22:44:18 3: GDS DWD: tempDir=/tmp/
2014.08.07 22:44:18 5: Loading ./FHEM/02_HTTPSRV.pm
2014.08.07 22:44:18 3: Registering HTTPSRV gds_web_DWD for URL /DWD...
2014.08.07 22:44:18 3: GDS DWD: no datafile (conditions) found
2014.08.07 22:44:18 3: GDS DWD: no datafile (alerts) found
2014.08.07 22:44:18 3: telnetForBlockingFn: port 60168 opened
2014.08.07 22:44:18 5: Cmd: >set DWD conditions Gera<
2014.08.07 22:44:18 4: GDS DWD: nb_defRead started
2014.08.07 22:44:18 4: GDS DWD: nb_retrievFile started
2014.08.07 22:44:18 4: GDS DWD: Retrieving conditions data
2014.08.07 22:44:18 4: GDS DWD: nb_retrievFile started
2014.08.07 22:44:18 4: GDS DWD: searching for gds/specials/observations/tables/germany/* on DWD server
2014.08.07 22:44:18 4: GDS DWD: searching for gds/specials/observations/tables/germany/* on DWD server
2014.08.07 22:44:18 4: GDS DWD: ftp connection established.
2014.08.07 22:44:18 4: GDS DWD: ftp connection established.
2014.08.07 22:44:19 4: GDS DWD: filelist found.
2014.08.07 22:44:19 4: GDS DWD: retrieving SXDL99_DWAV_20140807_2014
2014.08.07 22:44:19 4: GDS DWD: using FTP for retrieval
2014.08.07 22:44:19 4: GDS DWD: filelist found.
2014.08.07 22:44:19 4: GDS DWD: retrieving SXDL99_DWAV_20140807_2014
2014.08.07 22:44:19 4: GDS DWD: using FTP for retrieval
2014.08.07 22:44:19 4: GDS DWD: updating readings.
2014.08.07 22:44:19 4: GDS DWD: updating readings.
2014.08.07 22:44:19 4: conditions item: Station
2014.08.07 22:44:19 4: conditions item: Höhe
2014.08.07 22:44:19 4: conditions item: Luftd.
2014.08.07 22:44:19 4: conditions item: TT
2014.08.07 22:44:19 4: conditions item: RR1
2014.08.07 22:44:19 4: conditions item: DD
2014.08.07 22:44:19 4: conditions item: FF
2014.08.07 22:44:19 4: conditions item: FX
2014.08.07 22:44:19 4: conditions item: Wetter/Wolken
2014.08.07 22:44:19 4: conditions item: Böen
2014.08.07 22:44:19 4: GDS DWD: nb_retrievFile started
2014.08.07 22:44:19 4: GDS DWD: searching for gds/specials/warnings/xml/PVW/Z_CAP* on DWD server
2014.08.07 22:44:19 4: GDS DWD: ftp connection established.
2014.08.07 22:44:19 4: GDS DWD: filelist found.
2014.08.07 22:44:19 4: GDS DWD: retrieving Z_CAP_C_EDZW_20140807203630_PVW_STATUS.xml
2014.08.07 22:44:19 4: GDS DWD: using HTTP for retrieval
2014.08.07 22:44:21 4: GDS DWD: updating readings.
2014.08.07 22:44:23 4: GDS DWD: nb_defRead finished


Will ich darauf hin aber den FHEM Webserver starten antwortet der Server nicht (es bleibt beim Verbindungsversuch).

Nach etwas rumprobieren habe ich festgestellt das wenn ich nur mit dem Kommando
define DWD GDS ***
starte, antwortet der Server und ich kann im Webinterface erfolgreich die Kommandos
get DWD list stations
und
set DWD conditions Gera
ausführen.

Leider fehlt mir das Hintergrundwissen um zu verstehen wieso die Kommandos im Webinterface aber nicht in meiner fhem.cfg funktionieren.

Danke schonmal für deine Hilfe.
Raspberry PI mit günstigen 433Mhz Transmitter
3x Pollin Funksteckdosen

Hollo

Zitat von: Filly am 07 August 2014, 22:57:18
Habe jetzt Fhem mit folgenden Kommandos gestartet:

define DWD GDS *** ***
set DWD conditions Gera

...

In die config gehört kein set (ausser in Funktionen); da müsste es attr heissen.
Für den DWD-Dienst könnte der Abschnitt z.B. so aussehen (die xxxx durch Benutzer / Kennwort ersetzen)...


define gds GDS xxxxxxxx xxxxxxxx
attr gds gdsLong 1
attr gds gdsSetCond Bad_Lippspringe
attr gds group Wetter
attr gds room Umwelt
define readGDS at +*00:10:00 get gds rereadcfg
attr readGDS alignTime 09:30
attr readGDS disabledForIntervals 00:30-05:30
define checkGDS at +*00:10:00 get gds alerts 105766000
attr checkGDS alignTime 09:35
attr checkGDS disabledForIntervals 00:30-05:30


Gruß,
Hollo
FHEM 6.x auf RPi 3B Buster
Protokolle: Homematic, Z-Wave, MQTT, Modbus
Temp/Feuchte: JeeLink-Clone und LGW mit LaCrosse/IT
sonstiges: Linux-Server, Dreambox, "RSS-Tablet"