# Wetterdaten in die Steuerung



## wolfi-sps (14 Juni 2015)

Hallo zusammen,


hat schon jemand mal die Wetterdaten aus dem Internet in die Steuerung geladen ?
In den FAQ ist was beschrieben - aber für S7.

Wolfgang


----------



## emilio20 (14 Juni 2015)

Hallo
hier gibt es ein VB script
http://www.sps-forum.de/faq/71438-wetterdaten-die-automatisierungswelt-impotieren.html


----------



## wolfi-sps (14 Juni 2015)

Hallo emilio20

Schau ich mir mal an.

Danke


----------



## .:WAGOsupport:. (15 Juni 2015)

Hallo wolfi-sps,

es besteht die Möglichkeit sich einen Account bei „World Weather Online“ anzulegen.

http://www.worldweatheronline.com/api/

Im Anschluss können mit dem Anwendungshinweis für die WagoLibHttp_02.lib und dem darin enthaltenen Beispielprojekt „Example_02 - GET – WorldWeather“ die Wetterdaten für eine beliebige Stadt angefordert werden.
Der Link zum entsprechenden Anwendungshinweis findest Du im Folgenden:

http://www.wago.de/suche/index.jsp?...dium=forum&utm_content=sps-forum&utm_term=APN 

Leider hat sich der „http-get Request“ für „World Weather Online“ bedingt durch den Anbieter in der Zwischenzeit etwas verändert, so dass Du die *drei* folgenden Codefragmente, wie im Folgenden zu sehen, anpassen musst.


```
VAR_GLOBAL CONSTANT
    (* Server name *)
    [B]gsServerName: STRING := 'api.worldweatheronline.com';[/B]
    (*  Defines the maximum length of a HTTP-GET-Request  *)
    [B]MAX_RECEIVE_TCP_CLIENT: UINT := 8000;[/B]
END_VAR
 
FUNCTION_BLOCK fbWorldWeatherForecast

CASE wStateMachine OF
     0: (*Init*)
         (*Url builder*)
         [B]sUrl := ‘/free/v1/weather.ashx?q=’;
[/B]
```
Zu guter Letzt noch den „sCityState“ für Land und Stadt bzw. den „sAccessKey“ für das Passwort vom Account anpassen und über "xDoIt" den Baustein starten.


----------



## wolfi-sps (15 Juni 2015)

Hallo WAGO Support,

Danke - probier ich.

Wolfgang


----------



## SPS_Horst84 (10 August 2015)

Moin,
 funktioniert bei euch jetzt die Wettervorhersage?
 Ich bekomme nur die Wetterdaten für den aktuellen Tag (wDayofForecast:=0). Sobald  die 0 durch eine 1 ersetzt wird, bekomme ich keine Wetterdaten mehr.
 Bei sUrl musste ich v1 durch v2 ersetzen!
 (sUrl := ‘/free/v1/weather.ashx?q=’; )


----------



## ibc Abreu (11 August 2015)

Hallo zusammen, 
erstmal vielen Dank für die Tipps auf der Seite. 
Leider komme ich nicht ganz weiter, ich habe den heutigen Tag damit verbracht das Programm zu verstehen und auch entsprechend anzupassen, jedoch bekomme ich den Fehler:
sStatus= 'TCP-ERROR: Could not convert servers IP adress into dotted format'
diError = -2147479550
Leider kenne ich mich mit Codesys noch nicht so gut aus, falls noch weitere Infos benötigt werden, einfach kurz bescheid geben.
Bin für jeden Tipp dankbar 
Vielen Dank und Grüße
Pierre


----------



## ibc Abreu (12 August 2015)

Hallo zusammen,
ich konnte den Fehler finden, es lag an meiner SPS Konfiguration.
Folgendes musste ich noch anpassen, da sich das XML File wohl geändert hat:

tempMinC zu mintempC sowie bei der Maximaltemperatur. 

100: (* Search for '<*tempMinC*>' string in the XML file *)  (*alt*)
	sSearchedString := '<*mintempC*>';  (*geändert*)
	SearchForString;
	IF xFail THEN
		sStatus := 'ERROR: No <*mintempC*> in file'; (*geändert*)

Leider kann ich auch nur den aktuellen Tag laden und nicht für die anderen Tage, vielleicht hat jemand noch eine Idee?
Viele Grüße
Pierre


----------



## SPS_Horst84 (20 August 2015)

Moin, 
ist schon einer weitergekommen bei dem Problem, dass nur der aktuelle Tag abgefragt werden kann.
Vielleicht hat ja der Wago Support noch eine Idee?


----------



## .:WAGOsupport:. (25 November 2015)

Hallo SPS_Horst84,

das Beispielprojekt „Example_02 - GET - WorldWeather.zip" zum Anwendungshinweis A303000 wurde aus gegebenen Anlass aktualisiert bzw. angepasst.

Neben den bereits erwähnten API Änderungen kam hinzu, dass die Response der API inzwischen auf ca. 50kb angewachsen ist (Die API liefert jetzt 3-stundengenaue Wettervorhersagen)
Daher wurde die URL um den Parameter „tp=24" erweitert um die Wettervorhersage mit den Tagesdurchschnittswerten zu erhalten. Dadurch reduziert sich die Größe der Response auf etwas freundlichere ca. 9,5kb.

Der Receivebuffer muss daher jetzt auf 9500 (Bytes) eingestellt werden:

```
MAX_RECEIVE_TCP_CLIENT: UINT := 9500;
```


----------



## Deep Blue (6 Dezember 2015)

Hallo,

ich habe nun das Projekt von Wago in mein bestehendes integriert. Trotz Eingabe meines Access Keys, Username und Passwort kommt bei mir die Fehlermeldung "sStatus='TCP-ERROR: DNS-Request failed, could not retrieve Servers IP address'

