活性炭滤芯监测 Cluster(ActivatedCarbonFilterMonitoring)
Cluster ID: 0x0072 |
所在 Endpoint: 功能端点(通常为 Endpoint 1 或独立滤芯端点)
ActivatedCarbonFilterMonitoring 用于监测活性炭滤芯的生命周期 —— 剩余寿命、降解方向、更换提醒、替换产品信息。
它与 HEPA Filter Monitoring(0x0071)结构完全相同(相同的属性、命令、枚举),区别仅在滤芯类型。
HEPA 滤芯捕捉颗粒物(PM2.5、粉尘、花粉、宠物毛发),靠物理拦截。
活性炭滤芯吸附气态污染物(甲醛、VOC、异味、烟味),靠化学吸附。
空气净化器通常同时搭载两层滤芯,各自有独立的寿命周期 —— 因此需要两个独立的 Cluster 分别监测。
Feature Map(功能位)
三个可选功能位决定设备支持哪些属性,与 HEPA Filter Monitoring 完全一致。
属性总览
所有属性均与 HEPA Filter Monitoring 相同,Feature 列标注需要哪个功能位。
| ID | 名称 | 类型 | Feature | 说明 |
|---|---|---|---|---|
0x00 |
Condition | percent | CON | 滤芯剩余寿命百分比(0~100) |
0x01 |
DegradationDirection | enum8 | CON | 降解方向(值变小=更旧 or 值变大=更旧) |
0x02 |
ChangeIndication | enum8 | 必选 | 当前更换状态(OK / Warning / Critical) |
0x03 |
InPlaceIndicator | bool | 可选 | 滤芯是否已安装到位 |
0x04 |
LastChangedTime | epoch-s | 可选 | 上次更换滤芯的时间戳 |
0x05 |
ReplacementProductList | list | REP | 推荐替换产品列表 |
Condition(滤芯剩余寿命)
0~100 的百分比值,表示活性炭滤芯的剩余吸附能力。100 表示全新,0 表示完全耗尽(当 DegradationDirection = Down 时)。
活性炭的衰减速度取决于环境中 VOC/异味的浓度,高污染环境下消耗更快。
DegradationDirection(降解方向)
告诉 App 端 Condition 值的含义方向。
ChangeIndication(更换状态)
设备对滤芯当前状态的综合判断。必选属性,即使不支持 CON Feature 也必须实现。
InPlaceIndicator(滤芯安装状态)
true 表示滤芯已正确安装,false 表示滤芯缺失或未装好。
带有物理检测开关的设备可以在用户取出滤芯时自动更新此值。
LastChangedTime(上次更换时间)
Unix 时间戳(秒),记录上一次更换活性炭滤芯的时间。配合 Condition 可以计算滤芯的实际使用天数和平均消耗速度。 用户更换滤芯并执行 ResetCondition 命令后,设备应更新此值。
ReplacementProductList(替换产品列表)
设备推荐的替换滤芯产品列表,每条记录包含产品标识类型和标识值。App 可据此直接引导用户购买。
| 字段 | 类型 | 说明 |
|---|---|---|
| ProductIdentifierType | enum8 | 标识类型(见下方枚举) |
| ProductIdentifierValue | string | 标识值(如 UPC 码、EAN 码、型号等) |
ProductIdentifierTypeEnum 枚举值
命令(Commands)
只有一个命令,用于更换滤芯后重置状态。
| ID | 名称 | 说明 |
|---|---|---|
0x00 |
ResetCondition | 重置滤芯状态(更换滤芯后调用) |
ResetCondition —— 重置滤芯状态(0x00)
用户更换活性炭滤芯后,通过 App 发送此命令。设备收到后应将 Condition 恢复到 100(或 0,取决于 DegradationDirection), 将 ChangeIndication 重置为 OK,并更新 LastChangedTime 为当前时间。无参数,直接发送即可。
请求示例:
{
"invokeRequests": [{
"commandPath": {
"endpointId": 1,
"clusterId": "0x0072",
"commandId": "0x00" // ResetCondition
},
"commandFields": {}
}]
}
示例数据
读取一台空气净化器的活性炭滤芯状态:
{
// --- 属性(ActivatedCarbonFilterMonitoring Cluster) ---
"0x0": 72, // Condition = 72%(滤芯剩余寿命)
"0x1": 0, // DegradationDirection = Down(值越小越需更换)
"0x2": 1, // ChangeIndication = Warning(建议更换)
"0x3": true, // InPlaceIndicator = true(滤芯已安装)
"0x4": 1718380800, // LastChangedTime = 2024-06-15T00:00:00Z
"0x5": [{ // ReplacementProductList
"productIdentifierType": 3,
"productIdentifierValue": "AC-FILTER-2024-VOC"
}]
}
应用场景
一台空气净化器同时搭载 HEPA 滤芯和活性炭滤芯,分别放在两个 Endpoint 上(或同一 Endpoint 上两个不同的 Cluster)。 App 需要分别显示两层滤芯的寿命,因为它们的消耗速度不同 —— PM2.5 高的环境 HEPA 先耗尽,装修房间则活性炭先耗尽。
{
// Endpoint 1 — HEPA 滤芯(HEPAFilterMonitoring 0x0071)
"hepa": {
"0x0": 45, // Condition = 45%
"0x2": 1 // ChangeIndication = Warning
},
// Endpoint 2 — 活性炭滤芯(ActivatedCarbonFilterMonitoring 0x0072)
"carbon": {
"0x0": 78, // Condition = 78%
"0x2": 0 // ChangeIndication = OK
}
}
App 端建议用双进度条或双环形图分别展示,让用户一目了然知道该换哪层滤芯。
智能新风系统内置 VOC 传感器,结合活性炭滤芯的 Condition 属性,可以分析滤芯的实际吸附效率 —— 当 VOC 浓度持续偏高且 Condition 下降到 50% 以下时,说明吸附能力明显衰减,App 可提前推送更换建议, 而不是等到 ChangeIndication 变为 Critical 才通知用户。
结合 LastChangedTime 还可以统计滤芯的平均使用寿命,帮助用户规划耗材采购周期。
两个 Cluster 的属性、命令、枚举定义完全一致,仅 Cluster ID 不同(HEPA = 0x0071,活性炭 = 0x0072)。
App 开发时可以复用同一套 UI 组件和数据解析逻辑,只需根据 Cluster ID 显示不同的滤芯名称和图标即可。