OSCAT Forum

network.lib => Modulentwicklung => Thema gestartet von: peewit am 30. März 2016, 20:08:31

Titel: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: peewit am 30. März 2016, 20:08:31
hallo

an alle wetterfrösche die den yahoo_weather baustein jahrelang problemlos verwendet haben

yahoo hat an der api schnittstelle herumgeschraubt und die alte schnittstelle abgedreht.
es gibt neue schnittstellen mit oauth auhorisierung das ist aber für uns keine lösung

ich konnte einen alternativen zugang finden und habe den baustein für die codesys und twincat anwender gleich mal angepasst

nehmt diesen baustein und ersetzt ihn in der oscat network bibliothek


viel spass mit dem wiederbelebten wetterbaustein


YAHOO_WEATHER.EXP  (Codesys + TwinCat)
YAHOO_WEATHER.ST    (MULTIPROG / PCWORX)


gruss peewit


[gelöscht durch Administrator]
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: Feldbus am 31. März 2016, 08:07:20
Perfekt, geht wieder, nicht schlecht, also danke.  ;)
Getestet mit CX8090 Image TC Version 2249 TC2.11, falls es von Interesse ist.
Bye the way das TCP/IP Supplement ist bereits auf dem CX8090 vorsinstalliert, man kann also die OSCAT Networklib einfach so nutzen ohne das man noch was installieren muss (falls noch nicht bekannt).
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: dar am 31. März 2016, 09:22:49
Endschuldingen, wie soll man öffnen oder importieren den .exp file in codesys?

Danke
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: dar am 31. März 2016, 09:40:41
Projekt importiren...

danke
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: Tinu am 03. April 2016, 12:01:35
Hallo peewit

Dein geänderter YahooWetter Baustein funktioniert tiptop (Beckhoff CP6606). Vielen Dank.

Gruss Tinu
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: hicom am 04. April 2016, 17:29:32
Super - alles wieder gut Danke!

Jürgen
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: reinesve am 05. April 2016, 21:56:47
Wollte schon gerade was schreiben... Super, vielen Dank, jetzt ist alles wieder schick!!!! :)
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: mortva_Nesreca am 17. April 2016, 15:08:51
Hallo,

leider funktioniert es bei mir auch mit der angepassten Lib nicht.
Sporadisch wird es ohne Fehler ausgeführt und manchmal kommt Fehler 252 bzw. 16#000000FC    und error_t= 16#02
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: peewit am 17. April 2016, 19:05:25
Hat es früher fehlerfrei funktioniert ?
Kannst du einen wireshark datenmitschnitt machen.

Da es bei allen anderen läuft duerftecesc bei dir ein lokalen Problem sein
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: kiar am 17. April 2016, 20:00:14
Hallo peewit,
Deine letzte Anpassung funktioniert bei mir seit Mittwoch oder Donnerstag nicht mehr.
Yahoo hat Dein "Baby" wieder ins Koma geschickt.
Schade.
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: dar am 17. April 2016, 21:40:12
Wenn man zb. http://xml.weather.yahoo.com/forecastrss?p=94089&u=c in internet ekplorer schreibt bokommt man:

     Could Not Connect

     Description: Could not connect to the requested server host.

Also es functionirt leider nich mehr!
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: mortva_Nesreca am 18. April 2016, 07:01:15
Ich habe den Yahoo weither fb erst letzten Sonntag eingebunden. Hat zuerst auch gut funktioniert. Irgendwann diese Woche fiel mir auf das er die Wetterdaten nicht mehr aktualisiert. Wann dann das genau war kann ich nicht sagen. Vll Mittwoch wie kiar schreibt.
Ich habe daraufhin in mein Projekt eingefügt dass er mir im Fehlerfall die wetterdaten löscht bzw. Den Wettercode 3200 schreibt.
Nach dem laden der Steuerung hat er sich wieder Daten geholt. Aber irgendwann war es wieder soweit. Bis Sonntag konnte man ihn mit einem Reset im Codesys wieder zum funktionieren bewegen, jetzt geht es garnicht mehr.
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: mortva_Nesreca am 18. April 2016, 17:25:28
World weather funktioniert auch nicht. Wenn uch die Fehlermeldung richtig interpretiert habe ist der Buffer zu klein bzw. Die csv zu groß. Wenn ich den buffer grösser mache führt er zwar ohne Fehlermeldung aus, schreibt aber schwachsinnige werte ins ww- array.

