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

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

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

  • Доступ ко всем стандартным функциям 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 автоматизации компоненты.

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

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

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