Jeśli chcemy wykorzystać w systemie informacje na temat pogody, wschodu lub zachodu słońca, możemy użyć do tego celu zewnętrznego serwisu, np.: https://openweathermap.org/
Według przykładu na stronie https://openweathermap.org/current, zapytanie API wygląda następująco:
API call: api.openweathermap.org/data/2.5/weather?q={city name}&appid={your api key}
Poniżej opisujemy, jak w prosty sposób można uzyskać wspomniane informacje:
- Należy utworzyć obiekt wirtualny HttpRequest:
- W obiekcie HttpRequest należy ustawić następujące parametry:
Gdzie:
Host: api.openweathermap.org
Path: /data/2.5/weather
QueryStringParams: q=Krakow&appid={your api key}
Uwaga! Klucz api otrzymuje się po założeniu konta na stronie https://home.openweathermap.org/users/sign_up - W kolejnym kroku należy utworzyć cechy użytkownika typu string oraz number:
- Następnie należy przygotować skrypt:
local resp = GATE_HTTP->open_weather_map->ResponseBody GATE_HTTP->owm_lon = resp.coord.lon GATE_HTTP->owm_lat = resp.coord.lat GATE_HTTP->owm_weather_main = resp.weather[1].main GATE_HTTP->owm_weather_desc = resp.weather[1].description GATE_HTTP->owm_weather_base = resp.base GATE_HTTP->owm_temp = resp.main.temp GATE_HTTP->owm_temp_min = resp.main.temp_min GATE_HTTP->owm_temp_max = resp.main.temp_max GATE_HTTP->owm_pressure = resp.main.pressure GATE_HTTP->owm_humidity = resp.main.humidity GATE_HTTP->owm_visibility = resp.visibility GATE_HTTP->owm_wind_speed = resp.wind.speed GATE_HTTP->owm_wind_deg = resp.wind.deg GATE_HTTP->owm_cloud_all = resp.clouds.all GATE_HTTP->owm_country = resp.sys.country GATE_HTTP->owm_sunrise = resp.sys.sunrise GATE_HTTP->owm_sunset = resp.sys.sunset GATE_HTTP->owm_timezone = resp.timezone GATE_HTTP->owm_city = resp.name
- Utworzony skrypt należy przypisać do zdarzenia OnResponse w obiekcie wirtualnym HttpRequest:
- Następnie należy przesłać konfigurację do CLU.
- Po poprawnym przesłaniu konfiguracji, w zakładce sterowanie obiektu wirtualnego HttpRequest należy wywołać metodę SendRequest:
- Po wywołaniu metody cecha StatusCode powinna przyjąć wartość 200:
- Wartości cech użytkownika powinny przyjąć odpowiednie wartości:
- Dla porównania - odpowiedź na zapytanie wklejone w oknie przeglądarki internetowej:
- Uzyskane dane można wyświetlić w aplikacji mobilnej, na Smart Panelu lub wykorzystać do tworzenia logiki w systemie.