这是一款VS Code扩展程序,为斐波那契家庭中心3(Fibaro Home Center 3,简称 HC3)智能家居系统提供模型上下文协议(Model Context Protocol,简称 MCP)服务器集成功能。借助该扩展,VS Code 中的 AI 助手能够通过自然语言命令与你的斐波那契 HC3 设备、场景及系统信息进行交互。
Extensions: Install from VSIX... 命令,从 .vsix 文件进行安装。Cmd + Shift + P / Ctrl + Shift + P)。HC3 MCP: Configure Fibaro HC3 Connection 命令。192.168.1.57)。在你的主目录下创建一个 ~/.env 文件,并添加以下内容:
HC3_URL=http://192.168.1.57
HC3_USER=your_username
HC3_PASSWORD=your_password
注意:如果未配置 VS Code 设置,扩展程序将自动使用环境变量作为备用方案。
运行 HC3 MCP: Test Fibaro HC3 Connection 命令,验证是否成功连接到你的 HC3 系统。
若要让 GitHub Copilot 使用 MCP 服务器,你需要手动进行如下配置:
Cmd + Shift + P / Ctrl + Shift + P。{
"github.copilot.chat.experimental.mcpServers": {
"hc3-smart-home": {
"command": "node",
"args": ["/path/to/your/extension/out/mcp/hc3-mcp-server.js"],
"env": {
"FIBARO_HOST": "192.168.1.57",
"FIBARO_USERNAME": "admin",
"FIBARO_PASSWORD": "your_password",
"FIBARO_PORT": "80"
}
}
}
}
注意:如果 MCP 服务器工具未立即可用,请开启新的 GitHub Copilot 聊天会话,以便其发现 MCP 服务器。
此扩展提供以下设置:
hc3McpServer.host:斐波那契 HC3 的 IP 地址或主机名。hc3McpServer.username:斐波那契 HC3 的用户名。hc3McpServer.password:斐波那契 HC3 的密码(安全存储)。hc3McpServer.port:斐波那契 HC3 的端口号(默认值:80)。配置完成后,扩展程序将自动提供一个 MCP 服务器,供 AI 助手使用。你可以使用自然语言命令与你的 HC3 系统进行交互,示例如下:
MCP 服务器提供 66 种以上的工具,分为以下几类:
get_system_info - 获取基本的 HC3 系统信息。get_devices - 列出所有设备,并支持过滤选项。get_device - 获取特定设备的详细信息。control_device - 控制设备的操作(如开启、关闭、设置值等)。get_rooms - 列出所有房间和区域。get_scenes - 列出所有场景。get_scene - 获取特定场景的详细信息。start_scene - 执行场景。stop_scene - 停止正在运行的场景。get_device_actions - 获取设备可用的操作。get_device_events - 获取设备的事件历史记录。get_global_variables - 管理全局变量。set_global_variable - 设置全局变量的值。delete_global_variable - 删除全局变量。get_climate_panels - 获取气候控制面板信息。get_climate_zones - 获取气候区域和设置。get_climate_schedules - 获取供暖/制冷时间表。update_climate_schedule - 修改气候时间表。get_weather_data - 获取当前天气信息。get_alarm_partitions - 获取报警系统分区信息。get_alarm_zones - 获取报警区域配置信息。get_alarm_devices - 获取安全设备列表。arm_alarm_partition - 布防特定的报警分区。disarm_alarm_partition - 撤防报警分区。get_users - 获取系统用户和权限信息。get_user_locations - 获取用户位置跟踪信息。get_network_status - 获取网络连接状态。get_wifi_networks - 获取可用的 Wi-Fi 网络。get_network_devices - 获取已连接的网络设备。get_sprinkler_zones - 管理灌溉系统。control_sprinkler_zone - 控制洒水区域。get_custom_events - 获取自定义事件定义。emit_custom_event - 触发自定义事件。get_system_backups - 管理系统备份。create_system_backup - 创建新的系统备份。get_system_diagnostics - 获取系统健康诊断信息。get_ios_devices - 管理 iOS 设备。get_quickapps - 管理 QuickApp。get_quickapp_logs - 分析 QuickApp 日志。get_system_context - 获取全面的系统概述。get_device_relationships - 获取设备关系和房间分配信息。get_automation_suggestions - 获取 AI 驱动的自动化建议。get_device_usage_patterns - 分析设备使用情况和模式。explain_device_capabilities - 详细解释设备的功能。get_hc3_configuration_guide - 获取完整的 HC3 配置文档。get_hc3_quickapp_programming_guide - 获取 QuickApp 编程参考。get_hc3_lua_scenes_guide - 获取 Lua 场景编程文档。get_hc3_programming_examples - 获取实用的代码示例和片段。list_quickapp_files - 获取 QuickApp 的所有源文件列表。get_quickapp_file - 获取特定 QuickApp 文件的详细信息,包括内容。create_quickapp_file - 为 QuickApp 创建新的源文件。update_quickapp_file - 更新现有的 QuickApp 源文件。update_multiple_quickapp_files - 一次性更新多个 QuickApp 文件。delete_quickapp_file - 删除 QuickApp 源文件(主文件不可删除)。export_quickapp - 将 QuickApp 导出为 .fqa 文件格式(开源或加密)。import_quickapp - 从 .fqa / .fqax 文件导入 QuickApp(需要上传文件)。get_plugins - 获取所有可用的插件,包括已安装和可用的插件。get_installed_plugins - 获取系统上已安装的插件列表。get_plugin_types - 获取所有插件类型及其分类信息。get_plugin_view - 获取设备的插件视图/配置界面。update_plugin_view - 更新插件视图组件的属性。call_ui_event - 触发插件界面元素上的 UI 事件。create_child_device - 为插件创建子设备(多通道设备)。manage_plugin_interfaces - 为设备添加或移除接口。restart_plugin - 重启插件/设备。update_device_property - 直接更新设备属性的值。publish_plugin_event - 通过插件系统发布各种系统事件。get_ip_cameras - 获取可供安装的 IP 摄像机类型。install_plugin - 按类型安装插件。delete_plugin - 按类型删除/卸载插件。每个工具都包含全面的输入验证、错误处理和详细的响应数据,有助于 AI 助手有效理解和操作你的斐波那契 HC3 系统。
# 克隆仓库
git clone
cd hc3-mcp-server
# 安装依赖
npm install
# 编译 TypeScript
npm run compile
# 打包扩展
npm run package
F5 运行扩展开发主机。# 运行测试
npm test
# 运行带覆盖率的测试
npm run test:coverage
~/.env 文件,确保该文件存在且格式正确:HC3_URL=http://192.168.1.57
HC3_USER=admin
HC3_PASSWORD=your_password
~/.env 文件可读。~/.env 文件后,需重启 VS Code。~/.env 文件。欢迎贡献代码!请按以下步骤操作:
MIT 许可证
如有问题或疑问,请通过以下途径反馈:
尽情享受 AI 助手带来的智能家居控制体验! 🏠🤖