Skip to content

Battery Electrical(电池放电电流 / 电压 / 功率) ​

作用域属性:[设备级 · 整机环境](Device Scope ) 当前产品状态:Unsupported(尚未取得任何一次真实 battery-only 放电数值,见第 11 节)

Owner恢复验收 · 2026-10-26: 电流、电压、功率依次恢复待验,当前没有新增正式数据,产品状态仍为 Unsupported。验收必须观察到合法battery-only放电样本;若USB/外接或正在充电,按现有质量合同置missing ,不把缺值当通过。正式状态见全指标恢复计划。

1. 定义与业务价值 ​

Battery Current / Voltage / Power 的目标语义是设备电池在纯电池放电状态下的电流、工作电压与功率。它们属于物理电学量,但 Perfowl 当前产品状态仍是 Unsupported:截至现有证据,还没有取得一次通过 battery-only 门禁的真机数值,因此不能把当前能力描述成“已经获得真实放电数据”。

2. metricID / scope / unit / source ​

指标metricIDunitsourceKeydefinitionVersion
Battery Currentios.device.battery.currentmilliampereInstantAmperage when ExternalConnected=false and IsCharging=falsebattery-discharge-current.candidate.v2
Battery Voltageios.device.battery.voltagemillivoltVoltage when ExternalConnected=false and IsCharging=falsebattery-voltage.candidate.v2
Battery Powerios.device.battery.powermilliwattabs(InstantAmperage)*Voltage/1000 in same battery-only snapshotbattery-discharge-power.candidate.v2

全部 scope = device,source = diagnostics.ioregistry。取自当前 Registry 。

3. iOS 系统原理 ​

设备电池的电学状态(电流方向、电压、是否充电、是否外接电源)由系统电源管理维护,可通过诊断接口读取。放电电流的符号与外接电源状态直接相关——外接电源时电流方向、大小均不代表电池自身放电情况。

4. 系统服务 / 通信通道 / 采集命令与实现 ​

通道:Lockdown 通道下的系统诊断服务 com.apple.mobile.diagnostics_relay(IOPMPowerSource 电源信息)。采集节拍:首次立即 + monotonic 固定 deadline 20 秒(CORE-20,2026-09-05 冻结),超时跳过已错过窗口,不累积读取漂移、不追赶式连发,避免高频请求干扰被测机电源管理。

5. 原始字段与字段语义 ​

  • ExternalConnected:是否接有外部电源(如 USB);
  • IsCharging:是否正在充电;
  • InstantAmperage:瞬时电流(正负号表示方向);
  • Voltage:瞬时电压。

6. 精确公式 ​

Battery-Only 门禁(必须同时满足才计算):

text
ExternalConnected == false
AND IsCharging == false
AND InstantAmperage <= 0(放电方向)
text
Power(mW) = abs(InstantAmperage(mA)) × Voltage(mV) / 1000

Current 与 Voltage 必须来自同一快照;Power 计算时 Current/Voltage 任一无效则整体 value=null,不跨快照补值。

7. Clock / Window / Freshness ​

固定 20 秒采样节拍,Device Condition 首次立即采样,之后按 start + N×20s 推进;超时的窗口直接跳过,不做追赶式补发。

8. Baseline / Reset / Discontinuity ​

无 counter 语义;每次快照独立判定 battery-only 门禁是否成立。

9. Quality:valid / candidate / missing ​

  • 外接电源、充电中、状态字段缺失、电流为正(非放电方向)→ fail-closed,三项均为 missing(标记 external-power-connected),绝不发布伪造的 0 或符号不明的电流作为电池功耗;
  • Battery-only 门禁成立且字段有效 → candidate。

10. 合法 0 的条件 ​

理论上电流可以为 0(设备极低功耗待机状态),需在 battery-only 门禁成立的前提下才有意义;门禁不成立时一律 missing,不得展示为 0。

11. 当前证据、校准与平台覆盖(如实披露,这是当前证据最薄弱的一组指标) ​

CORE-20(2026-09-05)真机验收证明了 20 秒节拍与 USB fail-closed 规则本身工作正常(E4):iOS 17/18 最终打包 Collector 各产生 2 个 Device Condition raw,两次采样间隔 19.983/19.987 秒;USB 连接下三项均正确输出 value=null / external-power-connected。但截至最新已整理的 devlog 时间线,Perfowl 从未取得过一次真实的 Wi-Fi battery-only 放电数值——site/devlog/index.md 的"未关门门禁"表格明确记录:

Battery 放电数值:Wi-Fi 发现与采集已完成;iOS 17/18 仍均报告 ExternalConnected=true,三项 null 是正确门禁;等待物理断开 USB 和充电器,保持 Wi-Fi,运行至少 40 秒 Session。

如实结论:这三项指标的产品状态是 Unsupported(不是 candidate,更谈不上生产可用)。fail-closed 逻辑本身已验证正确,但"设备真的处于纯电池状态时数值长什么样"这一核心问题,截至当前证据整理仍是完全开放的门禁。任何声称已经取得这三项真机数值证据的表述都与现有记录矛盾。

12. 如何分析:能得到什么结论,不能得到什么结论 ​

能得到:按当前候选合同,只有 battery-only 门禁成立且字段有效时才允许形成电流/电压/功率候选快照;在完成至少一次真实 battery-only E4 语义验证前,不应把这一能力写成“真实放电数据已可用”。

不能得到:当前完全不能——因为还没有一次真实达成过 battery-only 门禁的已知数据点。在 fail-closed 逻辑验证通过之前,任何呈现的"电流/电压/功率"数字都必须先确认三项质量状态不是 missing。

13. 常见误区 ​

  • 把"USB 连接下显示为空横杠"误认为是采集故障——这是正确的 fail-closed 保护;
  • 把 Unsupported 产品状态误当作已经可用的 candidate。

14. Legacy / 历史实现 ​

battery-discharge-current.candidate.v2 / battery-voltage.candidate.v2 / battery-discharge-power.candidate.v2 是当前唯一实现版本。

15. 版本历史与来源批次 ​

本页由 site/knowledge/metrics/energy-battery-thermal.md 拆分而来,历史沿革见 Energy/Battery/Thermal 技术演进与实验。

版本日期修订要点
v1(本页)2026-09-18从 energy-battery-thermal.md 拆出,成为 Battery Electrical 独立 Canonical;如实披露"从未取得真实 battery-only 放电数据"的当前状态,纠正旧页"⚡️条件受限"暗示的乐观程度。
验收恢复2026-10-26Owner恢复电流、电压、功率的顺序验收;无新真机数值,Unsupported维持;恢复计划。

Perfowl · Performance Observer