跳转到内容

SHT3X-D 温湿度传感器

sht3xd 温湿度传感器平台允许您在 ESPHome 中使用 Sensirion SHT31-D/SHT3x (数据手册, Adafruit) 和 SHT85 (数据手册, Sensirion) 传感器。需要在配置中设置 I²C 总线 才能使此传感器工作。

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

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

  • address (可选, 整数): 手动指定传感器的 I²C 地址。默认为 0x44。对于 SHT3x,备用地址可以是 0x45,而 SHT85 仅支持地址 0x44

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

  • heater_enabled (可选, 布尔值): 启动时开启/关闭加热器。这可能在冷凝条件下提供更准确的读数,但副作用是可能增加温度读数并降低湿度读数。默认为 false

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

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

当使用 IDF 框架大于 50-100kHz 的 I²C 频率时,I²C 配置需要包含 timeout 选项。 在 ESP32 上,Arduino 框架的默认 I²C 超时为 50ms,而 IDF 框架的默认超时为 100us。 在这些较高的 I²C 频率下,IDF 框架的默认 I²C 超时会导致设置时出现”Communication with SHT3xD failed”错误。 一个在 ESP32 上以 800kHz 测试过的解决方案是将 I²C 超时增加到 10ms,如下例所示。

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