本帖最后由 25989406 于 2025-5-19 23:11 编辑
小智官方支持mcpserver!
控制homeassistant里的设备不再需要 搭建三方服务器 和编译固件 啦
但我这个server只是一个临时存在的版本,这个mcpserver服务应该是以ha插件的形式存在不需要单独搞服务的,只是这里代码改造起来会有些麻烦,先用这个玩玩看吧
附上之前三方服务器的接入方案:https://bbs.hassbian.com/thread-28998-1-1.html
直接上演示:
代码由开源服务器ha的function移植,基础功能基本相同,需要一个python环境(我自己的环境是3.12,ha的core环境就可以)
支持:
基础设备:打开关闭、
灯光:色温、颜色、亮度调整查询
媒体播放器:音乐播放(依赖配置musicassistant)、暂停、静音、音量调整
传感器:状态查询
其他功能请自行尝试,反馈,谢谢。
目前因为虾哥服务器暂时不支持function的选择,所以有的时候会跟内置的function冲突,比如设置小智的亮度和声音。
github地址
下载全部文件到你的环境中
1.安装依赖
执行 pip install -r requirements.txt
2.配置conf
api_key ha的长效token
base_url ha的地址,在本地环境就填局域网地址
MCP_ENDPOINT 小智官方提供的mcp地址
3.启动mcpserver
执行 python mcp_pipe.py hass.py
4.检查状态
运行成功后检查mcp配置里是否正常显示三个可用工具
5.在小智的提示词里加入你的设备信息,之前在三方server有部署过的可以直接粘贴,没整理过得可以用我这个模板去批量获取一下
(尽量精简,不要贴太多无用的传感器)
×××你的其他提示词×××
你也可以帮我控制家里的智能设备,你所在的位置在书房,未指定区域的情况下优先控制书房的设备。你的以下是设备列表:
- 房间,设备名称,设备id(entity_id)
- 书房,吸顶灯,light.649e3159aa36_light
- 书房,音响,media_player.shu_fang_2
- 书房,显示器挂灯,light.yeelink_lamp22_fd36_light
- 书房,灯带,light.plug_158df955a6167a
复制代码
批量获取设备的模板:
{% set area_list=['书房','主卧'] %}
{% for area in area_list %}
{% set device_list = area_entities(area) | reject('is_hidden_entity') %}
{% for device in device_list %}
{% if 'light' in device or 'switch' in device %}
{{area}},{{device}},{{state_attr(device, 'friendly_name')}}
{% endif %}
{% endfor%}
{% endfor%}
复制代码