10. [DKSF 38.1 IU] HTTP API

Интерфейс URL-encoded-команд в устройстве может быть использован для интеграции с веб-приложениями без использования протокола SNMP.

HTTP API
Датчики температуры 1-wire
/thermo.cgi?tN

Запрос температуры и статуса датчика

  • N — номер датчика 1...2
thermo_result('error')Ошибка в запросе (неправильный формат, неправильный номер датчика)


thermo_result('ok', 36, 2)

Первый аргумент: всегда 'ok' (при ошибке запроса — 'error').

Второй аргумент: текущая температура.

Третий аргумент: статус датчика.

  • 0 — датчик не подключен или сбоит;
  • 1 — температура ниже нормы;
  • 2 — температура в норме;
  • 3 — температура выше нормы.
Датчики влажности 1-wire
/relhum.cgi?hN

Запрос относительной влажности

  • N — номер датчика 1...2
relhum_result('error')Ошибка в запросе (неправильный формат, неправильный номер датчика)


relhum_result('ok', 55, 2)

Первый аргумент: всегда 'ok'.

Второй аргумент: относительная влажность, %.

Третий аргумент: статус датчика.

  • 0 — датчик не подключен или сбоит;
  • 1 — влажность ниже нормы;
  • 2 — влажность в норме;
  • 3 — влажность выше нормы.
/relhum.cgi?tN

Запрос температуры датчика влажности

  • N — номер датчика 1..2
relhum_result('error')Ошибка в запросе (неправильный формат, неправильный номер датчика).


relhum_result('ok', 25, 2)

Первый аргумент: всегда 'ok'.

Второй аргумент: температура, °C.

Третий аргумент: статус датчика.

  • 0 — датчик не подключен или сбоит;
  • 1 — температура ниже нормы;
  • 2 — температура в норме;
  • 3 — температура выше нормы.
IR
/ir.cgi?play=N

воспроизведение записанной IR-команды

  • N — номер ячейки 1...32

ir_result('error')

Ошибка. Например, неверный номер ячейки или ячейка пустая.


ir_result('ok')Успешно
Input линии
/io.cgi?ioN

Запрос состояния линии

  • N — номер линии, 1...2
io_result('error')Ошибка (неправильный формат запроса или неправильный номер Input линии)


io_result('ok', -1, 1, 339)

Первый аргумент: всегда 'ok' (при ошибке запроса — 'error').

  • Второй аргумент: всегда «-1», для расширения API в будущем.
  • Третий аргумент: текущее моментальное состояние Input линии, включая состояние сброса.
  • Четвертый аргумент: счетчик импульсов на данной Input линии.

Авторизация

Для добавления в структуру URL-encoded-команды логина и пароля можно воспользоваться следующей схемой:

  • http://<имя_пользователя>:<пароль>@<хост>:<порт>/<URL‐путь>?<параметры>

где:

<имя_пользователя>:<пароль> — учетные данные для авторизации в web-интерфейсе устройства;

<хост>  IP-адрес устройства;

<порт>  порт HTTP-сервера;

<URL‐путь>?<параметры>  URL-encoded-команда.