14.8. [DKSF 54.3 IU] Как управлять устройством при помощи SMS-команд

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

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

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

NETPING fff community_w kkkkk

где:

  • fff – код команды, например, Р1+ (см. ниже);
  • community_w – пароль, соответствует SNMP community для записи. Задаётся на странице «НАСТРОЙКИ» web-интерфейса устройства. Можно применять латинские буквы, цифры, символ «_» без кавычек и пробелов;
  • kkkkk – идентификатор запроса (произвольное число). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.

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

Коды команд

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

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

Перезагрузить реле n, где n - номер реле

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

Pn?Запросить состояние реле n, где n - номер реле
P?Запросить состояние всех реле в краткой форме
N?Запросить состояние пингера
Tb?Запросить показания датчика температуры b, где b - номер термодатчика
T?Запросить состояние всех подключённых датчиков температуры в краткой форме
Hx?Запросить показания датчика влажности x, где x - номер датчика влажности
A?Запросить состояние аккумулятора
RB20Выполнить перезагрузку устройства

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

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

NETPING P1+ SWITCH

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

NETPING P2- SWITCH

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

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

NP DONE fff kkkkk

где:

  • fff – код исходной команды, выполнение которой подтверждается данным сообщением. Например, Р1+
  • kkkkk – идентификатор запроса (произвольное число). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе


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

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

где:

  • Исходная команда  текст исходной команды, полностью заключённый в кавычки;
  • kkkkk – идентификатор запроса (произвольное число). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.

 

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

NP WRONG PASSWD IN kkkkk

NP WRONG PASSWD

где:

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

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

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

NP REPLY Pnb kkkkk

где:

  • n – номер реле;
  • b – состояние реле, возможные состояние реле кодируется символами: «+» (включено), «-» (выключено);
  • kkkkk – идентификатор запроса (произвольное число). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.


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

NP REPLY P1b P2b P3b P4b kkkkk

где:

  • b – состояние реле, возможные состояние реле кодируется символами: «+» (включено), «-» (выключено).
  • kkkkk – идентификатор запроса (произвольное число). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.


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

NP REPLY N=1 kkkkk

NP REPLY N=0 kkkkk

где:

  • N=1 – заданный адрес отвечает;
  • N=0 – заданный адрес молчит;
  • kkkkk – идентификатор запроса (произвольное число). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.

 

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

NP REPLY Tb=? SENSOR FAILED kkkkk

где:

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


Ответ на запрос (NETPING Tb? community_w kkkkk) о показаниях термодатчика. Датчик с номером b находится в статусе «ниже нормы», «в норме», «выше нормы» соответственно:

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

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

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

где:

  • b – номер термодатчика;
  • t – текущее показание температуры, в °C;
  • t1, t2 – границы диапазона «нормы» температуры, в °C;
  • kkkkk – идентификатор запроса (произвольное число). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.


Ответ на запрос (NETPING T? community_w kkkkk) о состоянии всех подключённых датчиков температуры в краткой форме:

NP REPLY T2=21C SAFE (10..30C) T5=? T6=39C ABOVE (10..30C) kkkkk

где:

  • BELOW / SAFE / ABOVE – статус датчика температуры;
  • ? – отказавшие или отключённые (но с вписанным адресом) датчики отображаются как T5=? без статуса и указания границ диапазона «нормы» температуры, в °C;
  • kkkkk – идентификатор запроса (произвольное число). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе;
  • Незадействованные датчики с пустыми 1W адресами пропускаются.


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

NP REPLY Hx=? SENSOR FAILED kkkkk

где:

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


Ответ на запрос (NETPING Hx? community_w kkkkk) о показаниях датчика влажности. Датчик с номером x находится в статусе «ниже нормы», «в норме», «выше нормы» соответственно:

NP REPLY Hx=h% BELOW SAFE RANGE (h1..h2%) T= tC kkkkk

NP REPLY Hx=h% IN SAFE RANGE (h1..h2%) T= tC kkkkk

NP REPLY Hx=h% ABOVE SAFE RANGE (h1..h2%) T= tC kkkkk

где:

  • h – текущее показание относительной влажности, в %;
  • h1, h2 – границы диапазона «нормы» относительной влажности, в %;
  • t – текущее показание температуры, в °C;
  • kkkkk – идентификатор запроса (произвольное число). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.


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

NP REPLY A? POWER SCR: V, CHARGING: C kkkkk

где:

  • V – источник питания устройства, может принимать значения: «220V» (питание от сети 220В), «BATTERY» (питание от аккумулятора);
  • С – статус заряда аккумулятора, может принимать значения: «OK» (достижение полного заряда аккумулятора), «LOW» (низкий заряд аккумулятора), «NO» (не заряжается);
  • kkkkk – идентификатор запроса (произвольное число). Повторяется в ответе для установления соответствия между запросом и ответом. Необязательный элемент команды. Если идентификатор отсутствует в команде, также отсутствует в ответе.