Victron TCP 服务器

Victron TCP 是一个本地网络服务器,用于连接AI助手与Victron Energy系统,实时读取太阳能、电池、电网和逆变器数据,无需云服务。

  • by lubosstrejcek
  • TypeScript
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 lubosstrejcek/victron-tcp

使用说明

Victron TCP-MCP服务器

将人工智能助手连接到Victron Energy系统。从本地网络读取实时太阳能、电池、电网和逆变器数据,无需云。

32个工具|23个提示|2个资源|900+个寄存器|Modbus TCP+MQTT


我想要哪个包裹?

这是 本地/LAN 半双。远程/云的一半是 victron-vrm-mcp.

victron-tcp (此回购) victron-vrm-mcp
传输 stdio(本地子进程) 可流式HTTP(远程)
数据源 局域网上的ModbusTCP+MQTT VRM云API
需要访问局域网上的GX 是 没有
当你离开船/房子时,它仍然有效 否 是
在互联网关闭时工作 是 没有
延迟 实时(~50ms) ~15min(VRM采样)
原始寄存器访问 是 (900多个寄存器) 否
写入覆盖范围(计划) 广泛——D-Bus暴露的任何内容 狭窄——仅VRM远程制裁的内容(动态ESS、清除警报、标签等)
MCP连接器API兼容 否(stdio) 是 (HTTPS)
客户 Claude Code,Claude Desktop,Cursor,Windsurf Anthropic Messages API+任何通过HTTP说MCP的东西
Auth 本地无(信任LAN) 按请求VRM个人访问令牌

在以下情况下使用此软件包: 您与GX设备位于同一局域网内,需要具有原始寄存器支持的实时、低延迟读取访问。 使用 victron-vrm-mcp 什么时候: 您需要远程访问,您正在通过MCP连接器构建一个API支持的应用程序,或者您不想在局域网上暴露任何内容。

你可以使用 两者 同时,它们服务于不同的用例,并具有不同的风险特征。


安装

克劳德代码

claude mcp add-json victron-tcp '{"type":"stdio","command":"npx","args":["-y","victron-tcp"]}'

克劳德桌面/光标/风帆

{
  "mcpServers": {
    "victron-tcp": {
      "command": "npx",
      "args": ["-y", "victron-tcp"],
      "env": {
        "VICTRON_HOST": "192.168.1.50",
        "VICTRON_TRANSPORT": "mqtt",
        "VICTRON_PORTAL_ID": "your-portal-id"
      }
    }
  }
}

不知道您的设备IP?

只需询问AI:

Find my Victron GX device on the network and set it up.

它将扫描您的网络,测试连接,并为您生成配置。

需求

  • Victron GX设备 在您的本地网络上(Ekrano、Cerbo、Venus GX等)
  • 消息队列遥测传输 (在Venus OS上默认启用)或 Modbus TCP (设置→ 服务→ Modbus TCP)
  • Node.js 18+

你能做什么

能源报告

提示 它做什么
hourly-snapshot 快速潮流快照——SOC、PV、电网、负载
daily-report 生产、消费、自用率、电网依赖性
weekly-review 产量趋势、电池健康状况、负载模式、调度提示
monthly-analysis 能源平衡、成本节约、电池老化、季节比较

能量优化

提示 它做什么
energy-optimizer 人工智能驱动的调优——选择目标:自我消耗、成本节约、电池寿命、备份准备或平衡
ess-tuning 审查ESS模式、电网设定点、电池限制、动态ESS
storm-prep 大修前准备情况检查

监控和故障排除

提示 它做什么
diagnose-system 带报警扫描的全面健康检查
solar-performance 光伏产量分析、跟踪器比较、阴影检测
troubleshoot 通过错误代码查找进行引导调试
tank-monitor 燃料、水、废物水平(船用/RV/离网)
generator-management 自动启动条件、运行时间、安静时间

设备发现

提示 它做什么
setup-guide 首次安装向导
find-devices 扫描网络,发现所有GX设备及其连接的设备
identify-device “什么是单元ID 247?”--识别任何设备
system-topology 绘制交流/直流母线、连接、能量流动路径图
device-inventory 用于文档或支持的完整设备表
register-explorer 浏览寄存器,解释类型和比例因子
firmware-check 所有设备的固件版本

对于安装人员

提示 它做什么
commissioning 新系统检查表——库存、接线、配置、通过/失败
site-audit 通信、报警、测量、性能审计

集成

提示 它做什么
nodered-check Venus OS上的Node-RED——MQTT主题,流程调试
mqtt-debug 代理连接、主题跟踪、保活调试

工具参考

