16 281
правка
Brainroot (обсуждение | вклад) (Дописал,Ю добавил ссылки) |
м (Поправил форматирование) |
||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE:Модуль уведомлений}} | {{DISPLAYTITLE:Модуль уведомлений}} | ||
[[File:web-alarm.png|400px|thumb|right|Настройка модуля уведомлений]] | [[File:web-alarm.png|400px|thumb|right|Настройка модуля уведомлений]] | ||
Модуль уведомлений (алармов, Alarm) предназначен для быстрой настройки отправки СМС и email в случае изменения параметров контроллера или подключённых устройств | Модуль уведомлений (алармов, Alarm) предназначен для быстрой настройки отправки СМС и email в случае изменения параметров контроллера или подключённых устройств: показаний подключённого датчика температуры, сработки пожарной сигнализации, обнаружении протечки и т.п. | ||
==Предварительная настройка для отправки email== | ==Предварительная настройка для отправки email== | ||
На уровне Linux для отправки email используется утилита [https://linux.die.net/man/8/ssmtp sSMTP]. Чтобы начать отправлять почту, нужно [[Просмотр файлов контроллера с компьютера | отредактировать]] её конфигурационный файл | На уровне Linux для отправки email используется утилита [https://linux.die.net/man/8/ssmtp sSMTP]. Чтобы начать отправлять почту, нужно [[Просмотр файлов контроллера с компьютера | отредактировать]] её конфигурационный файл <code>/etc/ssmtp/ssmtp.conf</code>. | ||
Электронные письма будут отправляться с одного из ваших почтовых ящиков, от которого потребуются: | Электронные письма будут отправляться с одного из ваших почтовых ящиков, от которого потребуются: | ||
*логин | *логин — например, <code>robot@contactless.ru</code>, | ||
*пароль, | *пароль, | ||
*адрес и порт SMTP сервера | *адрес и порт SMTP сервера. Для ящиков на Gmail это <code>smtp.gmail.com:587</code>, для Mail.Ru — <code>smtp.mail.ru:465</code>). | ||
==Для ящика на сервере Google== | ==Для ящика на сервере Google== | ||
Очистите содержимое | Очистите содержимое файла <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> | ||
Обязательно оставьте пустую строку в конце файла — после строки с <code>AuthPass=</code>. | |||
==Для ящика на сервере mail.ru== | Для отправки писем через Google Mail необходимо разрешить отправку писем от недоверенных приложений для вашего Google-аккаунта | ||
==Для ящика на сервере mail.ru== | |||
Очистите содержимое файла <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> | ||
В файл <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> | ||
==Проверка настроек== | ==Проверка настроек== | ||
Чтобы проверить, что отправка 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 askubuntu.com] и [https://wiki.archlinux.org/index.php/SSMTP wiki.archlinux.org]. | |||
==Предварительная настройка для отправки SMS== | ==Предварительная настройка для отправки SMS== | ||
Убедитесь, что вы [[GSM/GPRS |настроили модем]] вставили SIM-карту и подключили GSM антенну. | Убедитесь, что вы [[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 | |||
#Добавьте получателей уведомлений в разделе ''Recipients'': | #Зайдите на страницу '''Settings''' → '''Configs''' → '''Alarm Configuraion''' веб-интерфейса. | ||
#*нажмите кнопку ''+ Recipient''; | #Добавьте получателей уведомлений в разделе '''Recipients''': | ||
#*выберите | #*нажмите кнопку '''+ Recipient'''; | ||
#*В выпадающем списке ''Recipient N'' выберите один из типов: ''E-mail recipient'' или ''SMS recipient''; | |||
#*введите почтовый адрес или номер телефона. Для email можно также указать тему письма. | #*введите почтовый адрес или номер телефона. Для email можно также указать тему письма. | ||
#Настройте проверяемый параметр и условие в разделе ''Alarms'': | #Настройте проверяемый параметр и условие в разделе '''Alarms''': | ||
#*нажмите кнопку ''+ Item''; | #*нажмите кнопку '''+ Item'''; | ||
#*в появившемся разделе в выпадающем списке выберите один из четырёх типов уведомлений: | #*в появившемся разделе в выпадающем списке выберите один из четырёх типов уведомлений: | ||
#*# | #*#Expected Value Alarm — уведомление, если значение перестанет равняться заданному. | ||
#*# | #*#Minimum Value Alarm — уведомление, если значение станет меньше заданного. | ||
#*# | #*#Maximum Value Alarm — уведомление, если значение станет больше заданного. | ||
#*# | #*#Minimum&Maximum Value Alarm — уведомление, если значение выйдет из заданного диапазона. | ||
#*в ''Alarm name'' введите произвольное название для уведомления; | #*в '''Alarm name''' введите произвольное название для уведомления; | ||
#*в ''Cell'' введите параметр, за которым нужно следить. Параметр задаётся в виде | #*в '''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'' будет неактивна, а рядом с параметром красным будет написана ошибка, которую нужно исправить; | ||
#*если всё в порядке, уведомления начнут работать. | #*если всё в порядке, уведомления сразу начнут работать. | ||
==Как настроить уведомления с более сложными условиями== | ==Как настроить уведомления с более сложными условиями== | ||
Модуль уведомлений предназначен для быстрой настройки простых уведомлений. Если вам нужны более сложные сценарии уведомлений, их можно запрограммировать через [[Движок правил 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> | ||