[Modul] OpenWeatherMap

Hallo,

da Wunderground (siehe Wunderground-paresy-SymconMisc) ja den Weg weg von dem kostenlosen zum kostenpflichtigen Zugriff gegangen ist, habe ich mir die API von OpenWeatherMap zur Brust genommen und ein neues Modul erstellt.

Zur Zeit ist der Abruf von aktuellen Daten sowie der Abruf der stündlichen Vorhersage (5 Tage im 3 Stunden-Raster) realisiert.

Fest eingeplant ist noch die Möglichkeit, von einer eigenen Wetterstation die Daten an OpenWeatherMap zu schicken.

Wenn es Bedarf an anderen API’s gibt, bin ich gerne bereit das Modul zu erweitern.

ralf hat das Modul freundlicherweise getestet.

Gruß
demel

Top umgesetzt, danke demel :).

Die Daten habe ich schon sehr lange über ein Script abgefragt.

Im Vergleich zu den DWD Daten vom Flughafen bzw. meiner lokalen Sensoren sind die Werte gut. Auch die Vorhersage ist sehr ähnlich den DWD bzw. wetteronline Daten.

Dann muss ich jetzt doch endlich mal die Vorhersage in mein IPSView integrieren.

Hallo,

beim Abruf erhalte ich die folgende Fehlermeldung:

05.10.2018 22:24:29 | TimerPool | OpenWeatherMap - Datenabruf (UpdateData): <br />
<b>Notice</b>:   Undefined index: LANG in  <b>C:\IP-Symcon\modules\IPSymconOpenWeatherMap\OpenWeatherData\module.php</b>  on line <b>219</b><br />
<br />
<b>Notice</b>:   Undefined index: LANG in  <b>C:\IP-Symcon\modules\IPSymconOpenWeatherMap\OpenWeatherData\module.php</b>  on line <b>369</b><br />

Was mache ich falsch???

Ausserdem werden die Wetterbedingungen in englisch dargestellt, die Windstärke jedoch in deutsch.

Gruß Proxima

Hallo,

ich versuche herauszubekommen, welche Sprache bei dem jew. System eingestellt ist, famit och dem Aufruf von OpenWeatherMap eine passende Information mitgeben kann.
Das Merkwürdige ist, das die Variablen über den Standard-Mechanismu von IPS localisiert sind ( also sollten die Bezichnungen in „de“ erschenen ), während die „Wetterbedingungen“ („Conditions“) von OpenWeatherMap eigentlich ein „en“ kommen. Bei Dir ist das Verhalten genau anders herum …

Lesen ich das richtig, das Du ein IPS 5.x auf einem Windows-System verwendest?

Ich habe gerade einen Patch angebracht, der den Zugriff auf $_ENV[‚LANG‘] absichert. Könntest Du den Datenabruf nochmal probieren?
Wenn das funktioeniert hat, bitte die Instanz löschen und nochmal anlegen - ich kann mir noch keinen Reim drauf machen und würde gerne ausschliessen, das es ein „Zufall“ ist.

demel

Servus

Bin ja net so der Modulfreak, aber dieses hab ich mal probiert.
Der von Proxima gemeldete Fehler ist auch bei mir aufgetreten - jetzt nach dem Update ist er weg.

Gut gemacht, danke schön.

Die Wonderground vorhersage war heir bei mir zimlich schlecht, mal sehen ob dieser Dienst das besser kann.

schöne Grüße
Bernhard

Edit: Ich war zu schenll, komischerweise war es nur beim ersten Aufruf weg.
In Zeile 372 hast du das gleiche nochmals. Wenn ich deine Änderung von Zeile 219 dort reinkopiere dann ists endgültig gut.

gruß
bb

Sind bei dir die Bezeichnungen der Variablen korrekt in deutsch? und die !Wetterbedingungen" sind auch in deutsch?

danke, hast natürlich recht. fix ist übernommen. Kommt davon, wenn man noch auf die Schnelle vor dem Schlafengehen einen Fix macht. :frowning:

demel

Eine Frage an die Community: gibt es eine Möglichkeit festzustellen, was die Spracheinstellung eines IPS-Systems ist?
Ich habe hier die Environment-Variable „LANG“ abgefragt, was aber auf Windows-Systemen nicht funktioniert.

Da setlocale() ja (aus nachvollziehbaren Gründen) nicht zur Verfügung steht, geht aber auch nicht die Anfrage damit

$lang = setlocate(LC_CTYPE, 0);

Mir fällt keine Möglichkeit ein?

danke
demel

Erst einmal vielen Dank für das Modul :loveips: !!
Ich nutze bisher Wunderground aber openweather sieht interessant aus. Ich frage mich nur wie lasst ihr euch die Werte anzeigen/ darstellen?
Bei Wunderground habe ich mir bisher den jeweiligen Tag insgesamt mit Höchst und Tiefsttemperatur samt Wetterbildchen anzeigen lassen. Da openweather aber alle 3h Werte generiert, wird das auf diese Art etwas unübersichtlich :stuck_out_tongue:

Praktisch wäre ja eine Verlaufskurve für Temp und Regen (oder was man auch immer haben will), aber wie erstelle ich aus den vielen Einzelvariablen einen Graphen so wie ihn die Seite selbst auch anzeigt, jemand eine Idee?

