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