Uwaga! Poniższa instrukcja przeznaczona jest dla modułu Gate HTTP drugiej generacji!
Jeśli chcemy wykorzystać w systemie informacje na temat jakości powietrza w okolicy wybranego miejsca, możemy użyć do tego celu zewnętrznego serwisu, np.: https://developer.airly.eu/
Według przykładu umieszczonego na stronie https://developer.airly.eu/api, zapytanie API może wyglądać następująco:
API call: https://airapi.airly.eu/v2/measurements/nearest?indexType=AIRLY_CAQI&lat=50.062006&lng=19.940984&maxDistanceKM=3
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: https://airapi.airly.eu
Path: /v2/measurements/nearest
QueryStringParams: indexType=AIRLY_CAQI&lat=50.067358&lng=19.871613&maxDistanceKM=3
Uwaga! Klucz api przesyłany jest przez cechę RequestHeaders, a otrzymuje się go po założeniu konta na stronie: https://developer.airly.eu/login - W kolejnym kroku należy utworzyć cechy użytkownika typu string oraz number:
- Następnie należy przygotować skrypt:
local resp = GATE_HTTP->Airly->ResponseBody
GATE_HTTP->fromDate = resp.current.fromDateTime
GATE_HTTP->tillDate = resp.current.tillDateTime
GATE_HTTP->name1 = resp.current.values[1].name
GATE_HTTP->value1 = resp.current.values[1].value
GATE_HTTP->name2 = resp.current.values[2].name
GATE_HTTP->value2 = resp.current.values[2].value
GATE_HTTP->name3 = resp.current.values[3].name
GATE_HTTP->value3 = resp.current.values[3].value
GATE_HTTP->name4 = resp.current.values[4].name
GATE_HTTP->value4 = resp.current.values[4].value
GATE_HTTP->name5 = resp.current.values[5].name
GATE_HTTP->value5 = resp.current.values[5].value
GATE_HTTP->name6 = resp.current.values[6].name
GATE_HTTP->value6 = resp.current.values[6].value
GATE_HTTP->level1 = resp.current.indexes[1].level
GATE_HTTP->description1 = resp.current.indexes[1].description
GATE_HTTP->index_value1 = resp.current.indexes[1].value - Skrypt należy przypisać do zdarzenia OnResponse w obiekcie wirtualnym HttpRequest:
- Dodatkowo należy utworzyć skrypt, w którym do cechy RequestHeaders zostanie przekazany klucz api:
local key = "apikey: YOUR_API_KEY\r\n"
GATE_HTTP->Airly->SetRequestHeaders(key)
GATE_HTTP->Airly->SendRequest() - Następnie należy przesłać konfigurację do CLU.
- Po poprawnym przesłaniu konfiguracji należy uruchomić skrypt ustawiający cechę RequestHeaders oraz wywołujący metodę SendRequest.
- Po wywołaniu skryptu cecha StatusCode powinna przyjąć wartość 200:
- Wartości cech użytkownika powinny przyjąć odpowiednie wartości:
- Dla porównania - odpowiedź na zapytanie wysłane za pomocą innego programu:
- Uzyskane dane można wyświetlić w aplikacji mobilnej, na Smart Panelu lub wykorzystać do tworzenia logiki w systemie.