Zum Empfang der Wetterdaten (Yahoo Weather API) existiert in FHEM ein spezielles Modul: Weater.

Definition:

define <name> Weather <location> [<interval> [<language>]]

Der Parameter location ist die sogenannte WOEID (WHERE-ON-EARTH-ID), diese kann bei http://weather.yahoo.com herausgefunden werden (nach der Suche ist die ID in der URL sichtbar).

Die optionale Parameter interval und language definieren entsprechen den Aktualisierungsintervall in Sekunden und die Sprache für die Ausgabe ( de, en oder nl). Wenn die Sprache definiert wird, muss auch Interval angegeben werden.

 

 Beispiel für Langenhagen (Niedersachsen):

define Wetter Weather 670178 600 de
attr Wetter event-on-update-reading temperature,humidity,pressure,wind_speed,wind_chill,wind_direction
attr Wetter group Umwelt
attr Wetter room 9.02_Steuerung

(Das Attribut event-on-update-reading definiert eine Liste der Eigenschaften ("readings"), deren Änderung ein Event (wichtig für notify und FileLog)  erzeugen darf. Alle Änerungen aller anderen Eigenschaften erzeugen somit keine Events mehr. Damit landen ausschließlich die gelisteten Eigenschaften in der Log-Datei. Eine Methode um Platz zu sparen, denn sonst ist das Weather Modul etwas zu gesprächig ;-)

 

Das Modul liefert folgende Werte:

Eigenschaft Bedeutung
city Die Stadt
code aktuelle Wettergegebenheit als Zahlencode
condition aktuelles Wetter als Text (z.B. 'sonnig', 'bewölkt' etc.)
current_date_time Zeit der letzten Aktualisierung
fc?_code Wetervorhersage als Zahlencode (? steht für 1-5 für heute, morgen etc.)
fc?_condition Wettervorhersage in Textform
fc?_day_of_week Wochentag
fc?_high_c erwartete Höchsttemperatur am Tag der Vorhersage (°C)
fc?_icon Icon-Name (ein Bildchen für Sonne, Wolken etc.) für den Tag der Vorhersage
fc?_low_c erwartete Tiefsttemperatur am Tag der Vorhersage (°C)
humidity aktuelle Luftfeuchtigkeit in %
icon Icon fürs aktuelle Wetter
pressure Luftdruck in hPa
pressure_trend Luftdruck-Trend(0= stabil, 1= steigend, 2= fallend)
pressure_trend_txt Luftdruck-Trend in Textform
pressure_trend_sym Luftdruck-Trend als Icon (Name)
temperature aktuelle Temperatur in °C
temp_c aktuelle Temperatur in °C
temp_f aktuelle Temperatur in °F
visibility aktuelle Sichtweite in km
wind Windgeschwindigkeit in km/h
wind_chill Gefühlte Temperatur in °C
wind_condition Windrichtung und -geschwindigkeit
wind_direction Windrichtung (0-360 Grad, 0 = Nordwind)
wind_speed wie wind

 

 Aus meiner Sicht sind die Werte zu ungenau und nicht aktuell genug für Steuerungsaufgaben, aber dennoch interessant und die daraus erstellten Grafiken sind hübsch ;-)

 

Im folgenden sind die Definitionen für die Diagramme.

Zuerst die Log-Datei:

define FileLog_Wetter FileLog ./log/Wetter-%Y.log Wetter
attr FileLog_Wetter logtype temp4hum6:wind_speed|humidity|temperature,text
attr FileLog_Wetter room 9.90_Logs

 

Dann der WebLink für die Vorhersage:

define w_Wetter weblink htmlCode { WeatherAsHtmlD("Wetter") }
attr w_Wetter group Umwelt
attr w_Wetter htmlattr width_"220" height="330" frameborder="0" marginheight="0" marginwidth="0"
attr w_Wetter room 0.10_Garten

 

Und die Auswertungen der Werte für Luftdruck, Temperatur, Luftfeuchtigkeit und Wind:

define wl_Wetter_Luftdruck SVG FileLog_Wetter:myPress4:CURRENT
attr wl_Wetter_Luftdruck group Umwelt
attr wl_Wetter_Luftdruck room 0.10_Garten

define wl_Wetter_Temp SVG FileLog_Wetter:myYahooWeather:CURRENT
attr wl_Wetter_Temp group Umwelt
attr wl_Wetter_Temp room 0.10_Garten

define wl_Wetter_Wind SVG FileLog_Wetter:myWind4windDir4:CURRENT
attr wl_Wetter_Wind group Umwelt
attr wl_Wetter_Wind room 0.10_Garten

 

