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 |