水泵控制 Cluster(PumpConfigurationAndControl)

Cluster ID: 0x0200  |  所在 Endpoint: 通常在 Pump Endpoint(水泵功能端点)

PumpConfigurationAndControl 是 Matter 中控制水泵设备的核心 Cluster, 适用于 HVAC 系统循环泵、生活供水泵、工业用泵等场景。 它定义了水泵的运行模式、控制模式、转速/流量/压力范围、运行状态监控和故障事件上报等全部能力。 水泵类设备的配置和运维都围绕这个 Cluster 展开。

Feature 驱动的控制模式

PumpConfigurationAndControl 的能力差异很大 —— 一个简单的定速泵可能只支持恒定转速模式, 而一台变频泵可能同时支持恒定压力、补偿压力、恒定流量、恒定温度和自动模式。 每种控制模式由对应的 Feature 启用,Feature 还决定了哪些范围属性可用。 开发前先读取 FeatureMap (0xFFFC),确认设备支持哪些控制模式,再决定 UI 布局。

Feature 位图

PumpConfigurationAndControl Cluster 通过 FeatureMap(0xFFFC)声明设备支持哪些控制模式。Feature 直接决定了可用的属性范围和 ControlMode 选项:

Bit 0
PRSCONST(ConstantPressure) 恒定压力 —— 支持 MinConstPressure / MaxConstPressure,ControlMode 可选 ConstantPressure
Bit 1
PRSCOMP(CompensatedPressure) 补偿压力 —— 支持 MinCompPressure / MaxCompPressure,ControlMode 可选 ProportionalPressure
Bit 2
SPD(ConstantSpeed) 恒定转速 —— 支持 MinConstSpeed / MaxConstSpeed,ControlMode 可选 ConstantSpeed
Bit 3
FLW(ConstantFlow) 恒定流量 —— 支持 MinConstFlow / MaxConstFlow,ControlMode 可选 ConstantFlow
Bit 4
TEMP(ConstantTemperature) 恒定温度 —— 支持 MinConstTemp / MaxConstTemp,ControlMode 可选 ConstantTemperature
Bit 5
AUTO(Automatic) 自动模式 —— ControlMode 可选 Automatic,水泵根据系统需求自行调节
Bit 6
LOCAL(LocalOperation) 本地操作 —— OperationMode 可选 Local,允许水泵面板本地控制
Feature 组合示例

一台简单的定速循环泵:FeatureMap = 0x04(仅 SPD),只能以恒定转速运行。
一台变频供水泵:FeatureMap = 0x23(PRSCONST + PRSCOMP + AUTO),支持恒定压力、补偿压力和自动模式。
一台全功能工业泵:FeatureMap = 0x7F(全部 7 个 Feature),支持所有控制模式和本地操作。

属性详解

PumpConfigurationAndControl Cluster 的属性按功能分为五组。点击下方汇总表中的属性 ID 可跳转到对应的详细说明。

ID 名称 类型 分组 说明
0x0000 MaxPressure int16 / null 设备能力上限 最大压力(1/10 kPa)
0x0001 MaxSpeed uint16 / null 设备能力上限 最大转速(RPM)
0x0002 MaxFlow uint16 / null 设备能力上限 最大流量(1/10 m³/h)
0x0003 MinConstPressure int16 / null 控制范围 恒定压力模式最小值
0x0004 MaxConstPressure int16 / null 控制范围 恒定压力模式最大值
0x0005 MinCompPressure int16 / null 控制范围 补偿压力模式最小值
0x0006 MaxCompPressure int16 / null 控制范围 补偿压力模式最大值
0x0007 MinConstSpeed uint16 / null 控制范围 恒定转速模式最小值
0x0008 MaxConstSpeed uint16 / null 控制范围 恒定转速模式最大值
0x0009 MinConstFlow uint16 / null 控制范围 恒定流量模式最小值
0x000A MaxConstFlow uint16 / null 控制范围 恒定流量模式最大值
0x000B MinConstTemp int16 / null 控制范围 恒定温度模式最小值
0x000C MaxConstTemp int16 / null 控制范围 恒定温度模式最大值
0x0010 PumpStatus bitmap16 运行状态 水泵状态位图
0x0011 EffectiveOperationMode OperationModeEnum 运行状态 实际生效的运行模式
0x0012 EffectiveControlMode ControlModeEnum 运行状态 实际生效的控制模式
0x0013 Capacity int16 / null 运行状态 当前工作点容量
0x0014 Speed uint16 / null 运行状态 当前转速(RPM)
0x0015 LifetimeRunningHours uint24 / null 累计统计 累计运行小时数
0x0016 Power uint24 / null 累计统计 当前功率(W)
0x0017 LifetimeEnergyConsumed uint32 / null 累计统计 累计耗电量(Wh)
0x0020 OperationMode OperationModeEnum 控制参数 运行模式(可写)
0x0021 ControlMode ControlModeEnum 控制参数 控制模式(可写)
无命令(Commands)

