HDC302x 温度和湿度传感器
hdc302x 传感器平台允许您在 ESPHome 中使用 HDC3020、HDC3021 或 HDC3022
(数据手册,
用户指南,
Adafruit) 传感器。
HDC3020 是开放式腔体封装,HDC3021 带有用于 PCB 组装的可拆卸保护胶带, HDC3022 则带有永久性 IP67 PTFE 过滤器,可防尘防水汽凝结。
此传感器需要在您的配置中设置 I²C 总线。

# Example configuration entrysensor: - platform: hdc302x temperature: name: "Living Room Temperature" humidity: name: "Living Room Humidity" update_interval: 60s-
temperature (可选): 温度传感器的信息。
- 来自 Sensor 的所有选项。
-
humidity (可选): 湿度传感器的信息。
- 来自 Sensor 的所有选项。
-
power_mode (可选,枚举): 触发温度和湿度测量时使用的电源模式。这会 影响测量精度和传感器功耗。
HIGH_ACCURACY(默认): 最高精度,速度较慢,功耗较高。BALANCED: 在精度和功耗之间取得平衡。LOW_POWER: 功耗较低,速度较快,精度较低。ULTRA_LOW_POWER: 最低功耗,最快,精度最低。
-
address (可选,int): 手动指定传感器的 I²C 地址。 默认为
0x44。支持的地址为0x44至0x47。 -
update_interval (可选,Time): 检查传感器的间隔。 默认为
60s。
hdc302x.heater_on 操作
Section titled “hdc302x.heater_on 操作”此操作启用具有指定 ID 的传感器上集成的加热器。 加热器可用于去除湿度传感器上的凝结水,或验证传感器功能。
WARNING
加热器工作时,温度和湿度读数将不准确。 加热器可使芯片温度比环境温度 高出最多 80°C(取决于供电电压和功率等级)。
如果传感器上凝结了水,必须注意避免超过 100°C。 温度过快超过 100°C 可能导致 水滴爆裂并损坏传感器腔体内的聚合物材料。从环境温度升至 100°C 至少需要 5 到 10 秒。
加热器功率取决于 VDD——较高的供电电压会产生更多热量。在 5V 下使用较高功率 等级时请小心。
加热器可蒸发凝结物,但无法去除开放式腔体传感器 (HDC3020、HDC3021)上的溶解污染物。污染物残留可能影响湿度测量并导致漂移。HDC3022 的 IP67 PTFE 过滤器可在蒸发过程中防护溶解污染物。
on_...: then: - hdc302x.heater_on: id: my_hdc302x power: QUARTER duration: 5s- id(必选,ID): HDC302x 传感器的 ID。
- power (可选): 加热器功率等级。较高功率可更快去除凝结物,
但会增加芯片温度。默认为
QUARTER。QUARTER: 最低功率,最安全选项。HALFFULL: 最大功率。请谨慎使用——参见上方警告。- 也可以使用
0到16383之间的原始整数值,以精细控制 14 位加热器电流控制。详见数据手册表 7-15。
- duration (可选,Time): 加热器运行时长。
设置为
0s可保持加热器开启,直到手动使用hdc302x.heater_off关闭。默认为5s。
hdc302x.heater_off 操作
Section titled “hdc302x.heater_off 操作”此操作禁用具有指定 ID 的传感器上集成的加热器。 关闭加热器后,请等待数分钟让传感器冷却,然后再期望获得准确读数。
on_...: then: - hdc302x.heater_off: my_hdc302x在凝结环境中,当环境温度降至露点以下时,传感器上可能形成湿气,导致湿度读数不准确。集成的加热器可用于蒸发这些凝结物。
WARNING
使用加热器前,请阅读上方加热器安全注意事项。除凝 结的时机和功率需求因您的电路板布局和供电电压而异。
详见数据手册第 7.3.7 节,以及 HDC3x Silicon 用户指南第 3.6 节获取详细指导。
要去除凝结物,使用 duration: 0s 启用加热器以保持其运行,监测湿度读数,
并在读数降至接近 0%(表示凝结物已去除)或最多 5 分钟后禁用加热器。禁用加热器后,请等待数分钟让传感器冷却,然后再期望
获得准确读数。
sensor: - platform: hdc302x id: my_hdc302x temperature: name: "Temperature" humidity: name: "Humidity" id: hdc302x_humidity on_value_range: - above: 95.0 then: - script.execute: hdc302x_condensation_removal update_interval: 10s
script: - id: hdc302x_condensation_removal mode: single then: - hdc302x.heater_on: id: my_hdc302x power: QUARTER duration: 0s - wait_until: condition: sensor.in_range: id: hdc302x_humidity below: 1.0 timeout: 5min - hdc302x.heater_off: my_hdc302x