iNext API wersja 1.0
iNext API umożliwia dostęp do zasobów serwisu za pomocą interfejsu REST w formacie JSON.
Api jest dostępne pod adresem https://inext.compit.pl/public_api/v1
Autoryzacja
Przykładowe zapytanie z kluczem
curl "https://inext.compit.pl/public_api/v1/gates?key=OWI29303923EIOEIEJ9320329030239JIJ"
Autoryzacja przebiega za pomocą klucza API dodawanego do każdego zapytania jako parametr key
.
GET https://inext.compit.pl/public_api/v1/gates?key=KLUCZ_API
Bramki
Pobieranie listy bramek
Przykładowe zapytanie
curl "https://inext.compit.pl/public_api/v1/gates?key=OWI29303923EIOEIEJ9320329030239JIJ"
Przykładowa odpowiedź
[
{
"url":"https://inext.compit.pl/public_api/v1/gates/97959AFDF85C",
"master":false,
"last_connected_at":"2017-10-27T04:22:22.638500Z",
"code":"97959AFDF85C",
"active":false
},
{
"url":"https://inext.compit.pl/public_api/v1/gates/BE2080CF1FC4",
"master":false,
"last_connected_at":"2017-10-27T04:22:22.638500Z",
"code":"BE2080CF1FC4",
"active":false
}
]
Zapytanie pobiera listę bramek przypisanych do klucza API.
GET https://inext.compit.pl/public_api/v1/gates?key=KLUCZ_API
Parametry odpowiedzi
Parametr | Opis |
---|---|
url | url dostępu do danych szczegółowych bramki |
master | czy instalacja pracuje z masterem |
last_connected_at | data i czas ostatniego połączenia z serwerem |
code | kod bramki |
active | czy bramka jest aktywna (za brak aktywności uznaje się brak komunikacji z bramką dłuższy niż 60 sekund) |
Pobieranie informacji szczegółowych
Przykładowe zapytanie
curl "https://inext.compit.pl/public_api/v1/gates/97959AFDF85C?key=OWI29303923EIOEIEJ9320329030239JIJ"
Przykładowa odpowiedź
{
"url":"https://inext.compit.pl/public_api/v1/gates/97959AFDF85C",
"master":false,
"last_connected_at":"2017-10-27T04:22:22.638500Z",
"code":"97959AFDF85C",
"active":false,
"devices": [
{
"id":27,
"url":"http://inext.compit.pl/public_api/v1/gates/09DFA77R2141/devices/7",
"version":5,
"type":36,
"class":15,
"last_connected_at":"2017-10-15T16:48:24.144926Z",
"label":"Kocioł pellets",
"address":2,
"active":false,
"errors":[],
"last_state": [
{"value_label":"NIE", "value_code":"__no", "value":0, "label":"Tryb LATO", "code":"__tryblato", "param_type": "enum"},
{"unit":"°C", "value":65, "label":"T kotła zadana CONST", "code":"__tkozadconst", "param_type": "temp"},
{"unit":"°C", "value":50, "label":"T zadana CWU", "code":"__tzadcwu", "param_type": "temp"},
{"value_label":"Bez termostatu", "value_code":"__nothermostat", "value":1, "label":"Praca kotła", "code":"__pracakotla", "param_type": "enum"},
{"value_label":"Bez termostatu", "value_code":"__beztermostatu", "value":1, "label":"Mieszacz 1 - praca", "code":"__m1praca", "param_type": "enum"},
{"value_label":"TAK", "value_code":"__yes", "value":1, "label":"Mieszacz 2 - praca", "code":"__m2praca", "param_type": "enum"}
]
}
]
}
Zapytanie pobiera dane szczegółowe bramki o podanym kodzie
GET https://inext.compit.pl/public_api/v1/gates/KOD_BRAMKI?key=KLUCZ_API
Parametry zapytania
Parameter | Description |
---|---|
KOD_BRAMKI | Unikalny kod identyfikujący bramkę |
Parametry odpowiedzi
Parametr | Opis |
---|---|
url | Url dostępu do danych szczegółowych bramki |
master | Określa, czy instalacja pracuje z masterem |
last_connected_at | Data i czas ostatniego połączenia z serwerem |
code | Kod bramki |
active | Określa, czy bramka jest aktywna (za brak aktywności uznaje się brak komunikacji z bramką dłuższy niż 60 sekund) |
devices | Lista urządzeń, podpiętych do bramki, wraz z danymi szczegółowymi |
Dane szczegółowe urządzenia podpiętego do bramki
Parametr | Opis |
---|---|
id | Id urządzenia w systemie |
url | Url dostępu do danych szczegółowych urządzenia |
version | Wersja oprogramowania |
type | Typ urządzenia |
class | Klasa urządzenia |
address | Adres urządzenia (protokół C14) |
active | Określa, czy urządzenie jest aktywne |
last_connected_at | Data i czas ostatniego połączenia z serwerem |
label | Etykieta urządzenia (nadana przez użytkownika) |
errors | Lista błędów pracy urządzenia |
last_state | Ostatnie odczytane parametry pracy urządzenia. Uwaga: jeśli urządzenie zostało odłączone, ostani stan jest dalej dostępny. |
Parametry pracy urządzenia
Przykładowa lista parametrów pracy urządzenia
[
{"value_label":"NIE", "value_code":"__no", "value":0, "label":"Tryb LATO", "code":"__tryblato", "param_type": "enum"},
{"unit":"°C", "value":65, "label":"T kotła zadana CONST", "code":"__tkozadconst", "param_type": "temp"},
{"unit":"°C", "value":50, "label":"T zadana CWU", "code":"__tzadcwu", "param_type": "temp"},
{"value_label":"Bez termostatu", "value_code":"__nothermostat", "value":1, "label":"Praca kotła", "code":"__pracakotla", "param_type": "enum"},
{"value_label":"Bez termostatu", "value_code":"__beztermostatu", "value":1, "label":"Mieszacz 1 - praca", "code":"__m1praca", "param_type": "enum"},
{"value_label":"TAK", "value_code":"__yes", "value":1, "label":"Mieszacz 2 - praca", "code":"__m2praca", "param_type": "enum"}
]
Parametr | Opis |
---|---|
code | Unikalny kod parametru (unikalny dla danegej klasy, typu oraz wersji urządzenia) |
param_type | Typ parametru. Określa zawartość pola value. Dla parametrów typu int , enum , temp , calc pole value przjmuje wartości numeryczne, dla calendar tablicę obiektów, dla date , time obiekt. |
label | Nazwa parametru |
value | Wartość numeryczna parametru |
unit | opcjonalnie Jednostka np. °C |
value_label | opcjonalnie Etykieta wartości. Dla niektórych parametrów wartość ma swoją etykietę. Przykładowo, parametry tryb pracy może przybierać wartości liczbowe 0 lub 1 , którym odpowiadają etykiety Lato oraz Zima |
value_code | opcjonalnie Kod wartości. Unikalny kod wartości, podobnie jak etykieta wartości. |
Wartości parametrów unit
, value_label
, value_code
oraz ich obecność są zależne od definicji urządzenia w protokole C14.
Błędy pracy urządzenia
Przykładowy błąd
{
"numeric_code" => 1000,
"label" => "Brak połączenia",
"code" => "connection_timeout"
}
Parametr | Opis |
---|---|
numeric_code | Kod numeryczny błędu |
code | Kod błędu |
label | Etykieta błędu |
Kody błędów
Kod numeryczny | Kod | Opis |
---|---|---|
0...999 |
--- | Błędy o kodach z zakresu 0..999 są zdefiniowane w protokole C14. |
1000 |
connection_timeout |
Brak połączenia z urządzeniem |
1001 |
incorrect_device |
Urządzenie nieprawidłowo skonfigurowane w systemie (nieprawidłowy typ, klasa lub wersja) |
Urządzenia
Pobieranie informacji szczegółowych
Przykładowe zapytanie
curl "https://inext.compit.pl/public_api/v1/gates/09DFA77R2141/devices/7?key=OWI29303923EIOEIEJ9320329030239JIJ"
Przykładowa odpowiedź
{
"id":7,
"url":"http://inext.compit.pl/public_api/v1/gates/09DFA77R2141/devices/7",
"version":5,
"type":36,
"class":15,
"last_connected_at":"2017-10-15T16:48:24.144926Z",
"label":"Kocioł pellets",
"address":2,
"active":false,
"errors":[],
"last_state": [
{"value_label":"NIE", "value_code":"__no", "value":0, "label":"Tryb LATO", "code":"__tryblato", "param_type": "enum"},
{"unit":"°C", "value":65, "label":"T kotła zadana CONST", "code":"__tkozadconst", "param_type": "temp"},
{"unit":"°C", "value":50, "label":"T zadana CWU", "code":"__tzadcwu", "param_type": "temp"},
{"value_label":"Bez termostatu", "value_code":"__nothermostat", "value":1, "label":"Praca kotła", "code":"__pracakotla", "param_type": "enum"},
{"value_label":"Bez termostatu", "value_code":"__beztermostatu", "value":1, "label":"Mieszacz 1 - praca", "code":"__m1praca", "param_type": "enum"},
{"value_label":"TAK", "value_code":"__yes", "value":1, "label":"Mieszacz 2 - praca", "code":"__m2praca", "param_type": "enum"}
]
}
Zapytanie pobiera dane szczegółowe urządzenia podpiętego do bramki
GET https://inext.compit.pl/public_api/v1/gates/KOD_BRAMKI/devices/ID?key=KLUCZ_API
Parametry zapytania
Parameter | Description |
---|---|
KOD_BRAMKI | Unikalny kod identyfikujący bramkę |
ID | Id urządzenia w systemie |