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

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

Устройство имеет возможность удалённого управления с помощью 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 - номер реле

Полярность (направление) переключения реле при выполнении сброса должна cоответствовать заданному в настройках модуля «Сторож» (режим сброса). Если реле уже находится в состоянии сброса, команда сброса не имеет эффекта, хотя ответное уведомление об успешном выполнении «NP DONE PnR» будет приходить отправителю.

PnWПеревести реле n в режим управление «Сторож», где n - номер реле
PnSПеревести реле n в режим управление «Расписание», где n - номер реле
PnXПеревести реле n в режим управление «Расписание+Сторож», где n - номер реле
PnLПеревести реле n в режим управление «Выход логики», где n - номер реле
Pn?Запросить состояние реле n, где n - номер реле
P?Запросить состояние всех реле в краткой форме
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 - номер датчика влажности

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

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

NETPING P1+ SWITCH

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

NETPING P1- SWITCH

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

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

NP DONE fff kkkkk

где:

fff – код исходной команды, выполнение которой подтверждается данным сообщением. Например, Р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 Pnb kkkkk

где:

n  номер реле

b  состояние реле, возможные состояния реле кодируется символами: «M+» (включено вручную), «M-» (выключено вручную), «W+» (включено сторожем), «W-» (выключено сторожем), «S+» (включено расписанием), «S-» (выключено расписанием), «X+» (включено расписанием+сторожем), «X-» (выключено расписанием+сторожем), «L+» (включено логикой), «L-» (выключено логикой).

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


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

NP REPLY Pnb kkkkk

где:

n  номер реле

b  состояние реле, возможные состояния реле кодируется символами: «M+» (включено вручную), «M-» (выключено вручную), «W+» (включено сторожем), «W-» (выключено сторожем), «S+» (включено расписанием), «S-» (выключено расписанием), «X+» (включено расписанием+сторожем), «X-» (выключено расписанием+сторожем), «L+» (включено логикой), «L-» (выключено логикой).

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


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

NP REPLY Lm=l(mode) kkkkk

где:

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

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

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

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 (выход), OUT.L (выход логики)

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 kkkkk

где:

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

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

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

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

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