在 Android 上支持 Automation API trait

Automation API for Android 支持大多数 trait,但对 trait 中的某些属性、事件和命令的支持可能有限。

一般来说:

  • 您打算在应用中通过 Automation API 使用的所有特征和类型都必须在初始化时注册。请参阅创建 Home 实例。
  • 任何属性都可用于启动方式或条件。
  • Cloud-to-cloud 无法报告其状态的设备不能用作自动化操作中的触发器,无论是手动创建还是通过发现创建。
  • 即使设备支持此处列出的 trait,也可能会因报告状态质量阈值而无法在 Automation API 中用作启动器或操作:

    • 报告状态成功率低于 90% 的设备无法用作启动器。
    • 命令执行成功率低于 95% 的设备无法用作操作。

    请参阅此设备型号列表,以及它们针对 Automations 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),并显示包含 MissingStructureAddressSetup 的 UnsupportedEntityEvent 验证问题。
    • 为了让家庭成员能够接收来自 Notification.sendNotifications 的通知,他们必须安装 GHA 并启用通知。通知会通过 GHA 递送给成员,无法直接发送到第三方应用。
    • 如需使用 AreaPresenceState 或 AreaAttendanceState 特征,用户必须在 GHA 中设置在家/外出感知功能。
    • 如需使用 ObjectDetection 特征,用户必须拥有有效的 Google Home Premium 订阅。

某些特征的简化版本也可用于自动化操作。 如需了解详情,请参阅 Android 上的简化特征。