nischram / E3dcGui

E3DC S10 / HomeMatic Daten abfragen, darstellen oder senden
36 stars 14 forks source link

WetterGui #32

Closed JoWrusch closed 5 years ago

JoWrusch commented 6 years ago

Hallo, unter https://weather.tuxnet24.de/ ist eine neue Wetter API als Nachfolger zum Yahoo-Wetter beschrieben. Lässt sich das als Input für eine Wetteranzeig nutzen? Vielen Dank für die Veröffentlichung des Projekts und die gute Doku Joachim

nischram commented 6 years ago

Hallo Joachim,

danke für den Tipp! Der Dienst ist genau wie vorher wieder erreichbar. Jetzt über https Somit habe ich alle Dateien die für die Wetteranzeige benötig werden wieder angepasst und hochgeladen. Jetzt müssten folgende Dateien neu geladen werden: GuiMain.c screenSave.c screenSaveHM.c define.h funktion.h External/WetterGui.h

In der parameter.h muss der Bereich wieder aktiviert werden, in dem man die Auskommentierung löscht. vorher: //#define weatherID 638242 nachher: #define weatherID 638242

Ach ja un die ID für den Standort anpassen!

Viele Grüße Nico

nischram commented 5 years ago

Funktion läuft ohne Problem, somit schließe ich den Issue.

JoWrusch commented 5 years ago

Hallo Nico, es scheint so, dass yahoo den Wetterservice (endgültig) eingestellt hat. In der bespielhaften Anfrage unter https://weather.tuxnet24.de/?id=638242 gibt es lediglich Dummy- bzw. keine Daten. Unter https://weather.tuxnet24.de/ ist unter 'Neue Wetter API' ein anderer Weg beschrieben. Würde es damit auch gehen? Grüße Joachim

nischram commented 5 years ago

Hallo Joachim, Ich habe mir das mal angesehen, ich denke dass sollte klappen. Da ich noch keinen Openwather Key habe muss ich mich dort erstmal registrieren und dann kann ich das testen. Ich denke man muss in der "External/WetterGui.h" nur auf Zeile 395 den Link anpassen um es zu prüfen.

Code vorher: snprintf(batch, (size_t)256, "curl https://weather.tuxnet24.de/?id=%i", weatherID);

Code Nachher mit fiktiven Key: snprintf(batch, (size_t)256, "curl https://weather.tuxnet24.de/?apikey=12345678910111213141516171819202&id=%i&unit=metric&mode=xml", weatherID);

Wenn sich die Antworten nicht geändert haben sollte es klappen. Damit es einfacher wird, würde ich dann den Key in der prameter.h mit aufnehmen und den Code entsprechend anpassen.

Wenn das schon jemand testen will würde ich mich freuen. Ich melde mich wieder wenn ich es selber Zeit zum testen hatte. Gruß Nico

nischram commented 5 years ago

Hallo Joachim,

es hat etwas gedauert, aber jetzt ist es fertig! Die Ausgaben der API sind geändert worden und ich musste einiges umbauen. Das Einrichten vom Account um einen API-Key zu erhalten ist kostenlos und einfach. Dieser API Key wird nun in der parameter.h benötigt. Auch die Location muss nun angepasst werden, bei OpenWeatherMap aber auch einfach zu ermitteln. Um die Änderungen einzubringen musst du die "GuiMain.c", "screenSave.c", "funktion.h" und alle Bilder aus "Image/Wetter/..." austauschen. Die "parameter.h" würde ich nicht komplett austauschen, sondern nur die Zeilen für die Wetteranzeige anpassen. Ach und im Anschuss muss die Software neu kompiliert werden es würde 'make GuiMain screenSave' reichen, ein komplettes 'make' würde auch gehen (dauert nur länger). Ein Nachteil oder zumindest eine Änderung der neuen Wetterdaten gibt es noch, der Forecast wird anders gezählt. Am Tag wird der Abend und zwei weitere Tage angezeigt und am Abend wird der Forecast für drei Tage angezeigt.

Viele Grüße Nico