自定义策略
于 Home Assistant 2021.5 引入。
Strategies 是用于生成 dashboard 配置的 JavaScript 函数。当用户尚未创建 dashboard 配置时,会显示一个自动生成的 dashboard。该配置由内置 strategy 生成。
开发者也可以创建自己的 strategies 来生成 dashboards。Strategies 可以使用 Home Assistant 的所有数据以及用户的 dashboard 配置来生成新的内容。
Strategy 可以应用于整个配置,也可以应用于特定视图。
Strategies 在 JavaScript 文件中定义为 custom element,并通过dashboard resources引入。Home Assistant 不会将其渲染为 custom element,而是会调用类上的静态函数。
Dashboard 策略
Dashboard strategy 负责生成完整的 dashboard 配置。它既可以从零开始生成,也可以基于传入的现有 dashboard 配置生成。
会向 strategy 传入两个参数:
使用以下 dashboard 配置来使用这个 strategy:
View 策略
View strategy 负责生成特定 dashboard 视图的配置。该 strategy 会在用户打开该特定视图时被调用。
会向 strategy 传入两个参数:
使用以下 dashboard 配置来使用这个 strategy:
完整示例
建议 dashboard strategy 将尽可能多的工作交给 view strategies。这样 dashboard 就能尽快显示给用户。这可以通过让 dashboard 生成一个依赖其自身 strategy 的 views 配置来实现。
下面的示例会为每个 area 创建一个视图,并在每个视图中以网格形式显示该 area 内的所有 entities。
使用以下 dashboard 配置来使用这个 strategy:

