Обзор API автоматизации на Android

Автоматизация — это способ автоматизации задач и настроек устройств в доме. Автоматизация доступна в экосистеме Google Home как процедуры в Google Home app (GHA) и через automation script editor в Google Home for web .

Теперь, Автоматизация в экосистеме Google Home доступна через API Home для Android. Они используют те же основные концепции, которые используются в GHA Routines и script editor , но с расширенными функциями и возможностями, доступными только через API Home, включая:

  • Доступ ко всем стандартным функциям Matter и функциям smart home для устройства, представленным в API Home.
  • Поддержка последовательных, параллельных и выборочных потоков выполнения.

Автоматизация пишется с использованием Automation DSL — предметно-ориентированного языка, разработанного для создания автоматизаций на языке Kotlin.

Любые черты и типы, которые вы собираетесь использовать в своем приложении с API Device & Structure или Automation, должны быть зарегистрированы при инициализации. См. Инициализация дома на Android .

Путь разработчика

API автоматизации — это часть более масштабного пути разработки. Он следует за интеграцией API структуры и устройства, чтобы гарантировать, что когда пользователь захочет использовать автоматизацию, он сможет это сделать.

  1. Разработчик планирует свою автоматизацию и определяет ее с помощью Automation DSL.
  2. Разработчик встраивает определение автоматизации в приложение Kotlin для Android.
  3. Приложение предоставляет пользователю автоматизацию на основе информации об его устройствах, включая характеристики, атрибуты, команды и события, собранные с помощью Discovery API или Device API.
    1. С помощью API Discovery приложение может генерировать проект автоматизации, настроенный на типы устройств и характеристики, присутствующие в структуре пользователя, с учетом или без учета ввода данных пользователем.
    2. Device API может предоставить большую часть той же информации, что и Discovery API, но он не оптимизирован для случаев использования автоматизации. Подробнее см. в разделе Сравнение Device API и Discovery API .
  4. Приложение создает фактическую автоматизацию, привязанную к выбранной структуре.
  5. Автоматизация теперь доступна в структуре пользователя и может быть выполнена или удалена с помощью методов API структуры.

Пользователь может создавать новые экземпляры автоматизации в любое время, выбирая другую структуру или, в зависимости от логики приложения, возможно, другой набор устройств. Каждый раз, когда они это делают, приложение генерирует новый экземпляр автоматизации.

В самом простом сценарии вы можете предложить своим пользователям предопределенную автоматизацию, которая выполняет относительно простую задачу. В качестве альтернативы вы можете представить скелет автоматизации, который пользователь настраивает в соответствии со своими потребностями. Или вы можете написать открытый редактор автоматизации, который позволяет пользователю создавать сложные автоматизации, используя все строительные блоки, доступные в API автоматизации.

Ограничения ресурсов

К автоматизациям в API Home применяются следующие ограничения:

Таблица: Ограничения ресурсов API автоматизации
Метрический Предел
Максимальное количество автоматики на конструкцию 64
Максимальное количество узлов на автоматизацию 128
Максимальное количество узлов выражения на автоматизацию 64
Максимальное количество экземпляров автоматизации на структуру 1024
Максимальное количество экземпляров автоматизации на разработчика на структуру 64
Максимальное количество выполнений на структуру в день 1024
Максимальное количество выполнений на разработчика на структуру в день 128