Wo könnte mein Fehler liegen das es nicht geht?

Globalvariablen Einstellungen:

 gsServerName: STRING := 'api.worldweatheronline.com';
 MAX_RECEIVE_TCP_CLIENT: UINT := 9500;


----------



## Thomas_v2.1 (6 Dezember 2015)

Du musst bei deiner Wago-Steuerung einen DNS-Server eintragen, der dann die URL "api.worldweatheronline.com" in die IP-Adresse auflöst. Meistens ist das Gateway (d.h. dein DSL-Router) auch gleichzeitig DNS-Server, d.h. du kannst die gleiche IP-Adresse wie beim Gateway auch als DNS-Server eintragen.


----------



## Deep Blue (7 Dezember 2015)

Hallo Thomas,

werde das gleich zu Hause mal probieren. Danke für deine Antwort!


----------



## SPS_Horst84 (7 Dezember 2015)

Moin, danke für den Tipp, jetzt klappt es auch bei mir!


----------



## Deep Blue (8 Dezember 2015)

Das war es auch bei mir! Danke nochmals für den Tipp.


----------



## Wühlmaus (28 Mai 2019)

.:WAGOsupport:. schrieb:


> Im Anschluss können mit dem Anwendungshinweis für die WagoLibHttp_02.lib und dem darin enthaltenen Beispielprojekt „Example_02 - GET – WorldWeather“ die Wetterdaten für eine beliebige Stadt angefordert werden.
> Der Link zum entsprechenden Anwendungshinweis findest Du im Folgenden:
> 
> http://www.wago.de/suche/index.jsp?...dium=forum&utm_content=sps-forum&utm_term=APN


Hallo, ich möchte diesen Faden nochmal hochholen, da er die Lösung für mein aktuelles Problem sein könnte. Allerdings habe ich Probleme, das Beispiel „Example_02 - GET – WorldWeather“ zu verstehen, da dessen PLC_PRG leider nicht als ST vorliegt, sondern in der mir völlig schleierhaften Form AWL (?). Zwar kann man Objekte ja konvertieren, aber eine Möglichkeit, mir PLC_PRG in der mir geläufigen Form ST anzuzeigen, habe ich bisher nicht entdecken können.

Kann mir jemand helfen ? Irgendwo stehe ich auf dem Schlauch.​


----------



## holgermaik (29 Mai 2019)

Hallo Christoph 
Ohne die Lib von Wago und dein Problem zu kennen kann ich dir die Lib "WEATHER FORECAST" mit Zugriff auf OpenWeather im Codesys Store nur empfehlen.
Funktioniert bei mir auf einem PFC200 ohne Probleme.


----------



## Wühlmaus (29 Mai 2019)

Hallo holgermaik,

vielen Dank für den Tipp. Dein Hinweis ist insofern interessant, als ich tatsächlich vorhabe, Wetterdaten - anders als im Beispiel von Wago - bei OpenWheatherMap.org abzurufen. Habe dort bereits ein Account und damit den API Key.

Allerdings finde ich im CodeSys-Store nur eine "Wheather Forecast Library" welche aber offenbar nur für CodeSys V3 verwendbar ist (V3.5.10.0). Da meine 750-841 unter V2.3 läuft, wird das dann wohl nichts. Hast du eine Lib für V2.3 und wenn ja, wo genau hast du die gefunden ? Der CodeSys Store scheint ja etwas chaotisch organisiert.


----------



## holgermaik (29 Mai 2019)

Da muss ich mich entschuldigen


> 750-841 unter V2.3


habe ich nicht gesehen. Die Lib ist für V3.5
Holger


----------



## Wühlmaus (29 Mai 2019)

Ich hab die Version ja vorher auch gar nicht explizit erwähnt, bin einfach so in diesen Faden reingesprungen.


----------



## Step7Neuling (12 August 2021)

. 
Funktioniert eigentlich die WorldWeatherOnline.com API noch ? wie damals von WAGO beschrieben ?


----------



## Oberchefe (12 August 2021)

ich weiß nicht was bei WAGO damals beschrieben worden ist, aber generell kommen mit der API Daten http://api.openweathermap.org/data/2.5/forecast?lat=53.5502&lon=9.9920&lang=de&APPID=XXXXXXXXX

Du brauchst natürlich die APP-ID dazu


----------



## Oberchefe (12 August 2021)

oder meinst du andere Wetterdaten?


----------



## Step7Neuling (12 Oktober 2021)

Hallo, 

hat jemand die www.openweathermap.org auch in Benutzung ? Ich habe das heute mit eingefügt und es scheint auch soweit zu funktionieren, 
nur einen Forecast kann ich leider nicht sehen ?!?!?!
Das Problem was ich auch noch habe, die Current Daten kann ich einsehen, aber da er scheinbar keine Forecastdaten bekommt, steht da nun immer 'Waiting for response from weather API'    und irgendwann kommt ein Timeout ...und meine aktuellen Daten sind auch verloren...

Was kann ich hier machen ? 

Wer hat ähnliche Probleme bisher gehabt?

Grüße
Step7Neuling


----------



## .:WAGO::0100272:. (15 Oktober 2021)

Hallo Step7Neuling,
vermutlich beziehst du dich hier auf den Anwendungshinweis "Get forecast from OpenWeatherMap.org(a303110)".
Ich habe diesen auch wieder getestet und festgestellt, dass die angegebene Größe "    MAX_RECEIVE_TCP_CLIENT : DWORD := 16000;" nicht mehr ausreicht. Mit einer Verdoppelung des Wertes wird der Forecast abgefragt und gespeichert.


----------



## Step7Neuling (21 Oktober 2021)

Vielen Dank, genau daran hat es gelegen. PERFEKT.


----------

