整体架构
先看整个系统长什么样,后面讲坑的时候你才知道问题出在哪个环节:
简单说,三个东西配合:
- Dify:一个开源的AI应用平台,自带聊天网页,我全程在这上面操作,不用写代码
- DeepSeek:云端的AI大脑,负责听懂我的大白话、生成自动化配置
- Home Assistant:本地的智能家居中枢,负责实际执行
我在Dify的聊天框里说需求,DeepSeek理解后,通过MCP接口调用HA,把自动化建好。全程不碰YAML。
访问方式:
- 同一台机器:浏览器打开 http://localhost
- 局域网其他设备(手机等):浏览器打开 http://Dify所在机器的IP:80
坑1:DeepSeek连不上HA
问题: HA官方推荐用MCP协议接入AI,但DeepSeek本身不支持MCP,直接连根本连不上。
我试过的:
- HA官方MCP Server → DeepSeek这边不认,连不上
- 换Claude Desktop + MCP → 能通,但我不想为这个专门换一个AI工具
解决办法: 不用让DeepSeek直连,而是让Dify在中间当"翻译官"。Dify里装一个MCP SSE插件负责连HA,再把DeepSeek配成Dify的大模型。这样DeepSeek只管"想",Dify管"调用",HA管"执行",三者就通了。整个配置都在Dify的网页界面里点选完成,不需要写代码。
坑2:AI乱报设备名字
问题: 我说"关客厅灯",AI给我建的自动化里,设备名字是它自己瞎编的,跟我家里实际的设备对不上,结果自动化根本不生效。
解决办法:
- 在HA里把要控制的设备"暴露"出去:设置→语音助手→暴露实体,把设备都勾上。这样Dify连上HA后能自动读到我家真实的设备列表。
- 在Dify的提示词里明确要求:操作前先查一遍当前有哪些可用设备,按真实设备名来,不准自己编。
加了这两步,设备名搞错的情况基本就没了。
坑3:MCP插件连接配置填不对
问题: Dify里MCP插件连HA时,几个配置项特别容易填错,错了就是连不上,报错还看不懂。
几个关键的地方:
- 连接类型(transport):填 streamable_http,不是sse
- 地址(url):http://你的HA地址:8123/api/mcp,注意结尾是/api/mcp
- 认证(headers):要带上HA的长期访问令牌
- 超时时间(timeout):默认太短,建议填50,不然偶尔会超时
HA长期访问令牌在哪拿: HA左下角点自己的头像→往下拉到"长期访问令牌"→创建一个,创建后立刻复制,只显示这一次。
这几个值填对就通了,但第一次没人带的话,光那个url路径就能卡半天。
坑4:"并且""或者"这种逻辑AI经常弄反
问题: 我说"天黑并且有人移动才开灯",AI有时候会理解成"天黑或者有人移动"就开灯,大白天有人走动灯也亮了,逻辑全反。
解决办法: 在Dify的提示词里把逻辑规则给它写死:
- 说"且""同时满足"→ 条件要同时成立
- 说"或""任一"→ 条件满足一个就行
- "当……的时候"→ 这是触发条件
- "如果……就"→ 这是限制条件
写清楚之后,这类逻辑错误明显少了,但复杂的多条件组合还是偶尔会绕晕它,需要我换个说法再描述一遍。
坑5:Dify装插件报签名错误
问题: 在Dify插件市场装MCP相关插件时,弹签名验证错误,装不上。
解决办法: 找到Dify安装目录下docker文件夹里的.env文件,用记事本打开,末尾加一行:
FORCE_VERIFYING_SIGNATURE=false
保存后重启一下Dify,再装就好了。这是Dify的安全校验拦了社区插件,关掉验证就行。
坑6:AI说建好了,实际没生效
问题: AI回复"自动化已创建成功",但HA里要么找不到,要么逻辑不对、触发了没反应。
解决办法(这个对不懂代码的人最关键): 不用去看什么配置,就用最笨但最靠谱的方式——实际试。
- 让AI建完之后,直接在现实里触发一次看看效果。比如建了"天黑有人开灯",就把灯关了、在传感器前走一趟,看灯亮不亮。
- 不对的话,不用自己改,直接用大白话跟AI说:"刚才那个灯白天也亮了,应该是要天黑才开",让它自己调整。
- 反复对话几轮,直到实际表现符合预期。
这个过程不涉及任何代码,本质就是"试用→反馈→让它改",跟教一个新来的人干活差不多。
实际用下来什么感受
我大概让AI建了几十条自动化,按复杂度分:
类型 | 实际表现 |
简单的(到点开关、有人开灯这种) | 基本一次成型,直接能用 |
中等的(带一两个条件) | 大多能成,偶尔逻辑要跟它掰扯一两句 |
复杂的(多个条件叠加、要算模板的) | 比较费劲,得反复对话,有些干脆建不对 |
对我这种不会写代码的人,最大的价值是: 以前"天黑有人开灯""各个房间人走灯灭""到点关全屋灯"这类我压根不会配、或者嫌麻烦没配的自动化,现在说句话就有了。家里真正"自动跑起来"的规则从零星几条变成了几十条,设备总算是没白买。
现在也别指望的: 特别复杂的逻辑它还是会翻车,安防、门锁这种不能出错的我也不敢交给它。这些我宁愿继续手动。
我的用法很简单:日常重复的、错了也无所谓的(灯、插座、风扇这类),全交给AI建,建完实际试两天,不对就用大白话让它改;重要的、复杂的,暂时不碰。
整个过程我一行代码都没写过。对我来说这就够了——它没让我变成自动化专家,但确实让一个懒得碰配置的人,把智能家居真正用起来了。
以上是我这个非技术玩家踩坑的全过程。如果有更好的玩法或者我哪里绕了弯路,欢迎大家指点。