Перестал работать Notify.sendSMS после обновления системы

Здравствуйте уважаемые.

Подскажите пожалуйста - куда смотреть, где логи? Из скриптов/правил Notify.sendSMS не работает. Просто тишина в логах, при этом, из командной строки через ‘gammu sendsms …’ всё как часы.

Здравствуйте!
Напишите больше информации: какая у вас аппаратная версия контроллера, какой релиз ПО установлен, пришлите проблемное правило отдельным файлом.
Проверьте, работает ли сервис wb-rules:

systemctl status wb-rules

Логи за последний час можно посмотреть командой:

journalctl --since "1 hour ago"

Также пришлите, пожалуйста, архив с диагностической информацией контроллера. Создание архива описано в инструкции.

Batch No: 6.7.2F/1 496
Current uptime: 2d 15h 53m
DTS Version:
HW Revision: 6.7.2
Manufacturing Date: 2021-06-11 11:31:56+00:00
Release name: wb-2204
Release suite: stable
Short SN: A7IOITQU

Нет проблемного правила. Просто после включения света поставил отправку SMS (причём на английском). Раньше это в качестве отладки работало стабильно.

root@wirenboard-A7IOITQU:~# systemctl status wb-rules
● wb-rules.service - MQTT Rule engine for Wiren Board
   Loaded: loaded (/lib/systemd/system/wb-rules.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2022-08-22 19:15:14 MSK; 2 days ago
 Main PID: 1707 (wb-rules)
   CGroup: /system.slice/wb-rules.service
           ├─1707 /usr/bin/wb-rules -syslog -editdir /etc/wb-rules/ /usr/share/wb-rules-system/rules/ /etc/wb-rules/ /usr/share/wb-rules/
           ├─4790 /bin/sh -c wb-gsm restart_if_broken && LANG=ru_RU.UTF-8 gammu sendsms TEXT '+7921********' -unicode
           ├─4792 /bin/bash /usr/bin/wb-gsm restart_if_broken
           ├─6174 /bin/bash /usr/bin/wb-gsm restart_if_broken
           ├─6225 /bin/bash /usr/bin/wb-gsm restart_if_broken
           └─6226 /usr/sbin/chat -v TIMEOUT 2 ABORT ERROR ABORT BUSY AT OK

авг 24 16:56:51 wirenboard-A7IOITQU wb-rules[1707]: INFO: [rule info] В глобальном хранилище хранится флаг deactivateTime='2022-08-23 22:33:19.336+03:00'
авг 24 16:56:51 wirenboard-A7IOITQU wb-rules[1707]: INFO: [rule info] Trying to send SMS ...
авг 24 16:56:51 wirenboard-A7IOITQU wb-rules[1707]: INFO: [rule info] SMS sent complete.
авг 24 16:56:51 wirenboard-A7IOITQU wb-rules[1707]: INFO: [rule info] Обнулили таймер и закончили выполнение процедры.
авг 24 18:36:51 wirenboard-A7IOITQU wb-rules[1707]: ERROR: trying to stop unknown timer: 270
авг 24 18:37:05 wirenboard-A7IOITQU wb-rules[1707]: INFO: [rule info] Охрана периметра отключена
авг 24 21:03:00 wirenboard-A7IOITQU wb-rules[1707]: INFO: [rule info] Вечерняя проверка - профиль №1 (2022-08-24 21:03:00.012+03:00)...
авг 24 21:03:00 wirenboard-A7IOITQU wb-rules[1707]: INFO: [rule info] (!) Открыто окно котельной (!)
авг 25 00:00:53 wirenboard-A7IOITQU wb-rules[1707]: INFO: [rule info] Новое значение статуса питания от UPS: true
авг 25 00:00:57 wirenboard-A7IOITQU wb-rules[1707]: INFO: [rule info] Новое значение статуса питания от UPS: false

(номер телефона маскирован)
Причём, обратите внимание, в логи вывожу сообщение перед отправкой SMS и после. Всё обложено try { } catch() {}, сообщения в логах есть, ошибок нет, а SMS не отправляется (из командной строки через gammu работает стабильно).

Диагностика:
diag_output_A7IOITQU_2022-08-25-11.zip (155.2 КБ)

В конфиге /etc/wb-rules/alarms.conf что-то есть?

root@wirenboard-A7IOITQU:~# cat /etc/wb-rules/alarms.conf
{
  "deviceName": "alarms",
  "deviceTitle": "Alarms",
  "recipients": [],
  "alarms": []
}

Добавил больше отладочной информации в /usr/share/wb-rules-system/scripts/lib.js

Ха ха ха :frowning:

Очередь внутренняя, которая в _smsQueue живёт, она переполняется и всё виснет!
Перезапуск службы wb-rules конечно помогает временно, но потом опять затыкается.

Зачем вы так написали?!?
По крайней мере, хранили бы очередь в файле локальном и разгребали бы её со статусами. Иначе получается тишина и ни логов ни результата :frowning:

Оно так давно-давно работало баг вылез вообще первый раз.

Плохо. Очень плохо!

Попробуйте с реальной SIM картой отправить подряд 5-10 SMS через Notify.sendSMS(…).

Пришлите, пожалуйста, минимальное правило, которое воспроизводит описанную проблему.

1 лайк

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.