From ad6c32b7091e13f290e99c248f3f7f191062c210 Mon Sep 17 00:00:00 2001 From: 12451 <12451@example.com> Date: Sun, 20 Sep 2026 05:55:53 +0800 Subject: [PATCH] =?UTF-8?q?docs(protocol):=20=E8=A1=A5=20meter=20=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E7=9A=84=E5=B9=B3=E5=8F=B0=E4=BE=A7=E8=90=BD=E5=9C=B0?= =?UTF-8?q?=E6=83=85=E5=86=B5=EF=BC=88=E5=B7=B2=E8=90=BD=E5=BA=93=20+=20?= =?UTF-8?q?=E5=8F=98=E5=8C=96=E7=95=99=E7=97=95=3D=E6=8A=84=E8=A1=A8?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 协议 §5.3 的 cabinet.meter 字段表原本只写了要求「平台原样存库」。现补上落地情况: - 已落 cabinets.meter_wh / meter_at(最新读数) - 已在 cabinet_meter_readings 表**只在读数变化时**追加留痕(即抄表记录,可直接算日用电量) - 并注明此前只写 Redis(TTL 300s)⇒ 上报即被清掉、历史不可回溯,属实现缺口 - 明确 meter(整柜累计电能)与 energy(单订单充电量,协议无此字段)不是一回事 实测证据:4 次同值上报只在留痕表留下 1 行;读数由 125500 改为 125600 后新增 1 行且 cabinets.meter_wh 同步。 --- docs/protocol/柜控板固件对接文档.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/protocol/柜控板固件对接文档.md b/docs/protocol/柜控板固件对接文档.md index 202225b..8ba5bd6 100644 --- a/docs/protocol/柜控板固件对接文档.md +++ b/docs/protocol/柜控板固件对接文档.md @@ -564,6 +564,11 @@ | `temp` | 整数 | 柜体温度。**⚠️ 这是 JSON 数值字段 = 平台单位,由设备换算后上报**:送 **K×100**(即硬件 1K 的读数 ×100,`29800` = `298.00K`)。平台**原样存库、不再 ×100**;管理端按 `temp/100 − 273.15` 显示为 ℃ | | `meter` | 整数 | 电表读数。**⚠️ 这是 JSON 数值字段 = 平台单位,由设备换算后上报**:送 **Wh**(即硬件 0.1kWh 的读数 ×100,`125500` = `125.5 kWh` = 125500 Wh)。平台**原样存库、不再 ×100** | +> ✅ **平台侧落地情况(2026-09-20)**:本字段**已按此要求落库** —— cabinets.meter_wh(最新读数)+ cabinets.meter_at(收到时刻), +> 并在 cabinet_meter_readings 表**只在读数变化时**追加一条留痕(即**抄表记录**,可直接用于按日统计用电量)。 +> 此前平台只把它写进 Redis(TTL 300 秒)⇒ 上报 5 分钟后即被清掉、历史无法回溯,属实现缺口,现已补齐。 +> ⚠️ 与订单电量 nergy **不是一回事**:meter 是**整柜累计电能**(电表读数,天然累加值),nergy 是**单订单充电量**(协议无此字段,见待确认第 13 项的兜底)。 + > ⚠️ **`temp` / `meter` 与 `channels[]` 不是同一套口径,千万别混**(全文统一规则见 **3.1**): > - **`temp` / `meter` 是 JSON 数值字段 → 设备换算**:示例里的 `29800` / `125500` **就是最终值**,**固件不要再乘 100**。 > - **`channels[]` 是 hex 字节流 → 平台换算**:同一条报文里的 `0143` 是**硬件原始值**(323K),平台会 **×100** 得到 32300(K×100)。