跳转到内容

SHT3X-D 温度+湿度传感器

sht3xd 传感器平台的温度+湿度传感器允许您在 ESPHome 中使用 Sensirion SHT31-D/SHT3x(数据手册,Adafruit)和 SHT85(数据手册,Sensirion)传感器。要在您的配置中使该传感器正常工作,必须先设置好 I²C 总线。

# 示例配置条目
sensor:
- platform: sht3xd
temperature:
name: "Living Room Temperature"
humidity:
name: "Living Room Humidity"
address: 0x44
update_interval: 60s
  • temperature (可选): 温度传感器的信息。

  • humidity (可选): 湿度传感器的信息。

  • address (可选, int): 手动指定传感器的 I²C 地址。默认为 0x44。对于 SHT3x,另一个可用地址为 0x45;SHT85 仅支持地址 0x44。

  • update_interval (可选, Time): 检查传感器的间隔。默认为 60s。

  • heater_enabled (可选, bool): 在启动时打开/关闭加热器。 这可能有助于在冷凝条件下提供更准确的读数,但也会产生提高温度读数和降低湿度读数的副作用。默认为 false。

使用较高 I²C 频率时的 I²C 配置

Section titled “使用较高 I²C 频率时的 I²C 配置”

在使用 IDF 框架 和 I²C 频率大于 50–100kHz 时,I²C 配置需要包含 timeout(超时) 选项。 在 ESP32 上,Arduino 框架的默认 I²C 超时为 50ms,而 IDF 框架的默认超时为 100us。 在这些较高的 I²C 频率下,IDF 框架的默认 I²C 超时会在设置时产生”SHT3xD 通信失败”的错误。 一个经过 ESP32 在 800kHz 测试的解决方案是将 I²C 超时增加到 10ms,如下例所示。

# I²C 配置示例
i2c:
sda: 21
scl: 22
scan: true
frequency: 800kHz
timeout: 10ms