OSCAT Forum

network.lib => Modulentwicklung => Thema gestartet von: peewit am 01. Mai 2016, 08:40:24

Titel: Situation Wetter Bausteine
Beitrag von: peewit am 01. Mai 2016, 08:40:24
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.....

Titel: Re: Situation Wetter Bausteine
Beitrag von: kiar am 01. Mai 2016, 09:41:09
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.
Titel: Re: Situation Wetter Bausteine
Beitrag von: peewit am 01. Mai 2016, 14:53:59
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

Titel: Re: Situation Wetter Bausteine
Beitrag von: linsenpago am 17. Mai 2016, 10:52:09
das ist natürlich sehr bitter, dass yahoo, dies geändert hat.

Hast du schon eine Idee bzw. einen Zeithorizont für eine alternative?
Titel: Re: Situation Wetter Bausteine
Beitrag von: peewit am 19. Mai 2016, 07:09:52
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
Titel: Re: Situation Wetter Bausteine
Beitrag von: peewit am 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
Titel: Re: Situation Wetter Bausteine
Beitrag von: bbking am 23. Juli 2016, 17:53:19
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?
Titel: Re: Situation Wetter Bausteine
Beitrag von: peewit am 23. Juli 2016, 18:37:42
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?
Titel: Re: Situation Wetter Bausteine
Beitrag von: bbking am 24. Juli 2016, 11:31:29
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
Titel: Re: Situation Wetter Bausteine
Beitrag von: peewit am 24. Juli 2016, 12:00:58
Die bausteine in der lib sind ausgeblendet.
Vielleicht das deinproblem

Exportiere den baustein aus der lib und importiere diesen in  dein projekt
Titel: Re: Situation Wetter Bausteine
Beitrag von: bbking am 24. Juli 2016, 12:41:43
ah, verstehe!

OK, es haut mit dem Demo hin, dann halte ich mich daran.

Vielen Dank für die Hilfe!
Titel: Re: Situation Wetter Bausteine
Beitrag von: mattsches am 14. Juli 2017, 22:50:13
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ß!
Titel: Re: Situation Wetter Bausteine
Beitrag von: peewit am 15. Juli 2017, 22:42:37
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 ?


Titel: Re: Situation Wetter Bausteine
Beitrag von: mattsches am 18. Juli 2017, 12:59:59
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
Titel: Re: Situation Wetter Bausteine
Beitrag von: david am 28. September 2017, 20:43:36
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]
Titel: Re: Situation Wetter Bausteine
Beitrag von: david am 30. November 2017, 22:01:17
Since this morning, yahoo weather is again not working.
I changed HTTP_GET.MODE from 2 -> 0 (http/1.0) and it works again...

Titel: Re: Situation Wetter Bausteine
Beitrag von: hicom am 02. Dezember 2017, 14:16:11
ich bekomme hier einen Error_C= 65024 und Error_T= 2. Was hat das zu bedeuten?
Die Wetterdaten sind aber korrrekt.

Gruß
Jürgen
Titel: Re: Situation Wetter Bausteine
Beitrag von: peewit am 02. Dezember 2017, 15:33:30
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 !