外观
Battery Temperature(电池温度)
作用域属性:[设备级 · 整机环境](Device Scope )
Owner恢复验收 · 2026-10-26: 电池原始温度和摄氏温度依序待验,尚无本批新数据或结论。沿用原始字段质量与Raw/100公式;缺值仍为missing ,不补0。全指标恢复计划。
1. 定义与业务价值
Battery Temperature 是电池内置热敏传感器的温度读数。它是电池自身的温度,不等于 SoC(芯片)温度,也不等于机身表面温度——三者是不同的物理测量点,不应互相替代或混用。
2. metricID / scope / unit / source
| 指标 | metricID | unit | sourceKey | definitionVersion |
|---|---|---|---|---|
| Battery Temperature Raw | ios.device.battery.temperature_raw | source-native | Temperature | battery-temperature-raw.v1 |
| Battery Temperature | ios.device.battery.temperature_celsius | degree-celsius | Temperature/100 | centi-celsius-to-celsius.candidate.v1 |
scope = device,source = diagnostics.ioregistry。取自当前 Registry 。
3. iOS 系统原理
电池管理芯片内置热敏传感器持续监测电池自身温度,是系统电源管理决策(如充电限流)的输入之一,但不是系统级 Thermal State 枚举的直接来源——两者是不同的证据维度,详见 Thermal Status。
4. 系统服务 / 通信通道 / 采集命令与实现
通道:Lockdown 通道下的系统诊断服务 com.apple.mobile.diagnostics_relay,与 Battery Electrical 共用同一 20 秒固定采样节拍,但独立于 Battery 电学门禁——不需要 battery-only 状态即可采集。
5. 原始字段与字段语义
Temperature:诊断接口上报的原始温度字段,取值范围约 0–8000(centi-Celsius,百分之一摄氏度)。
6. 精确公式
text
TemperatureRaw = Temperature(原始 source-native 值,不做换算)
TemperatureCelsius = Temperature / 1007. Clock / Window / Freshness
随 Device Condition 的 20 秒固定节拍产出。
8. Baseline / Reset / Discontinuity
无 counter 语义,无前值依赖。
9. Quality:valid / candidate / missing
字段存在且为合理数值范围 → candidate;字段缺失 → missing。质量判定独立于 Battery Electrical 的 battery-only 门禁。
10. 合法 0 的条件
转换后的0°C属于当前0–80°C候选边界,不以“数值为0”自动置空;仍须核源字段/单位/质量。0°C是否为实际设备温度需独立证据,不能从合法数值推断物理校准。
11. 当前证据、校准与平台覆盖
CORE-20(2026-09-05)已在 iOS 17/18 真机验证该字段可独立于 Battery 电学门禁正常产出(Partial 状态)。当前没有证据支持固定的“多少度就进入某个 Thermal Status 或触发具体降频”映射表。Battery Temperature 与系统 Thermal Status 是不同证据维度;温度趋势可以作为热环境背景,但不能自行定义摄氏度阈值去推导系统热状态或具体 CPU/GPU 频率变化。
12. 如何分析:能得到什么结论,不能得到什么结论
能得到:电池自身温度的趋势,可用于长稳测试中观察发热积累情况。
不能得到:
- 不能把电池温度等同于 SoC 温度或机身表面温度——三者是不同测量点,一个升高不代表另外两个同幅度升高;
- 不能用固定摄氏度数字(如“超过 40℃”)直接映射为 Thermal Throttling 已触发——电池温度只是相关证据之一;即使能够取得可信的 Thermal Status,它也描述系统热压力状态,而不是某个 CPU/GPU 频率已经下降多少;
- 长稳测试中性能下降与电池温升同窗出现,只能提示 thermal 影响的可能性,不能单独作为确诊依据。
13. 常见误区
- 把电池温度当作 SoC 温度使用;
- 自行制定"35/38/41℃"等固定阈值映射到 nominal/fair/serious/critical 等系统状态标签——这类映射没有官方依据。
14. Legacy / 历史实现
battery-temperature-raw.v1 / centi-celsius-to-celsius.candidate.v1 是当前实现版本。
15. 版本历史与来源批次
本页由 site/knowledge/metrics/energy-battery-thermal.md 拆分而来,历史沿革见 Energy/Battery/Thermal 技术演进与实验。
| 版本 | 日期 | 修订要点 |
|---|---|---|
| v1(本页) | 2026-09-18 | 从 energy-battery-thermal.md 拆出,成为 Battery Temperature 独立 Canonical;明确电池温度≠SoC温度≠机身表面温度,删除固定温度到 Thermal State 的映射暗示。 |
| 验收恢复 | 2026-10-26 | Owner恢复Raw与摄氏温度的顺序验收;公式和历史证据不变;恢复计划。 |
2026-10-04 导出与质量修订
batteryTemperatureRaw通过原ios.device.battery.temperature_raw直接投影(不新建metricID),Swift缺旧键默认nil。温度Raw与Celsius同时进入新会话stored CSV以及session-export.v3 review CSV/JSONL;质量/单位/scope沿来源,不把温度源可见等同Thermal状态可见,也不把独立Fixture self thermal枚举当电池温度参考。原始温度字段存在可保留,Celsius仅0≤Raw≤8000时Raw/100,缺失/异常仍null;换算版本未改。当前整体54项独立校准/五轮100%仍partial。本批依据。
| 导出修订 | 日期 | 来源 |
|---|---|---|
| v1映射不变、session-export.v3 | 2026-10-04 | Raw直投/双CSV补列,合法0与缺失分开;E2匹配测试,不提升物理准确性 |