跳转到内容

SGP30 CO₂ 和挥发性有机化合物传感器

sgp30 传感器平台允许您使用 Sensirion SGP30 多像素气体传感器 (数据手册) 或 SVM30 分线板 (产品页面) 与 ESPHome 配合使用。 需要在配置中设置 I²C 总线 才能使此传感器工作。

# 示例配置条目
sensor:
- platform: sgp30
eco2:
name: "eCO2"
tvoc:
name: "TVOC"
  • eco2 (可选): CO₂eq 传感器的信息。

    • 来自 Sensor 的所有选项。
  • tvoc (可选): 总挥发性有机化合物传感器的信息。

    • 来自 Sensor 的所有选项。
  • store_baseline (可选, 布尔值): 当计算或更新时持久存储传感器基线值。 默认为 true

  • address (可选, 整数): 手动指定传感器的 I²C 地址。 默认为 0x58

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

高级选项:

  • baseline (可选): 包含用于校准目的的基线值的块。有关更多信息,请参阅 校准基线

    • eco2_baseline (必需, 整数): 用于校准目的的 eCO2 基线值。OTA 更新后,此值用于校准传感器。

    • tvoc_baseline (必需, 整数): 用于校准目的的 TVOC 基线值。OTA 更新后,此值用于校准传感器。

  • eco2_baseline (可选): CO₂eq 基线值传感器的信息。基线值以十进制发布。

    • 来自 Sensor 的所有选项。
  • tvoc_baseline (可选): TVOC 基线值传感器的信息。基线值以十进制发布。

    • 来自 Sensor 的所有选项。
  • compensation (可选): 包含用于补偿的传感器的块。必须提供两个值才能生成要报告给传感器的绝对湿度。

    • temperature_source (可选, ID): 在此处提供外部温度传感器 ID。 数据必须以摄氏度为单位。这可以改善传感器的内部计算。

    • humidity_source (可选, ID): 在此处提供外部相对湿度传感器 ID。 这可以改善传感器的内部计算。

SGP30 传感器每次通电时都会重新校准其基线。首次通电时,这最多需要 12 小时。 建议在校准期间累计至少 10 分钟暴露于室外空气中。

为了获得最佳性能和更快的启动时间,需要在关闭设备之前持久存储当前基线,并在启动后相应地再次设置。 这意味着如果传感器在空气比正常情况更不清洁的时间重新启动,数值将会有恒定的偏移,无法与上次启动前的数值进行比较。

使用 store_baseline 选项将在校准后或操作期间更新时自动存储基线值。启动时,存储的值将 在传感器中重新应用。存储的基线在 OTA 后会被清除。

另一种方法是在配置文件中手动指定基线值。为此,让传感器在未设置基线的情况下启动,让传感器自行校准。 大约 12 小时后,您可以查看 ESP 上的远程日志。下次读取传感器时,您将看到类似 Current eCO2 baseline: 0x86C5, TVOC baseline: 0x8B38 的日志消息。

获取基线值的另一种方法是配置 eco2 和 TVOC 基线值传感器。数值将发布到您的家庭自动化系统。 在使用前将十进制值转换为十六进制值(例如 37577 —> 0x92C9)

现在在配置文件中设置基线属性,使用您通过日志获得的值:

# 示例配置条目
sensor:
- platform: sgp30
# ...
baseline:
eco2_baseline: 0x86C5
tvoc_baseline: 0x8B38

下次上传代码时,SGP30 将以此基线继续运行,您将获得一致的数值。

请注意,当传感器关闭时,基线值最多有效期七天。