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]
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).
Endschuldingen, wie soll man öffnen oder importieren den .exp file in codesys?
Danke
Projekt importiren...
danke
Hallo peewit
Dein geänderter YahooWetter Baustein funktioniert tiptop (Beckhoff CP6606). Vielen Dank.
Gruss Tinu
Super - alles wieder gut Danke!
Jürgen
Wollte schon gerade was schreiben... Super, vielen Dank, jetzt ist alles wieder schick!!!! :)
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
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
Hallo peewit,
Deine letzte Anpassung funktioniert bei mir seit Mittwoch oder Donnerstag nicht mehr.
Yahoo hat Dein "Baby" wieder ins Koma geschickt.
Schade.
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!
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.
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.
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...
Zitat von: mortva_Nesreca in 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.
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]
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]
hallo
danke für deine information !
den network buffer alggemein hochzu setzen macht auf so manchen kleinen steuerungen ein problem
Speicherbedarf explodiert
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.
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.
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]
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.
:-\ :-\
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]
http://www.oscat.de/community/index.php/topic,2504.msg13038.html#msg13038
siehe geänderte bausteine
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.
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/
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]
Hab den Baustein ebenfalls auf einer Wago750-880 eingebunden. Hatte leider noch keinen Erfolg: error_c = 16#0000FE00, error_t= 16#02
:-\
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
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...
Danke Leute für den neuen Baustein und den Hinweis mit dem Empfangspuffer.
Habe das Array verlängert und nun funktioniert es wieder tadellos... ;)
Moin,
wo genau habt ihr den Puffer angepasst?
In der Bibliothek oder im Programm selbst?
Gruß Markus
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! ::)
Danke! Jetzt funktioniert es bei mir auch wieder!
Gruß Markus
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
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
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?
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 !
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
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
yahoo_weather baustein sollte nun wieder funktionieren !
http://www.oscat.de/community/index.php/topic,2546.msg13867.html#msg13867