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)
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
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
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.
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 ;)
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!
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
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)
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
Hallo!
"Cannot read" klingt recht eindeutig nach fehlenden Leserechten. Mit welchen Benutzer läuft FHEM und wie sind die Datei-Rechte vergeben?
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?
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.
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.
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
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
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?
"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
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
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
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
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
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
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