Automation API для Android поддерживает большинство признаков, но поддержка некоторых атрибутов, событий и команд в признаке может быть ограничена.
В общем случае нужно выполнить следующие действия.
- Все характеристики и типы, которые вы планируете использовать в приложении с Automation API, должны быть зарегистрированы при инициализации. Подробнее о том, как создать экземпляр Home…
- Любой атрибут можно использовать в качестве условия.
- Устройства Cloud-to-cloud, которые не сообщают о своем состоянии, нельзя использовать в качестве триггеров в автоматизациях, созданных вручную или с помощью функции обнаружения.
Даже если устройство поддерживает перечисленные здесь функции, его использование в качестве условия или действия в Automation API может быть заблокировано из-за пороговых значений качества Report State:
- Устройства, у которых доля успешных запросов Report State ниже 90%, нельзя использовать в качестве условий.
- Устройства, на которых доля успешных выполнений команд ниже 95%, нельзя использовать в действиях.
Ознакомьтесь со списком моделей устройств и поддерживаемых ими условий и действий для Automations API.
Команды можно использовать только в качестве действий.
Некоторые свойства, например
AssistantBroadcastиNotification, доступны только в Automation API.Команда
okGoogleотносится к уровню структуры и может использоваться для автоматизации любого устройства в структуре. Однако у приложения Home API может не быть доступа ко всем устройствам. О том, как применяются разрешения в различных случаях, читайте в статье Разрешения для команды "Окей, Google".Для некоторых черт есть предварительные условия:
- Чтобы использовать условия запуска, связанные со временем, например
Time.ScheduledTimeEvent,Time.RecurringClockTimeScheduledEventилиTime.RecurringSolarTimeScheduledEvent, в доме, где выполняется автоматизация, должен быть указан почтовый адрес. Он нужен, чтобы определить местный часовой пояс и рассчитать время восхода и заката. Адрес можно указать при создании структуры или задать в Google Home app (GHA). В статье Как изменить домашний адрес в Google объясняется, как пользователь может ввести или обновить адрес дома в GHA. Если адрес не настроен,createAutomation()сохраняет и возвращаетAutomation, гдеisValid == false, с проблемой проверкиUnsupportedEntityEvent, содержащейMissingStructureAddressSetup. - Чтобы получать уведомления от
Notification.sendNotifications, у членов семьи должно быть установлено приложение GHA с включенными уведомлениями. Уведомления доставляются участникам через GHA и не могут отправляться напрямую в сторонние приложения. - Чтобы использовать функции
AreaPresenceStateилиAreaAttendanceState, пользователю необходимо настроить определение присутствия в GHA. - Чтобы использовать свойство
ObjectDetection, у пользователя должна быть активная подписка Google Home Premium.
- Чтобы использовать условия запуска, связанные со временем, например
В автоматизациях также можно использовать упрощенные версии некоторых признаков. Подробнее об упрощенных типажах на Android…