OPENWEATHER: Unterschied zwischen den Versionen

Aus FHEMWiki
K (Link korrigiert @Peter: Danke!)
K (Forenlink korrigiert)
Zeile 5: Zeile 5:
<!-- |ModCategory= (noch?) nicht verwendet -->
<!-- |ModCategory= (noch?) nicht verwendet -->
|ModCmdRef=OPENWEATHER
|ModCmdRef=OPENWEATHER
|ModForumArea=Wettermodule
|ModForumArea=Unterstützende Dienste/Wettermodule
|ModTechName=59_OPENWEATHER.pm
|ModTechName=59_OPENWEATHER.pm
|ModOwner=tupol
|ModOwner=tupol

Version vom 28. Mai 2016, 08:53 Uhr

OPENWEATHER
Zweck / Funktion
Das Modul extrahiert Wetterdaten über die "openweather"-Schnittstelle (API) von www.wetter.com.
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Support (Forum) Unterstützende Dienste/Wettermodule
Modulname 59_OPENWEATHER.pm
Ersteller tupol
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!

Das Modul extrahiert Wetterdaten über die "openweather"-Schnittstelle (API) von www.wetter.com.

API-Key erhalten

Zuerst ist eine Registrierung für wetter.com unter folgender URL notwendig: http://at.wetter.com/mein_wetter/register/