Scheinbar hat worldweatheronline die csv geändert.
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: peewit am 18. April 2016, 22:17:41
sieht so aus als ob yahoo auch diese letzte hintertür dicht gemacht hat

eine lösung wird nun wieder länger dauern oder gar nicht mehr .....


yahoo

sieht so aus als yahoo nun alle systeme runterfährt zur vollständigen selbstauflösung und zerstörung
ja nur weiter so........
yahoo weather war seit langem das einzige was mich an den namen yahoo erinnerte...

Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: peewit am 18. April 2016, 22:18:43
World weather funktioniert auch nicht. Wenn uch die Fehlermeldung richtig interpretiert habe ist der Buffer zu klein bzw. Die csv zu groß. Wenn ich den buffer grösser mache führt er zwar ohne Fehlermeldung aus, schreibt aber schwachsinnige werte ins ww- array.

Scheinbar hat worldweatheronline die csv geändert.

dein problem mit world weather kann ich nicht nach vollziehen
bei mir funktioniert es zum aktuell ohne problem !

siehe bild im anhang



[gelöscht durch Administrator]
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: mortva_Nesreca am 19. April 2016, 08:25:12
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]
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: peewit am 19. April 2016, 10:38:37
hallo


danke für deine information !

den network buffer alggemein hochzu setzen macht auf so manchen kleinen steuerungen ein problem
Speicherbedarf explodiert
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: mortva_Nesreca am 19. April 2016, 23:00:46
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. 
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: peewit am 20. April 2016, 07:50:04
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.

Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: mortva_Nesreca am 20. April 2016, 12:41:55
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]
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: hicom am 24. April 2016, 11:07:43
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.

 :-\ :-\
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: andy_hs-ulm am 24. April 2016, 14:48: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(http://)

[gelöscht durch Administrator]
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: peewit am 25. April 2016, 15:50:58
http://www.oscat.de/community/index.php/topic,2504.msg13038.html#msg13038

siehe geänderte bausteine
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: mortva_Nesreca am 26. April 2016, 09:16:03
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.

Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: hicom am 28. April 2016, 13:21:08
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/
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: Paule84 am 01. Mai 2016, 15:06:21
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]
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: andy_hs-ulm am 03. Mai 2016, 22:39:47
Hab den Baustein ebenfalls auf einer Wago750-880 eingebunden. Hatte leider noch keinen Erfolg: error_c = 16#0000FE00, error_t= 16#02
 :-\
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: kiar am 04. Mai 2016, 06:50:23
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
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: Paule84 am 04. Mai 2016, 09:45:01
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...
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: patrick_811 am 08. Mai 2016, 11:37:41
Danke Leute für den neuen Baustein und den Hinweis mit dem Empfangspuffer.
Habe das Array verlängert und nun funktioniert es wieder tadellos... ;)
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: Paule84 am 09. Mai 2016, 13:11:44
Moin,

wo genau habt ihr den Puffer angepasst?
In der Bibliothek oder im Programm selbst?

Gruß Markus
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: andy_hs-ulm am 12. Mai 2016, 22:14:36
Hi,
ich hab das eben auch probiert.
Die Variablen müssen global als konstanten deklariert werden. Somit werden die Variablen in der Bibliothek überschattet und unwirksam.

Var_global constant
(* Yahoo-Wetter *)
NETWORK_BUFFER_LONG_SIZE : UINT := 4095;
NETWORK_BUFFER_SHORT_SIZE : UINT := 1407;
End_var

