11.8. [DKSF 70/71.7 IU] Как управлять устройством при помощи SMS-команд?

Информация в разделе относится к устройствам UniPing server solution v4/SMS и UniPing server solution v3/SMS со встроенным GSM-модемом.

Устройство имеет возможность удаленного управления с помощью SMS-команд.

В прошивке устройства реализована возможность задания белых списков — номеров, которым разрешено управление устройством. Подробней о белых списках можно прочитать в разделе «11.2. [DKSF 70/71.7 IU] Мне нужно прописать номер для отправки SMS-уведомлений. Как это сделать?».

Синтаксис SMS-команд

Общий формат текста SMS-команды:

NETPING fff community_w kkkkk

где:

fff — код команды, например, Р1+ (см. ниже).

community_w — пароль, соответствует SNMP community для записи. Задается на странице «НАСТРОЙКА» web-интерфейса устройства. Можно применять латинские буквы, цифры и некоторые спец. символы.

kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.

Текст команды нечувствителен к регистру, можно применять строчные и прописные буквы. Элементы команды разделяются пробелами. Недопустимо использование символов ‘ (апостроф), “ (кавычка), @. Включение этих символов может вызвать сбой прошивки. Выполнение команды подтверждается ответным сообщением (см. ниже).

Коды команд

Код команды указывается слитно, без пробелов.

Код командыОписание
Pn+Включить реле n, где n — номер реле
Pn-Выключить реле n, где n — номер реле
PnR

Перезагрузить реле n, где n — номер реле. Направление (режим) сброса соответствует настроенному в модуле «Сторож».

Pn?Запросить состояние реле n, где n — номер реле
P?Запросить состояние всех реле в краткой форме. Так как устройство оснащено одним реле, ответ идентичен команде "Pn?".
Lm+Перевести линию m в состояние лог.1, где m — номер IO-линии. Линия должна быть в режиме «выход».
Lm-Перевести линию m в состояние лог.0, где m — номер IO-линии. Линия должно быть в режиме «выход».
LmPВыдать импульс на линию m, где m — номер IO-линии. Линия должно быть в режиме «выход».
Lm?Запросить состояние линии m, где m — номер IO-линии.
L?Запросить состояние всех IO линий в краткой форме
N?Запросить состояние пингера на странице «SMS»
KaПередать ИК-команду через модуль IRC-TR v2, где a — номер команды
Tb?Запросить показания датчика температуры b, где b — номер термодатчика
Hx?Запросить показания датчика влажности x, где x — номер датчика влажности
T?Запросить показания всех датчиков температуры. Выводятся показания только подключенных датчиков. Признаком подключенности является заданный 1W-адрес.
H?Запросить показания всех датчиков влажности. Выводятся показания только подключенных датчиков. Признаком подключенности является заданный 1W-адрес.
RB20Перезагрузить устройство. Перезагрузка произойдет через 20 секунд после получения им команды. 

Примеры SMS-команд

Команда включения реле 1 устройства:

NETPING P1+ SWITCH

Команда выключения реле 1 устройства:

NETPING P1- SWITCH

Ответные сообщения на SMS-команды управления

Подтверждение исполнения команды, такой как переключение реле или изменение состояния дискретной линии вывода:

NP DONE fff kkkkk

где:

ff— код исходной команды, выполнение которой подтверждается данным сообщением. Например, Р1+

kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.


Ошибка при разборе команды устройством. Наиболее вероятно, неправильный текст исходной команды:

NP WRONG CMD: "исходная команда kkkkk"

где:

Исходная команда — текст исходной команды, полностью заключенный в кавычки.

kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.

 

Неправильный пароль (Community) в исходной команде:

NP WRONG PASSWD IN kkkkk

NP WRONG PASSWD

где:

kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе (вторая команда).

Ответные сообщения на SMS-команды запроса статуса/состояния

Ответ на запрос (NETPING Pn? community_w kkkkk) о состоянии реле:

NP REPLY Pn+ kkkkk

где:

n — номер реле

— состояние реле, возможные состояния реле кодируются символами «+» (включено), «-» (выключено).

kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.


Ответ на запрос (NETPING Lm? community_w kkkkk) состояния IO-линии:

NP REPLY Lm=l(mode) kkkkk

где:

— номер IO-линии

l — логический уровень IO-линии, возможные значения: 0 (логический нуль), 1 (логическая единица).

mode — режим работы IO-линии, возможные значения: IN (вход), OUT (выход).

kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.


Ответ на запрос (NETPING L? community_w kkkkk) состояния всех IO-линий:

NP REPLY Lm=l(mode) Lm=l(mode) Lm=l(mode) Lm=l(mode) Lm=l(mode) Lm=l(mode) Lm=l(mode) Lm=l(mode) kkkkk

где:

– номер IO-линии

l — логический уровень IO-линии, возможные значения: 0 (логический нуль), 1 (логическая единица).

mode — режим работы IO линии, возможные значения: IN (вход), OUT (выход).

kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.


Ответ на запрос (NETPING N? community_w kkkkk) о состоянии пингера, встроенного в модуль SMS:

NP REPLY N=0|1 kkkkk

где:

N=0 — заданный IP-адрес/DNS-имя молчит.

N=1 — заданный IP-адрес/DNS-имя отвечает.

kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.

 

Ответ на запрос (NETPING Tb? community_w kkkkk) показаний термодатчика. Датчик с номером b вышел из строя либо не подключен:

NP REPLY Tb=? SENSOR FAILED kkkkk

где:

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

kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.


Ответ на запрос (NETPING Tb? community_w kkkkk) показаний термодатчика:

NP REPLY Tb=tC BELOW|IN|ABOVE SAFE RANGE (t1..t2C) kkkkk

где:

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

t — текущее показание температуры, °C.

t1, t2 — границы диапазона нормальной температуры, °C.

kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.


Ответ на запрос (NETPING Hx? community_w kkkkk) показаний датчика влажности. Датчик вышел из строя либо не подключен:

NP REPLY Hx=? SENSOR FAILED kkkkk

где:

x — номер датчика влажности;

kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.


Ответ на запрос (NETPING Hx? community_w kkkkk) показаний датчика влажности:

NP REPLY Hx=h% BELOW|IN|ABOVE SAFE RANGE (h1..h2%) T= tC BELOW|IN|ABOVE SAFE RANGE (t1..t2C) kkkkk

где:

— номер датчика влажности.

h — текущее показание относительной влажности, в %.

h1, h2 — границы диапазона нормальной относительной влажности, %.

t — текущее показание температуры, в °C.

t1, t2 — границы диапазона нормальной температуры, в °C.

kkkkk — идентификатор запроса (произвольное число от 3 до 9 цифр). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.