59_Weather: neuer Provider gesucht / Mitstreiter für Neuentwicklung gesucht

Begonnen von Dr. Boris Neubert, 26 März 2016, 09:59:01

Vorheriges Thema - Nächstes Thema

Dr. Boris Neubert

Hallo,

heute morgen wollte ich auf meinem Display im Wohnzimmer nachsehen, wie das Wetter an Ostern ist. Daraufhin habe ich beschlossen, dass wir uns von Yahoo-Wetter verabschieden.

Ich möchte gerne dem hier im Forum vorgebrachten Vorschlag folgen, das Weather-Modul plug-in-fähig zu machen. Ziel ist es, weiter die bestehenden Readings anzubieten inklusive der Icons.

Ich würde 59_Weather.pm überarbeiten. Ich suche Mitstreiter, die Plugins (Perl-Module) bereitstellen, z.B. für Proplanta oder Wetter.com. In einem separaten Thread vereinbaren wir dann ein simples API für die Plugins, z.B. eine Funktion, die die Wettervorhersage als Array von Hashes bereit stellt.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

betateilchen

Für deutsche Vorhersagegebiete sind die Daten des DWD bereits weitgehend gekapselt und WeatherAsHtml-kompatibel im GDS Modul implementiert (von einem anderen Entwickler zugeliefert) damit könnte man vielleich anfangen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Markus Bloch

Klingt interessant. Würde ich mich beteiligen.

Ich würde vorschlagen den Maintainer von Twilight mit einzubinden da dort auch Yahoo verwendet wird. Evtl. sollte man das mit weather verheiraten, damit dort keine doppelte Pflege notwendig ist.

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

CoolTux

Wenn ich das richtig gesehen habe hat Dietmar gestern Abend schon auf die neuen Umstände reagiert und Anpassungen in Form von ignorieren in Twilight eingebaut wenn keine Daten von Yahoo kommen.

Boris, ich würde gerne versuchen den API Key als Bypasslösung auf die Schnelle ins Weather Modul mit ein zu bauen. Ich brauche es leider. Wäre das ok oder hast du eine andere Idee für eine schnelle kurzfristige Lösung?


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Dr. Boris Neubert

Zitat von: CoolTux am 26 März 2016, 12:51:59
Boris, ich würde gerne versuchen den API Key als Bypasslösung auf die Schnelle ins Weather Modul mit ein zu bauen. Ich brauche es leider. Wäre das ok oder hast du eine andere Idee für eine schnelle kurzfristige Lösung?

Was meinst Du mit API Key?
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

CoolTux

Wenn ich das richtig verstanden habe wurde die API welche bis zum 15.3 Public war auf O-Auth umgestellt. Hierfür kann man einen App API Key beantragen. Ich habe mir mal einen von einen User geborgt und wollte das mal testen.


Grüße
Leon
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Dr. Boris Neubert

Ah, ich sehe: https://developer.yahoo.com/weather/

Sehr gerne. Wenn es klappt, besorge ich mir bzw. dem FHEM-Projekt einen eigenen API-Key.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

herrmannj

Bin auch dabei. Ich bin verfechter von wu. Ist aber etwas tricky. Wu bietet die api eigentlich als bezahlten dienst an. Gleichzeitig gibt es kostenlose developer keys. Nun bin ich mir nicht sicher was passiert wenn alle loslaufen und sich developer keys holen....

Vg
Joerg

Markus Bloch

Ich glaube diese API Key-Geschichte ist nochmal ein eigenes Thema. Ich habe für klicktel.de, search.ch und weiter Telefonbuchanbieter bei FB_CALLMONITOR ebenfalls eigene FHEM API Keys.

Da sollte man nochmal getrennt schauen, wie man sowas handeln sollte. Ist nicht immer rechtlich ganz klar, ob die Applikation selber einen Key braucht, oder jeder enduser einen eigenen benötigt.

Gruß

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

CoolTux

Mittlerweile habe ich Code welcher ohne API Key geht. Muss nur mal etwas kontrolliert werden

Datei 59_Weather.pm
Zeile 288

my $url = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20=%27". $location ."%27%20and%20u=%27". $units. "%27&format=xml&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys";


Datei 59_Twilight
Zeile 362

url        => "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%20=%27". $location ."%27%20and%20u=%27c%27&format=xml&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys",




Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Dr. Boris Neubert

Sehr gut. Das funktioniert.

Nur die Einheiten sind US:

<yweather:units xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" distance="mi" pressure="in" speed="mph" temperature="F"/>

Wind, Visibility und Pressure werden abgerufen aber vom Modul nicht ausgewertet. Da scheint sich das Format geändert zu haben.

Das lässt sich alles reparieren.

Vielleicht stelle ich dann auch gleich noch auf JSON um.

Wollte an Ostern eigentlich was anderes programmieren  :(

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

CoolTux

Meine oben genannte URL sollte eigentlich deutsche Einheiten nehmen. Seltsam. Ich kann es leider nur im Browser testen, Dank https muss ich erstmal meinen Proxy konfigurieren.
Denke aber auch das es sich alles reparieren lässt. JSON wäre natürlich leichter zu händeln.

Aber erstmal ist Familie und Ostern.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Dr. Boris Neubert

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Dr. Boris Neubert

So. Anbei die neue Version mit der Bitte um Test.

Ich habe das YahooWeatherAPI.pm ausgelagert. Vielleicht können sich dann das Twilight-Modul und das Weather-Modul den Code teilen.

Es basiert auf dem JSON-API. Das ist viel einfacher als XML von Hand parsen.

Ich habe herausgefunden, wie man um metrische Einheiten bittet. Aber das API hat noch Bugs, da dennoch die gefühlte Temperatur wind_chill in °Fahrenheit und pressure in inHg geliefert werden. Dafür habe ich einen Workaround eingebaut.

Ich habe dann auch gleich die Timer-Verwaltung nach dem Vorbild von Calendar rationalisiert. Der Timer läuft jetzt erst nach dem Abschluss der FHEM-Initialisierung los.

Dazu auch noch den Code entschlackt - Frühjahrsputz erledigt!

Viel Spaß! Bei mir zeigt er schon wieder das Wetter. Nur schön ist es leider nicht.

Gute Nacht
Boris



Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!