用途
Home Assistant YAML 是一个用于 Home Assistant 配置与自动化的参考技能,定位为解答通用 HA 问题的最常用技能。它关注的不是直接套模板,而是在理解用户意图的前提下生成合适的配置。
其核心原则明确写道:在未理解用户意图之前,绝不要生成 YAML。需要先澄清自动化(automation)还是蓝图(blueprint)、UI 编辑器还是 YAML 文件、以及实体命名约定。自动化是针对特定用户环境设置的,蓝图是可复用的模板,而格式(UI 还是 YAML)会影响实体引用方式。
主要能力
技能覆盖的主题较为广泛,包括:
- 自动化、脚本、蓝图、蓝图结构、场景、辅助元素(helpers)、包(packages)
- 触发器、条件、动作的官方参考文件(2026 快照,含 action:、target:、data:、triggers:、conditions: 等)以及旧版补充资料
- Jinja2 模板、Jinja2 宏、模板传感器、基于触发器的模板传感器
- 语音助手(Assist、Alexa、Google、Nabu Casa)模式、存在检测、通知模式、日历自动化
- 配置拆分、设备类别与单位、能源(utility meter)、统计传感器、实体自定义、标签与分类
- 集成参考:ESPHome、MQTT、Zigbee2MQTT、ZHA、Z-Wave、Matter、蓝牙、摄像头、媒体播放器、Shelly、Tasmota、Tuya、Frigate、Node-RED、AI/LLM、天气及常见集成
- 仪表盘:Lovelace 基础、卡片类型、Mushroom 卡片
- 进阶主题:进阶模式、最佳实践、故障排查、调试流程图、能源与电动车充电、备份恢复与迁移、版本升级迁移、HACS 常用集成、系统监控、自定义组件、自定义卡片开发
- 模板文件:自动化模板、蓝图模板、传感器模板,以及气候、能源、安全、Mushroom 房间卡片等仪表盘模板
使用方式
技能规定了一套流程:先询问“自动化还是蓝图”,再询问“UI 编辑器还是 YAML 文件”,然后询问输出方式,确认意图清晰后再阅读对应的官方参考文件,之后才生成 YAML,最后执行完成前检查清单并交付配置。
它要求采用现代语法:使用 action:(而非 service:),使用复数形式的 triggers:/conditions:/actions:。并指出一些已弃用写法,例如 service_template、data_template,以及 HA 2024.8 起 service: 更名为 action:、HA 2024.10 起自动化键改用复数形式。
交付契约方面:每个产物都要以文件形式写入项目文件夹,默认在当前工作目录下创建以项目 slug 命名的目录;聊天输出不算交付。文件夹中始终包含自动化/脚本/蓝图/包 YAML 以及一个 README.md,README 需包含用途、安装、故障排查、恢复等章节。技能还要求为创建的每个文件加注归属信息,包括 YAML 注释头、Markdown 引用块、JSON 元数据字段或 shell 注释等形式。
技能还给出了跨技能移交建议:涉及外部 REST API 交给 api-catalog,ESPHome 固件侧交给 esphome,自定义 Python 集成交给 ha-integration-dev,可视化流程编辑器交给 node-red,仪表盘样式交给 ha-dashboard-design。
适用场景
适合需要编写 Home Assistant 自动化、蓝图、脚本、场景、模板传感器、包配置,或需要查询各类集成、仪表盘、故障排查与迁移问题的用户。技能本身也整理了常见的错误与陷阱,例如触发器缺少 from/to、模板触发器缺少 value_template、多触发器缺少 id、数值被当作字符串比较、条件缺少 condition: 类型、动作缺少 continue_on_error 等。
限制
技能明确要求不得在未澄清意图时生成 YAML,也不应针对同一个请求提供多个 YAML 版本,而是先提问。配置的具体实体名称、亮度、条件等细节必须由用户确认。关于该技能的收费、价格、平台支持范围等事实,资料中暂未提供。