@demel42: Deine Frage kann ich leider nicht beantworten, ich kann in php nur ändern über Analogieschlüsse :o da bin ich fähigkeitenmäßig eher blank…

Alle Variablenänderungen aufzeichen anklicken bei der Variable die Du mit darstellen willst, und dann einen Multigraph erstellen, das wäre das einfachste. Wenn Du eine spezielle Darstellung suchst, dann müstest Du so was wie Highcharts nehmen oder ähliches.

Danke erst mal für das Modul, ist eine gute Alternative wenn denn dann Wunderground wegfällt.

Frage:

[ul]
[li] Gibt eine Möglichkeit auch an die Grafiken zu kommen um sich dann selber auch so was als Wetterberichtsseite zu bauen wie z.B. bei Wunderground. ich würde gerne so was bauen nur mit OpenWeatherMap Daten
[/li][li] Das mit Anzahl habe ich noch nicht ganz kapiert, was macht das genau? Bei mir steht das noch auf 0
[/li][li] Wetterbedingungen werden auf english geliefert was zunächst nicht schlimm ist, ich würde diese jedoch gerne auf deutsch darstellen. Gibt es eine Übersicht an Wetterbedingungen als Text, dann könnte ich das ja vielleicht in einer zweiten Variable übersetzen. Noch besser wäre es natürlich das Modul selber wäre irgendwann in Zukunft in der Lage den Text gleich in deutsch zu setzten.
[/li][/ul]

Anzahl ist die Menge der 3h Werte, die dargestellt werden. Stell sie hoch und du siehst das Ergebnis.

Die Texte werden bereits übersetzt, wenn die Sprache auf dem PI auf de_DE steht. Unter Windows scheint es noch Probleme mit der der Erkennung zu geben.

Hallo,

Ich habe die Spracheinstellung für die textuellen Wetterhinweise nun in den Konfigurationsdialog integriert.
Er wird bei Einrichtung der Instanz versucht auf die Spracheinstellung des Systems einzustellen, kann / muss entsprechend angepasst werden (de, en, …)

Gruß
demel

ralf hat ja schon geschrieben, das das 3-stündlichen Vorhersagen sind. Es gibt tägliche Vorhersagen (für 16 Tage) bei OpenWeatherMap, jedoch sind die nicht kostenlos.

Aus den 3h-Intervallen kann man relativ einfach die min/max-Temperaturen ermitteln. Bei Niederschlag wird das m.E. nicht gehen, weil man ja nicht einfach die Niederschlagsmenge addieren kann und es fehlt die Niederschlags-Wahrscheinlichkeit …

Wenn Du in der API-Dokumentation weitere interessante Punkte entdeckst, baue ich die natürlich gerne ein.

gruß
demel

Servus

Schön, aber was soll man da eintragen ??
Das ist jetzt nicht nur ein Manko deines Modules, das sieht man oft. Da gibt es Eingabefelder aber keine Info WAS denn als gültige Eingae erwartet wird. Ähnliches bei der Höhe: welche Einheit ?? cm, m, km, Karotten, Erdbeeren ???

Sowas sollte eigentlich in die Guideliens zur Modulerstellung: Das die erwarteten Eingaben bzw. Einheiten beschrieben sind.

Evtl. würde ich noch die Variablen der Vorschau in eine andere Kategorie als die Istwerte legen.
Wäre für die Verlinkung ins WF einfacher.

Trotzdem Danke, dein Modul ist auch gut leserlich geschrieben. Ein wenig Inline-Doku wäre noch gut, ansonsten top.
BernhardUnbenannt.JPG

de für deutsch:)

Vielleicht alternativ ein Dropdownfeld mit Auswahlmöglichkeit im Modul, dann kann man auch nichts falsch eintragen.

Hallo,

das Problem an den Konfigurationsdialogen ist, das der Platz vor dem Eingabegeld sehr limitiert ist und es keine Möglichkeit gibt, dahinter etwas auszugeben.

Daher bin ich dazu über gegangen, bei meinen Module grundsätzlich
a) immer einen Link zum README.md des Moduls im Konfigurationsdialog vorzusehen
b) und Zusatzinformationen dort unterzubringen

Zugegeben, dort steht nicht, das die Höhe in Metern angegeben ist, das hatte ich einfach vorausgesetzt, da ich die Höhe über dem Meeresspiegel nie anders gelesen habe. Habe ich im README nachgetragen.
Zum Sprachcode steht dort eine Erklärung.

Es gibt auch andere Informationen zu Moduleinrichtung, die man beachten sollte und die keinen Platz im Konfigurationsdialog finden.

Ja, hätte man als Pulldownliste machen können.

Gruß
demel

Dem kann ich (leider) nur zustimmen! Das war schon immer ein Problem!
Ich schreibe bei den Eingabefeldern schon immer die Einheit und alles hin - aber sehen kann man vieles erst seit der WebConsole (wenn man sie verwendet). Ich hatte immer gehofft, dass an dieser Stelle mal was passiert… Was aber leider bis heute nicht der Fall ist…

Viele Grüße,
Chris

Es gibt mittlerweile die Suffix Eigenschaft die dahinter schreiben kann [emoji1]

paresy

Stimmt…da war was :smiley:

Wo wir wieder beim Thema wären >> Newsletter für Modul-Entwickler, damit neue Features/Möglichkeiten und Änderungen nicht untergehen oder an einem vorbeigehen :slight_smile:

Viele Grüße,
Chris