From 81ab75cc5d9c68200d3a9043d3703ac2136d528d Mon Sep 17 00:00:00 2001 From: Rice <1840169763@qq.com> Date: Thu, 23 Jul 2026 11:52:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E6=8F=90=E4=BA=A4=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E8=B5=84=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + docs/api/meter_firm.md | 149 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 150 insertions(+) create mode 100644 docs/api/meter_firm.md diff --git a/.gitignore b/.gitignore index a97862a..9ac25ef 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,4 @@ !/apps/m9zCtrlTty/data/ *.idea* *logs +**.DS_Store** diff --git a/docs/api/meter_firm.md b/docs/api/meter_firm.md new file mode 100644 index 0000000..0c7bc66 --- /dev/null +++ b/docs/api/meter_firm.md @@ -0,0 +1,149 @@ +# 电表型号接口文档 + +## 获取电表型号 + +### 接口描述 + +获取当前使用的电表型号。 + +### 基本信息 + +| 属性 | 值 | +|------|-----| +| 方法名 | `/m9z/meter/getMeterFirm` | +| 请求方式 | POST (JSON-RPC) | +| 是否需要认证 | 配置文件决定 | +| 描述 | 查询当前电表型号 | + +### 请求参数 + +无请求参数。 + +### 响应参数 + +| 字段名 | 类型 | 必填 | 描述 | +|--------|------|------|------| +| meter_firm | string | 是 | 当前电表型号 | + +### 响应示例 + +**成功响应:** +```json +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "meter_firm": "ADL400" + } +} +``` + +**响应字段说明:** + +| 字段 | 说明 | +|------|------| +| `meter_firm` | 当前电表型号,支持的值:ADL400、DDSD1352、DTS1352 | + +### 备注 + +- 电表型号优先从 `data/meterFirm.json` 读取,不存在则使用配置文件 `config.json` 中的默认值 +- 配置文件 `config.json` 中的 `deviceInfo.meterFirm` 仅作为默认值,后续以 `data/meterFirm.json` 为准 +- 变更电表型号后会自动重新加载电表控制实例 + +--- + +## 设置电表型号 + +### 接口描述 + +设置电表型号,变更后会保存到 `data/meterFirm.json`,并自动重新加载电表控制实例。 + +### 基本信息 + +| 属性 | 值 | +|------|-----| +| 方法名 | `/m9z/meter/setMeterFirm` | +| 请求方式 | POST (JSON-RPC) | +| 是否需要认证 | 配置文件决定 | +| 描述 | 修改电表型号 | + +### 请求参数 + +| 字段名 | 类型 | 必填 | 描述 | +|--------|------|------|------| +| meter_firm | string | 是 | 电表型号,支持:ADL400、DDSD1352、DTS1352 | + +### 请求示例 + +```json +{ + "jsonrpc": "2.0", + "id": 1, + "method": "/m9z/meter/setMeterFirm", + "params": { + "meter_firm": "DDSD1352" + } +} +``` + +### 响应参数 + +| 字段名 | 类型 | 必填 | 描述 | +|--------|------|------|------| +| success | boolean | 是 | 是否成功 | +| meter_firm | string | 是 | 设置后的电表型号 | + +### 响应示例 + +**成功响应:** +```json +{ + "jsonrpc": "2.0", + "id": 1, + "result": { + "success": true, + "meter_firm": "DDSD1352" + } +} +``` + +**错误响应 - 无效型号:** +```json +{ + "jsonrpc": "2.0", + "id": 1, + "error": { + "code": 400, + "message": "invalid meter_firm, available: ADL400, DDSD1352, DTS1352" + } +} +``` + +**错误响应 - 参数为空:** +```json +{ + "jsonrpc": "2.0", + "id": 1, + "error": { + "code": 400, + "message": "meter_firm is required" + } +} +``` + +### 备注 + +- 设置的电表型号会持久化保存到 `data/meterFirm.json` +- 变更后会自动调用 `adl400TtyApi.Reload()` 重新初始化电表控制实例 +- 请确保在设备断电或安全情况下修改电表型号 +- 不支持的型号将被拒绝并返回错误 + +--- + +## 相关接口 + +| 接口 | 方法 | 描述 | +|------|------|------| +| 电表数据读取 | `/adl400/readPhaseData` | 读取电表分相数据 | +| 通信地址读取 | `/adl400/getMsgAddress` | 读取电表通信地址 | +| 通信地址设置 | `/adl400/setMsgAddress` | 设置电表通信地址 |