Core Monitoring (9 tools)
工具 说明
victron_system_overview 电池SOC、光伏功率、电网功率、交流消耗、ESS状态
victron_battery_status SOC、电压、电流、功率、温度、电池数据、剩余时间
victron_solar_status 光伏发电量、今天/昨天/总产量、充电器状态、跟踪器数据
victron_grid_status 每相电网功率(L1/L2/L3)、电压、电流、频率
victron_vebus_status Multi/Quattro:交流输入/输出、电流限制、模式、状态、报警
victron_tank_levels 油箱液位、容量、剩余量、流体类型
victron_temperature 温度、传感器类型、湿度、压力
victron_inverter_status 独立逆变器:交流输出、状态、报警
victron_evcs_status 电动汽车充电站:功率、状态、会话能量
Extended Devices (14 tools)
工具 说明
victron_multi_status 多RS逆变器/充电器
victron_pvinverter_status 交流耦合光伏逆变器(Fronius、SolarEdge、ABB)
victron_genset_status 交流发电机组控制器
victron_dcgenset_status 直流发电机
victron_alternator_status NMEA 2000交流发电机
victron_charger_status 交流充电器(Skylla、Blue Smart)
victron_dcdc_status Orion XS DC-DC转换器
victron_acload_status 交流负载/电流传感器
victron_dcenergy_status 直流电能表(直流电表模式下的SmartShunts)
victron_gx_info GX设备标识、继电器状态
victron_digital_inputs 数字输入状态和类型
victron_gps_status GPS位置、高度、速度
victron_meteo_status 太阳辐照度、风速、温度
victron_generator_status 发电机自动启动/停止、运行时间、报警
Discovery & Setup (4 tools)
工具 说明
victron_network_scan 扫描本地网络以查找GX设备
victron_setup 完整设置:测试传输、发现设备、生成配置
victron_mqtt_discover 自动发现MQTT门户ID、服务、设备实例
victron_discover 扫描Modbus单元ID以查找连接的设备
Utility & Documentation (5 tools)
工具 说明
victron_read_category 读取任何设备类别的所有寄存器
victron_read_register 按地址读取原始寄存器(仅Modbus)
victron_list_registers 列出设备类别的可用寄存器
victron_search_docs 搜索脱机文档(寄存器+VRM API)
victron_check_online 获取最新Victron文档的URL

资源

URI 内容
victron://register-list CCGX Modbus TCP寄存器列表(版本3.71)——943个寄存器
victron://unit-id-mapping 设备类型到单元ID的映射

配置

环境变量

全部可选。设置它们以避免在每次工具调用时重复参数。

变量 默认值 描述
VICTRON_HOST (无) GX设备IP或主机名
VICTRON_TRANSPORT modbus modbus 或 mqtt
VICTRON_PORTAL_ID (自动) MQTT的门户ID
VICTRON_MODBUS_PORT 502 Modbus TCP端口
VICTRON_MQTT_PORT 1883 MQTT代理端口
VICTRON_UNIT_ID 100 默认Modbus单元ID

远程使用(MCP连接器API)

这个包裹说话 标准,其中 人类MCP连接器API 无法直接访问(连接器需要HTTPS)。对于云支持的远程访问,请使用兄弟包 victron-vrm-mcp.

如果您真的需要连接器API 这 包(例如,远程使用原始寄存器读取),您可以将其放在自己的HTTPS网关后面,该网关向上游传输可流HTTP并生成 victron-tcp 下游——不建议用于典型用途。


调试

这 MCP检查员 是交互式戳服务器的最快方法。

# Inspect a locally-built server
npm run inspect

# Inspect the published npm package as users would run it
npm run inspect:npm

两者都打开了一个基于浏览器的UI,您可以在其中调用工具、查看结构化内容和观看通知流。日志转到 标准错误 (stdout是为stdio传输上的JSON-RPC流保留的——永远不要写入stdout)。

特别是对于Claude Desktop,MCP服务器登录 ~/Library/Logs/Claude/mcp-server-victron-tcp.log (macOS)或 %APPDATA%\Claude\logs\mcp-server-victron-tcp.log (Windows)。请参阅规格 调试指南 以获得完整的演练。


文档

指南 内容
设置 客户端配置、传输比较、单元ID、支持的设备
示例 现实世界中的提示与逐步的人工智能行为
故障排除 常见错误和修复
常见问题解答 常见问题解答
建筑 代码结构、注册映射、工作原理
安全 安全模型、数据敏感性、网络暴露

路线图

  • [ ] 撰写支持 --ESS模式控制、电网设定点、充电电流限制、继电器控制(通过MQTT W/ 主题)
  • [x] MCP资源-寄存器列表+单元ID映射(VRM API规范移动到 victron-vrm-mcp)
  • [x] MCP提示——23个指导性工作流程
  • [x] NPM包(npx victron-tcp)
  • [x] VRM云访问的兄弟包-- victron-vrm-mcp

参考文献

许可证

麻省理工学院