Недавнее обновление приложения Aqara Home принесло малозаметную функцию: теперь в настройках автоматизаций можно настраивать содержание уведомлений. По замыслу разработчиков, это поможет легко отделять уведомления одних автоматизаций от других и сделает язык уведомлений более человеческим:
Но у новой функции есть более масштабное применение. С ее помощью мы настроим работу умного дома с интернет-сервисами — мессенджерами, базами данных, календарями. Нам поможет приложение IFTTT, которое будет считывать уведомления на смартфоне, искать там ключевые слова и выполнять соответствующие инструкции.
If This Then That
Настройка приложения IFTTT напоминают настройку умного дома: пользователь выбирает какие сервисы он хочет связать, назначает условия исполнения инструкции и составляет саму инструкцию — дальше все работает само. Программировать при этом не придется.
Обычно IFTTT общается с внешними сервисами по специальному интерфейсу, API. Таких сервисов уже около шестисот, включая гигантов вроде Facebook, Google, Apple — наверняка среди них найдутся сервисы, которыми вы уже пользуетесь.
Умный дом Aqara пока не открыл свой API для IFTTT. Но с помощью нового механизма уведомлений мы обойдем эту проблему. Хотя бы для пользователей Android —IFTTT работает с уведомлениями только на этой системе.
Групповые уведомления
Датчик открытия дверей + Телеграм
Бывает, что уведомления о событиях в доме хорошо бы получать не только хозяину умного дома, но и его семье. И лучше не в каком-то незнакомом семье приложении, а в привычном мессенджере. Групповые уведомления — одно из возможных применений IFTTT.
Предположим, мы хотим получить сообщение в семейную группу, когда ребенок возвращается из школы. Для этого мы настроим датчик открытия дверей так, чтобы он отправлял нам уведомление «Ребенок дома» каждый раз, когда дверь в квартиру открывается между 12:00 и 17:00.
Важно указать специальный текст уведомления — дальше он понадобится для связки с Телеграммом.
Установим приложение IFTTT из Google play и создадим новый аккаунт. После этого можно приступать к настройкам. Создадим новый «апплет» — так в IFTTT называются инструкции:
По клику на «This» сервис предложит подключить новый сервис — найдем в общем списке «Android Device». Если приложение IFTTT уже установлено на смартфон, будут предложены доступные триггеры — условия выполнения инструкции. Нам нужен триггер «Notification received from specific app»:
Указываем, какое приложение нас интересует и какое ключевое слово нужно искать в уведомлениях этого приложения. Переходим к настройке инструкции — кликаем на «that»:
Найдем Telegram в списке сервисов. IFTTT поможет подключить аккаунт в Телеграме и проведет по всем необходимым шагам — результатом станет сообщение от бота в Телеграме об успешном подключении:
Здесь придется вернуться на шаг назад к выбору сервиса в IFTTT. Но теперь здесь будет доступен Телеграм — и несколько вариантов инструкции для мессенджера:
Прежде чем двигаться дальше, добавим бота IFTTT в нужную группу Телеграма. У IFTTT есть известный баг — бота нужно добавлять через мобильное приложение, а не в десктопной версии Телеграма. Десктопный клиент будто бы сделает то же самое, но бот работать не будет.
Когда бот добавлен, вернемся к настройкам IFTTT и выбираем действие «Send message». Сервис попросит детализировать инструкцию:
Выберем семейную группу в «Target chat». В «Message text» формируется текст сообщения. Можно указать свой текст, а можно использовать переменные — их значения IFTTT извлекает из исходного уведомления. Если оставить одну переменную «NotificationMessage» в Телеграм поступит в точности то же сообщение, что мы прописали в настройках автоматизации Aqara Home. Остается подтвердить создание новой инструкции:
Вновь понадобится открыть приложение IFTTT на смартфоне. Вы увидите предупреждение: приложение запрашивает права на чтение уведомлений. Когда вы дадите приложению это разрешение, можно тестировать новую функцию — все должно работать:
По аналогии вместо Телеграма можно использовать другие сервисы, например email или SMS.
Журнал событий
Датчик вибрации + Гугл Календарь
С удовольствием читали, как сообщество ищет применение датчику вибрации Aqara. Действительно, у датчика нет единственного, заданного разработчиками назначения — он нужен как элемент умного конструктора. Решения могут быть самыми разными и неожиданными. Добавим свои пять копеек.
Если вы тренируетесь дома, датчик вибрации автоматизирует учет тренировок. Прикрепите его к педали велотренажера — движение педали датчик распознает как падение. Так умный дом узнает о начале тренировки и сможет сделать запись в Google calendar. Без рутинного ведения журнала можно будет всегда проверить, насколько последовательно выполняется план тренировок.
Настроим автоматизацию в Aqara Home:
Настройки IFTTT нам уже знакомы. Не будем останавливаться на добавлении Google Calendar в свои сервисы, перейдем сразу к настройке инструкции:
У этого решение есть одна проблема — новое событие будет создаваться при каждом обороте педалей. Это, конечно, не годится, и нам понадобится более тонкая настройка. Здесь уже многое зависит отчастных предпочтений. Например, если пользователь тренируется не чаще чем раз в день, наша автоматизация может сама выключаться после первого срабатывания, а на следующий день активироваться ее заново:
Для ведения журнала событий в умном доме помимо календаря можно использовать Google Spreadsheet — если представлением информации в таблице будет уместнее для конкретной задачи.
О других применениях датчика вибрации писали в обзоре.
Плюсы, минусы… А подводные камни?
Новые механизм с редактируемыми уведомлениями поможет воспользоваться преимуществами IFTTT, но это еще далеко не полноценная поддержка открытого API. Скорее это временный компромисс.
Видны два недостатка такого решения:
-
- Мы открываем полный доступ к чтению уведомлений стороннему приложению. IFTTT — старый, заслуживающий доверия сервис, он не замечен в скандалах с утечкой данных. В то же время опасения о безопасности данных нельзя отметать без обсуждения. Если эта проблема беспокоит, разумно будет установить IFTTT на старый смартфон, которым уже не пользуются, и который не получает уведомлений с чувствительной информацией.
- Пока IFTTT работает как посредник между умным домом и нужным сервисом, мы получаем менее стабильную систему, чем если бы могли связывать сервисы напрямую. Особенно узким местом выступает здесь смартфон. Для стабильной работы IFTTT может быть полезно исключить приложение из списка «экономии заряда батареи» в настройках Android. Тогда ОС не будет выгружать приложение из памяти и мешать мониторингу уведомлений.
Такие возможности появились у нас вместе с новыми уведомлениями. Это, впрочем, не единственное изменение в приложении Aqara за последнее время. О других новинках уже писали в нашем журнале.
Связывать события через смартфон ? вы шутите ? а если события не приходят на смартфон ?
Сделайте уже нормальную интеграцию с IFTTT через облако!
Поддерживаю! Или хотя бы дайте API, который можно использовать для взаимодействия с экосистемой, для реализации собственных функций.