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