Modul für Weather Underground / Wunderground

Begonnen von Loredo, 26 Oktober 2016, 01:31:36

Vorheriges Thema - Nächstes Thema

rabehd

Zitat von: stefanru am 20 August 2024, 00:27:30Weiß jemand ob das 59_Wunderground Modul noch gewartet wird?
Ich nehme 59_Weather.pm mit der wundergroundAPI.
Zum Hochladen zu Wunderground gibt es ein anderes Modul.
Auch funktionierende Lösungen kann man hinterfragen.

stefanru

#451
Hi,

nein es ging mir nicht ums hochladen, das macht die Station selbst.
Es ging mir schon ums beziehen der Daten.
Hatte früher mal das Wunderground Modul verwendet und als es die umstellung auf die neue API gab mir das Modul zurecht gebogen.
Würde aber gern zurück zum Standard.

@CoolTux:
Ich finde das Modul toll und die Option auch Forcast Daten im selben Modul zu beziehen super. Bisher habe ich 2 PMs. Es ist auch sehr aufgeräumt und sauber.
So war es für mich einfach das 59_Weather.pm inkl. Core::Weather und wundergroundAPI.pm anzuschauen und zu verstehen.
Ich will jetzt nicht zu sehr ins Detail gehen, finde es toll das Leute Zeit investieren und respektiere ihre Meinung.

Aber ich hätte da eine Frage, in der API wird schon mit $options .= '&numericPrecision=decimal'; abgefragt. Das sorgt für Nachkommastellen.
Danach wird es aber wieder mit int( ) + 0.5 zurück gerundet.
Ich habe es mal ausprobiert und entferne ich das wandeln zu int bekomme ich die Werte mit Nachkommastellen.
Die Änderung ist simpel und in 5 Minuten gemacht.
Warum bist du dagegen bei Wunderground für die Werte bei denen eine Nachkommastelle Sinn machen könnte diese zurück zu liefern?

Man könnte sich doch überlegen die Option numericPrecision=decimal in der DEF mit angeben zu können.
Ohne bekommt man Werte ohne Nachkomma und muss auch nicht im API Modul runden das übernimmt die Wunderground Schnittstelle.
Mit dem Parameter kommen die Kommawerte.

Spricht etwas dagegen?
Wäre bereit die Zeit zu investieren und das zu ändern, sollte es daran liegen.


Und noch eine Frage, mir ist aufgefallen dass die Forecast Daten im selben intervall wie die realtime Daten geholt werden.
Ich weiß nicht ob das ein Problem ist, aber Forecast Daten bräuchte man nicht so oft aktualisieren.
Könnte man 2 Intervalle anbieten?

Viele Grüße,
Stefan

fireball

Hi Stefan,

meine WS läd auch automatisch nach WU hoch.
Für den Download nutze ich auch 59_Weather.pm mit der WU-API und zusätzlich für lokalen Zugriff 50_HP1000.pm

Beim 50_HP1000.pm bekommst du auch die Nachkommastellen, wie du es wolltest.

VG
René

stefanru

Hi fireball,

danke, leider spricht meine Station nicht Weather Network.
Nur WeatherUnderground und WeatherCloud.

Somit komme ich leider nicht an die lokalen Daten und muss sie aus der Cloud ziehen.
Wie gesagt ich habe die API minimal geändert und bekomme meine Nachkommastellen wie gewünscht.

Die Frage für mich ist warum man es nicht anbietet. Ich sehe keine negativen Auswirkungen und das Modul ist eigentlich darauf ausgelegt.

Viele Grüße,
Stefan

CoolTux

Zitat von: stefanru am 20 August 2024, 22:12:15Hi,

nein es ging mir nicht ums hochladen, das macht die Station selbst.
Es ging mir schon ums beziehen der Daten.
Hatte früher mal das Wunderground Modul verwendet und als es die umstellung auf die neue API gab mir das Modul zurecht gebogen.
Würde aber gern zurück zum Standard.

@CoolTux:
Ich finde das Modul toll und die Option auch Forcast Daten im selben Modul zu beziehen super. Bisher habe ich 2 PMs. Es ist auch sehr aufgeräumt und sauber.
So war es für mich einfach das 59_Weather.pm inkl. Core::Weather und wundergroundAPI.pm anzuschauen und zu verstehen.
Ich will jetzt nicht zu sehr ins Detail gehen, finde es toll das Leute Zeit investieren und respektiere ihre Meinung.

Aber ich hätte da eine Frage, in der API wird schon mit $options .= '&numericPrecision=decimal'; abgefragt. Das sorgt für Nachkommastellen.
Danach wird es aber wieder mit int( ) + 0.5 zurück gerundet.
Ich habe es mal ausprobiert und entferne ich das wandeln zu int bekomme ich die Werte mit Nachkommastellen.
Die Änderung ist simpel und in 5 Minuten gemacht.
Warum bist du dagegen bei Wunderground für die Werte bei denen eine Nachkommastelle Sinn machen könnte diese zurück zu liefern?

Man könnte sich doch überlegen die Option numericPrecision=decimal in der DEF mit angeben zu können.
Ohne bekommt man Werte ohne Nachkomma und muss auch nicht im API Modul runden das übernimmt die Wunderground Schnittstelle.
Mit dem Parameter kommen die Kommawerte.

Spricht etwas dagegen?
Wäre bereit die Zeit zu investieren und das zu ändern, sollte es daran liegen.


