Notification module

Материал из Wiren Board
Версия от 12:48, 19 июля 2019; RomanKulibaba (обсуждение | вклад) (Новая страница: «Clear the contents of "/etc/ssmtp/ssmtp.conf" and fill in such lines, replacing the data with your own: <syntaxhighlight lang="linux-config"> mailhub=smtp.gmail.c…»)

Другие языки:
notification module configuration

The notification module (Alarm) is designed to quickly configure sending SMS and email in case of changing the parameters of the controller or connected devices (for example, the readings of the connected temperature sensor).

Pre-setting to send email

At the Linux level, the email utility is used to send emails. sSMTP. To start sending mail, you need to edit its configuration file "/etc/ssmtp/ssmtp.conf".

Emails will be sent from one of your mailboxes, which will be required:

  • login (for example, "robot@contactless.ru"),
  • password,
  • SMTP server address and port (for Gmail mailboxes, it is "smtp.gmail.com:587", for Mail.Ru - "smtp.mail.EN:465").

Clear the contents of "/etc/ssmtp/ssmtp.conf" and fill in such lines, replacing the data with your own:

mailhub=smtp.gmail.com:587
AuthUser=robot@contactless.ru
AuthPass=qwerty12345
UseTLS=Yes
UseSTARTTLS=Yes
#be sure to leave an empty line at the end of the file
#To send emails via Google Mail, you must allow sending emails from untrusted apps to your Google account

To verify that sending email is working, run the console command:

echo 'Test message to check sSMTP new configuration' | ssmtp ivanov@gmail.com
# instead ivanov@gmail.com substitute the address of your other box (for example, where you are going to receive notifications from the controller)

In case of additional questions, see [1] and [2].

Предварительная настройка для отправки SMS

Убедитесь, что вы вставили SIM-карту и подключили GSM антенну.

Настройка модуля уведомлений

  1. Зайдите на страницу Configs - Alarm Configuraion веб-интерфейса.
  2. Добавьте получателей уведомлений в разделе Recipients:
    • нажмите кнопку + Recipient;
    • выберите тип (E-mail или SMS);
    • введите почтовый адрес или номер телефона. Для email можно также указать тему письма.
  3. Настройте проверяемый параметр и условие в разделе Alarms:
    • нажмите кнопку + Item;
    • в появившемся разделе в выпадающем списке выберите один из четырёх типов уведомлений:
      1. Expected Value Alarm - уведомление, если значение перестанет равняться заданному.
      2. Minimum Value Alarm - уведомление, если значение станет меньше заданного.
      3. Maximum Value Alarm - уведомление, если значение станет больше заданного.
      4. 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 и отметить их.
  4. Нажмите Save в самом верху страницы:
    • если вы забыли указать какой-то обязательный параметр, кнопка Save будет неактивна, а рядом с параметром красным будет написана ошибка, которую нужно исправить;
    • если всё в порядке, уведомления начнут работать.

Как настроить уведомления с более сложными условиями

Модуль уведомлений предназначен для быстрой настройки простых уведомлений. Если вам нужны более сложные сценарии уведомлений, их можно запрограммировать через движок правил. Чтобы отправить сообщение, из правила нужно вызвать функцию

Notify.sendEmail(to, subject, text); //отправляет почту указанному адресату (to), с указанной темой (subject) и содержимым (text)

или

Notify.sendSMS(to, text); //отправляет SMS на указанный номер (to) с указанным содержимым (text)