Anwendungsbeispiel HTTP-Request und JSON Parser

In diesem Beitrag zeigen wir in einem kurzen Anwendungsbeispiel, wie man mithilfe unserer HomeServer-Logikbausteine HTTP-Request und JSON Parser OpenWeather* auswerten kann.

In diesem Anwendungsbeispiel für die JSON Parser Logikbausteine und den HTTP Request Logikbaustein schauen wir uns an, wie man eine Wetterabfrage mithilfe der Logikbausteine und einem Gira HomeServer/FacilityServer durchführen kann.

Hierfür verwenden wir die Website openweathermap.org. Wir benötigen einen individuellen API-Key, den man bei erfolgreicher Registration kostenlos auf der Website erhält. Wir bekommen von der Website außerdem diesen Link für die Wetterabfrage:

https://api.openweathermap.org/data/2.5/weather?lat={lat}&lon={lon}&appid={API key}

Am Ende müssen noch der individuelle API-Key und die entsprechenden Längen- und Breitengrade des abzufragenden Standorts eingetragen werden. Diese URL verwendet dann unser HTTP-Request Baustein für die Abfrage. Die URL wird als Fixwert auf den Baustein HTTP-Request gelegt.

Anschließend erhalten wir diese Datenstruktur zurück:

​{
	"coord":{
	"lon":8.5333,
	"lat":50.9167
},
"weather":[
{
		"id":501,
		"main":"Rain",
		"description":"Mäßiger Regen",
		"icon":"10d"
		}
],
"base":"stations",
"main":{
		"temp":12.08,
		"feels_like":11.38,
		"temp_min":9.65,
		"temp_max":15.58,
		"pressure":1018,
		"humidity":78,
		"sea_level":1018,
		"grnd_level":970

Aus unserer Abfrage bei openweathermap.org möchten wir die aktuelle Wetterbeschreibung in Textform und die aktuelle Temperatur für unser Gebiet extrahieren.

Für die Wetterbeschreibung verwenden wir den Baustein JSON Parser (Text) und für die Temperatur den JSON Parser (Numerisch). Anschließend verknüpfen wir den Ausgang Body des HTTP-Request Bausteins mit den Eingängen der beiden JSON Parser Bausteine. Um die spezifische Information zu bekommen, müssen wir den entsprechenden Jason Path auf den Eingang des jeweiligen Bausteins legen.

Beispiel:

Für die Wetterbeschreibung lautet der Pfad:

$.weather[0].description 

Für die aktuelle Temperatur lautet der Pfad:

$.main.temp

Setzen wir den Eingang „Abrufen“ des Online-Debuggers im HS+FS Experten auf „1“, so erhalten wir das aktuelle Wetter und die aktuelle Temperatur in unserem Gebiet.

In diesem Falle ist das Wetter „Mäßiger Regen“ und die Temperatur liegt bei 12,08 °C.

*Weather data provided by OpenWeather