PumpConfigurationAndControl Cluster 没有定义任何命令。 所有控制操作通过写入属性完成 —— 写入 OperationMode (0x0020) 切换运行模式, 写入 ControlMode (0x0021) 切换控制模式。这与大部分 HVAC 类 Cluster 的设计一致。

设备能力上限(0x0000 ~ 0x0002)

描述水泵硬件的物理极限参数。这三个属性是只读的,由设备固件在出厂时设定,代表水泵能达到的最大性能指标。

ID 名称 类型 说明
0x0000 MaxPressure
最大压力
int16 / null 水泵能输出的最大压力,单位 1/10 kPa。例如 3200 = 320.0 kPa。Nullable —— null 表示设备未提供此参数
0x0001 MaxSpeed
最大转速
uint16 / null 水泵电机的最大转速,单位 RPM。例如 2900 = 2900 转/分钟。Nullable
0x0002 MaxFlow
最大流量
uint16 / null 水泵能输出的最大流量,单位 1/10 m³/h。例如 500 = 50.0 m³/h。Nullable
压力和流量的单位精度

MaxPressure 和 MaxFlow 的单位分别是 1/10 kPa 和 1/10 m³/h, 不是整数 kPa 和 m³/h。例如值为 3200 表示 320.0 kPa,值为 500 表示 50.0 m³/h。 界面展示时记得除以 10。温度类属性(MinConstTemp / MaxConstTemp)也是 1/10 °C 精度。

控制范围(0x0003 ~ 0x000C)

定义各控制模式下设定值的有效范围。每种控制模式对应一对 Min/Max 属性, 只有设备支持对应 Feature 时这对属性才存在。App 在渲染滑块或输入框时应以这些值为上下限。

ID 名称 类型 Feature 说明
0x0003 MinConstPressure
恒定压力下限
int16 / null PRSCONST 恒定压力模式下可设定的最小压力,单位 1/10 kPa
0x0004 MaxConstPressure
恒定压力上限
int16 / null PRSCONST 恒定压力模式下可设定的最大压力,单位 1/10 kPa
0x0005 MinCompPressure
补偿压力下限
int16 / null PRSCOMP 补偿压力模式下可设定的最小压力,单位 1/10 kPa
0x0006 MaxCompPressure
补偿压力上限
int16 / null PRSCOMP 补偿压力模式下可设定的最大压力,单位 1/10 kPa
0x0007 MinConstSpeed
恒定转速下限
uint16 / null SPD 恒定转速模式下可设定的最小转速,单位 RPM
0x0008 MaxConstSpeed
恒定转速上限
uint16 / null SPD 恒定转速模式下可设定的最大转速,单位 RPM
0x0009 MinConstFlow
恒定流量下限
uint16 / null FLW 恒定流量模式下可设定的最小流量,单位 1/10 m³/h
0x000A MaxConstFlow
恒定流量上限
uint16 / null FLW 恒定流量模式下可设定的最大流量,单位 1/10 m³/h
0x000B MinConstTemp
恒定温度下限
int16 / null TEMP 恒定温度模式下可设定的最小温度,单位 1/10 °C
0x000C MaxConstTemp
恒定温度上限
int16 / null TEMP 恒定温度模式下可设定的最大温度,单位 1/10 °C
恒定压力 vs 补偿压力

