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 上的简化特征。