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

м
Поправил форматирование
(Дописал,Ю добавил ссылки)
м (Поправил форматирование)
Строка 1: Строка 1:
<languages/>
<translate>
{{DISPLAYTITLE:Модуль уведомлений}}
{{DISPLAYTITLE:Модуль уведомлений}}
[[File:web-alarm.png|400px|thumb|right|Настройка модуля уведомлений]]
[[File:web-alarm.png|400px|thumb|right|Настройка модуля уведомлений]]
Модуль уведомлений (алармов, Alarm) предназначен для быстрой настройки отправки СМС и email в случае изменения параметров контроллера или подключённых устройств (например, показаний подключённого датчика температуры).
Модуль уведомлений (алармов, Alarm) предназначен для быстрой настройки отправки СМС и email в случае изменения параметров контроллера или подключённых устройств: показаний подключённого датчика температуры, сработки пожарной сигнализации, обнаружении протечки и т.п.
==Предварительная настройка для отправки email== <!--T:1-->
==Предварительная настройка для отправки email==  
На уровне Linux для отправки email используется утилита [https://linux.die.net/man/8/ssmtp sSMTP]. Чтобы начать отправлять почту, нужно [[Просмотр файлов контроллера с компьютера | отредактировать]] её конфигурационный файл ''/etc/ssmtp/ssmtp.conf''.
На уровне Linux для отправки email используется утилита [https://linux.die.net/man/8/ssmtp sSMTP]. Чтобы начать отправлять почту, нужно [[Просмотр файлов контроллера с компьютера | отредактировать]] её конфигурационный файл <code>/etc/ssmtp/ssmtp.conf</code>.


<!--T:2-->
Электронные письма будут отправляться с одного из ваших почтовых ящиков, от которого потребуются:
Электронные письма будут отправляться с одного из ваших почтовых ящиков, от которого потребуются:
*логин (например, ''robot@contactless.ru''),
*логин например, <code>robot@contactless.ru</code>,
*пароль,
*пароль,
*адрес и порт SMTP сервера (для ящиков на Gmail это ''smtp.gmail.com:587'', для Mail.Ru - ''smtp.mail.ru:465'').
*адрес и порт SMTP сервера. Для ящиков на Gmail это <code>smtp.gmail.com:587</code>, для Mail.Ru — <code>smtp.mail.ru:465</code>).


==Для ящика на сервере Google== <!--T:2-->
==Для ящика на сервере Google==  


Очистите содержимое ''/etc/ssmtp/ssmtp.conf'' и внесите туда такие строки, заменив данные своими:
Очистите содержимое файла <code>/etc/ssmtp/ssmtp.conf</code> и добавьте туда строки:
<syntaxhighlight lang="linux-config">
<syntaxhighlight lang="linux-config">
mailhub=smtp.gmail.com:587
mailhub=smtp.gmail.com:587
Строка 22: Строка 19:
AuthUser=robot@contactless.ru
AuthUser=robot@contactless.ru
AuthPass=qwerty12345
AuthPass=qwerty12345
# Не забудьте добавить пустую пустую строку в конце файла
</syntaxhighlight>
</syntaxhighlight>


#обязательно оставьте пустую строку в конце файла (после строки с "AuthPass=")
Обязательно оставьте пустую строку в конце файла после строки с <code>AuthPass=</code>.
#Для отправки писем через Google Mail необходимо разрешить отправку писем от недоверенных приложений для вашего Google-аккаунта  
 
==Для ящика на сервере mail.ru== <!--T:2-->
Для отправки писем через Google Mail необходимо разрешить отправку писем от недоверенных приложений для вашего Google-аккаунта  
 
==Для ящика на сервере mail.ru==  


''/etc/ssmtp/ssmtp.conf''
Очистите содержимое файла <code>/etc/ssmtp/ssmtp.conf</code> и добавьте туда строки:
<syntaxhighlight lang="linux-config">
<syntaxhighlight lang="linux-config">
mailhub=smtp.mail.ru:465
mailhub=smtp.mail.ru:465
Строка 35: Строка 36:
AuthUser=robot@contactless.ru
AuthUser=robot@contactless.ru
AuthPass=qwerty12345
AuthPass=qwerty12345
# Не забудьте добавить пустую пустую строку в конце файла
</syntaxhighlight>
</syntaxhighlight>


''/etc/ssmtp/revaliases'' добавьте строку
В файл <code>/etc/ssmtp/revaliases</code> добавьте строку:
<syntaxhighlight lang="linux-config">
<syntaxhighlight lang="linux-config">
root:robot@contactless.ru:smtp.mail.ru:465
root:robot@contactless.ru:smtp.mail.ru:465
</syntaxhighlight>
</syntaxhighlight>


==Проверка настроек== <!--T:3-->
==Проверка настроек==  
Чтобы проверить, что отправка email заработала, выполните в [[Консоль | консоли]] команду:
Чтобы проверить, что отправка email заработала, выполните в [[Консоль | консоли]] команду:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Строка 48: Строка 51:
# вместо ivanov@gmail.com подставьте адрес другого своего ящика (например того, куда собираетесь получать уведомления с контроллера)
# вместо ivanov@gmail.com подставьте адрес другого своего ящика (например того, куда собираетесь получать уведомления с контроллера)
</syntaxhighlight>
</syntaxhighlight>
В случае дополнительных вопросов смотрите [http://askubuntu.com/questions/185070/why-i-get-hostname-name-or-service-not-known-error] и [https://wiki.archlinux.org/index.php/SSMTP].
Дополнительную информацию можно получить на сайтах [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== <!--T:4-->
==Предварительная настройка для отправки SMS==  
Убедитесь, что вы [[GSM/GPRS |настроили модем]] вставили SIM-карту и подключили GSM антенну.</br>
Убедитесь, что вы [[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]] предварительно из консоли.
 
Перед настройкой в веб-интерфейсе можете протестировать [[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'';
#*нажмите кнопку '''+ Item''';
#*в появившемся разделе в выпадающем списке выберите один из четырёх типов уведомлений:
#*в появившемся разделе в выпадающем списке выберите один из четырёх типов уведомлений:
#*#''Expected Value Alarm'' - уведомление, если значение перестанет равняться заданному.
#*#Expected Value Alarm уведомление, если значение перестанет равняться заданному.
#*#''Minimum Value Alarm'' - уведомление, если значение станет меньше заданного.
#*#Minimum Value Alarm уведомление, если значение станет меньше заданного.
#*#''Maximum Value Alarm'' - уведомление, если значение станет больше заданного.
#*#Maximum Value Alarm уведомление, если значение станет больше заданного.
#*#''Minimum&Maximum Value Alarm'' - уведомление, если значение выйдет из заданного диапазона.
#*#Minimum&Maximum Value Alarm уведомление, если значение выйдет из заданного диапазона.
#*в ''Alarm name'' введите произвольное название для уведомления;
#*в '''Alarm name''' введите произвольное название для уведомления;
#*в ''Cell'' введите параметр, за которым нужно следить. Параметр задаётся в виде ''Device/Control'', где названия Device и Control для каждого параметра можно найти на странице ''Settings'' веб-интерфейса в таблице ''MQTT Channels''. Например, для датчика 1-Wire, подключённого к внешнему Modbus сенсору WB-MS, эта строка будет выглядеть как ''wb-ms-thls-v2_101/External Sensor 2'';
#*в '''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'' введите текст сообщения, которое будет отправлено. В него в произвольном месте можно ввести две фигурные скобки ''{}'', вместо которых в сообщение будет подставлено новое значение параметра, за которым производится слежение.
#*в '''Alarm activation message''' введите текст сообщения, которое будет отправлено. В него в произвольном месте можно ввести две фигурные скобки <code>{}</code>, вместо которых в сообщение будет подставлено новое значение отслеживаемого параметра.
#*в зависимости от типа уведомления, заполните поля ''Minimum Value'', ''Maximum Value'', ''Expected Value'';
#*в зависимости от типа уведомления, заполните поля '''Minimum Value''', '''Maximum Value''', '''Expected Value''';
#*некоторые дополнительные настройки станут доступны, если нажать на кнопку ''Properties'' и отметить их.
#*некоторые дополнительные настройки станут доступны, если нажать на кнопку '''Properties''' и отметить их.
#Нажмите ''Save'' в самом верху страницы:
#Нажмите '''Save''' в самом верху страницы:
#*если вы забыли указать какой-то обязательный параметр, кнопка ''Save'' будет неактивна, а рядом с параметром красным будет написана ошибка, которую нужно исправить;
#*если вы забыли указать какой-то обязательный параметр, кнопка ''Save'' будет неактивна, а рядом с параметром красным будет написана ошибка, которую нужно исправить;
#*если всё в порядке, уведомления начнут работать.
#*если всё в порядке, уведомления сразу начнут работать.


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