恒定压力(ConstantPressure):水泵维持固定的出口压力,不管流量如何变化。适合供水系统,保证各出水口压力稳定。
补偿压力(ProportionalPressure / CompensatedPressure):水泵根据流量自动调整压力 —— 流量小时压力低,流量大时压力高。 适合大型管网系统,在低负荷时节能。

运行状态(0x0010 ~ 0x0014)

反映水泵当前的实时运行状况。这些属性都是只读的,由设备自动维护。

ID 名称 类型 说明
0x0010 PumpStatus
水泵状态位图
bitmap16 水泵当前状态的位图标志,包含运行/故障/远程控制等信息。详见下方 PumpStatus 位图 章节。可选属性
0x0011 EffectiveOperationMode
实际运行模式
OperationModeEnum 水泵实际生效的运行模式。可能与写入的 OperationMode 不同 —— 例如设备处于本地面板控制时,即使远程写入 Normal,实际仍为 Local
0x0012 EffectiveControlMode
实际控制模式
ControlModeEnum 水泵实际生效的控制模式。当 OperationMode 为 Minimum 或 Maximum 时,设备会覆盖 ControlMode 的设定值
0x0013 Capacity
当前容量
int16 / null 水泵当前工作点的容量值,单位和含义取决于当前控制模式(压力 / 转速 / 流量 / 温度)。Nullable
0x0014 Speed
当前转速
uint16 / null 水泵电机当前实际转速,单位 RPM。Nullable。可选属性
Effective vs 写入值

EffectiveOperationMode 和 EffectiveControlMode 是只读的「实际生效值」, OperationMode 和 ControlMode 是可写的「期望值」。 两者可能不一致 —— 例如写入 OperationMode = Normal 后, 如果水泵面板切换到本地控制,EffectiveOperationMode 会变为 Local。 App 界面应以 Effective 值为准显示当前状态。

累计统计(0x0015 ~ 0x0017)

记录水泵的运行时长和能耗数据,用于运维和能效分析。

ID 名称 类型 说明
0x0015 LifetimeRunningHours
累计运行小时
uint24 / null 水泵从出厂至今的累计运行小时数。可读写(支持重置)。默认值 0。Nullable。可选属性
0x0016 Power
当前功率
uint24 / null 水泵当前消耗的电功率,单位 W。例如 1500 = 1.5 kW。Nullable。可选属性
0x0017 LifetimeEnergyConsumed
累计耗电量
uint32 / null 水泵从出厂至今的累计耗电量,单位 Wh。可读写(支持重置)。默认值 0。Nullable。可选属性
运维提示

LifetimeRunningHours 对水泵维保非常重要 —— 大部分水泵的维保周期按运行小时计算(如每 8000 小时更换密封件)。 App 可以基于此属性实现「维保到期提醒」功能。 LifetimeEnergyConsumed 单位是 Wh(瓦时),界面展示时通常转换为 kWh(除以 1000)。

控制参数(0x0020 ~ 0x0021)

水泵的核心控制属性 —— 通过写入这两个属性控制水泵的运行方式。 这是 PumpConfigurationAndControl 唯一可写的应用属性。

ID 名称 类型 说明
0x0020 OperationMode
运行模式
OperationModeEnum 水泵的运行模式。可读写,默认 Normal (0)。决定水泵以什么方式运行。见下方枚举
0x0021 ControlMode
控制模式
ControlModeEnum 水泵的控制模式。可读写,默认 ConstantSpeed (0)。决定水泵以什么物理量为控制目标。可选属性。见下方枚举

OperationMode 枚举值

0
Normal 正常运行 —— 按 ControlMode 指定的方式调节
1
Minimum 最低速运行 —— 水泵以最低允许转速运转,忽略 ControlMode
2
Maximum 最高速运行 —— 水泵以最大转速运转,忽略 ControlMode
3
Local 本地控制 —— 由水泵面板本地操控,远程设定被忽略。需要 LOCAL Feature

ControlMode 枚举值

