YAHOO WEATHER
YAHOO hat die API auf ein neues verfahren mit oauth authorisierung umgestellt
das heisst die ursprüngliche Lösung funktioniert nicht mehr
für einige tage konnten wir mit einer alternative Lösung noch weiter arbeiten
diese wurde nun auch daktiviert
Status: Momentan gibt es keinen funktionierenden YAHOO-WEATHER Baustein
------
WORLD WEATHER
Es werden keine kostenlosen API-KEY mehr vergeben (auch wenn die Homepage etwas anderes vermittelt)
Alte und bestehende V1-Key funktionieren immer noch und bleiben es auch weiterhin
ansonsten kann nur mehr ein v2 premium key gekauft werden (60 Tage Testzeit)
World weather schafft es nicht eine ordentliche information auf der homepage zu platzieren und geht denn weg über facebook
https://www.facebook.com/notes/world-weather-online/announcement/988897417853614
Lösung:
in der network.lib ist das world-weather demo programm das einen v1-key benutzt
den rest könnte ihr euch selber zusammenreimen
Langfristig werde ich mich um alternativen umsehen
es wird aber dauern.....
Die Zugriffe mit dem key aus der world-weather-demo scheinen ebenfalls begrenzt zu sein.
Wer damit jetzt testet, sollte sich nicht wundern, wenn der Baustein nicht funktioniert.
Mittlerweile wird die Abfrage bereits ab Mittag blockiert.
pro key sind 250 aufrufe pro tag möglich
es werden schon "einige" user den demo key einfach so verwenden
dazu noch welche die unnötig oft pro tag eine abfrage machen
und die die jetzt ausprobieren ob der key eh noch geht
das ist natürlich sehr bitter, dass yahoo, dies geändert hat.
Hast du schon eine Idee bzw. einen Zeithorizont für eine alternative?
hier gibt es schon alternative anpassungen damit man wieder yahoo weather nutzen kann
http://www.oscat.de/community/index.php/topic,2504.msg13135.html#msg13135
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
Zitat von: peewit in 16. Juni 2016, 13:14:23
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 zusammen,
ich habe soeben zum ersten Mal Oscat verwendet und bin auf die upgedatete Yahoo-Wetter-FB gestoßen. Ich bringe es leider nicht zum Laufen, bekomme die Fehlermeldung #FD000000, also Verbindung von Remote beendet.
Anbei mein Code:
PROGRAM Weather
VAR
YAHOO_WEATHER :YAHOO_WEATHER;
IP_C : IP_C;
S_BUF : NETWORK_BUFFER;
R_BUF : NETWORK_BUFFER;
YW : YAHOO_WEATHER_DATA;
IP_CONTROL : IP_CONTROL;
YAHOO_WEATHER_DESC_GE : YAHOO_WEATHER_DESC_GE;
tbTimer : TON;
bYWbusy : BOOL;
bYWdone : BOOL;
dwERROR_C : DWORD;
END_VAR
IP_CONTROL(
IP:= IP4_DECODE('192.168.001.014'),
PORT:= ,
TIME_OUT:=t#5000ms ,
IP_C:=IP_C ,
S_BUF:=S_BUF ,
R_BUF:=R_BUF );
tbTimer(PT:=t#4h,in:=TRUE);
IF tbTimer.Q THEN
tbTimer(IN:=FALSE);
END_IF
YAHOO_WEATHER(
ACTIVATE:=tbTimer.IN ,
UNITS:=FALSE ,
LOCATION:= '551801',
IP_C:= IP_C,
S_BUF:=S_BUF ,
R_BUF:=R_BUF ,
YW:=YW ,
BUSY=> bYWbusy,
DONE=> bYWdone,
ERROR_C=> dwERROR_C,
ERROR_T=> byERROR_T);
YAHOO_WEATHER_DESC_GE(ACTIVATE:=NOT YAHOO_WEATHER.BUSY , YW:= YW);
Zum einen bin ich nicht sicher, ob in IP_CONTROL die IP-Adresse der SPS hingehört (also 192.168.1.14), auf der das Programm läuft?
In ERROR_T steht 0x01 -> wenn ich die Doku richtig lesen, sollte das bedeuten folgendes bedeuten: "SocketUdpCreate nicht erfolgreich ausgeführt"
Steuerung: derzeit Laptop mit TwinCAT 2.11, später ein CX9010, die TcIp.lib ist installiert und eingebunden
Habt Ihr vielleicht einen Tipp für mich?
In der bibliothek selber gibt es einen ordner "demo"
Dort gibt es auch ein demoprogramm des yahoo wetter bausteines
probiere das mal vorher aus
ist auf der beckhoff sps auch der tcp connection server installiert?
vielleicht bin ich zu dämlich, aber wenn ich statt meinem Programm nur "YAHOO_WEATHER_DEMO();" einfüge, sehe ich im Online-Modus gar nichts vom Unterprogramm. Muss man noch vorher irgendwas initialisieren oder sollte der Aufruf reichen?
TS6310-TCP-IP.exe war installiert, soeben aber noch einmal installiert.
SG
Die bausteine in der lib sind ausgeblendet.
Vielleicht das deinproblem
Exportiere den baustein aus der lib und importiere diesen in dein projekt
ah, verstehe!
OK, es haut mit dem Demo hin, dann halte ich mich daran.
Vielen Dank für die Hilfe!
Wer nach einer Alternative sucht, ich habe einen Baustein für openweathermap.org geschrieben.
Siehe hier: http://www.oscat.de/community/index.php/topic,2697.0.html (http://www.oscat.de/community/index.php/topic,2697.0.html)
Viel Spaß!
hallo mattsches
vielen dank für den openweather baustein
leider gibt es nicht viele leute die auch solche bausteine schreiben können (willkommen im club !)
werde mir den mal bei gelegenheit anschauen und wahrscheinlich auch bei zeiten (wenn ich zeit habe) in network lib mit aufnehmen.
(also auch den pcworx clone umsetzen)
kannst du auch den dazu passenden bausteine machen so ich sie für YAHOO_WEATHER und WORLD_WEATHER gemacht habe
die bausteine
OPEN_WEATHER_DESC_DE
OPEN_WEATHER_ICON_OSCAT
Die doku aller neuen Bausteine machen ich gleich selber da musst du nichts beisteuern.
hast du lust mehr oder öfters was für oscat bei zusteuern ?
Hi Peewit,
so kompliziert fand ich das gar nicht - nachdem ich geblickt hatte, dass ich mit dem XML_READER gleichzeitig (=in demselben Zyklus) Tag, Attribut und dessen Wert abfragen kann. Denn im Prinzip ist der Baustein eine billige Kopie des Yahoo-Bausteins mit angepasster URL-Aufbereitung und XML-Auswertung.
Wegen der .._DESC und .._ICON-Bausteine: Ja, kann ich bei Gelegenheit mal machen. Nachdem meine akute Not gelindert ist (WorldWeather tat nicht mehr), kann das aber ein paar Tage dauern.
Ich habe übrigens an anderer Stelle meine Überarbeitung der BLIND_..-Bausteine veröffentlicht. Winkeleinstellung in ° (statt größenlos 0..255), Berücksichtigung des horizontalen Sonnenwinkels für den Lamellenwinkel und noch ein paar andere Dinge. Falls Dich das interessiert, siehe hier: http://www.oscat.de/community/index.php/topic,2143.msg11119.html#msg11119 (http://www.oscat.de/community/index.php/topic,2143.msg11119.html#msg11119)
Viele Grüße,
mattsches
Again, Yahoo Weather is not working correct any more. Since the last modification, the request was split in 2 parts. Since 1 september, part 2 is about 4500 bytes, giving a network buffer overflow.
I've split it up in 3 parts (pcworx export attached)
Teil 1: http://query.yahooapis.com/v1/public/yql?q=select%20units,wind,atmosphere,astronomy,location%20from%20weather.forecast%20where%20woeid=551801%20and%20u=%27c%27
Teil 2: http://query.yahooapis.com/v1/public/yql?q=select%20item.lat,item.long,item.condition%20from%20weather.forecast%20where%20woeid=551801%20and%20u=%27c%
Teil 3: http://query.yahooapis.com/v1/public/yql?q=select%20item.forecast%20from%20weather.forecast%20where%20woeid=551801%20and%20u=%27c%27
[gelöscht durch Administrator]
Since this morning, yahoo weather is again not working.
I changed HTTP_GET.MODE from 2 -> 0 (http/1.0) and it works again...
ich bekomme hier einen Error_C= 65024 und Error_T= 2. Was hat das zu bedeuten?
Die Wetterdaten sind aber korrrekt.
Gruß
Jürgen
65024 = 0x0000FE00
Das bedeutet das beim Datenempfangen der empfangsbuffer zu klein war
Es sind also mehr Daten vorhanden als was in den buffer passen, dieser ist standardmäßig 4096 bytes
Möglicherweise fehlen dir dann nur ein paar bytes die aber keine relevanten wetterdaten mehr enthalten und somit fehlt dir nichts
was dir auffallen würde
wenn du es aber sauber lösen willst dann musst du in der network.lib die default buffergroesse etwas erhöhen sodass der fehler nicht mehr auftritt !