OSCAT Forum

network.lib => Modulentwicklung => Thema gestartet von: mattsches am 21. Juli 2019, 21:28:09

Titel: Neuer Wetter-Baustein für Weatherbit.io
Beitrag von: mattsches am 21. Juli 2019, 21:28:09
Hallo zusammen,

nachdem openweathermap.org auch für die bestehenden API Keys die tagesgenaue Wettervorhersage abgeschaltet hat, stand ich wieder einmal vor dem Problem, keine Wetterdaten zu bekommen. Yahoo und World Weather sind ja bekanntlich schon länger tot.

Also habe ich mich mal wieder an das Thema gesetzt und einen neuen Baustein geschrieben. Dieses Mal für Weatherbit.io. Dort enthält der kostenlose API-Zugang die tagesgenauen Daten - hoffen wir, dass das so bleibt.

Eine kleine Hürde war die Bereitstellung der Daten durch den Dienst. Weatherbit.io liefert (wie zwischenzeitlich viele andere Dienste auch) die Daten nicht im XML-, sondern im JSON-Format aus. Also musste im selben Zuge noch ein JSON-Parser her.

Zum Wetterbaustein: Die Handhabung ist ähnlich wie bei YAHOO_WEATHER:


Es werden Daten für den aktuellen und die vier folgenden Tage abgerufen. Einheiten sind metrisch + °C; Imperial und Fahrenheit habe ich mir gespart, könnten aber leicht nachgerüstet werden.

Der neue JSON_READER wird vom Weatherbit-Baustein intern genutzt und ist in der angehängten Exportdatei bereits enthalten.

Das Ganze gibt es aktuell für CODESYS V2.3/TwinCAT 2. Eine Portierung auf CODESYS V3.5 ist sehr einfach möglich, eine angepasste Quelle kann ich bei Bedarf gerne nachliefern.

Bitte habt bei Fragen Verständnis, dass ich u. U. nicht sofort antworte. Ich schaue hier nicht unbedingt jeden Tag rein, schon gar nicht bei dem Wetter.  ;D

Viel Spaß!
Titel: Re: Neuer Wetter-Baustein für Weatherbit.io
Beitrag von: Nete am 28. August 2019, 18:43:13
Hallo,

Haben sie diese Portierung auf CODESYS3.5 zur verfügung bitte ?


Danke !
Titel: Re: Neuer Wetter-Baustein für Weatherbit.io
Beitrag von: mattsches am 28. August 2019, 19:56:30
Sorry, bin gerade im Urlaub. Wird noch etwas dauern.
Titel: Re: Neuer Wetter-Baustein für Weatherbit.io
Beitrag von: Nete am 14. September 2019, 16:10:01
Any updates ?

Thanks !
Titel: Re: Neuer Wetter-Baustein für Weatherbit.io
Beitrag von: mattsches am 20. September 2019, 12:49:18
Hier eine Portierung für CODESYS V3.5. Namensräume sind OSCAT_BASIC für die Basic.lib und OSCAT_NETWORK für die Network.lib. Bitte entsprechend einstellen oder halt meine Bausteine anpassen.

Getestet habe ich nicht wirklich (=auf einer Steuerung). Das Programm lässt sich aber fehlerfrei übersetzen, die Bausteine (JSON_READER und WEATHERBIT) sollten so funktionieren.
Titel: Re: Neuer Wetter-Baustein für Weatherbit.io
Beitrag von: vicky am 23. September 2019, 19:54:10
Hallo mattsches,
ich möchte mich bei Deiner Vorarbeit bedanken.
Ich habe Deine Baustein im Einsatz und es funzte sofort alles los.

Was ich euch nicht enthalten wollte:
Ich hab den URL um den Parameter "language" erweitert.
Somit bekommt man die Antwort mit deutschem Text.
Entsprechend im Baustein sieht der Code dann so aus:
Zusätzliche Zeile: URL := CONCAT(URL, '&lang=de');
URL := CONCAT(URL_PREFIX, CITY_ID);
URL := CONCAT(URL, URL_KEY_PREFIX);
URL := CONCAT(URL, API_KEY);
        URL := CONCAT(URL, '&lang=de');

URL_DATA:=STRING_TO_URL(STR:=URL, DEFAULT_PROTOCOL:='', DEFAULT_PATH:='' );


Gruss vicky
Titel: Re: Neuer Wetter-Baustein für Weatherbit.io
Beitrag von: mattsches am 23. September 2019, 20:00:12
Hallo vicky,

schön, dass es funktioniert! Das mit der Sprache ist eine gute Idee. Bei mir war es nicht relevant, da ich mir nur die eigentlichen Wetterdaten aus der Vorhersage ziehe und rein symbolisch anzeige.

