API - Получение текущих значений регистров
Для получения текущих значений всех регистров необходимо выполнить 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.