Ergebnis: Daten empfangen! ::)
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: Paule84 am 16. Mai 2016, 19:16:09
Danke! Jetzt funktioniert es bei mir auch wieder!

Gruß Markus
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: linsenpago am 20. Mai 2016, 14:26:58
hi!
Super, dass ihr euch dem Problem mit dem Yahoo Wetter angenommen habt.

Ich habe versucht den neuen FB bei mir einzubauen und den puffer zu erhöhen, ich bekomme aber leider immer noch eine Fehlermeldung:

Error_C= 65024
Error_T= 2

Leider verstehe ich diese Fehlertabelle in der Doku nicht wirklich, darum hoffe ich von euch kann mir jemand hier weiterhelfen.

Danke u. LG
Alex
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: peewit am 20. Mai 2016, 16:42:59
65024 als hex dword ergibt 0x0000FD00

1. Byte connect
2. Byte send
3.  Byte receive
4. Byte applikationsfehler

Da im 3 byte (receive) der wert FD steht bedeutet es das der empfangsbuffer uebergelaufen ist
So wie es aussieht ist dein empfangsbuffer immer noch zu klein
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: andy_hs-ulm am 24. Mai 2016, 09:21:08
Die Empfangsdaten sind anscheinend immer unterschiedlich lang. Mal reicht der Empfangsbuffer, ein ander mal reicht er nicht. Was ist den bei einer Wago 880 an Empfangsbuffer noch tragbar? Von welchen Faktoren hängt das denn ab, von der Größe des Quellcodes?
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: peewit am 24. Mai 2016, 18:40:55

das du den empfangsbuffer groesser machst in nicht direkt gleich ein problem

du musst nur berücksichtigen das deine änderung global wirkt

wenn du z.b. von 4096 auf 8192 erhöhst dann ist alleine beim yahoo weather baustein
von 2x 4096 auf 2x 8192 bytes erhöht

und alle sonstiges anwendungen die mit ip_control arbeiten haben den gleichen effekt !

Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: peewit am 16. Juni 2016, 13:13:59
Hallo

ich habe den yahoo-weather baustein komplett überarbeitet und ist nun wieder vollständig nutzbar
vorteil ist das man den network_buffer nicht vergroessern muss
und nun ganze 9 tage wwetter-forecast vorhanden ist

viel spass damit

http://www.oscat.de/community/index.php/topic,2546.0.html
Titel: Re: YAHOO_WEATHER Baustein funktioniert nicht mehr
Beitrag von: peewit am 10. Januar 2017, 23:01:17
hallo  an alle YAHOO_WEATHER Baustein Nutzer

Man merkt das YAHOO bald zu sperrt und das sie gerade verkauft wurden
ES dürften auch alle Programmierer gerade weglaufen....

Leider funktioniert die API-Schnittstelle schon wieder so gut wie gar nicht

Folgende URL werden benutzt um an die Daten zu kommen
Wenn man diese Links im Browser mehrmals hintereinander abfragt dann bekommt man meistens keine sinnvollen Daten zurück
Reiner Zufall momentan

Auch die Antwort-Telegramme brauchen oft mehr als 5 Sekunden
(Eventuell Anpassung des TIMEOUT-PARAMETER am IP_CONTROL notwendig das hier im demoprogramm 5sekunden angegeben sind)

Ich warte mal ab und hoffe das YAHOO diesen Schrott wieder repariert ....


http://query.yahooapis.com/v1/public/yql?q=select%20units,wind,atmosphere,astronomy,location%20from%20weather.forecast%20where%20woeid=551801%20AND%20u=%27c%27

http://query.yahooapis.com/v1/public/yql?q=select%20item%20from%20weather.forecast%20where%20woeid=551801%20and%20u=%27c%27

Titel: Re: YAHOO_WEATHER Baustein
Beitrag von: peewit am 22. April 2017, 19:32:54
yahoo_weather baustein sollte nun wieder funktionieren !

http://www.oscat.de/community/index.php/topic,2546.msg13867.html#msg13867