Autor Thema: Neuer Wetter-Baustein für openweathermap.org  (Gelesen 137 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline mattsches

  • Full Member
  • ***
  • Beiträge: 165
    • Profil anzeigen
Neuer Wetter-Baustein für openweathermap.org
« am: 14. Juli 2017, 22:40:33 »
Hallo zusammen,

nachdem worldweather.com nun auch die alten kostenlosen APIs abgeschaltet hat, war ich auf der Suche nach einer Alternative. Fündig wurde ich bei www.openweathermap.org, wo es weiterhin kostenlose APIs mit Zugriff auf verschiedene Vorhersagen gibt. Man registriert sich, erhält - wie gewohnt - einen API Key und kann loslegen.

Die Angabe des Ortes, für den die Vorhersage bezogen werden soll, erfolgt gemäß Empfehlung des Wetterdienstes mittels City ID. Eine Liste der verfügbaren IDs findet sich unter hier: http://bulk.openweathermap.org/sample/city.list.json.gz

Bausteine für Beschreibung und Icons habe ich vorerst nicht erstellt, weil

a) die Beschreibung für die einzelnen Tage direkt vom Wetterbaustein in die Struktur geschrieben wird und ich
b) keine Icons in Verwendung habe.

Wer mag, kann das natürlich gerne ergänzen.

Doku gibt es auch (noch?) keine, wer die Bausteine für Yahoo und WorldWeather kennt, dürfte auch mit der OpenWeatherMap-Variante zurecht kommen.

Ich habe den Baustein auf einer Beckhoff in Betrieb. Durch die Verwendung von IP_CONTROL etc. sollte er aber auch auf "normalen" CODESYS-Steuerungen laufen, wenn ich das richtig verstehe. Habe ich aber nicht ausprobiert.

Feedback ist natürlich willkommen.

Cheers,
mattsches



Edit: Danke übrigens noch an das OSCAT-Team für die ganzen wertvollen Bausteine! Mit dem XML_READER, der ganzen IP_...-Infrastruktur und den anderen Wetterbausteinen als Vorlage war das Ganze recht schnell erledigt.



Edit 26.07.17: URL geändert, so dass immer nur fünf Tage abgefragt werden ("&cnt=5") und die Standard-Empfangspuffergröße auch bei Änderung des Standardverhaltens seitens des Anbieters ausreichend bleibt.
« Letzte Änderung: 26. Juli 2017, 18:07:54 von mattsches »

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 188
    • Profil anzeigen
Re: Neuer Wetter-Baustein für openweathermap.org
« Antwort #1 am: 22. Juli 2017, 19:12:19 »
hallo mattsches

du hast aber sicherlich die buffergrosse auch angepasst da der Baustein mit diesen Parametern eigentlich immer über 4096 bytes zurückliefert.

An der Sache war ich ja auch vor Monaten schon dran aber soweit ich mich erinnere habe ich nichts gefunden um die Datenmenge unter 4096 Bytes zu drücken

da ich aber nicht in der lib die buffergroesse deswegen generell erhöhen möchte suche ich da noch einen Kompromiss


wie sieht du die Sache ?


Offline mattsches

  • Full Member
  • ***
  • Beiträge: 165
    • Profil anzeigen
Re: Neuer Wetter-Baustein für openweathermap.org
« Antwort #2 am: 26. Juli 2017, 18:02:59 »
Nein, die Puffergröße steht bei mir unverändert auf 4096. Ich verwende die Abfrage "16 day weather forecast" (http://openweathermap.org/forecast16) von openweathermap.org, die praktischerweise aber standardmäßig nur die Daten für sieben Tage zurückliefert (tagesgranular). Da bekomme ich dann eine Antwort mit ziemlich genau 3300 Zeichen. Mehr oder weniger Tage ließen sich durch Anhängen des Parmaeters &cnt=5 spezifizieren. Das habe ich in meinem Baustein gerade noch angepasst, damit es nicht kracht, wenn der Default mal verändert werden sollte. Ich werde den Eingangspost noch entsprechend aktualisieren mit der aktualisierten Version.

Eine andere, aber durchaus interessante Option wäre die Nutzung des JSON-Formats, das vom Anbieter standardmäßig angeboten wird. Dafür bräuchte es aber erst einmal einen Parser in der OSCAT, was mir vorerst aber zu aufwändig ist.

Offline peewit

  • Moderator
  • *****
  • Beiträge: 2 188
    • Profil anzeigen
Re: Neuer Wetter-Baustein für openweathermap.org
« Antwort #3 am: 26. Juli 2017, 18:26:09 »
ja das wäre gut wenn der baustein mit weniger als 4096 bytes sicher arbeitet.
die anzahl der tage sollten so verkleinert werden das es hier auch nicht durch zufällig lange wettertexte einen crash gibt !

json-reader
daran habe ich schon öfters gedacht.
aber ich weiß noch zu gut wie viel arbeit mir der xml-reader machte und darum habe ich das bis jetzt liegen gelassen....