Automation API trait support on Android

The Automation API for Android supports most traits, but support for some attributes, events, and commands in a trait may be limited.

In general:

  • Any traits and types that you intend to use in your app with the Automation API must be registered at initialization. See Create a Home instance.
  • Any attribute may be used in starters or conditions.
  • Cloud-to-cloud devices that don't report their state cannot be used as triggers in automations, created either manually or through discovery.
  • Even if a device supports the traits listed here, a device may be blocked from use as a starter or action in the Automation API due to Report State quality thresholds:

    • Devices with a Report State success rate lower than 90% are blocked from use as starters.
    • Devices with a command execution success rate lower than 95% are blocked from use as actions.

    Refer to this list of device models and the specific starters and actions that they support for the Automations API.

  • Commands can only be used as actions.

  • Some traits, such as AssistantBroadcast and Notification, are only available for use in the Automation API.

  • The okGoogle command is a structure-level command and can be used to automate any device in the structure. However, a Home APIs app may not have access to every device. See OkGoogle permissions to see how permissions are enforced in various cases.

  • Some traits have prerequisites:

    • In order to use Time.ScheduledTimeEvent, the structure in which the automation runs must have a street address. The address can be provided during structure creation or set in the Google Home app (GHA). Change Google home address explains how a user can enter or update the structure address in the GHA. If the address is not set up, the automation fails to create, and an error is thrown with message "The ScheduledTimeEvent is not supported by the structure."
    • In order for household members to receive notifications from Notification.sendNotifications, they must have the GHA installed with notifications enabled. Notifications are delivered to members through the GHA and cannot be sent directly to third-party apps.
    • In order to use the AreaPresenceState or AreaAttendanceState traits, the user must set up presence sensing in the GHA.
    • In order to use the ObjectDetection trait, the user must have an active Google Home Premium subscription.

Simplified versions of some traits are also available for use in automations. For more information, see Simplified traits on Android.