将 IAMMETER 电能表集成到 Victron Venus OS
将 IAMMETER 电能表集成到 Victron Venus OS
Victron Energy 的 Venus OS 是 Victron 系统中用于能源监控与管理的核心操作系统。它运行在 Cerbo GX 等 GX 设备上,也可以通过其开源版本安装在 Raspberry Pi 上。Venus OS 将逆变器、电池、充电控制器及其他组件连接到一个智能系统中。它支持实时监控、自动化能源控制,并能通过 Victron Remote Management(VRM)门户进行远程访问。凭借对 MQTT 和 Modbus-TCP 的支持,它可以轻松集成 Home Assistant 等第三方平台,非常适合高级太阳能和离网应用场景。
关于贡献者
IAMMETER 与 Victron Energy Venus OS 的集成由 MiWyf 开发。
特别感谢 MiWyf 贡献了此代码。
以下内容主要来自该集成项目的 README(https://github.com/lewei50/dbus-iammeter)。
dbus-iammeter
项目页面:https://github.com/lewei50/dbus-iammeter
将 IAMMETER WEM3080/WEM3080T/WEM3050T/WEM3046T 智能电能表集成到 Victron Energy 的 Venus OS 中。
目的
此仓库中的脚本提供了一种简便的方法来安装、卸载和管理一项服务,该服务将 IAMMETER 智能电能表(WEM3080/WEM3080T/WEM3050T/WEM3046T)连接到 Victron 的 Venus OS 和 GX 设备。其设计基于 @fabian-lauer 和 @vikt0rm 的工作成果。
灵感来源
这是我第一个 GitHub 项目,也是我第一次接触 Victron Venus OS。我从以下优秀项目中获得了灵感:
- https://github.com/RalfZim/venus.dbus-fronius-smartmeter
- https://github.com/victronenergy/dbus-smappee
- https://github.com/Louisvdw/dbus-serialbattery
- https://github.com/victronenergy/venus/wiki/dbus#grid-and-genset-meter
- IAMMETER 本地 API
工作原理
我的设置
- IAMMETER WEM3080/WEM3080T/WEM3050T/WEM3046T
- 单相/三相安装
- 连接到无线网络 "A"
- IP:192.168.1.6
- 树莓派 4(4GB,版本 1.1,固件 v2.84)上的 Venus OS
- 未连接其他 Victron 设备
- 连接到无线网络 "A"
- IP:192.168.1.10
详情/流程
如上所述,该脚本受 @RalfZim 的 Fronius 智能电能表实现的启发。脚本的作用如下:
- 作为服务运行
- 在
com.victronenergy.grid.http_40或com.victronenergy.pvinverter.http_40上连接 Venus OS 的 DBus - 使用 REST-API 调用 IAMMETER 设备的
/status接口并获取 JSON 数据 - 从响应中提取序列号/MAC 地址并用作设备序列号
- DBus 路径用默认值(0)和一些设置(如名称)初始化
- 启动一个循环,每 3000ms 从 IAMMETER 轮询数据并相应地更新 DBus
安装与配置
获取代码
下载主分支并复制到 /data/dbus-iammeter,然后运行 install.sh 脚本:
wget https://github.com/lewei50/dbus-iammeter/archive/refs/heads/main.zip
unzip main.zip "dbus-iammeter-main/*" -d /data
mv /data/dbus-iammeter-main /data/dbus-iammeter
chmod a+x /data/dbus-iammeter/install.sh
/data/dbus-iammeter/install.sh
rm main.zip
⚠️ 安装后请检查配置。服务会立即启动,不正确的连接数据(host、username、password)会填满日志文件。
编辑 config.ini
配置文件位于 /data/dbus-iammeter/config.ini。根据需要修改其中的值,特别是 "ONPREMISE" 部分中的 host、username 和 password。
| 部分 | 配置值 | 说明 |
|---|---|---|
| DEFAULT | AccessType | 固定值:'OnPremise' |
| DEFAULT | SignOfLifeLog | 记录服务状态(日志级别 INFO)的间隔(分钟) |
| DEFAULT | CustomName | 设备名称(多个脚本实例时很有用) |
| DEFAULT | DeviceInstance | 设备实例编号,例如 40 |
| DEFAULT | Role | 'grid' 或 'pvinverter',用于定义 IAMMETER 的角色 |
| DEFAULT | Position | 0 = 交流输入 1;1 = 交流输出;2 = 交流输入 2 |
| DEFAULT | LogLevel | 日志级别(参见:https://docs.python.org/3/library/logging.html#levels) |
| ONPREMISE | Host | IAMMETER 本地 Web 界面的 IP 或主机名 |
| ONPREMISE | Username | HTTP 访问的用户名(如不需要则留空) |
| ONPREMISE | Password | HTTP 访问的密码(如不需要则留空) |
| ONPREMISE | L1Position | IAMMETER 用于 L1 的输入相位(请参见重映射部分) |
重映射 L1
在带有单个 Multi 的三相电网中,Venus OS 期望 L1 为 Multi 供电。但情况并非总是如此。例如,如果您的 Multi 由 L3(IAMMETER 上的输入 C)供电,GX 设备将在 L1 和 L3 上同时显示交流负载。
通过设置 L1Position,您可以重映射相位,确保 GX 显示正确的数据:
- 如果您的 Multi 连接到输入
A,无需更改 L1Position = 2交换B和AL1Position = 3交换C和A
文档参考
- https://github.com/victronenergy/venus/wiki/dbus#grid
- https://github.com/victronenergy/venus/wiki/dbus#pv-inverters
- https://github.com/victronenergy/venus/wiki/dbus-api
- https://www.victronenergy.com/live/ccgx:root_access
- IAMMETER 本地 API
关于 IAMMETER
IAMMETER 是一家专注于能源管理产品与服务的公司,提供智能电能表、管理应用和云平台。
我们的目标是帮助客户有效管理、利用和节约能源,通过智能监控和分析来降低电费。
解决方案
产品
- IAMMETER 电能表概览
- WEM3080T – 三相/分相 Wi-Fi 电能表
- WEM3080 – 单相 Wi-Fi 电能表
- WEM3050T – 三相电能表
- WEM3046T – 三相 Wi-Fi 电能表,支持 5A 标准 CT 输入