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

Материал из WebHMI Wiki
Перейти к: навигация, поиск
На этой странице были произведены изменения, не отмеченные для перевода.

Другие языки:
English • ‎русский

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

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

X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7

В заголовках запроса необходимо передать идентификаторы (ID) соединений. Будут возвращены значения регистров только из тех соединений, ID который указаны в заголовке X-WH-CONNS. ID нужно разделять запятой, без пробелов. Это позволяет запрашивать не все регистры, а только часть.


Начиная с прошивки версии 3.3 вместо заголовка X-WH-CONNS следует использовать заголовок X-WH-CONNECTIONS.

Например:

X-WH-CONNS: 1,2

В данном примере будут возвращены значения регистров из соединений c ID=1 и ID=2.

В заголовках необходимо указать желаемый формат обмена данными. Сейчас поддерживается работа только с форматом 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
X-WH-CONNS: 1,2

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

{
  "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"
  }
}


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

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