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-команда.