Отправка уведомлений по СМС

Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнителоьное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение


Судя по коду, вы используете движок wb-rules и объект Notify/sms. Нужно проверить несколько вещей по шагам.

1. Убедиться, что вообще есть транспорт для СМС

Для отправки SMS контроллер должен работать с GSM‑модемом (встроенным или внешним) и быть настроен smsd:

  1. Проверьте, видит ли система модем и есть ли сервис SMS:
systemctl status smsd
mmcli -L
mmcli -m 0
  1. Убедитесь, что SMS с контроллера в принципе отправляются вручную[1]:
sms send PHONE_NUMBER "test from shell"

Если это не работает — сначала нужно настроить модем/SMS по инструкции[1:1], пока CLI не начнёт отправлять SMS, правила тоже работать не будут.

2. Проверка интеграций Notify (Telegram, email, SMS)

Методы:

Notify.sendSMS(phoneNumber, messageText);
Notify.sendEmail(mail, "subject", "text");
Notify.sendTelegramMessage(token, chatID, "text");

работают только если соответствующие интеграции настроены в системе:

  1. E-mail:

    • Должен быть настроен exim4/ssmtp или другой MTA, либо отдельный скрипт/транспорт, который использует Notify[2].
    • Проверьте отправку письма из консоли (например, sendmail, mail, msmtp — в зависимости от того, что установлено).
  2. Telegram:

    • Должен быть настроен сервис/скрипт отправки (bot token, chat id, конфиг).
    • Часто используется связка через wb-mqtt-telebot или самописный скрипт, на который завязан Notify[2:1].
  3. Notify.sendSMS:

    • В типовой конфигурации Wiren Board Notify.sendSMS либо:
      • вообще не определён (если соответствующего модуля нет),
      • либо завязан на smsd/скрипт отправки.
    • Проверьте логи:
journalctl -u wb-rules -f

и перезапустите правило/сгенерируйте событие, чтобы увидеть ошибки.

Если в логах wb-rules есть ошибки вида Notify is undefined или Notify.sendSMS is not a function — значит, объект/метод не определён в вашей версии/конфигурации.

3. Объект sms и метод sms.send(...)

В стандартной поставке Wiren Board объект sms в wb-rules по умолчанию не документирован. Это либо:

  • Ваш локальный объект (определён в другом правиле/JS‑файле), либо
  • Пользовательский модуль/обёртка, который должен быть загружен отдельно.

Нужно проверить:

  1. Есть ли где‑то в ваших правилах/файлах строки вида:
var sms = require("...");
// или явное создание объекта sms
  1. Есть ли ошибки в логах wb-rules при запуске:
journalctl -u wb-rules -b

Если sms не определён или модуль не найден — этот вызов будет тихо падать или давать ошибку.

4. Что прислать инженерам для разбора

Чтобы точнее понять, что не так, пожалуйста, ответьте и приложите:

  1. Модель контроллера (например, WB8.5, WB7 и т.п.).
  2. Есть ли у вас GSM‑модем и как он подключён (встроенный/USB)?
  3. Результат команд:
systemctl status smsd
sms list
sms send <ВАШ_НОМЕР> "test"
journalctl -u smsd -n 50
journalctl -u wb-rules -n 50
  1. Полный текст правила (JS), где вызываются Notify.sendSMS и sms.send.
  2. Снимок экрана/вывод ошибок из логов wb-rules в момент срабатывания правила.

После этого можно будет предметно сказать:

  • видит ли контроллер модем,
  • настроен ли сервис SMS,
  • корректно ли подключены функции Notify/sms в wb-rules.

Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.


  1. https://wirenboard.com/wiki/Modem_SMS ↩︎ ↩︎

  2. Движок правил wb-rules — Wiren Board ↩︎ ↩︎