自动化故障排除
自动化可以通过几种不同的方式进行调试。您可以测试运行完整的动作序列,或者单独测试每个条件和动作。跟踪让您可以在自动化运行后查看每个步骤的详细信息。对于包含模板的复杂自动化,请参阅测试模板部分。
测试您的自动化
许多自动化可以直接在自动化编辑器界面中进行测试。
运行整个自动化
在自动化列表或自动化编辑器界面的三点菜单中,选择执行动作按钮。这将执行所有动作,同时跳过所有触发器和条件。这让您可以测试完整的动作序列,就像自动化被触发且所有条件都为真一样。请注意,在以这种方式测试时,触发器中使用的任何触发器 ID 都不会生效。触发器 ID 或触发器数据中传递给条件或动作的任何数据,也无法通过这种方式直接测试。
您也可以手动触发自动化。这可以测试条件,就像自动化是由事件触发的一样。前往设置 > 开发者工具 > 动作。在动作下拉菜单中,选择自动化:触发,然后选择实体以选择您要测试的自动化。切换是否跳过条件,然后执行动作。如果需要,可以在 YAML 视图中添加额外的trigger或其他数据进行测试。触发器页面有更多关于触发器内数据的信息。
使用复杂的触发器、条件和变量进行测试可能会很困难。请注意,使用执行动作按钮将跳过所有触发器和条件,而开发者工具可以在检查或不检查条件的情况下使用。
运行单个动作或条件
在自动化编辑器界面中,每个条件和动作都可以单独测试。选择三点
-
测试条件将高亮显示它,以表明条件在测试时是否通过。如果所有条件都通过,则自动化在触发时将运行。测试像和条件这样的构建块将报告整个块是否为真或假,或者您可以测试构建块内的单个条件。
-
测试动作块将立即运行该块。
请注意,依赖于先前块的复杂自动化,例如触发器 ID、模板中的变量,或返回数据供后续块使用的动作调用,无法通过这种方式进行测试。
如果您正在用 YAML 编写自动化,前往开发者工具 > YAML并在配置验证部分选择检查配置按钮也是很有用的。这是为了确保在重启 Home Assistant 之前没有语法错误。为了显示检查配置,您必须在您的用户资料中启用高级模式。
跟踪
当自动化运行时,所有步骤都会被记录并生成跟踪。要打开自动化编辑器,请前往设置 > 自动化与场景。
从自动化编辑器界面,或在自动化列表的三点菜单中,选择跟踪。或者,选择活动下显示的自动化条目。

上面的截图显示了自动化的上一次运行。自动化使用交互式图形显示,高亮显示自动化采取的路径。图形中的每个节点都可以选择,以查看该特定步骤中自动化发生的详细信息。它跟踪自动化的完整运行。
跟踪屏幕的右侧有包含更多信息的标签页:
- 步骤详情显示当前高亮显示步骤的数据和结果。
- 自动化配置显示自动化运行时的完整 YAML 配置。
- 跟踪时间线,如上面的截图所示,列出已执行的步骤及其时间。
- 相关活动显示与特定跟踪相关的所有条目的活动。
- 蓝图配置仅在自动化是从蓝图创建时才会显示。
顶部栏显示自动化被触发的日期和时间。使用左右箭头查看自动化的上一次运行。
在 YAML 中创建的自动化必须分配一个id才能存储调试跟踪。
跟踪配置
默认为所有自动化记录最后 5 条跟踪。可以通过在自动化中添加以下代码来更改此设置。
测试模板
如果您的自动化在任何部分使用了模板,您可以执行以下操作以确保其按预期工作:
- 前往设置 > 开发者工具 > 模板标签页。
- 按照此段落末尾的描述,创建模板所需的所有变量(源)。
- 复制您的模板代码并将其粘贴到变量后面的模板编辑器中。
- 如有必要,更改您的源值并检查模板是否按您的要求工作,以及是否不会产生任何错误。

