API - Получение текущих значений регистров

Материал из WebHMI
Перейти к: навигация, поиск

Для получения текущих значений всех регистров необходимо выполнить GET-запрос на URL вида http://192.168.1.1/api/register-values.

В заголовках запроса необходимо передать API key. Например:

X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7

Также в заголовках необходимо указать желаемый формат обмена данными. Сейчас поддерживается работа только с форматом JSON.

Accept: application/json
Content-Type: application/json

Пример запроса текущих значений:

URL: http://192.168.1.1/api/register-values
Method: GET

Заголовки:

Accept: application/json
Content-Type: application/json
Accept-Encoding: gzip, deflate, sdch
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7

Пример ответа:

{
  "1": {
    "r": "1",
    "v": "-1",
    "s": "i"
  },
  "2": {
    "r": "2",
    "v": "-1",
    "s": "i"
  },
  "3": {
    "r": "3",
    "v": "-1",
    "s": "i"
  },
  "4": {
    "r": "4",
    "v": "1422600498",
    "s": "u"
  },
  "5": {
    "r": "5",
    "v": "1422600498",
    "s": "u"
  },
  "6": {
    "r": "6",
    "v": "-1",
    "s": "i"
  },
  "7": {
    "r": "7",
    "v": "-1",
    "s": "i"
  },
  "8": {
    "r": "8",
    "v": "18",
    "s": "u"
  },
  "9": {
    "r": "9",
    "v": "0",
    "s": "u"
  }
}

Формат возвращаемых данных следующий:
Возвращаетcя объект, где названием свойств является время ID регистров. А самими свойствами являются еще одни объекты.
У каждого объекта есть три свойства: r, v, s.

r - это ID регистра. Например, 10
v - это значение регистра в текущий момент времени или "-1" если значение не получилось прочитать.
s - это состояние (state) регистра, которое соответствовало ему в указанный момент времени. Unknown = u, Disabled = d, Normal = n, Warning = w, Alert = a, Incorrect = i.