Skip to main content
Skip table of contents

10. [DKSF72/73.1] Поддержка HTTP API

HTTP API

Команда

Вызов

Ответ

Примечание

Реле

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

/relay.cgi?rN

relay_result('error');

relay_result('ok', 2, 1);

первый аргумент всегда 'ok'

второй аргумент — состояние реле

третий аргумент — моментальное состояние реле

Управление реле

/relay.cgi?rN=S

relay_result('ok')

relay_result('error')

Переключение реле в инверсное состояние

/relay.cgi?rN=S

relay_result('ok')

relay_result('error')

Ресет, переключение реле в инверсное состояние на время

/relay.cgi?rN=F,10

relay_result('ok')

relay_result('error')

Линии ввода-вывода

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

/io.cgi?ioN

N — номер линии

io_result('error')

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

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

Второй аргумент: всегда «-1», для расширения API в будущем.

Третий аргумент: текущее моментальное состояние IO-линии, включая состояние сброса.

Четвертый аргумент: счетчик импульсов на данной IO-линии, считается по фронту.

Запрос состояния всех линий

/io.cgi?io

io_result('error')

io_result('ok', 246);

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

Второй аргумент: бит-карта состояния линий.

Бит-карта (представлена в десятичном формате):

бит 0 = линия 1

бит 1 = линия 2

...

бит 7 = линия 8

Например:

00000000 — 0 (все линии в лог.0)

11100111 — 231 (4 и 5 линии в лог.0, остальные в лог.1)

Управление линией в режиме «выход»

/io.cgi?ioN=S

N — номер линии

S — режим работы (1 — вкл., 0 — выкл.)

io_result('error')

io_result('ok')

Переключение линии в инверсное состояние в режиме «выход»

/io.cgi?ioN=f

N — номер линии

io_result('error')

io_result('ok')

Ресет, переключение линии в инверсное состояние на время в режиме «выход»

/io.cgi?ioN=f,T

N — номер линии

T — время переключения в с.

io_result('error')

io_result('ok')

Изменение режима работы линии

/io.cgi?ioN&mode=S

N — номер датчика

S — режим работы (1 — выход, 0 — вход)

io_result('error')

io_result('ok')

Термодатчики

Запрос состояния датчика

/thermo.cgi?tN

N — номер датчика

thermo_result('error')

thermo_result('ok', 36, 2);

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

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

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

0 — датчик не подключен или сбоит;

1 — температура ниже нормы;

2 — температура в норме;

3 — температура выше нормы.

Датчики влажности

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

/relhum.cgi?hN

N — номер датчика

relhum_result('error')

relhum_result('ok', 55, 2)

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

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

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

0 — датчик не подключен или сбоит;

1 — влажность ниже нормы;

2 — влажность в норме;

3 — влажность выше нормы.

Запрос температуры

/relhum.cgi?tN

N — номер датчика

relhum_result('error')

relhum_result('ok', 25, 2)

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

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

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

0 — датчик не подключен или сбоит;

1 — температура ниже нормы;

2 — температура в норме;

3 — температура выше нормы.

1-wire-адаптер аналоговых датчиков

Получение суммарного отчета о нескольких параметрах

/inputanalog.cgi?inN

N — номер датчика

inputanalog_result('error'); — oшибка возвращается в случае неправильного формата запроса

inputanalog_result('ok', status, A, V, R); — успешное выполнение команды

Возвращаемые значения:

inputanalog_result('error'); — oшибка возвращается в случае неправильного формата запроса

inputanalog_result('ok', status, A, V, R); — успешное выполнение команды

Расшифровка ответа:

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

status — статус адаптера:

0 — адаптер неисправен или не подключен;

1 — ниже нормы;

2 — в норме;

3 — выше нормы;

4 — вне раб. диапазона.

A — ток в мкА

V — напряжение в мВ

R — сопротивление в Ом

Управление питанием петли

/inputanalog.cgi?inN&pwr=S

N — номер датчика

S — 0 — выкл., 1 — вкл.

inputanalog_result('error');

inputanalog_result('ok')

Сброс питания петли

/inputanalog.cgi?inN&rst

/inputanalog.cgi?inN&rst=T

N — номер адаптера

T — время отключения (1...25 с), если не указано — 10 с

inputanalog_result('error');

inputanalog_result('ok')

GSM-модем

Отправка СМС, UTF8

/sendsms.cgi?utf8

[+7xxxxxxxxxx, +7yyyyyyyyyy..] Текст

smssend_result('ok'); — успешное выполнение команды

smssend_result('error') — ошибка в тексте запроса

smssend_result('busy') — GSM-модем занят

URL вызывается методом POST. Данные POST представляют собой текст SMS в кодировке UTF-8

Отправка СМС, Win1251

/sendsms.cgi

[+7xxxxxxxxxx, +7yyyyyyyyyy..] Текст

smssend_result('ok'); — успешное выполнение команды

smssend_result('error') — ошибка в тексте запроса

smssend_result('busy') — GSM-модем занят

URL вызывается методом POST. Данные POST представляют собой текст SMS в кодировке UTF-8

USSD-запрос

/ussdstart.cgi?кодзапроса

кодзапроса — a100x, что означает *100#. В коде USSD-запроса «*» заменяется на «a», «#» заменяется на «x» (латинские символы)

ussdsend_result('ok');

Для получения ответа на запрос вызывать

/ussdread.cgi

Ответ:

ussdsend_result("ответ_gsm_оператора")

Датчики качества электропитания 1-wire

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

/voltage.cgi?vN

N — номер датчика

voltage_result('error'); — oшибка возвращается в случае неправильного формата запроса.

voltage_result('ok', 220, 4, 50, 4); — успешное выполнение команды:

первый аргумент — всегда 'ok';
второй аргумент — текущее значение напряжения, В;
третий аргумент — статус напряжения, светофор:

0 — датчик не подключён либо неисправен;

1 — электропитание отсутствует;

2 — плохо;

3 — средне;

4 — отлично.

Четвёртый аргумент — текущее значение частоты, Гц.
Пятый аргумент — статус частоты, светофор:

0 — датчик не подключён либо неисправен;

1 — частота отсутствует;

2 — плохо;

3 — средне;

4 — отлично.

Внешний блок розеток

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

/extrelay.cgi?rN

N — номер реле

extrelay_result('error');

extrelay_result('ok', 0, 1);

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

Второй аргумент — источник управления реле:

0 — выкл. вручную;

1 — вкл. вручную.

Третий аргумент — моментальное актуальное состояние реле:

0 — выключено;

1 — включено.

Управление реле

/extrelay.cgi?rN=S

n — номер реле;

s — режим работы реле:

0 — выкл.;

1 — вкл.

extrelay_result('ok')

extrelay_result('error')

Переключение реле в инверсное состояние

/extrelay.cgi?rN=F

extrelay_result('ok')

extrelay_result('error')

Переключение реле в инверсное состояние на время

/extrelay.cgi?rN=F,10

N — номер реле

S — время в с

extrelay_result('ok')

extrelay_result('error')

Сброс реле, выключение на 15 с

/extrelay.cgi?rN&rst

extrelay_result('ok')

extrelay_result('error')

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.