ControlMode 决定水泵以什么物理量为调节目标。仅在 OperationMode = Normal 时生效。

0
ConstantSpeed 恒定转速 —— 维持固定转速。需要 SPD Feature
1
ConstantPressure 恒定压力 —— 维持固定出口压力,自动调节转速。需要 PRSCONST Feature
2
ProportionalPressure 补偿压力 —— 压力随流量比例调节,低负荷时节能。需要 PRSCOMP Feature
3
ConstantFlow 恒定流量 —— 维持固定流量,自动调节转速和压力。需要 FLW Feature
5
ConstantTemperature 恒定温度 —— 根据回水温度调节流量,适合供暖循环。需要 TEMP Feature
7
Automatic 自动模式 —— 水泵自行选择最优控制方式。需要 AUTO Feature
枚举值不连续

注意 ControlMode 枚举值不是连续的 —— 没有 4 和 6。 ConstantTemperature 是 5,Automatic 是 7。 解析时不能用数组下标直接映射,需要显式匹配。

PumpStatus 位图

PumpStatus (0x0010) 是一个 16 位位图,每个位代表水泵的一种状态标志。 多个位可以同时为 1 —— 例如水泵正在运行且处于本地控制时,Running 和 LocalOverride 同时置位。

Bit 0
DeviceFault 设备故障 —— 水泵硬件发生故障
Bit 1
SupplyFault 供电故障 —— 电源异常(缺相、电压异常等)
Bit 2
SpeedLow 转速偏低 —— 实际转速低于设定值
Bit 3
SpeedHigh 转速偏高 —— 实际转速高于设定值
Bit 4
LocalOverride 本地覆盖 —— 水泵面板正在本地控制,远程设定被忽略
Bit 5
Running 运行中 —— 水泵电机正在转动
Bit 6
RemotePressure 远程压力传感器 —— 压力由外部传感器提供(非水泵内置)
Bit 7
RemoteFlow 远程流量传感器 —— 流量由外部传感器提供
Bit 8
RemoteTemperature 远程温度传感器 —— 温度由外部传感器提供
状态位图读取示例

PumpStatus = 0x0020(十进制 32)= Bit 5 置位 = 水泵正在运行(Running),其他状态均正常。
PumpStatus = 0x0023(十进制 35)= Bit 0 + Bit 1 + Bit 5 = 水泵运行中,但有设备故障和供电故障 —— 需要立即告警。

事件(Events)

PumpConfigurationAndControl 定义了 17 个事件,全部用于故障和异常上报。 这是 Matter 中事件最多的 Cluster 之一 —— 水泵作为关键基础设施,需要细粒度的故障分类。 所有事件均无数据字段,事件本身即代表对应状况的发生。

ID 名称 优先级 说明
0x00 SupplyVoltageLow WARNING 供电电压过低
0x01 SupplyVoltageHigh WARNING 供电电压过高
0x02 PowerMissingPhase WARNING 三相电缺相
0x03 SystemPressureLow WARNING 系统压力过低
0x04 SystemPressureHigh WARNING 系统压力过高
0x05 DryRunning CRITICAL 干转(水泵无水运行,可能烧毁)
0x06 MotorTemperatureHigh WARNING 电机温度过高
0x07 PumpMotorFatalFailure CRITICAL 电机致命故障(需立即停机)
0x08 ElectronicTemperatureHigh WARNING 控制板温度过高
0x09 PumpBlocked CRITICAL 水泵堵转(叶轮卡住)
0x0A SensorFailure WARNING 传感器故障
0x0B ElectronicNonFatalFailure WARNING 控制板非致命故障
0x0C ElectronicFatalFailure CRITICAL 控制板致命故障
0x0D GeneralFault INFO 通用故障(未归类的一般性问题)
0x0E Leakage WARNING 泄漏 —— 检测到水泵或管路漏水
0x0F AirDetection WARNING 气体检测 —— 管路中检测到空气
0x10 TurbineOperation WARNING 涡轮流量异常 —— 涡轮流量计检测到异常流量
CRITICAL 事件需立即响应

