Поддержка черт Automation API на Android

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…