Android 上的 Automation API 概览

自动化功能可用于自动执行住宅中的任务和设备设置。 自动化操作已在 Google Home 生态系统中以日常安排的形式提供,可通过 Google Home app (GHA)Google Home for web 上的 automation script editor 使用。

现在,Google Home 生态系统中的自动化操作可通过适用于 Android 的 Home API 实现。它们使用与 GHA 日常安排和 script editor 中使用的基本概念相同的概念,但具有只能通过 Home API 实现的增强功能,包括:

  • 访问设备的所有 Matter 标准和 smart home 特征,如 Home API 中所示。
  • 支持顺序、并行和选择执行流程。

自动化操作使用 Automation DSL 编写,这是一种专门用于在 Kotlin 中构建自动化操作的领域特定语言。

您打算在应用中通过设备和结构或自动化 API 使用的任何特征和类型都必须在初始化时注册。请参阅在 Android 上初始化主页

开发者历程

Automation API 只是整个开发过程中的一部分。它是在集成结构和设备 API 之后实现的,以确保用户在想要使用自动化操作时能够顺利使用。

  1. 开发者规划自动化流程,并使用 Automation DSL 定义该流程。
  2. 开发者将自动化定义嵌入到 Kotlin Android 应用中。
  3. 该应用会根据收集到的用户设备信息(包括特征、属性、命令和事件)向用户展示自动化操作,这些信息是通过 Discovery API 或 Device API 收集的。
    1. 借助 Discovery API,应用可以生成根据用户结构中存在的设备类型和特征量身定制的自动化草稿,无论用户是否提供输入,都可以生成。
    2. Device API 可以提供与 Discovery API 大致相同的信息,但它并未针对自动化使用情形进行优化。如需了解详情,请参阅比较设备 API 和 Discovery API
  4. 应用会创建与所选结构对应的实际自动化操作。
  5. 自动化操作现在已在用户的结构中,可以使用 Structure API 方法执行或删除。

用户可以随时创建新的自动化实例,选择不同的结构,或者根据应用逻辑,选择不同的设备组。每次执行此操作时,应用都会生成一个新的自动化实例。

在最基本的情况下,您可以向用户建议执行相对基本任务的预定义自动化操作。或者,您也可以提供一个自动化操作框架,让用户根据自己的需求进行自定义。或者,您也可以编写一个开放式自动化编辑器,让用户能够使用 Automation API 中提供的所有构建块来构建复杂的自动化。

资源限制

以下限制适用于 Home API 中的自动化操作:

表:自动化 API 资源限制
指标 限制
每个结构的自动化操作数量上限 64
每个自动化流程的节点数上限 128
每个自动化任务的表达式节点数上限 64
每个结构的自动化实例数上限 1024
每个开发者每个结构的自动化实例数上限 64
每个结构每天的执行次数上限 1024
每位开发者每天每个结构的执行次数上限 128