IAMMETER 固件 Local API
IAMMETER 支持通过本地 HTTP API 读取数据,完整功能请参阅官方文档。本模拟器只实现其中一部分,具体如下。
路径与会话
每个电表接口需加上 /WEM3080、/WEM2067 或 /WEM3050T 前缀。电表页面及 API 同时支持 HTTP 80 和 HTTPS 443。真实设备通常通过本地 HTTP 访问。
不携带会话的公共测量请求使用默认的“逆变器与电网”场景。私有设置接口需要已有电表页面的 Cookie。单独运行 curl 不会自动继承浏览器选择的数据源或设置。
HTTP 与 HTTPS 使用独立的浏览器会话。修改设置前,请使用相同协议打开对应的电表页面。匿名读取使用默认的“逆变器与电网”数据源。
模拟器已支持的固件 API
| 方法 | 查询接口 | 用途 | 支持型号 |
|---|---|---|---|
| GET | /api/monitor | 读取电压、电流、功率和电量。 | 所有型号 |
| GET | /api/monitorjson · /monitorjson | 读取旧版 JSON,可包含无功数据。 | 所有型号 |
| GET | /api/wifidata | 读取虚拟 Wi-Fi 和设备设置。 | 所有型号 |
| POST | /api/setwifiadv | 保存当前会话、当前型号的虚拟 Wi-Fi 参数。 | 所有型号 |
| GET | /api/getadv | 读取高级设置和上传参数,密码字段返回空字符串。 | 所有型号 |
| POST | /api/setadv | 保存上传参数及 Reactive、NEM 开关。 | 全部型号;NEM 仅支持 WEM3050T |
测量数据响应
WEM3080 返回 Data;WEM2067 和 WEM3050T 返回 Datas,每个通道一个数组。字段顺序如下。示例用于说明格式,并非实时响应。
| 索引 | 测量字段 | 单位 |
|---|---|---|
| 0 | 电压 | V |
| 1 | 电流 | A |
| 2 | 有功功率 | W |
| 3 | 输入电量 | kWh |
| 4 | 输出电量 | kWh |
| 5 | 频率 | Hz |
| 6 | 功率因数 | — |
读取公共测量数据
curl 'https://simulator.iammeter.com/WEM3050T/api/monitor'响应示例
{
"ssid": "IAMMETER-Simulator",
"sig": 100,
"mac": "020000003050",
"version": "simulator-1.0",
"server": "em",
"SN": "1AD9B537",
"model": "WEM3050T",
"Datas": [
[230.0,1.252,270.0,2.092,0.000,50.00,0.94],
[229.5,0.487,110.0,1.280,0.000,50.00,0.98],
[229.0,0.399,90.0,0.747,0.000,50.00,0.98]
]
}虚拟 Wi-Fi 设置
setwifiadv 接受 ssid、pwd、dhcp(布尔值)、ip、netmask、gw、dns。参数只修改虚拟设备,不修改服务器或实际网卡。
请求正文示例
{"ssid":"Test network","dhcp":true}保存成功
{"successful":1,"message":"ok"}高级设置
setadv 支持 JSON 部分更新,未提供的字段保留原值。上传间隔范围为 10–3600 秒。
Reactive 开启后,monitorjson 和上传数据增加 EA.Reactive;api/monitor 不增加。每行依次为无功功率 var、感性电量 kvarh、容性电量 kvarh。
只有 WEM3050T 支持 NEM。Datas 第四行分别累加有功功率、输入电量和输出电量,其余字段为零。
| 参数 | 允许的值 |
|---|---|
| runMode | 1 = TCP/TLS; 2 = HTTP/HTTPS; 3 = MQTT/MQTTS; 4 = stand alone |
| uploadAddress | 接收端地址,请按 Settings 中的输入提示填写。 |
| mqttUsername · mqttPassword | MQTT broker 的认证信息;getadv 不返回已保存的密码。 |
| uploadInterval | 10–3600 秒 |
| reactive | 0 / 1 |
| netmetering | 0 / 1 |
| ntpServer | 仅保存字符串,不修改服务器时间。 |
| haDiscovery · ctcRatio | 分别只接受 0 和 1;相应功能尚未实现。 |
在 WEM3050T 上开启 Reactive 与 NEM
{"reactive":1,"netmetering":1}如何判断结果
保存成功返回 successful=1。参数无效时也可能返回 HTTP 200,但 JSON 中 successful=0,因此需要同时检查响应内容。会话缺失返回 401;跨来源写入会被拒绝。
保存上传参数成功不代表接收成功。请查看下面调试区的上传状态,并在接收端确认消息。
尚未实现
以下功能仅用于展示或尚未支持,没有可执行相应操作的写入 API。
| 功能 | 当前行为 |
|---|---|
| Wi-Fi 扫描 · 重启 · 恢复出厂设置 | 不执行实际操作。 |
| 设备 Security · 固件升级 | 仅展示。 |
| IAMMETER-cloud · HA Discovery · MQTT 下行 | 不提供云上传、自动发现或远程改参功能。 |
模拟器调试工具另页说明
模拟器调试接口不是 IAMMETER 固件 API,因此不列入上面的设备 API 清单。