API - Получение лога регистров

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

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

В заголовках запроса необходимо передать API key, границы интересующего временного интервала а также список идентификаторов регистров. X-WH-START и X-WH-END передаются в формате UnixTime. ID регистров передаются списком разделенным запятой в заголовке X-WH-REG-IDS. Например:

X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
X-WH-START: 1422595501
X-WH-END: 1422599101
X-WH-REG-IDS: 8,10

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

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

Пример запроса записей из лога регистров:

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

Заголовки:

Accept: application/json
Content-Type: application/json
Accept-Encoding: gzip, deflate, sdch
X-WH-APIKEY: F3C74230818DA487BB2017CE5D0290F4DABCAFD7
X-WH-START: 1422595501
X-WH-END: 1422599101
X-WH-REG-IDS: 8,10

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

{
  "1422598266": [
    {
      "r": 8,
      "v": "6",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598271": [
    {
      "r": 8,
      "v": "11",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598276": [
    {
      "r": 8,
      "v": "16",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598280": [
    {
      "r": 8,
      "v": "0",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598285": [
    {
      "r": 8,
      "v": "5",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598290": [
    {
      "r": 8,
      "v": "10",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598295": [
    {
      "r": 8,
      "v": "15",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598300": [
    {
      "r": 8,
      "v": "0",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598305": [
    {
      "r": 8,
      "v": "5",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598310": [
    {
      "r": 8,
      "v": "10",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598315": [
    {
      "r": 8,
      "v": "15",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598320": [
    {
      "r": 8,
      "v": "0",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598325": [
    {
      "r": 8,
      "v": "5",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598330": [
    {
      "r": 8,
      "v": "10",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598335": [
    {
      "r": 8,
      "v": "15",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598340": [
    {
      "r": 8,
      "v": "0",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  "1422598345": [
    {
      "r": 8,
      "v": "5",
      "s": "-1"
    },
    {
      "r": 10,
      "v": "",
      "s": ""
    }
  ],
  и т.д.
]

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

r - это ID регистра. Например, 10
v - это значение регистра в указанный момент времени или пустая строка если в этот момент времени нет данных для этого регистра.
s - это состояние (state) регистра, которое соответствовало ему в указанный момент времени. Unknown = -1, Disabled = 0, Normal = 1, Warning = 2, Alert = 3 или же пустая строка если значения регистра нет.