Notification module: различия между версиями

 
(не показано 38 промежуточных версий 8 участников)
Строка 1: Строка 1:
{{DISPLAYTITLE:Модуль уведомлений}}
[[File:web-alarm.png|400px|thumb|right|Настройка модуля уведомлений]]
[[File:web-alarm.png|400px|thumb|right|Настройка модуля уведомлений]]
Модуль уведомлений (алармов, Alarm) предназначен для быстрой настройки отправки СМС и email в случае изменения параметров контроллера или подключённых устройств (например, показаний подключённого датчика температуры).
Модуль уведомлений (алармов, Alarm) предназначен для быстрой настройки отправки СМС и email в случае изменения параметров контроллера или подключённых устройств: показаний подключённого датчика температуры, сработки пожарной сигнализации, обнаружении протечки и т.п.
==Предварительная настройка для отправки email==
На уровне Linux для отправки email используется утилита [https://linux.die.net/man/8/ssmtp sSMTP]. Чтобы начать отправлять почту, нужно [[Просмотр файлов контроллера с компьютера | отредактировать]] её конфигурационный файл <code>/etc/ssmtp/ssmtp.conf</code>.
 
Электронные письма будут отправляться с одного из ваших почтовых ящиков, от которого потребуются:
*логин — например, <code>robot@wirenboard.com</code>,
*пароль,
*адрес и порт SMTP сервера. Для ящиков на Gmail это <code>smtp.gmail.com:587</code>, для Mail.Ru — <code>smtp.mail.ru:465</code>.
 
==Для ящика на сервере Google==
 
Очистите содержимое файла <code>/etc/ssmtp/ssmtp.conf</code> и добавьте туда строки:
<syntaxhighlight lang="linux-config">
mailhub=smtp.gmail.com:587
UseTLS=Yes
UseSTARTTLS=Yes
AuthUser=robot@wirenboard.com
AuthPass=qwerty12345
# Не забудьте добавить пустую пустую строку в конце файла
 
</syntaxhighlight>
 
Обязательно оставьте пустую строку в конце файла — после строки с <code>AuthPass=</code>.
 
Для отправки писем через Google Mail необходимо [https://support.google.com/accounts/answer/6010255 разрешить отправку писем из менее защищённых приложений] и, возможно, [https://support.google.com/accounts/answer/185833 создать отдельный пароль].
 
==Для ящика на сервере mail.ru==
 
Очистите содержимое файла <code>/etc/ssmtp/ssmtp.conf</code> и добавьте туда строки:
<syntaxhighlight lang="linux-config">
mailhub=smtp.mail.ru:465
FromLineOverride=YES
UseTLS=Yes
AuthUser=robot@wirenboard.com
AuthPass=qwerty12345
# Не забудьте добавить пустую пустую строку в конце файла
 
</syntaxhighlight>
 
В файл <code>/etc/ssmtp/revaliases</code> добавьте строку:
<syntaxhighlight lang="linux-config">
root:robot@wirenboard.com:smtp.mail.ru:465
</syntaxhighlight>
 
==Для ящика на сервере yandex.ru==
 
Очистите содержимое файла <code>/etc/ssmtp/ssmtp.conf</code> и добавьте туда строки:
<syntaxhighlight lang="linux-config">
mailhub=smtp.yandex.ru:465
FromLineOverride=YES
UseTLS=Yes
#Важно: Логин без домена
AuthUser=robot
AuthPass=qwerty12345
# Не забудьте добавить пустую пустую строку в конце файла
 
</syntaxhighlight>
 
В файл <code>/etc/ssmtp/revaliases</code> добавьте строку:
<syntaxhighlight lang="linux-config">
root:robot@wirenboard.com:smtp.yandex.ru:465
</syntaxhighlight>
 
==Проверка настроек==
Чтобы проверить, что отправка email заработала, выполните в [[SSH | консоли]] команду:
<syntaxhighlight lang="bash">
echo 'Test message to check sSMTP new configuration' | ssmtp -v ivanov@gmail.com
# вместо ivanov@gmail.com подставьте адрес другого своего ящика (например того, куда собираетесь получать уведомления с контроллера)
</syntaxhighlight>
Дополнительную информацию можно получить на сайтах [http://askubuntu.com/questions/185070/why-i-get-hostname-name-or-service-not-known-error askubuntu.com] и [https://wiki.archlinux.org/index.php/SSMTP wiki.archlinux.org].
 
==Предварительная настройка для отправки SMS==
Убедитесь, что вы [[GSM/GPRS |настроили модем]] вставили SIM-карту и подключили GSM антенну.
 
Перед настройкой в веб-интерфейсе можете протестировать [[GSM/GPRS#.D0.A0.D0.B0.D0.B1.D0.BE.D1.82.D0.B0_.D1.81_sms_.D0.B8_ussd| отправку SMS]] из консоли.
 
==Настройка модуля уведомлений==
==Настройка модуля уведомлений==
#Зайдите на страницу ''Configs - Alarm Configuraion'' веб-интерфейса.
 
#Добавьте получателей уведомлений в разделе ''Recipients'':
#Зайдите на страницу '''Settings''' → '''Configs''' → '''Alarm Configuraion''' веб-интерфейса.
#*нажмите кнопку ''+ Recipient'',
#Добавьте получателей уведомлений в разделе '''Recipients''':
#*выберите тип (''E-mail'' или ''SMS''),
#*нажмите кнопку '''+ Recipient''';
#*В выпадающем списке ''Recipient N'' выберите один из типов: ''E-mail recipient'' или ''SMS recipient'';
#*введите почтовый адрес или номер телефона. Для email можно также указать тему письма.
#*введите почтовый адрес или номер телефона. Для email можно также указать тему письма.
#Настройте параметр и условие в разделе ''Alarms'':
#Настройте проверяемый параметр и условие в разделе '''Alarms''':
#*нажмите кнопку '''+ Item''';
#*в появившемся разделе в выпадающем списке выберите один из четырёх типов уведомлений:
#*#Expected Value Alarm — уведомление, если значение перестанет равняться заданному.
#*#Minimum Value Alarm — уведомление, если значение станет меньше заданного.
#*#Maximum Value Alarm — уведомление, если значение станет больше заданного.
#*#Minimum&Maximum Value Alarm — уведомление, если значение выйдет из заданного диапазона.
#*в '''Alarm name''' введите произвольное название для уведомления;
#*в '''Cell''' введите параметр, за которым нужно следить. Параметр задаётся в виде <code>Device/Control</code>, где названия ''Device'' и ''Control'' для каждого параметра можно найти в веб-интерфейсе в разделе '''Settings''' → '''MQTT Channels'''. Например, для датчика 1-Wire, подключённого к внешнему modbus-сенсору WB-MS, эта строка будет выглядеть как <code>wb-ms-thls-v2_101/External Sensor 2</code>;
#*в '''Alarm activation message''' введите текст сообщения, которое будет отправлено. В него в произвольном месте можно ввести две фигурные скобки <code>{}</code>, вместо которых в сообщение будет подставлено новое значение отслеживаемого параметра.
#*в зависимости от типа уведомления, заполните поля '''Minimum Value''', '''Maximum Value''', '''Expected Value''';
#*некоторые дополнительные настройки станут доступны, если нажать на кнопку '''Properties''' и отметить их.
#Нажмите '''Save''' в самом верху страницы:
#*если вы забыли указать какой-то обязательный параметр, кнопка ''Save'' будет неактивна, а рядом с параметром красным будет написана ошибка, которую нужно исправить;
#*если всё в порядке, уведомления сразу начнут работать.


==Как настроить уведомления с более сложными условиями==
==Как настроить уведомления с более сложными условиями==  
Модуль уведомлений для быстрой настройки просты уведомлений. Если вам нужны более сложные сценарии уведомлений, их можно запрограммировать через [[Движок правил wb-rules | движок правил]]. Чтобы отправить сообщение, из правила нужно вызвать функцию
Модуль уведомлений предназначен для быстрой настройки простых уведомлений. Если вам нужны более сложные сценарии уведомлений, их можно запрограммировать через [[Движок правил wb-rules | движок правил]]. Чтобы отправить сообщение, из правила нужно вызвать функцию
<syntaxhighlight lang="ecmascript">
<syntaxhighlight lang="ecmascript">
Notify.sendEmail(to, subject, text); //отправляет почту указанному адресату (to), с указанной темой (subject) и содержимым (text)
Notify.sendEmail("to", "subject", "text"); //отправляет почту указанному адресату (to), с указанной темой (subject) и содержимым (text); почтовый адрес, тема и содержимое указываются в кавычках
</syntaxhighlight>
</syntaxhighlight>
или
или
<syntaxhighlight lang="ecmascript">
<syntaxhighlight lang="ecmascript">
Notify.sendSMS(to, text); //отправляет SMS на указанный номер (to) с указанным содержимым (text)
Notify.sendSMS("to", "text"); //отправляет SMS на указанный номер (to) с указанным содержимым (text); номер и текст указываются в кавычках
</syntaxhighlight>
</syntaxhighlight>
wb_editors
890

правок