Nach Bestätigung des Accounts mittels der zugesandten E-Mail ist der Login möglich. Sobald man an der Seite angemeldet ist, kann man über die Navigation Apps & Mehr - Für Ihre Website die API auswählen (http://at.wetter.com/apps_und_mehr/website/api/). Dort klickt man auf Projektverwaltung.

Ow01.png

In der Projektverwaltung wählt man Neues Projekt und vergibt dann einen Namen, eine Beschreibung und eine Kategorie des Projekts sowie eine Webseite mit weiteren Informationen zum Projekt. Die AGBs müssen natürlich noch gelesen und abgenickt werden, danach kann man mit einem Klick auf Projekt anlegen den Vorgang abschließen.

Ow02.png

Anschließend erhält man den gewünschten API-Key, der auch jederzeit in der Projektverwaltung nachgesehen werden kann.

Ow03.png

In der Projektverwaltung können dann noch Such- und Vorhersageeinstellungen konfiguriert werden, je nachdem, welche Werte man bei einer Abfrage an das API zurückbekommen möche. Wichtig: Wählt man hier nur einen Tag für die Vorhersage aus (Standard-Einstellung), so gibt es keine Vorhersage für die nachfolgenden Tage!

Ow04.png
Ow05.png

Definition in fhem

Ein OpenWeather-Device kann in fhem wie folgt angelegt werden:

define <name> OPENWEATHER <project> <cityCode> <apiKey> [language]

Wobei

  • name angibt, unter welchem Namen das Device in fhem angezeigt werden soll
  • project der Projektname ist, den man beim Anlegen des Projektes auf wetter.com vergeben hat
  • cityCode der Code ist, der auch in der URL auf wetter.com ersichtlich ist, wenn man einen Ort auswählt (z.B. Wien: http://at.wetter.com/wetter_aktuell/aktuelles_wetter/oesterreich/wien/ATAT10678.html -> ATAT10678)
  • apiKey der Key ist, den man beim Anlegen des Projektes auf wetter.com erhalten hat
  • language eine optionale Sprachangabe ist (de ... deutsch, en ... englisch, usw.)

Vollständige Beispiel wäre also:

define meinWetter OPENWEATHER meinProjekt ATAT10678 0fb12e... de

Konfiguration in fhem

Nach der Definition des Devices können noch zwei Attribute gesetzt werden:

  • disable (0 oder 1): Der Wert 1 stoppt die automatische Aktualisierung der Wettervorhersage. Standard-Wert: 0.
  • INTERVAL (0 oder >=3600): Das Zeitintervall in Sekunden, in dem die Wettervorhersage aktualisiert wird. Standard-Wert: 3600. 0 stoppt die automatische Aktualisierung.

Um die Aktualisierung auf sechs Stunden zu setzen verwendet man also

attr meinWetter INTERVAL 21600

Hinweis

Das OpenWeather-Modul verwendet die Perl-Module HTTP::Request, LWP::UserAgent, HTML::Parse und Digest::MD5 Sind sie nicht vorhanden, können sie aus der Shell mittels

cpan Modulname

installiert werden.

OpenWeather-API Rückgabewerte

Ortsdaten

Wertname Beschreibung
name Name des Ortes
post_code PLZ des Ortes/der Wetterstation
url Link auf die jeweilige Ortsseite auf wetter.com
Credit Um die kostenlose wetter.com openweather API benutzen zu dürfen, müssen zwei von den drei

Hinweisen auf wetter.com angezeigt werden.

Wertname Beschreibung
text Powered by wetter.com
link Link auf wetter.com
logo Ein wetter.com Logo (Downloadlink zu offiziellen wetter.com Logos)

Wetterdaten

Es gibt (derzeit) für jeden Tag vier verschiedene Tagesabschnitte:

  • 06:00 bis 11:00
  • 11:00 bis 17:00
  • 17:00 bis 23:00
  • 23:00 bis 06:00

Für jeden dieser Abschnitte werden (abhängig von der getroffenen Auswahl in den Projekteinstellungen) folgende Werte zurückgeliefert:

Wertname Beschreibung
du Unixtimestamp Unicode [int unsigned]
d Unixtimestamp lokal [int unsigned]
dhu ISO 8601 formatiertes Datum und Zeit, UTC [string]
dhl ISO 8601 formatiertes Datum und Zeit, lokal [string]
p Gültigkeitszeitraum der Prognose (24 Stunden, 1 Stunde, 3 Stunden, …) [int

unsigned, 0-24]

w Code für Wetterzustand [int unsigned, 0-999] (siehe #Definition Wetterzustände)
pc Änderung des Luftdrucks [float 1 Nachkommastelle]
wd Windrichtung in Grad [int, 0=N, 90=O, 180=S, 270=W]
ws Windgeschwindigkeit in Kilometer/Stunde [float unsigned, 1 Nachkommastelle]
wd_txt Windrichtung in Textform (N,NO,S,SW …) [string]
w_txt Wetterzustand in Textform [string]
tn Mindesttemperatur
tx Maximaltemperatur

Definition Wetterzustände

Die Codes von 0-9 sind die Hauptwetterzustände. Alle anderen Codes sind Varianten dieser Zustände. Zum Beispiel ist 65: starker Regen eine Variante von 6: Regen. Sollen nur die Hauptzustände angezeigt werden kann einfach die erste Stelle des Codes verwendet werden.

Code (w) Wetterzustand (w_txt)
0 sonnig
1 leicht bewölkt
2 wolkig
3 bedeckt
4 Nebel
5 Sprühregen
6 Regen
7 Schnee
8 Schauer
9 Gewitter
10 leicht bewölkt
20 wolkig
30 bedeckt
40 Nebel
45 Nebel
48 Nebel mit Reifbildung
49 Nebel mit Reifbildung
50 Sprühregen
51 leichter Sprühregen
53 Sprühregen
55 starker Sprühregen
56 leichter Sprühregen, gefrierend
57 starker Sprühregen, gefrierend
60 leichter Regen
61 leichter Regen
63 mäßiger Regen
65 starker Regen
66 leichter Regen, gefrierend
67 mäßiger od. starker Regen, gefrierend
68 leichter Schnee-Regen
69 starker Schnee-Regen
70 leichter Schneefall
71 leichter Schneefall
73 mäßiger Schneefall
75 starker Schneefall
80 leichter Regen - Schauer
81 Regen - Schauer
82 starker Regen - Schauer
83 leichter Schnee / Regen - Schauer
84 starker Schnee / Regen - Schauer
85 leichter Schnee - Schauer
86 mäßiger od. starker Schnee - Schauer
90 Gewitter
95 leichtes Gewitter
96 starkes Gewitter
999 Keine Angabe

Readings des OpenWeather-Moduls in fhem

Im folgenden werden die unterschiedlichen Readings erklärt, die das Modul liefert.

Dabei bedeutet fcX ein Platzhalter für

  • fc0... heute
  • fc1... morgen
  • fc2... übermorgen

Die Zahlen (06,11,17,23) hinter diversen Readings bedeuten den jeweiligen Tagesabschnitt wie in den OpenWeather-Rückgabewerten beschrieben.

Reading Beispielausgabe Beschreibung OpenWeather-Wert
city Wien Ort name
fcX_chOfRain 20 Regenwahrscheinlichkeit pc
fcX_tempMax 4 Höchsttemperatur tx
fcX_tempMin 1 Mindesttemperatur tn
fcX_valHours 24 Gültigkeitszeitraum der Prognose in Stunden p
fcX_wday Di Abkürzung des Wochentages d
fcX_weather leicht bewölkt Wetterzustand als Text w_txt
fcX_weatherCode 1 Code für den Wetterzustand w
fcX_wind 6 Windgeschwindigkeit in km/h ws
fcX_windDir 135 Windrichtung in Grad wd
fcX_windDirTxt SO Windrichtung als Text wd_txt

Weiterführende Informationen