相对湿度测量 Cluster(RelativeHumidityMeasurement)

Cluster ID: 0x0405  |  所在 Endpoint: 通常在 Endpoint 1(功能端点)

RelativeHumidityMeasurement 用于上报设备测量到的相对湿度值。 这个 Cluster 是纯只读的 —— 没有 Command,只有 4 个 Attribute,结构与 TemperatureMeasurement 完全一致。 湿度传感器、温湿度计、恒温恒湿箱等设备都会用到它。

湿度单位陷阱

所有湿度属性的单位都是 0.01% RH(百分之一的相对湿度百分比)。 例如设备返回 6500,实际湿度是 65.00% RH。 有效范围 0 ~ 10000,对应 0% ~ 100% RH。 值为 null 表示当前测量值无效或未知。

属性总览

RelativeHumidityMeasurement 只有 4 个属性,其中 MeasuredValue 是必须支持的。点击属性 ID 可跳转到详细说明。

ID 名称 类型 读写 说明
0x00 MeasuredValue uint16 / null 只读 当前测量湿度(0.01% RH)
0x01 MinMeasuredValue uint16 / null 只读 传感器可测量的最小湿度
0x02 MaxMeasuredValue uint16 / null 只读 传感器可测量的最大湿度
0x03 Tolerance uint16 只读 测量精度/容差(0.01% RH)

MeasuredValue(当前测量湿度)

设备传感器当前测量到的相对湿度值,单位 0.01% RH。 有效范围是 MinMeasuredValue 到 MaxMeasuredValue 之间。 值为 null 表示传感器暂时无法提供有效读数(如传感器故障或正在初始化)。

换算公式

实际湿度 = MeasuredValue / 100
例如:6500 / 100 = 65.00% RH,3275 / 100 = 32.75% RH

MinMeasuredValue(最小可测量湿度)

传感器能够测量的最小相对湿度值,单位 0.01% RH。 这是硬件能力的下限 —— MeasuredValue 不会低于此值。 值为 null 表示最小值未定义。范围 0 ~ 9999(0% ~ 99.99% RH)。

MaxMeasuredValue(最大可测量湿度)

传感器能够测量的最大相对湿度值,单位 0.01% RH。 MeasuredValue 不会超过此值。 值为 null 表示最大值未定义。范围 1 ~ 10000(0.01% ~ 100% RH),且必须大于 MinMeasuredValue。

Tolerance(测量容差)

传感器的测量精度,单位 0.01% RH。表示实际值与上报值之间的最大偏差。 例如 Tolerance = 200 表示精度为 ±2.00% RH。 范围 0 ~ 2048(0% ~ 20.48% RH)。这是可选属性,不是所有设备都支持。

示例数据

读取一个温湿度传感器的 RelativeHumidityMeasurement Cluster 属性:

{
  // --- 湿度测量 ---
  "0x0": 6500,          // MeasuredValue = 6500 → 实际 65.00% RH
  "0x1": 0,             // MinMeasuredValue = 0 → 0.00% RH
  "0x2": 10000,         // MaxMeasuredValue = 10000 → 100.00% RH
  "0x3": 200            // Tolerance = 200 → ±2.00% RH
}
数据解读

上面的示例表示:当前湿度 65.00% RH,传感器量程 0% ~ 100%,精度 ±2.00%。 App 展示时只需读取 MeasuredValue 并除以 100 即可。如果值为 null, 界面应显示"--"或"暂无数据"而非 0。

常见场景

场景 1:读取并展示当前湿度
  1. 读取 MeasuredValue (0x00),注意处理 null(传感器未就绪或故障)
  2. 除以 100 得到实际百分比,保留两位小数
  3. 可选读取 Tolerance (0x03),在详情页展示精度信息(如"±2%")
  4. 订阅 MeasuredValue 的变化通知,实时更新界面
场景 2:舒适区间自动化
  1. 定义舒适湿度区间,例如 40% ~ 60% RH(对应原始值 4000 ~ 6000)
  2. 订阅 MeasuredValue 变化,当湿度低于 4000 时触发加湿器开启
  3. 当湿度回到 5000 以上时关闭加湿器(留出回差避免频繁开关)
  4. 结合 TemperatureMeasurement Cluster 的温度数据,综合判断环境舒适度
场景 3:除湿机联动控制
  1. 读取 MaxMeasuredValue (0x02) 确认传感器量程覆盖高湿场景
  2. 设定除湿阈值(如 70% RH = 7000),当 MeasuredValue 超过阈值时启动除湿
  3. 除湿目标达到 55% RH(5500)后停止,预留回差防止反复启停
  4. 利用 Tolerance 属性评估判断精度 —— 如果容差较大(如 ±5%),阈值设置应更保守