Und noch eine Frage, mir ist aufgefallen dass die Forecast Daten im selben intervall wie die realtime Daten geholt werden.
Ich weiß nicht ob das ein Problem ist, aber Forecast Daten bräuchte man nicht so oft aktualisieren.
Könnte man 2 Intervalle anbieten?

Viele Grüße,
Stefan


Hallo Stefan,

Ich bin gerne bereit Änderungen des API Modul es zu übernehmen. Du kannst mir einen Patch auf Basis der aktuellen Version zu kommen lassen.


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

stefanru

Hi CoolTux,

hier das Patch File um die Nachkommastellen einzulesen.
Ich habe es auf eine Nachkommastelle beschränkt mehr macht für mich auch kein Sinn.


Zukunftsmusik:
Eventuell würde ich mir auch noch die Logik für cachemaxage und Forecast anschauen, laut Doku:
cachemaxage:<cachemaxage> Zeitdauer in Sekunden, innerhalb derer die Wettervorhersage nicht neu abgerufen sondern aus dem Cache zurück geliefert wird.

Ich hatte das Gefühl und lese es auch so im Coding, dass sich cachemaxage auch auf die aktuellen Werte (v2/pws/observations/current?) auswirkt.
Das ist so nicht beschrieben und sicher auch nicht gewünscht.
Über diesen Parameter hätte man dann die Möglichkeit das Abfrage Intervall von aktuellen und Forecast Daten auseinander zu steuern.
Ist für mich aber erstmal zweitrangig da ich Forecast über ein eigenes Modul abwickle.

Danke dir und Gruß,
Stefan

stefanru

Hi CoolTux,

habe mir das Modul noch weiter angeschaut da meine API Calls aufgebraucht wurden. (Man hat 1500 pro Tag, als so ca. jede Minute einen).
Mir ist aufgefallen, dass die Wunderground API obwohl man Foracast nicht setzt 2 (laut meiner Beobachtung sogar 3) Abfragen mit jedem Intervall macht.
Laut Coding Fragt sie jedes mal observations (aktuelles Wetter) und Forcast ab, ob gesetzt oder nicht.
Nur die Auswertung wird mit dem Schalter gesteuert.

Habe schon versucht das Coding zu verstehen und die Forecast Abfrage abzuklemmen.
Komme da aber irgendwie nicht weiter.

Sobald ich den call in Zeile 272 "::HttpUtils_NonblockingGet($paramRef); " rausnehme geht garnichts mehr?
Könntest du mir da vielleicht kurz auf die Sprünge helfen?

Wenn ich das verstehe wäre ich bereit das Modul noch etwas anzupassen, so dass immer nur die nötigen API Calls fürs ein Ergebnis gemacht werden.

Vielen Dank und Gruß,
Stefan

CoolTux

Zitat von: stefanru am 24 August 2024, 12:29:18Hi CoolTux,

habe mir das Modul noch weiter angeschaut da meine API Calls aufgebraucht wurden. (Man hat 1500 pro Tag, als so ca. jede Minute einen).
Mir ist aufgefallen, dass die Wunderground API obwohl man Foracast nicht setzt 2 (laut meiner Beobachtung sogar 3) Abfragen mit jedem Intervall macht.
Laut Coding Fragt sie jedes mal observations (aktuelles Wetter) und Forcast ab, ob gesetzt oder nicht.
Nur die Auswertung wird mit dem Schalter gesteuert.

Habe schon versucht das Coding zu verstehen und die Forecast Abfrage abzuklemmen.
Komme da aber irgendwie nicht weiter.

Sobald ich den call in Zeile 272 "::HttpUtils_NonblockingGet($paramRef); " rausnehme geht garnichts mehr?
Könntest du mir da vielleicht kurz auf die Sprünge helfen?

Wenn ich das verstehe wäre ich bereit das Modul noch etwas anzupassen, so dass immer nur die nötigen API Calls fürs ein Ergebnis gemacht werden.

Vielen Dank und Gruß,
Stefan

Anscheinend werden hier mehrere Aufrufe in einem Durchlauf gemacht. Anscheidend hier ist der angegebene callback =>

einmal "sub _RetrieveDataFromPWS" und einmal "sub _RetrieveDataFinished"
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

stefanru

Hi,

danke CoolTux.
Mein Diff File hattest du gesehen?

Ja das mit den Callbacks hatte ich gesehen, aber verstehe es wohl nicht richtig.
Zumindest schaffe ich es nicht nur den PWS Teil zu machen ohne den Teil für den Forecast.
Sobald ich den Forecast Teil ab Zeile 264 rausnehme geht nichts mehr.

Ich muss mir da wohl mal mehr Zeit nehmen und ein paar Debug Ausgaben reinschreiben.

Vielen Dank,
Stefan

Persuasiv

Bin zwischenzeitlich auf Kubuntu 24.04 umgestiegen und jetzt meldet er:

"Cannot load module Weather"

ZitatHinweis: es wird das Perl-Modul JSON benötigt. Mit apt-get install libjson-perl kann es unter Debian und Derivaten installiert werden.

Das habe ich schon installiert. Muss man unter 24.04 noch etwas anderes installieren?

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

Persuasiv

Im Log wird kein Fehler abgelegt. Ich würde vermuten, dass es mit Perl zusammenhängt. Vor dem Update (22.04) ging es ...

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


CoolTux

Melde dich per SSH auf fhem Server an und mache ein tail -f auf das Logfile unter fhem/log/ und dann starte fhem neu. Da sollte dann stehen wieso das laden fehl schlägt
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