标记为 CRITICAL 的事件(DryRunning、PumpMotorFatalFailure、PumpBlocked、ElectronicFatalFailure) 表示水泵可能正在遭受不可逆损伤。App 收到这些事件时应立即弹出全屏告警, 建议用户停机检查。干转(DryRunning)尤其危险 —— 水泵无水运行几分钟就可能烧毁机械密封。

示例数据

一台支持恒定压力控制的变频水泵在正常运行中的 PumpConfigurationAndControl Cluster 读取结果:

{
  // --- 设备能力上限 ---
  "0x0000": 3200,           // MaxPressure = 320.0 kPa(最大压力)
  "0x0001": 2900,           // MaxSpeed = 2900 RPM(最大转速)
  "0x0002": 500,            // MaxFlow = 50.0 m³/h(最大流量)

  // --- 控制范围(恒定压力 Feature)---
  "0x0003": 500,            // MinConstPressure = 50.0 kPa
  "0x0004": 3000,           // MaxConstPressure = 300.0 kPa

  // --- 运行状态 ---
  "0x0010": 32,             // PumpStatus = 0x0020(Running 位置 1)
  "0x0011": 0,              // EffectiveOperationMode = Normal
  "0x0012": 1,              // EffectiveControlMode = ConstantPressure
  "0x0013": 2350,           // Capacity = 2350(当前工作点容量)
  "0x0014": 2450,           // Speed = 2450 RPM(当前转速)

  // --- 累计统计 ---
  "0x0015": 8760,           // LifetimeRunningHours = 8760 小时(约 1 年)
  "0x0016": 1500,           // Power = 1500 W(当前功率)
  "0x0017": 13140000,       // LifetimeEnergyConsumed = 13140 kWh

  // --- 控制参数 ---
  "0x0020": 0,              // OperationMode = Normal(正常运行)
  "0x0021": 1               // ControlMode = ConstantPressure(恒定压力)
}
开发提示

最简单的定速水泵可能只有 MaxPressure、MaxSpeed、MaxFlow、EffectiveOperationMode、EffectiveControlMode 和 OperationMode 这几个核心属性。 控制范围属性(0x0003~0x000C)和 ControlMode 都依赖 Feature。 读取前先检查 FeatureMap (0xFFFC),对不支持的属性发起读取会返回 UNSUPPORTED_ATTRIBUTE。

常见场景

场景 1:HVAC 恒定压力供水

查看步骤
  1. 读取 FeatureMap (0xFFFC),确认设备支持 PRSCONST(Bit 0)
  2. 读取 MinConstPressure (0x0003) 和 MaxConstPressure (0x0004) 获取压力设定范围
  3. 写入 ControlMode (0x0021) = 1(ConstantPressure),将水泵切换到恒定压力模式
  4. 写入 OperationMode (0x0020) = 0(Normal),确保水泵按 ControlMode 运行
  5. 订阅 EffectiveControlMode (0x0012) 确认模式已生效
  6. 订阅 Capacity (0x0013) 和 Speed (0x0014) 实时监控运行状态
  7. 订阅 PumpStatus (0x0010) 监控故障标志,关注 DeviceFault 和 SupplyFault 位

场景 2:水泵故障监控与告警

查看步骤
  1. 订阅全部事件 —— 事件是水泵故障上报的主要通道,比轮询 PumpStatus 更及时
  2. 按事件优先级分级处理:
    • CRITICAL(DryRunning / PumpMotorFatalFailure / PumpBlocked / ElectronicFatalFailure)—— 全屏告警 + 推送通知 + 建议立即停机
    • WARNING(SupplyVoltageLow / SystemPressureHigh / Leakage 等)—— 顶部横幅告警 + 记录日志
    • INFO(GeneralFault)—— 仅记录日志
  3. 定期读取 PumpStatus (0x0010) 位图,检查是否有持续性故障(如 DeviceFault 一直置位)
  4. 读取 LifetimeRunningHours (0x0015),当接近维保周期(如 8000 小时)时提醒用户安排维保
  5. 读取 Power (0x0016) 和 LifetimeEnergyConsumed (0x0017),计算能效趋势 —— 同等负荷下功率异常升高可能预示机械磨损