Vielleicht noch ein Hinweis an alle (es scheint ja noch nicht allzu viele Nutzer zu geben): Bei mir kommt es sporadisch zu dem Effekt, dass die Vorhersage "um zwei Tage verschoben" erscheint. Dass also im ersten Arrayelement die Daten für übermorgen hängen. Ich konnte den Fehler noch nicht forcieren, habe mir in letzter Zeit allerdings auch keine Zeit für eine genauere Analyse genommen. Kan auch sein, dass das ein Problem in meiner Applikation ist und nicht im Baustein. Aber es wäre schön, wenn hier jemand kurz Rückmeldung geben könnte, ob der Fehler auch anderswo auftritt.

Grüße,
mattsches
Titel: Re: Neuer Wetter-Baustein für Weatherbit.io
Beitrag von: Nete am 29. September 2019, 11:37:32
Zum Wetterbaustein: Die Handhabung ist ähnlich wie bei YAHOO_WEATHER:

  • IP_C, S_BUF, R_BUF und IP_CONTROL-Aufruf wie bei YAHOO_WEATHER beschrieben
  • Start der Abfrage mittels positiver Flanke an ACTIVATE

Where to find more information for the Yahoo weather module ?
I cannot find information or examples for ip_c / s_buf / r_buf / ... variables

Can someone help me ?[/list]


EDIT :
I also cannot get this working with Beckhoff PLC in Twincat 3.
I'm getting over 200 error messages.. (mainly caused by oscat network library)
Titel: Re: Neuer Wetter-Baustein für Weatherbit.io
Beitrag von: mattsches am 29. September 2019, 19:41:18
The YAHOO_WEATHER block is part of the OSCAT_NETWORK lib and is well documented the respective PDF.

There are different versions of the OSCAT_NETWORK lib, one for standard CODESYS and one Beckhoff. I assume that you either included the wrong OSCAT_NETWORK variant in library manager or that the namespace is set to something else than in my example. Both can be fixed in library manager.
Titel: Re: Neuer Wetter-Baustein für Weatherbit.io
Beitrag von: Hgo am 22. Oktober 2022, 17:28:02
Hallo,
funktioniert der Baustein mit dem Anbieter noch? Oder kann man sich die Mühe sparen?

Ich suche eigentlich eine Möglichkeit den PV Ertrag der nächsten Stunden abzuschätzen. Wenn jemand eine besser Idee als die Wettervorhersage hat wäre ich nicht Böse ;)
Titel: Re: Neuer Wetter-Baustein für Weatherbit.io
Beitrag von: mattsches am 24. Oktober 2022, 21:51:04
Der Baustein werkelt bei mir noch ohne Probleme. Weatherbit.io bieten weiterhin einen kostenfreien Zugang an, der für den Baustein auch ausreicht (wenn bzgl. der abrufbaren Daten nichts geändert wurde). Also einfach registrieren, API Key holen und ausprobieren.

Für die PV-Prognose würde ich mir mal http://forecast.solar/ (http://forecast.solar/) anschauen. Dort bekommst du einen tatsächlichen Ertag in kWh für den Folgetag prognostiziert. Wie gut, kann ich nicht beurteilen, habe das (noch) nicht im Einsatz. Die API liefert m. W. eine JSON-Antwort, der Weatherbit-Baustein ließe sich also als Grundlage für eine Abfrage nehmen.
Titel: Re: Neuer Wetter-Baustein für Weatherbit.io
Beitrag von: vicky am 22. Dezember 2022, 20:18:34
Hallo,
ich habe hier gesehen, das der Baustein wohl noch funktionieren sollte.
Bei mir meldet er seit geraumer Zeit den Fehler:
Error_C: 16#0000FF00
Error_t: 16#01


Mein System:
Beckhoff TwinCat 2, CX1010 mit WinXPEmpd

Nachdem ich meine CF-Card neu aufsetzen musste, dachte ich, es liegt an dem fehlendem TCPIP-Server.
Den habe ich nachinstalliert und das brachte leider auch keine Veränderung.
Wenn ich den URL im Browser eingebe, bekomme ich von der API auch eine sinnvolle Antwort.
Also geht mein API-KEY noch.

Weiß jemand, was der Fehlercode bedeutet?
Oder was ich überprüfen könnte?

Danke schon mal im Voraus
Vicky

Titel: Re: Neuer Wetter-Baustein für Weatherbit.io
Beitrag von: stadlaa am 07. September 2023, 16:16:47
Hallo habe exakt gleiches Verahlten wie Vicky, irgenjemand Ideen?
Gruß
Stadler
Titel: Re: Neuer Wetter-Baustein für Weatherbit.io
Beitrag von: pezi179 am 24. März 2024, 21:28:25
Der Beitrag ist zwar schon etwas älter, aber vielleicht ist ja noch jemand auf der Suche nach einer Lösung.

Ich hatte auch genau das gleiche Problem. Einer der verwendeten /aufgerufenen Bausteine zeigte mir den Fehler 1797. Dadurch bin ich dann auf diesen Beitrag gestoßen. Der dort angeführte Workaround hat bei mir funktioniert und ich habe endlich meine Wetterdaten.

http://www.oscat.de/community/index.php?topic=5805.0 (http://www.oscat.de/community/index.php?topic=5805.0)