API автоматизации для Android поддерживает большинство характеристик, но некоторые атрибуты, события и команды в характеристике могут быть ограничены.
В общем случае нужно выполнить следующие действия.
- Все функции и типы, которые вы планируете использовать в приложении с помощью API автоматизации, должны быть зарегистрированы при инициализации. Подробнее о том, как создать экземпляр Home…
- В качестве условий и триггеров можно использовать любые атрибуты.
- Cloud-to-cloud устройства, которые не сообщают о своем состоянии, нельзя использовать в качестве триггеров в автоматизациях, созданных вручную или с помощью обнаружения.
Даже если устройство поддерживает перечисленные здесь трейты, оно может быть заблокировано для использования в качестве события или действия в Automation API из-за пороговых значений качества Report State:
- Устройства с долей успешных запросов отчетов о состоянии ниже 90% блокируются и не могут использоваться в качестве стартеров.
- Устройства, на которых доля успешных запросов на выполнение команд ниже 95%, нельзя использовать в качестве действий.
Ознакомьтесь со списком моделей устройств, а также поддерживаемых ими триггеров и действий для API автоматизаций.
Команды можно использовать только в качестве действий.
Некоторые черты, например
AssistantBroadcastиNotification, доступны только в Automation API.Команда
okGoogle– это команда уровня структуры, которую можно использовать для автоматизации любого устройства в структуре. Однако у приложения с Home API может не быть доступа ко всем устройствам. Подробнее о том, как разрешения применяются в разных случаях, рассказывается в разделе Разрешения OkGoogle.Для некоторых характеристик есть требования:
- Чтобы использовать триггеры на основе времени, например
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…