Home Assistant 管理技能
把 Claude 变成 Home Assistant 专家:安全地编辑、部署、验证 YAML 配置,并构建 Lovelace 面板,无需反复重启。
技能明确禁止读写 .env 和 secrets.yaml、要求重启前先 ha core check、风险变更前创建 ha backups 快照(有回滚路径),这些都是加分项。但核心工作流假设以 root SSH 直连生产实例并执行 git pull/restart,外部影响大且未要求逐次用户确认;建议把主机凭据写入 CLAUDE.md 的做法有轻微凭据沉淀风险。扣分点:root 权限过宽、restart 类破坏性操作缺少强制确认门。
文档内部自洽,错误处理叙述详尽(hass-cli 环境变量缺失的检测、trace 调试、pitfalls 表、失败循环),可诊断性好。但纯静态评审无法验证关键路径可复现,仓库无测试套件或 CI 证据,扣至 9 分(未超静态上限 10)。
场景清晰(HA 配置/自动化/仪表盘管理),前置条件、适用工具选择(SSH/hass-cli/MCP)、非适用边界说明较完整,触发描述(description)语义精确。扣分点:未声明对非 SSH-OS(如容器/ supervised 特殊部署)的边界,无中文支持说明;核心功能依赖本地 HA 实例,大陆网络可达性基本无碍,但安装与 context7 依赖 GitHub/外网服务。
结构分层良好(SKILL.md + 按需加载的 reference 文档,符合渐进披露),MIT 许可明确,安装方式多样且有贡献指南。扣分点:无版本号、无 changelog、无明确维护/更新承诺(未验证发布者身份),部分假设(root 主机、git 连接)隐含未充分披露。
工作流(validate→deploy→reload vs restart→verify)具体可操作,相比人工操作有明确的边际价值(reload/restart 判断、trace 调试、存储缓存陷阱)。扣分点:README 的演示为视频链接,静态评审无法核验输出可直接使用,代表性输出未经执行验证,未超静态上限 7。
仅有一手文档与截图/视频演示,无测试、无 CI、无可独立复现的执行证据;演示视频无法审计。事实与推断基本分离(命令与 pitfall 表可对照 HA 官方文档),但覆盖薄,扣至 3 分。
- 技能默认以 root SSH 操作生产 Home Assistant 实例并可能重启服务,使用前请确认具备快照/回滚能力,并对 restart 类操作保留人工确认。
- 按建议将 SSH 主机信息写入项目 CLAUDE.md 会形成凭据/拓扑沉淀,注意仓库访问控制。
- 静态评审未执行任何命令;README 中的视频演示未经独立核验,实际效果需在测试环境先行验证。
- 安装依赖 GitHub 及可选的 context7/外网 MCP 服务,大陆网络环境下获取与更新可能受限。
- 技能面向 Home Assistant OS(ha CLI/SSH 插件),容器化或无 SSH 的部署方式不在其明确支持范围内。
这个 Skill 能做什么,适合哪些场景?
这是一个 Claude Code 技能,通过 SSH、hass-cli 或 MCP 精确管理远程 Home Assistant 实例。它内置了一条标准的部署流水线:本地编辑 YAML、用 ha core check 验证、通过 git 或 scp 部署、按变更类型决定 reload 还是 restart,最后从日志、trace 和实体状态确认改动生效。技能还覆盖现代自动化语法(2024.10+)、模板类型安全规则和 Lovelace 面板开发。作者称其源自真实生产环境的平板面板与自动化开发实践。
读取并编辑 /config 下的 YAML 文件(automations、blueprints、scripts、scenes、templates、MQTT),仅操作 .yaml/.yml/.md,绝不触碰 .env 或 secrets.yaml。运行 ssh "ha core check" 验证配置、git push 后在实例上 git pull 使改动生效、按变更类型执行域 reload 或 core restart。手动触发 automation.trigger 测试动作、用 grep 过滤 ha core logs 检查成功/错误标志、通过 hass-cli state get 确认实体状态。生成符合现代语法的自动化 YAML(triggers:/conditions:/actions:、稳定 id:、alias),编写带 int()/默认值保护的 Jinja2 模板,创建并部署 .storage/lovelace.* 面板 JSON。变更前可创建 ha backups 快照。
- 自建了 Home Assistant 并启用 SSH 访问的智能家居用户,想通过自然语言快速创建和调试自动化
- 用平板做墙面控制面板的用户,需要触控友好、按屏幕尺寸优化的 Lovelace 布局
- 遇到模板 TypeError(如字符串与整数比较)的用户,需要定位错误并修复模板
- 把 HA 配置放在 git 仓库里的 DevOps 型用户,希望用 scp 快速迭代、稳定后提交版本控制
- 担心误重启导致停机的用户,需要 validate-before-restart 的安全流程和改动前快照
这个 Skill 有哪些优点和局限?
- 编码了完整的运维判断:reload 与 restart 的对照表、restart 前必须通过 ha core check、变更前快照
- 明确验证闭环:手动触发自动化、读日志的成功/错误标志、核对实体状态,而不是假设成功
- 默认使用 2024.10+ 的现代自动化语法,避免 LLM 常见的过时写法
- git + scp 混合部署流水线兼顾版本控制与快速迭代
- 附带 automations.md 和 dashboards.md 按需加载的参考文档,以及生产环境验证过的面板示例
- 强环境假设:要求 SSH 访问、/config 是 git 仓库、本地装好 hass-cli 并预先设置 HASS_TOKEN 环境变量,缺一不可
- README 无自动化测试套件或 CI 的证据,文档质量靠作者的实际使用背书
- hass-cli 环境变量未设置时会静默回退到 localhost 并报错,技能只能提醒无法根治
- 面板直接文件编辑在 HA 缓存下可能需要重启才生效,部分仪表盘错误(卡片损坏、弹窗排序)只能靠浏览器目视验证
- 直接修改 .storage/ 下的 JSON 存在固有风险,MCP 集成(官方 mcp_server 需 HA ≥2025.2)是可选而非保证
如何安装这个 Skill?
前置条件:已安装 Claude Code;HA 实例开启 SSH 且 /config 已连接 git 仓库;本地安装 hass-cli(pipx install homeassistant-cli)并配置 SSH 密钥和 HASS_SERVER/HASS_TOKEN 环境变量。推荐方式(插件市场,两条命令):/plugin marketplace add komal-SkyNET/claude-skill-homeassistant 然后 /plugin install home-assistant-manager@claude-skill-homeassistant。备选一:在 HA 配置仓库中 mkdir -p .claude/skills,克隆仓库并软链接 skills/home-assistant-manager。备选二:curl -L https://github.com/komal-SkyNET/claude-skill-homeassistant/archive/main.tar.gz | tar xz 解压到 .claude/skills/home-assistant-manager。可选:添加 Context7 MCP 获取官方文档。
如何使用这个 Skill?
在 HA 配置仓库中启动 Claude Code,技能会自动加载。示例提示:"Create an automation that sends a notification when the front door is left open for more than 5 minutes" 或 "My automation has a TypeError about comparing str and int"。Claude 会按技能流程编辑 YAML、scp 或 git 部署、reload、手动触发并检查日志。首次使用时需确认真实的 SSH 用户/主机(示例中的 [email protected] 是占位符),建议写入项目 CLAUDE.md。
这个 Skill 与同类方案有什么区别?
README 明确对比了 HA MCP 服务器(官方 mcp_server 集成或社区 ha-mcp):MCP 提供实时状态读取和服务调用的"工具",但不教 Claude 如何安全地管理配置——没有 MCP 服务器时,装了 MCP 的 Claude 也可能在未验证的配置上重启 HA 或写过时语法。该技能编码的是"流程与判断",且在有 MCP 时优先使用其工具,两者互补而非替代。