Автоматизация — это способ автоматизации задач и настройки устройств в доме. Автоматизация доступна в экосистеме 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 структур и устройств, чтобы гарантировать, что пользователь сможет использовать автоматизацию, когда захочет.
- Разработчик планирует свою автоматизацию и определяет ее с помощью Automation DSL.
- Разработчик встраивает определение автоматизации в приложение Kotlin для Android.
- Приложение предоставляет пользователю автоматизацию на основе информации об его устройствах, включая характеристики, атрибуты, команды и события, собранные с помощью Discovery API или Device API.
- С помощью API Discovery приложение может генерировать проект автоматизации, настроенный на типы устройств и характеристики, присутствующие в структуре пользователя, с учетом или без учета ввода данных пользователем.
- Интерфейс Device API может предоставлять большую часть той же информации, что и Discovery API, но он не оптимизирован для автоматизации. Подробнее см. в статье Сравнение Device API и Discovery API .
- Приложение создает реальную автоматизацию, привязанную к выбранной структуре.
- Автоматизация теперь доступна в структуре пользователя и может быть выполнена или удалена с помощью методов API структуры.
Пользователь может создавать новые экземпляры автоматизации в любое время, выбирая другую структуру или, в зависимости от логики приложения, возможно, другой набор устройств. Каждый раз приложение генерирует новый экземпляр автоматизации.
В самом простом сценарии вы можете предложить пользователям готовую автоматизацию, выполняющую относительно простую задачу. В качестве альтернативы вы можете предоставить шаблон автоматизации, который пользователь настраивает в соответствии со своими потребностями. Или же вы можете написать редактор автоматизации с открытыми возможностями, позволяющий пользователю создавать сложные автоматизации, используя все доступные в API автоматизации компоненты.
Ограничения ресурсов
К автоматизациям в Home API применяются следующие ограничения:
Метрическая | Предел |
---|---|
Максимальное количество автоматизаций на конструкцию | 64 |
Максимальное количество узлов на автоматизацию | 128 |
Максимальное количество узлов выражений на одну автоматизацию | 64 |
Максимальное количество экземпляров автоматизации на структуру | 1024 |
Максимальное количество экземпляров автоматизации на разработчика на структуру | 64 |
Максимальное количество выполнений на структуру в день | 1024 |
Максимальное количество выполнений на разработчика на структуру в день | 128 |