如何通过 Modbus TCP 将 IAMMETER 电能表集成到 Home Assistant 进行实时太阳能监控
如何通过 Modbus/TCP 将 IAMMETER 电能表集成到 Home Assistant
如何通过 Modbus/TCP 将 IAMMETER 电能表集成到 Home Assistant 1. 为什么使用 Modbus/TCP 集成智能电能表 Modbus TCP 集成到 Home Assistant 的主要优势: 2. 硬件与软件要求 硬件清单 软件要求 3. 分步配置指南 步骤 1:查找 IAMMETER 电能表的 IP 地址 步骤 2:编辑 Home Assistant 配置 步骤 3:参考表 – 寄存器映射 步骤 4:重启 Home Assistant 4. 使用场景与自动化方案 场景 1:基于功率读数的继电器控制 场景 2:在 Home Assistant 中进行太阳能光伏监控 5. 故障排除与优化技巧 6. 结论 IAMMETER + Home Assistant 的实际应用:
本教程将指导您通过 Modbus TCP 协议将 IAMMETER 智能电能表集成到 Home Assistant。通过此设置,您可以构建一个实时太阳能光伏监控系统,实现基于能源消耗和太阳能发电量的本地控制与自动化。
1. 为什么使用 Modbus/TCP 集成智能电能表
所有 IAMMETER 智能电能表均支持 Modbus TCP,这是一种广泛应用于工业自动化和家庭自动化的协议。
| 型号类型 | 支持的产品 |
|---|---|
| 单相 | WEM3080 |
| 单相分相(双/两相)和三相(星形) | WEM3080T、WEM3046T、WEM3050T |
| 三相(三角形) | WEM3080TD |
Modbus TCP 集成到 Home Assistant 的主要优势:
- 高实时性能:采样率高达 1 秒(通过
scan_interval: 1),非常适合实时控制。 - 本地通信:不依赖云端,确保隐私和稳定性。
- 完整参数监控:电压、电流、功率、输入/输出电能等。
2. 硬件与软件要求
硬件清单
- IAMMETER 电能表
- 本地网络(电能表和 Home Assistant 必须在同一局域网内)
- 与 Home Assistant 兼容的智能设备(例如 Sonoff 继电器、温度传感器)
软件要求
- Home Assistant 版本 ≥ 0.107.0
- 文件编辑器或 SSH 访问权限,用于修改
configuration.yaml
3. 分步配置指南
步骤 1:查找 IAMMETER 电能表的 IP 地址
通过 IAMMETER APP 或路由器界面查看电能表的 IP 地址(例如 192.168.1.6)。
步骤 2:编辑 Home Assistant 配置
将以下内容添加到您的 configuration.yaml 中:
modbus:
- name: "IAMMETER_Hub"
type: tcp
host: 192.168.1.6 # Replace with your meter's IP
port: 502
sensors:
- name: "Modbus_Power"
slave: 1
address: 2
input_type: holding
unit_of_measurement: "W"
device_class: power
data_type: int32
scan_interval: 1
- name: "Modbus_Voltage"
slave: 1
address: 0
input_type: holding
unit_of_measurement: "V"
device_class: voltage
data_type: uint16
scale: 0.01
precision: 1
关键参数说明:
slave:通常为 1address:Modbus 寄存器地址scale和precision:用于将原始数据转换为可读值
步骤 3:参考表 – 寄存器映射
| 参数 | 单相地址 | 三相地址 | 数据类型 |
|---|---|---|---|
| 电压 (V) | 0 | 0 (A 相)、10 (B 相)、20 (C 相) | uint16 |
| 电流 (A) | 1 | 1、11、21 | uint16 |
| 有功功率 (W) | 2 | 2、12、22 | int32 |
| 输入电能 (kWh) | 4 | 4、14、24 | uint32 |
| 输出电能 (kWh) | 6 | 6、16、26 | uint32 |
步骤 4:重启 Home Assistant
保存配置后,重启 Home Assistant。新的实体(例如 sensor.modbus_power)将出现在 Developer Tools → States 中。
4. 使用场景与自动化方案
场景 1:基于功率读数的继电器控制
automation:
- alias: "High Power → Turn On Relay"
trigger:
platform: numeric_state
entity_id: sensor.modbus_power
above: 1000
action:
service: switch.turn_on
target:
entity_id: switch.sonoff_s26
- alias: "Low Power → Turn Off Relay"
trigger:
platform: numeric_state
entity_id: sensor.modbus_power
below: 500
action:
service: switch.turn_off
target:
entity_id: switch.sonoff_s26
💡 示例:当水壶开启时(1596W),继电器打开;关闭时(64W),继电器关闭。
场景 2:在 Home Assistant 中进行太阳能光伏监控
通过监控 import_energy 和 export_energy,您可以直观地查看太阳能光伏系统与电网之间的交互情况。
👉 教程:在 Home Assistant 中监控您的太阳能光伏系统
5. 故障排除与优化技巧
- 数据刷新慢
- 确保配置了
scan_interval: 1(默认可能为 15 秒) - 避免同时读取过多寄存器
- 确保配置了
- 未显示实体
- 检查 IP 和端口(例如
telnet 192.168.1.6 502) - 确认寄存器地址与您的电能表类型匹配(单相或三相)
- 检查 IP 和端口(例如
- 比较其他集成方式 所有 IAMMETER → Home Assistant 集成方式
| 集成方式 | 实时性能 | 复杂度 | 适用场景 |
|---|---|---|---|
| Modbus TCP | ★★★★☆(1 秒,本地) | 中等(寄存器配置) | 实时控制,快速本地自动化 |
| MQTT | ★★★☆☆(1–5 秒,支持云端) | 低 | 远程同步,云端仪表盘,可选本地 |
| 核心集成 | ★★☆☆☆(15 秒,仅云端) | 非常低 | 基础能源监控 |
6. 结论
通过 Modbus TCP 将 IAMMETER 智能电能表集成到 Home Assistant,您可以构建一个快速、注重隐私且本地控制的太阳能监控与自动化系统。它在负载转移、电动汽车充电以及基于太阳能盈余的水加热等场景中尤为有效。
🔧 精确的寄存器映射和 scan_interval 优化是实现 1 秒级响应速度的关键。
对于高级用户,将此集成与 InfluxDB 和 Grafana 配合使用,可以实现长期能源分析和性能追踪。
IAMMETER + Home Assistant 的实际应用:
在 IAMMETER,我们的使命超越监控——我们的目标是通过最大化太阳能自发自用,帮助太阳能用户减少电费。智能监控是第一步,但节省成本才是最终目标。