Задача — отправить показания счетчиков электричества, газа и воды поставщикам этих ресурсов или в управляющую компанию.
Отправлять показания будем по электронной почте один раз в месяц.
1. Настройка электронной почты
В первую очередь необходимо установить плагин E-Mail
После установки настроим доступ к почтовому серверу. Через него мы будем отправлять сообщения.
В списке Mail Service можно выбрать разные варианты почтовых сервисов. Я воспользуюсь своим почтовым сервисом на TimeWeb, поэтому в списке сервисов оставляю прочерк.
Заполняем соответствующие поля:
- SMTP host — адрес почтового сервиса для отправки почты
- SMTP port — порт почтового сервиса
Обычно на почтовых серверах: 465 — порт SSL, 25 — порт без шифрования - Sender — адрес электронной почты, с которого будут отправляться сообщения
- Password — пароль от почтового ящика
2. Настройка получателей сообщений
Допустим у нас получатель сообщений только один — управляющая компания.
В системе intraHouse в настоящий момент нет возможности добавить электронный адрес без аккаунта в систему. Поэтому придется добавить аккаунт:
Здесь можно ввести любой сложный и длинный пароль. Вход в систему через этот аккаунт не планируется, поэтому его можно не запоминать. В дальнейшем разработчики планируют дать возможность ввода электронных адресов для информирования без добавления аккаунтов.
Настраиваем получателей сообщений:
- User — выбираем из списка аккаунт, созданный на предыдущем шаге.
- Information Channel — канал информирования. Выбираем email.
Если список каналов информирования пустой, значит не установлен плагин E-Mail. - Group — имя группы, к которой относится этот адресат.
Система позволяет отправлять отправлять сообщения не конкретному адресату, а целой группе. Для этого в сценарии нужно будет указать имя группы.
В данном примере мы будем отправлять сообщения конкретному адресату, поэтому имя группы нужно оставить пустым. - Address — почтовый адрес получателя сообщений. В данном примере — почтовый адрес управляющей компании.
- Signature — Подпись. Текстовая строка, которая будет подставляться в конце сообщения.
Для проверки, можно отправить тестовое сообщение:
Нажимаем кнопку дополнительного меню и выбираем «Отправить тестовое сообщение».
Для теста лучше временно поставить свой адрес электронной почты 😉
На него придет сообщение: Hello from IH!
3. Настройка сценария для отправки показаний счетчиков
Создадим новый сценарий:
Нажимаем кнопку «+» и выбираем «Новый сценарий»
Открываем окно с кодом сценария:
Копируем сюда код сценария, показанный ниже:
/** * @name Send Email UCompany * @desc * @version 4 */ const meter1 = Device("METER1"); const meter2 = Device("METER2"); script({ start() { this.info("email","UCompany",`Water meter: ${meter1.value} \n Electricity meter: ${meter2.value} \n`); } })
Будем отправлять показания счетчика воды и счетчика электроэнергии.
У меня счетчики уже присутствуют в системе с идентификаторами METER1 и METER2 соответственно.
Сообщение отправляется командой:
this.info(«email»,»UCompany»,`Water meter: ${meter1.value} \n Electricity meter: ${meter2.value} \n`);
- UCompany — идентификатор управляющей компании
- Water meter — Это просто текст в сообщении. У вас может быть написано, например, Показания счетчика воды:
- ${meter1.value} — значение счетчика воды
- \n — перенос строки
Вы можете отредактировать сценарий по своему. Например, добавить другие счетчики.
Я бы рекомендовал добавить еще одну строку this.info с этими счетчиками, но на свой адрес. Дополнительный контроль отправки показаний счетчиков не помешает 😉
Для проверки работы сценария можно выполнить Пробный запуск:
В результате вы должны получить письмо с показаниями счетчиков:
Water meter: 614
Electricity meter: 1505
105, Kalinina st., Cheboksary
4. Настройка расписания отправки сообщений
Например, необходимо отправлять показания счетчиков в управляющую компанию 20 числа каждого месяца.
Переходим в раздел «Расписание»:
Заполняем следующие поля:
- Что — что сделать. В нашем примере — «Запустить сценарий»
- Сценарий — Выбираем созданный выше сценарий.
- Когда — Выбираем «В установленное время»
- Время — Устанавливаем время отправки сообщения
- Дни недели — Оставляем поле пустым
- Дата — Будем отправлять 20 числа каждого месяца. Поэтому вписываем: 20.*.*