NAV Navbar
  • iNext API wersja 1.0
  • Autoryzacja
  • Bramki
  • Urządzenia
  • 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

    Parametry odpowiedzi