YAHOO_WEATHER Baustein funktioniert nicht mehr

Begonnen von peewit, 30. März 2016, 20:08:31

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

mortva_Nesreca

#15
Hallo,

Mit der Network 1.30.lib funktioniert es bei mir auch wenn ich sie unverändert benutze.

Wenn ich aber meinen eigenen World-Weather-KEY verwende, kann ich nicht mehr die api.worldweatheronline.com/free/v1 benutzen.
Dann muss ich die V2 nehmen und diese hat viel mehr Daten.

Was dann zu dem im vorherigen Post geschriebenen zu kleinen Network_Buffer und natürlich falschen Daten führt.
Worldweatheronline hat jetzt noch die Vorhersage für alle 3 Stunden für jeden Tag miteingefügt.
Ich habe im Anhang mal die CSV für V2 eingefügt.

Dann hätte es wahrscheinlich auch mit der Network 1.21 HF1 funktioniert. Ich habe immer gleich meinen Key ,die Koordinaten und die URL angepasst.


Vielen Dank für die schnellen Antworten!

[gelöscht durch Administrator]

peewit

hallo


danke für deine information !

den network buffer alggemein hochzu setzen macht auf so manchen kleinen steuerungen ein problem
Speicherbedarf explodiert

mortva_Nesreca

Hallo,

hatte heute Mittag etwas Zeit und habe es auch mit der free/V2 hinbekommen.
Der Buffer muss nicht vergrößert werden wenn in der URL noch '&tp=24' hinzugefügt wird. Dann holt er nicht die Daten für alle 3 Stunden, sondern den Tagesdurchschnitt.
Musste noch die Day- , Cur-Struct  und den World_WeatherFB anpassen. Sind viel mehr Daten in der free/V2.

Kann ich gerne zur Verfügung stellen wenn Interesse besteht.

Ich vermute dass die free/v1 über kurz oder lang abgeschaltet wird. 

peewit

hallo

schön das du dich mit dem problem beschäftigst und anscheinend eine lösung gefunden hast

ideal wäre es wenn du deinen angepassten baustein den anderen anwendern zur verfügung stellen würdest.


mortva_Nesreca

Natürlich!
Die Oscat Libs haben mir soviel Zeit gespart und es mir leichter gemacht, da gebe ich auch gerne wieder etwas zurück!

Im Anhang die drei exportierten Dateien. Einfach in der Lib ersetzen.
Ist mit codesys_network_121_hf1.lib und mit codesys_network_130.lib getestet.

Dies funktioniert nur für neuere Anmeldungen bei World-Weatheronline bei denen die Free/V1 nicht mehr geht.
Mit dem Key in der World_Weather_Demo kann nur auf V1 zugegriffen werden,  bei neueren Anmeldungen nur auf V2.

Ob man schon eine neuere Anmeldung hat kann ganz einfach getestet werden indem man folgende URL in den Browser kopiert und bei Key=xxxxxxx seinen eigenen Key einfügt.

V1
http://api.worldweatheronline.com/free/v1/weather.ashx?q=49.49,13.37&format=csv&num_of_days=5&key=xxxxxxxxxxxxxxxxxxxxx
V2
http://api.worldweatheronline.com/free/v2/weather.ashx?q=49.49,13.37&format=csv&num_of_days=5&tp=24&key=xxxxxxxxxxxxxxxxxx

Wer also noch auf V1 zugreifen kann, kann dies hier getrost ignorieren. http://www.oscat.de/community/Smileys/default/wink.gif

[gelöscht durch Administrator]

hicom

Guten Morgen,
bei mir klappt es leider nicht, wie es aussieht kann man keinen Free account mehr erstellen.
Es resultiert immer in einem Premium 60 Tage account..
Die Abfrage retuniert dann: API key does not have access to the resource.

:-\ :-\

andy_hs-ulm

#21
Hallo,

