Dane Telemetryczne
Aggregated APIs
Aggregated APIs są używane głównie, gdy chcesz uzyskać, dla określonego typu danych, pojedynczą wartość w odpowiedzi, która pozwala na podsumowanie określonego trendu i/lub wyniku dla dostosowanego okna czasowego.
Tego typu interfejsy APIs mają zawsze następującą strukturę:
Ten path
, która umożliwia wskazanie żądanych zasobów, zawsze wymaga następujących parametrów:
{power,frequency,wind,temperature,voltage,current,energy,kpis}
: typ zasobu, na który należy wskazać. Ten parametr nie określa rzeczywistych danych, które chcesz uzyskać, ale ogólną kategorię, do której należą żądane dane (proszę zauważyć, że wywołanie API akceptuje tylko jedną kategorię na raz, obecnie nie jest możliwe wykonywanie wywołań BULK);{entityID}
: może to być EID zakładu lub urządzenia. W pierwszym przypadku uzyskana wartość uwzględnia agregację wszystkich urządzeń, dla których ta wartość istnieje, na poziomie zakładu; w drugim przypadku uzyskana wartość odnosiła się do pojedynczego urządzenia będącego przedmiotem zainteresowania;{dataType}
: reprezentuje rzeczywiste dane do uzyskania. DostępnedataTypes
różnią się w zależności od wskazanych zasobów, szczegółowy opis jest dostępny bezpośrednio w OpenAPIs Swagger;{valuetype}
: reprezentuje typ kryterium agregacji, z którym żądane dane są do uzyskania.
Ten queries, które umożliwiają filtrowanie żądanych danych, zawsze wymagają następujących parametrów:
{startDate}
: dolna granica, która pozwala zdefiniować początek interesującego okna czasowego. Jego format to zawszeYYYYMMGG
(eg: 20220321);{endDate}
: górna granica, która umożliwia zdefiniować koniec interesującego okna czasowego. Jego format to zawszeYYYYMMGG
(eg: 20220322) i musi być czasowo następujący po{startDate}
;{timezone}
: pozwala poprowadzić wywołanie API do prawidłowego odzyskiwania danych zgodnie z żądaną strefą czasową.
Zagregowane wywołanie zawsze dostarcza pojedynczą wartość jako odpowiedź, która jest manipulowana zgodnie ze wskazanym oknem czasowym i strefą czasową. W tym kontekście parametr {valuetype}
ma ogromne znaczenie, ponieważ różni się w zależności od kategorii zasobów, a zatem {dataType}
, które należy uzyskać.
Dla {dataType}
należącego do kategorii {power,frequency,wind,temperature,voltage,current,kpis}
, ten {valueType}
może przyjmować trzy różne wartości:
Maximum
: zwraca maksymalną wartość znalezioną wśród wszystkich próbek obecnych w zdefiniowanym oknie czasowym{startDate}
i{endDate}
przedział czasowy dla żądanego{dataType}
;Minimum
: zwraca minimalną wartość znalezioną wśród wszystkich próbek obecnych w zdefiniowanym oknie czasowym{startDate}
i{endDate}
przedział czasowy dla żądanego{dataType}
;Average
: zwraca średnią wartość wszystkich próbek obecnych w zdefiniowanych oknie czasowym{startDate}
i{endDate}
przedział czasowy dla żądanego{dataType}
;
UWAGA: dla kategorii kpis
, powyższe uwagi są ważne tylko wtedy, gdy Nazywane są Power-Based KPIs. Więcej informacji znajdziesz w OpenAPIs Swagger.
Rzućmy okiem na kilka przypadków użycia, w których rozważamy instalację ( entityID
: 12345678 ) z jednym zarejestrowanym falownikiem ( entityID
: 87654321 ):
Przypadek Użycia 1
Chcę uzyskać średnią wartość całego napięcia zmierzonego przez falownik w dniu wiosennej równonocy.
Analiza Problemu
Biorąc pod uwagę, że stosunek między zakładem a zarejestrowanymi urządzeniami wynosi 1:1, mogę obojętnie wpisać entityID
jednego z nich. Chcę wytwarzać moc, więc wskażę zasoby kategorii power
i zażądam GenerationPower
.
Request
GET https://api.auroravision.net/api/rest/v1/stats/power/aggregated/12345678/GenerationPower/maximum?startDate=20220321&endDate=20220322&timeZone=Europe/Rome
Response
Przypadek Użycia 2
Chcę uzyskać średnią wartość całego napięcia zmierzonego przez falownik w dniu wiosennej równonocy.
Analiza Problemu
Biorąc pod uwagę, że stosunek między zakładem a zarejestrowanymi urządzeniami wynosi 1:1, mogę obojętnie wpisać entityID
jednego z nich. Chcę napięcia, więc wskażę zasoby kategorii voltage
i zażądam Voltage
.
Request
GET https://api.auroravision.net/api/rest/v1/stats/voltage/aggregated/87654321/Voltage/average?startDate=20220321&endDate=20220322&timeZone=Europe/Rome
Response
Dla {dataType}
należącego do kategorii {energy,kpis}
, ten {valueType}
może przyjąć dwie różne wartości:
Cumulative
: zwraca ostatnią skumulowaną wartość dostępną w zdefiniowanym przedziale czasowym{startDate}
i{endDate}
przedział czasowy dla żądanego{dataType}
;Delta
: zwraca różnicę między ostatnią a pierwszą skumulowaną wartością dostępną w zdefiniowanym{startDate}
i{endDate}
przedział czasowy dla żądanego{dataType}
;
UWAGA: dla kategorii kpis
, powyższe uwagi są ważne tylko wtedy, gdy Nazywane są Energy-Based KPIs. Więcej informacji znajdziesz w OpenAPIs Swagger.
Rzućmy okiem na kilka przypadków użycia, w których rozważamy instalację ( entityID
: 12345678 ) z jednym zarejestrowanym falownikiem ( entityID
: 87654321 ):
Przypadek Użycia 1
Chcę uzyskać energię generowaną przez roślinę od momentu rozpoczęcia produkcji do dnia wiosennej równonocy.
Analiza Problemu
Biorąc pod uwagę, że stosunek między zakładem a zarejestrowanymi urządzeniami wynosi 1:1, mogę obojętnie wpisać entityID
jednego z nich. Chcę energii produkowanej do tej pory przez elektrownię, więc wskażę zasoby kategorii energy
i zażądam cumulative
dla GenerationEnergy
.
Request
GET https://api.auroravision.net/api/rest/v1/stats/energy/aggregated/12345678/GenerationEnergy/cumulative?startDate=20220321&endDate=20220322&timeZone=Europe/Rome
Response
Przypadek Użycia 2
Chcę uzyskać energię wytworzoną w dniu równonocy wiosennej przez falownik.
Analiza Problemu
Biorąc pod uwagę, że stosunek między zakładem a zarejestrowanymi urządzeniami wynosi 1:1, mogę obojętnie wpisać entityID
jednego z nich. Chcę, aby energia generowana była tylko w dniu wiosennej równonocy, więc wskażę zasoby kategorii energy
i zażądam delta
dla GenerationEnergy
.
Request
GET https://api.auroravision.net/api/rest/v1/stats/energy/aggregated/87654321/GenerationEnergy/delta?startDate=20220321&endDate=20220322&timeZone=Europe/Rome