Die Plot-Dateien habe ich bei GitHub hochgeladen: myPress4.gplot, myYahooWeather.gplot und myWind4windDir4.gplot.

 

Kommentare (24)

Cancel or

  • Alexander Schulz
    @Abele
    Hallo Peter,
    so ganz habe ich das Problem nicht verstanden, bei mir stehen in "current_date_time" korrekte Werte.
    Es gab vor kurzen scheinbar mehrere Updates für das Modul. Wenn das Problem noch besteht, stelle diese Frage am Besten im forum.fhem.de nochmal. Dort liest auch der Modul-Entwickler mit.
    Grüße,
    Alexander
  • Abele
    Hallo zusammen,
    nun habe ich bereits seit 2 Jahren die Ladesteuerung meiner Heizung mit der Temperaturvorsage aus Weather.com gesteuert.
    Seit ca 2 Wochen ändert sich plötzlich bei jedem Weather update der datumseintrag in "current_date_time" z.B. heute am 22.11.2015 werden dann 11.11.2015 - beim nächsten update 15.11.2015 usw. angezeigt, natürlich ändern sich dann auch alle anderen Werte.
    Die Vorhersage ist dann wertlos.
    Das Modul ist auf dem Raspi unter Fhem installiert.
    Mein Verdacht liegt zwar bei Weather.com aber im Netz finden sich keine Hinweise auf bekannte Fehler.
    Ich hoffe auf Hilfe.
    Beste Grüße von Peter
  • GRN
    @Alexander Schulz

    Hallo,

    nein, habe die Dateien mit

    wget https://github.com/hexenmeister/MyFHEM/blob/master/www/gplot/xxx.gplot

    direkt aus Github in das Zielverzeichnis geladen.
  • Alexander Schulz
    @GRN
    Hi!
    Nein, dass bedeutet lediglich, dass Du die Dateien vermutlich aus Windows heraus geladen hast. Dabei macht Windown-GIT die Lineendings so, wie das Host-System sie haben will. Wenn sie danach 'binär' auf Linux kopiert werden, sind sie eben 'kaput'. Die Anhänge aus dem verlinkten Beitrag (war ja von mir) sind aus meinem GitHub entnommen ;)
  • GRN
    @Alexander Schulz

    Hallo,

    danke für deine Mühe. Die Lösung für das Problem habe ich hier gefunden

    http://forum.fhem.de/index.php/topic,27968.msg209049.html#msg209049

    Nachdem ich diese Dateien aber nicht geöffnet hatte bedeutet das, dass die auf Github zur Verfügung gestellten Dateien bereits den Fehler enthalten.

    Nochmals danke!
  • Alexander Schulz
    @GRN
    Ja, hier sieht man, dass der Benutzer 'fhem'heißt. Sonst könnte man auch direkt Linux-Befehle in der Console (oder im WebInterface) ausführen: {`id`}
    Kannst auch probieren die Datei zu lesen: {`cat ./www/gplot/myWind4windDir4.gplot`}

    Wenn die Dateien jedoch im richtigen Verzeichnis liegen, für alle lesbar sind und die Groß/Kleinschreibung in dem Namen stimmt, dann wird es langsam rätselhaft.
    Am besten Du beschreibst Dein Problem detailiert in dem offiziellen FHEM-Forum: forum.fhem.de
  • GRN
    @Alexander Schulz

    Hallo,

    ist das die gewünschte Information?

    2015.10.24 17:58:06 0: Server started with 15 defined entities (version $Id: fhem.pl 9581 2015-10-21 19:06:58Z rudolfkoenig $, os linux, user fhem, pid 1478)
  • GRN
    @Alexander Schulz

    Hallo,
    danke für die rasche Antwort. Wie kann ich herausfinden mit welchem Benutzer FHEM läuft?

    Die Rechte für FHEM habe ich mit folgenden Eingaben eingerichtet:

    cd /opt
    chmod -R a+w fhem
    usermod -a -G tty fhem

    Die Dateirechte sind:

    -rw-rw-rw- 1 fhem root 36761 Oct 23 02:05 myPress4.gplot
    -rw-rw-rw- 1 fhem root 38542 Oct 23 02:09 myWind4windDir4.gplot
    -rw-rw-rw- 1 fhem root 33928 Oct 23 02:09 myYahooWeather.gplot

  • Alexander Schulz
    @GRN
    Hallo!
    "Cannot read" klingt recht eindeutig nach fehlenden Leserechten. Mit welchen Benutzer läuft FHEM und wie sind die Datei-Rechte vergeben?
  • GRN
    Hallo, habe meine erste Installation von FHEM auf einem UBUNTU Server 14.04 TLS (VM) erfolgreich durchgeführt.

    Als ersten Versuch habe ich jetzt das Yahoo Weather Modul nach obiger Beschreibung eingefügt und schaffe es nicht die Plots zur Anzeige zu bringen. Fehlermeldung im jeweiligen Plottbereich:

    XML Parsing Error: no element found
    Location: http://192.168.32.137:8083/fhem/SVG_showLog?dev=wl_Wetter_Luftdruck&logdev=FileLog_Wetter&gplotfile=myPress4&logfile=CURRENT&pos=
    Line Number 2, Column 1:

    Im Log File finde ich folgende Einträge:

    2015.10.23 02:04:51 1: Cannot read ./www/gplot/myYahooWeather.gplot
    2015.10.23 02:04:51 1: Cannot read ./www/gplot/myPress4.gplot
    2015.10.23 02:04:51 1: Cannot read ./www/gplot/myWind4windDir4.gplot
    2015.10.23 02:09:50 1: PERL WARNING: Use of uninitialized value $plot in substitution (s///) at ./FHEM/98_SVG.pm line 608.

    Die 3 Plotdateien sind im richtigen Verzeichnis.

    Hat jemand eine Ahnung was das Problem sein kann?
  • Alexander Schulz
    @bertelbart
    Habe heute vor und nach dem Update probiert. Es funktioniert ohne Probleme. Am besten Du beschreibst Dein Problem im Forum (http://forum.fhem.de/index.php/board,46.0.html) etwas genauer.
  • bertelbart
    Bei mir funktionierte das Modul ohne Probleme, bis ich gestern ein Fhem-update gemacht habe. Seit dem sind meine Plot auch leer.
  • INGO
    Hi, hatte gestern das gleiche Problem, es lag daran, dass der Owner der drei Dateien nicht FHEM sondern ROOT war, hatte wohl beim testen Root benutzt. CHOWN wurde alles gut.
    Gruß Ingo

    PS: Migriere gerade von Eventgost+eigene Funktionen zu FHEM, spannende Geschichte.
    PSS: Vielleicht hast Du aber schon die Lösung, ist ja schon 18 Tage her.
  • Alexander Schulz
    @MarioSchmidt
    Hallo Mario,
    der Dank für das Modul gebührt nicht mir, der Autor ist Dr. Boris Neubert. ;)
    Auf den ersten Blick hast Du nichts vergessen. Liegen die Plot-Dateien in dem richtigen Verzeichnis (.www/gplot/)? Sind diese beim Kopieren nicht beschädigt worden (insbesondere Zeilenumbrüche gehem gerne mal dabei kaputt)? Wie sehen die Daten im Log aus? Stimmen alle Namen in fhem.cfg?
    Wenn das alles in Ordnung zu sein scheint, wird es am besten, wenn Du Dein Problem im FHEM-Forum schilderst. Der richtige Bereich für dieses Modul ist "Sonstiges": http://forum.fhem.de/index.php/board,46.0.html Da schaut auch der Autor selbst vorbei.
    Grüße,

    Alexander
  • MarioSchmidt
    Vielen Dank für das Wettermodul und den Blog. Ich habe es gleich zu Beginn meiner FHEM Aktivitäten ausprobiert.
    Leider sind die Plots leer. Fehlermeldung gibt es keine.
    Die LogDatei ist mit Daten gefüllt. Ich habe die 3 Dateien händisch mit dem Midnight Commander hinzugefügt und den Code in die cfg Datei eingefügt. Habe ich noch etwas vergessen?
    Hatte jemand schon mal das gleiche Problem?

    Gruß
    Mario
  • Alexander Schulz
    @strauch
    So kann ich auch nichts dazu sagen. Die Definition für die Dateextraktion ist '#FileLog 4:pressure:0:' Wie es aussieht, liefert sie ein '-' Zeichen.
    Wie sieht denn Log-Datei aus?
  • strauch
    Das mypress4.gplot verursacht bei mir folgende Fehlermeldung:
    "Argument "-" isn't numeric in numeric lt (<) at ./FHEM/92_FileLog.pm line 701, <GEN13117> line 493.
    Argument "-" isn't numeric in numeric lt (<) at ./FHEM/92_FileLog.pm line 701, <GEN13117> line 1072.
    Argument "-" isn't numeric in numeric lt (<) at ./FHEM/92_FileLog.pm line 701, <GEN13117> line 1363.
    Argument "-" isn't numeric in numeric lt (<) at ./FHEM/92_FileLog.pm line 701, <GEN13117> line 1462.
    Argument "-" isn't numeric in numeric gt (>) at ./FHEM/98_SVG.pm line 1156.
    Argument "-" isn't numeric in subtraction (-) at ./FHEM/98_SVG.pm line 1501."

    Ich bin nur zu doof den Fehler zu finden?!

    Jemand eine Idee
  • Vince
    @Alexander
    Vielen Dank für Deinen Mühe und Blogeintrag
    @Tom
    Ich hatte nach meiner Installation auf meiner 7490, vor ca. 10 Minuten, das gleiche Problem mit den Fehlermeldungen (kein Element gefunden) in den Gplots. Zuerst vermutete ich fehlende Wetterdaten die ausgewertet wurden, da gerade erst gestartet. Dann setzte ich den Intervall erstmal auf 60. Gleiches Spiel. Lösung bei mir: Nachdem ich einmal in "9.90" auf "wind_speed|humidity|temperature" geklickt hatte, funktioniert danach sofort alles, wenn auch noch ohne Wetterwerte.

    Gruß
    Vince
  • Alexander Schulz
    @Tom
    Hi Tom,

    hast Du die Plot-Dateien ins fhem-verzeichnis/www/gplot auch hineinkopiert? Am besten aus dem GitHub alles als ZIP laden, das vermeidet Copy/Paste-Fehler.

    Grüße,

    Alexander
  • Tom
    Hallo, habe alles so eingetragen wie oben dargestellt bis aus anderen Ort, bekomme zwar da Wetter, aber bei den Diagrammen steht:
    XML-Verarbeitungsfehler: Kein Element gefunden
    Adresse: http://192.168.178.159:8083/fhem/SVG_showLog?dev=wl_Wetter_Luftdruck&logdev=FileLog_Wetter&gplotfile=myPress4&logfile=CURRENT&pos=
    Zeile Nr. 2, Spalte 1:
    XML-Verarbeitungsfehler: Kein Element gefunden
    Adresse: http://192.168.178.159:8083/fhem/SVG_showLog?dev=wl_Wetter_Temp&logdev=FileLog_Wetter&gplotfile=myYahooWeather&logfile=CURRENT&pos=
    Zeile Nr. 2, Spalte 1:
    XML-Verarbeitungsfehler: Kein Element gefunden
    Adresse: http://192.168.178.159:8083/fhem/SVG_showLog?dev=wl_Wetter_Wind&logdev=FileLog_Wetter&gplotfile=myWind4windDir4&logfile=CURRENT&pos=
    Zeile Nr. 2, Spalte 1:

    Mehrmals schon installiert, finde den Fehler nicht.
    MFG Tom
  • Alexander Schulz
    @Ralf Locker
    ohne Dein Konfig zu sehen, kann ich nichts dazu sagen. Es wäre alles möglich: falsche Einstellungen, aber auch ein Problem in dem Modul selbst. Da ich es nicht geschrieben habe, kann ich nur raten. Am sichersten wird es, diese Frage im Forum zu stellen: http://forum.fhem.de/index.php/board,46.0.html
  • Ralf Locker
    Kann ich mir auch mehrere Wetterkurven von anderen Orten anzeigen lassen? Habe einen zweiten Ort erstellt, ein weiteres Log-File angelegt, aber es werden in den Lurven und in den Logs nur die des ersten Ortes gespeichert... wo habe ich denn wohl den Knoten gebaut?
  • Alexander Schulz
    @Abele
    Hallo Peter,

    so ein Fehler ist mir noch nicht untergekommen.
    Die erste Vermutung: modpath-Eintrag in fhem.cfg ist falsch. Was steht denn da? Gehen andere Plots?
    Meine sieht so aus: "attr global modpath ."

    Zweite Idee: Ist die myPress4.gplot Datei ins <fhem-Root>/www/gplot kopiert worden?

    Wenn das nicht war, müsste ich einen Blick in die fhem.cfg werfen.

    Grüße,

    Alexander
  • Abele
    von Peter,
    Hallo,
    ich habe das Modul in mein fhem installiert und es kommen auch die Wetterdaten, die gplots werden aber nicht angezeigt, es erscheint folgende Aussage :
    Cannot read /opt/fhem//www/gplot/myPress4.gplot
    Es kann eigentlich nur an den 2 Schrägern zwischen fhem und www liegen, ich finde aber nirgends einen Hinweis wo diese Pfadangabe erzeugt wird.
    Könnt Ihr einem Grennhorn mit 67 helfen ?
    Beste Grüße Peter aus Calw