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

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

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

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

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

Любые характеристики и типы, которые вы собираетесь использовать в своем приложении с API-интерфейсами устройств и структур или автоматизации, должны быть зарегистрированы при инициализации. См. Инициализация дома .

Путешествие разработчика

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

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

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

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

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

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

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