Receiving information from the OpenWeatherMap website
If we want to use information about the weather, sunrise or sunset in the system, we can use an external website for this purpose, e.g. https://openweathermap.org/.
According to the example on: https://openweathermap.org/current,
the API query looks like as following:
API call: api.openweathermap.org/data/2.5/weather?q={city name}&appid={your api key}.
Below is presented how we can easily obtain this information:
- Create the HttpRequest periphery object:
- The following parameters should be set in the HttpRequest object:

Where:
Host: api.openweathermap.org
Path: /data/2.5/weather
QueryStringParams: q=Krakow&appid={your api key}
Warning! The api key is obtained after creating an account at: https://home.openweathermap.org/users/sign_up - The next step is to create user features of the number type:

- Then prepare the script:
if(GATE_HTTP->open_weather_map->StatusCode==200) then
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
end - Assign the script to the OnResponse event in the HttpRequest periphery object:

- Then, the configuration should be sent to the CLU.
- After the configuration has been successfully sent, the SendRequest method should be called in the Control tab of the HttpRequest periphery object:

- After calling the method, the StatusCode feature should receive the value 200.

- User features values should receive appropriate values:

- To verify received information, it is possible to paste query to an internet browser and compare:

- The obtained data can be displayed in the mobile application and Smart Panel or use to create logic in the system.
