Notification module: различия между версиями
Brainroot (обсуждение | вклад) |
Kilpio (обсуждение | вклад) |
||
(не показано 16 промежуточных версий 7 участников) | |||
Строка 1: | Строка 1: | ||
[[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]. Чтобы начать отправлять почту, нужно [[Просмотр файлов контроллера с компьютера | отредактировать]] её конфигурационный файл ''/etc/ssmtp/ssmtp.conf''. | ||
Электронные письма будут отправляться с одного из ваших почтовых ящиков, от которого потребуются: | Электронные письма будут отправляться с одного из ваших почтовых ящиков, от которого потребуются: | ||
*логин | *логин (например, ''robot@contactless.ru''), | ||
*пароль, | *пароль, | ||
*адрес и порт SMTP сервера | *адрес и порт SMTP сервера (для ящиков на Gmail это ''smtp.gmail.com:587'', для Mail.Ru - ''smtp.mail.ru:465''). | ||
Очистите содержимое ''/etc/ssmtp/ssmtp.conf'' и внесите туда такие строки, заменив данные своими: | |||
Очистите содержимое | |||
<syntaxhighlight lang="linux-config"> | <syntaxhighlight lang="linux-config"> | ||
mailhub=smtp.gmail.com:587 | mailhub=smtp.gmail.com:587 | ||
AuthUser=robot@contactless.ru | |||
AuthPass=qwerty12345 | |||
UseTLS=Yes | UseTLS=Yes | ||
UseSTARTTLS=Yes | UseSTARTTLS=Yes | ||
#обязательно оставьте пустую строку в конце файла | |||
#Для отправки писем через Google Mail необходимо разрешить отправку писем от недоверенных приложений для вашего Google-аккаунта | |||
# | |||
Для отправки писем через Google Mail необходимо | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Чтобы проверить, что отправка email заработала, выполните в [[Консоль | консоли]] команду: | |||
Чтобы проверить, что отправка email заработала, выполните в [[ | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
echo 'Test message to check sSMTP new configuration' | ssmtp | echo 'Test message to check sSMTP new configuration' | ssmtp ivanov@gmail.com | ||
# вместо 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]. | |||
==Предварительная настройка для отправки SMS== | |||
Убедитесь, что вы вставили SIM-карту и подключили GSM антенну. | |||
==Настройка модуля уведомлений== | ==Настройка модуля уведомлений== | ||
#Зайдите на страницу ''Configs - Alarm Configuraion'' веб-интерфейса. | |||
#Зайдите на страницу | #Добавьте получателей уведомлений в разделе ''Recipients'': | ||
#Добавьте получателей уведомлений в разделе | #*нажмите кнопку ''+ Recipient''; | ||
#*нажмите кнопку | #*выберите тип (''E-mail'' или ''SMS''); | ||
#* | |||
#*введите почтовый адрес или номер телефона. Для email можно также указать тему письма. | #*введите почтовый адрес или номер телефона. Для email можно также указать тему письма. | ||
#Настройте проверяемый параметр и условие в разделе | #Настройте проверяемый параметр и условие в разделе ''Alarms'': | ||
#*нажмите кнопку | #*нажмите кнопку ''+ 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'' введите произвольное название для уведомления; | ||
#*в | #*в ''Cell'' введите параметр, за которым нужно следить. Параметр задаётся в виде ''Device/Control'', где названия Device и Control для каждого параметра можно найти на странице ''Settings'' веб-интерфейса в таблице ''MQTT Channels''. Например, для датчика 1-Wire, подключённого к внешнему Modbus сенсору WB-MS, эта строка будет выглядеть как ''wb-ms-thls-v2_101/External Sensor 2''; | ||
#*в | #*в ''Alarm activation message'' введите текст сообщения, которое будет отправлено. В него в произвольном месте можно ввести две фигурные скобки ''{}'', вместо которых в сообщение будет подставлено новое значение параметра, за которым производится слежение. | ||
#*в зависимости от типа уведомления, заполните поля | #*в зависимости от типа уведомления, заполните поля ''Minimum Value'', ''Maximum Value'', ''Expected Value''; | ||
#*некоторые дополнительные настройки станут доступны, если нажать на кнопку | #*некоторые дополнительные настройки станут доступны, если нажать на кнопку ''Properties'' и отметить их. | ||
#Нажмите | #Нажмите ''Save'' в самом верху страницы: | ||
#*если вы забыли указать какой-то обязательный параметр, кнопка ''Save'' будет неактивна, а рядом с параметром красным будет написана ошибка, которую нужно исправить; | #*если вы забыли указать какой-то обязательный параметр, кнопка ''Save'' будет неактивна, а рядом с параметром красным будет написана ошибка, которую нужно исправить; | ||
#*если всё в порядке, уведомления | #*если всё в порядке, уведомления начнут работать. | ||
==Как настроить уведомления с более сложными условиями== | ==Как настроить уведомления с более сложными условиями== | ||
Модуль уведомлений предназначен для быстрой настройки простых уведомлений. Если вам нужны более сложные сценарии уведомлений, их можно запрограммировать через [[Движок правил wb-rules | движок правил]]. Чтобы отправить сообщение, из правила нужно вызвать функцию | Модуль уведомлений предназначен для быстрой настройки простых уведомлений. Если вам нужны более сложные сценарии уведомлений, их можно запрограммировать через [[Движок правил wb-rules | движок правил]]. Чтобы отправить сообщение, из правила нужно вызвать функцию | ||
<syntaxhighlight lang="ecmascript"> | <syntaxhighlight lang="ecmascript"> | ||
Notify.sendEmail( | Notify.sendEmail(to, subject, text); //отправляет почту указанному адресату (to), с указанной темой (subject) и содержимым (text) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
или | или | ||
<syntaxhighlight lang="ecmascript"> | <syntaxhighlight lang="ecmascript"> | ||
Notify.sendSMS( | Notify.sendSMS(to, text); //отправляет SMS на указанный номер (to) с указанным содержимым (text) | ||
</syntaxhighlight> | </syntaxhighlight> |
Версия 12:23, 7 июня 2018
Модуль уведомлений (алармов, Alarm) предназначен для быстрой настройки отправки СМС и email в случае изменения параметров контроллера или подключённых устройств (например, показаний подключённого датчика температуры).
Предварительная настройка для отправки email
На уровне Linux для отправки email используется утилита sSMTP. Чтобы начать отправлять почту, нужно отредактировать её конфигурационный файл /etc/ssmtp/ssmtp.conf.
Электронные письма будут отправляться с одного из ваших почтовых ящиков, от которого потребуются:
- логин (например, robot@contactless.ru),
- пароль,
- адрес и порт SMTP сервера (для ящиков на Gmail это smtp.gmail.com:587, для Mail.Ru - smtp.mail.ru:465).
Очистите содержимое /etc/ssmtp/ssmtp.conf и внесите туда такие строки, заменив данные своими:
mailhub=smtp.gmail.com:587
AuthUser=robot@contactless.ru
AuthPass=qwerty12345
UseTLS=Yes
UseSTARTTLS=Yes
#обязательно оставьте пустую строку в конце файла
#Для отправки писем через Google Mail необходимо разрешить отправку писем от недоверенных приложений для вашего Google-аккаунта
Чтобы проверить, что отправка email заработала, выполните в консоли команду:
echo 'Test message to check sSMTP new configuration' | ssmtp ivanov@gmail.com
# вместо ivanov@gmail.com подставьте адрес другого своего ящика (например того, куда собираетесь получать уведомления с контроллера)
В случае дополнительных вопросов смотрите [1] и [2].
Предварительная настройка для отправки SMS
Убедитесь, что вы вставили SIM-карту и подключили GSM антенну.
Настройка модуля уведомлений
- Зайдите на страницу Configs - Alarm Configuraion веб-интерфейса.
- Добавьте получателей уведомлений в разделе Recipients:
- нажмите кнопку + Recipient;
- выберите тип (E-mail или SMS);
- введите почтовый адрес или номер телефона. Для email можно также указать тему письма.
- Настройте проверяемый параметр и условие в разделе Alarms:
- нажмите кнопку + Item;
- в появившемся разделе в выпадающем списке выберите один из четырёх типов уведомлений:
- Expected Value Alarm - уведомление, если значение перестанет равняться заданному.
- Minimum Value Alarm - уведомление, если значение станет меньше заданного.
- Maximum Value Alarm - уведомление, если значение станет больше заданного.
- Minimum&Maximum Value Alarm - уведомление, если значение выйдет из заданного диапазона.
- в Alarm name введите произвольное название для уведомления;
- в Cell введите параметр, за которым нужно следить. Параметр задаётся в виде Device/Control, где названия Device и Control для каждого параметра можно найти на странице Settings веб-интерфейса в таблице MQTT Channels. Например, для датчика 1-Wire, подключённого к внешнему Modbus сенсору WB-MS, эта строка будет выглядеть как wb-ms-thls-v2_101/External Sensor 2;
- в Alarm activation message введите текст сообщения, которое будет отправлено. В него в произвольном месте можно ввести две фигурные скобки {}, вместо которых в сообщение будет подставлено новое значение параметра, за которым производится слежение.
- в зависимости от типа уведомления, заполните поля Minimum Value, Maximum Value, Expected Value;
- некоторые дополнительные настройки станут доступны, если нажать на кнопку Properties и отметить их.
- Нажмите Save в самом верху страницы:
- если вы забыли указать какой-то обязательный параметр, кнопка Save будет неактивна, а рядом с параметром красным будет написана ошибка, которую нужно исправить;
- если всё в порядке, уведомления начнут работать.
Как настроить уведомления с более сложными условиями
Модуль уведомлений предназначен для быстрой настройки простых уведомлений. Если вам нужны более сложные сценарии уведомлений, их можно запрограммировать через движок правил. Чтобы отправить сообщение, из правила нужно вызвать функцию
Notify.sendEmail(to, subject, text); //отправляет почту указанному адресату (to), с указанной темой (subject) и содержимым (text)
или
Notify.sendSMS(to, text); //отправляет SMS на указанный номер (to) с указанным содержимым (text)