在 Android 上支持 Automation API trait

Android 的自动化 API 支持大多数特征,但对特征中的某些属性、事件和命令的支持可能有限。

一般来说:

  • 您打算在应用中通过 Automation API 使用的任何特征和类型都必须在初始化时注册。请参阅创建 Home 实例。
  • 任何属性都可用作启动方式或条件。
  • 不报告状态的 Cloud-to-cloud 设备无法用作自动化操作中的触发器,无论是手动创建还是通过发现创建的自动化操作。
  • 即使设备支持此处列出的特征,也可能因报告状态质量阈值而无法在 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 验证问题。
    • 家庭成员必须安装 GHA 并启用通知,才能接收来自 Notification.sendNotifications 的通知。通知通过 GHA 传递给会员,无法直接发送给第三方应用。
    • 如需使用 AreaPresenceState 或 AreaAttendanceState 特征,用户必须在 GHA 中设置在家/外出感知功能。
    • 如需使用 ObjectDetection 特征,用户必须拥有有效的 Google Home Premium 订阅。

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