我的 Home Assistant 系统支撑着全屋自动化,多年来规模大幅扩展,部署了数十盏灯具、传感器、媒体播放器及自动化场景。然而,仪表盘(Dashboard)的设计未能跟上硬件增长步伐:虽然整体可用,但存在高度不对齐、控件缺失等诸多瑕疵。因缺乏时间与意愿深入 YAML 配置进行修复,这一问题长期悬而未决。

在朋友建议下,我尝试利用 Claude 解决这一难题。与其耗费数小时微调单个卡片或排查配置错误,不如让 Claude 理解现有系统架构、识别设备,并生成全面重构所需的配置文件。整个过程仅需通过 MCP 连接、配置文件和截图提供上下文。Claude 在一小时内完成了原本需耗费数个周末的工作,更让仪表盘获得了堪比商业产品的视觉升级。

通过 MCP 将 Claude 接入 Home Assistant

在使用 AI 工具时,上下文至关重要。第一步是向 Claude 提供足够的系统背景信息。我在 Mac 上使用 Claude 桌面应用,并配置了 Home Assistant Model Context Protocol (MCP) 服务器。

MCP 是一种开放标准,允许 AI 助手与外部应用程序通信并访问其工具和数据。在此场景中,它充当了 Claude 与我本地 Home Assistant 安装之间的桥梁,使 AI 能够深入了解智能家居的运行机制。

实际操作中,该 MCP 连接为 Claude 提供了智能家居的实时快照。它可以查询设备名称、检查灯光当前状态,甚至探测不同实体组件的反应方式。对于拥有庞大系统的用户而言,这显然必要且有用。

例如,我拥有多台戴森风扇、WiiM 流媒体播放器、Plex 播放器和 Alexa 设备。与其手动在实体列表中挖掘以确定连接情况,我可以直接询问 Claude 来识别设备并检查其当前状态,这在故障排除阶段提供了巨大帮助。

在重新设计过程中,MCP 连接还帮助解决了音乐播放器小部件卡在旧曲目、Plex 播放音乐时显示为空闲,以及入口区域一盏灯常亮等问题。虽然我可以手动深入排查,但 MCP 连接使得整个过程变得无缝流畅。

MCP 存在局限性,需补充更多上下文

尽管如此,MCP 仍存在局限。目前,MCP 仅显示友好名称而非完整的设备实体 ID,也未能直接访问 Lovelace 仪表盘。因此,仅依靠 MCP 无法实现重新设计目标。于是,我向 Claude 分享了实际的仪表盘 YAML 文件。这赋予了 AI 助手对卡片结构、实体引用以及自定义组件的了解,构成了另一个关键的上下文维度。

为了提供更多背景,我还向 Claude 发送了当前界面的截图。这使得 Claude 能够直观地看到工作对象,了解配置更改如何转化为实际界面效果,包括重叠卡片、文本截断和不一致间距等问题。

需要注意的是,Home Assistant 的 MCP 支持正在不断演进。我对系统升级持谨慎态度,通常保持落后一个版本以规避破坏性变更风险。但最新版本的 MCP 服务器提供了更多功能,如分离的工具组、读取实体状态及执行操作的能力。此外,HA-MCP 项目甚至可以处理自动化和脚本编写。这可能会消除设置中涉及的一些手动复制粘贴工作,但我目前尚未准备好授予如此高的权限。

Claude 将想法转化为可运行的配置

在获得充足上下文后,工作流程变得愈发高效。我不再询问 Claude 如何修改某个卡片,而是直接描述理想布局,让它生成完整的配置。对于仪表盘,这意味着创建和修改单个卡片的 YAML、主题、脚本和自动化规则。它还协助处理更复杂的更改,例如配置一个能在不同播放源之间切换的通用媒体播放器。

Claude 提供了实际的配置文件来实现这些目标,而不仅仅是提供建议,这是方案成功的关键。实事求是地说,单靠我自己很难完成其中一些更复杂的 UI 更改。我只需将这些文件复制并粘贴回 Home Assistant,在适当的地方刷新或重启,即可见证一切生效。

当然,它并非万能。对于一些特定功能,如输入选择辅助器或构建滑动卡片,我仍需手动干预。但在 Claude 创建配置文件、解析 YAML 以捕获语法错误以及测试 JavaScript 模板的帮助下,我构建了一个原本会让我陷入困境的系统。

Claude 让 Home Assistant 升级毫不费力

尽管 Claude 在此次 UX overhaul 中表现出色,但这并非我最大的收获。生成 YAML 的方法有很多,若迫不得已,我完全可以阅读 Home Assistant 庞大的官方文档。真正有价值的是,Claude 能够与我的 Home Assistant 服务器对话,理解现有配置,并将其转化为近乎即插即用的工作文件。

几个月来,我一直推迟整理 Home Assistant 仪表盘,因为这是一项繁琐且耗时的任务。借助 Claude 处理大部分配置和故障排除工作,我不仅修复了问题,还在一小时内对我的智能家居进行了实质性升级。