hab das eben auch probiert. Ich hab noch den V1 - der funktioniert - allerdings würde ich gerne auf V2 umsteigen, bevor V1 abgeschaltet wird.
Wie habt ihr das hinbekommen?
Mir gelingt leider der Umstieg von dem API Key V1 auf V2 nicht. Bei Neuanmeldung wird nur noch ein Trial-Key für 60 Tage angeboten der allerdings nicht mit oben genanntem Link funktioniert.
V2 würde mir mehr Informationsgehalt bieten. Kann ich den V1 Key in einen V2 Key wandeln?

Grüße Andy

[gelöscht durch Administrator]


mortva_Nesreca

Hallo,
Wenn ich das richtig lese auf "developer.worldweatheronline.com/api" bekommt man bei einer Neuanmeldung automatisch eine 60 Tage Premium Probelizenz. Wenn diese 60 Tage rum sind kann man sich entscheiden ob man das Geld für die Premiumlizenz ausgeben will oder bei Free bleibt.
Also einfach die 60 Tage warten. Oder wenn es euch so eilig ist, dann worldweather anschreiben.
Vll können die das umändern.


hicom

Habe mal bei den Yahoo Wetterfröschen nachgefragt, hier die Antwort:  >:(

Hi,
After 60 days Premium API will be disabled.
To continue access you need to upgrade to paid Premium API.
Please visit our Premium API pricing page to send us a upgrade request.
Pricing page: http://www.worldweatheronline.com/api/pricing.aspx

Thanks
World Weather Online Team
w: http://www.worldweatheronline.com/

Paule84

Moin zusammen,

habe den YAHOO_WEATHER Baustein bei mir wieder zum Laufen gebracht.
Das Ganze geht jetzt über eine YQL-Abfrage, die mit in die URL kommt:

http://query.yahooapis.com/v1/public/yql?q=select%20item,wind,atmosphere,astronomy,location%20from%20weather.forecast%20where%20woeid=XXXXXX


Die Beschaltung des Bausteins von aussen bleibt gleich und die URL mit Eurer woeid (Where On Earth ID) wird weiterhin dort gebildet.

Da die generierte XML-Datei jetzt anders aussieht, musste ich die entsprechenden Positionen anpassen.
Als ich die Abfrage um die Einheiten (units) erweitert hatte lieferte mir der Baustein einen Überlauf der HTTP_GET bzw. IP_CONTROL-Instanz.
Als ich die Abfrage in der URL um den Ausdruck für metrische Einheiten " and u='c'" erweitert habe standen in der XML-Datei unplausible Werte für den Luftdruck. Somit habe ich die Abfrage auf Fahrenheit und Meilen gelassen und rechne diese direkt im Baustein um.

Wer also wie ich damit leben kann auf das Auslesen der Einheiten zu verzichten, kann diesen Baustein gerne mal bei sich testen. Bei mir läuft er auf einer Wago 750-880.

By the way:
Die XML-Datei liefert Vorhersagedaten für 10 Tage. Man könnte also die YAHOO_WEATHER_DATA - Struktur noch weiter aufbohren.

Gruß Markus


[gelöscht durch Administrator]

andy_hs-ulm

Hab den Baustein ebenfalls auf einer Wago750-880 eingebunden. Hatte leider noch keinen Erfolg: error_c = 16#0000FE00, error_t= 16#02
:-\

kiar

#27
Der Fehler bedeutet Buffer-Überlauf im Baustein IP_CONTROL - siehe in der oscat_netlib121_de.pdf bei 9.8 IP_CONTROL, Abschnitt ERROR, S.114.
Im Programm YAHOO_WEATHER_DEMO sind zwei Constanten höher gesetzt, probier das mal:


VAR_GLOBAL_CONSTANT
    NETWORK_BUFFER_LONG_SIZE : UINT := 4095;
    NETWORK_BUFFER_SHORT_SIZE : UINT := 1407;
END_VAR


Paule84

Das Problem mit dem Überlauf hatte ich gestern auch wieder.
Wahrscheinlich sind die Forecast-Texte gestern länger gewesen als am Sonntag, so dass es wieder zu einem Überlauf kam...

patrick_811

Danke Leute für den neuen Baustein und den Hinweis mit dem Empfangspuffer.
Habe das Array verlängert und nun funktioniert es wieder tadellos... ;)