跳转到内容

MH-Z19 CO_2 和温度传感器

mhz19 传感器平台允许您在 ESPHome 中使用 MH-Z19 CO_2 和温度传感器 (Revspace)。 CO_2 测量也适用于 MH-Z16 和 MH-Z14 传感器。

MH-Z19 CO_2 和温度传感器。

由于与 MH-Z19 的通信使用 UART 完成,您需要在配置中设置一个 UART 总线,并将 rx_pin 连接到 MH-Z19 的 TX 引脚,tx_pin 连接到 MH-Z19 的 RX 引脚(因为 TX/RX 标签是从 MH-Z19 的角度命名的,所以是交叉连接)。此外,您需要将波特率设置为 9600。

# Example configuration entry
sensor:
- platform: mhz19
co2:
name: MH-Z19 CO2 Value
temperature:
name: MH-Z19 Temperature
  • co2 (可选): 传感器以百万分率(ppm)为单位的 CO_2 数据。 来自 Sensor 的所有选项。

  • temperature (可选): 温度传感器的信息。请注意,这 在数据手册中并未正式记录,且似乎相当不准确。 来自 Sensor 的所有选项。

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

  • uart_id (可选,ID): 如果您想 使用多个 UART 总线,可手动指定 UART 组件 的 ID。

  • id (可选,ID): 手动指定用于操作的 ID。

  • automatic_baseline_calibration (可选,boolean): MH-Z19 具有自动校准程序。 自动校准周期为上电后每 24 小时一次。 将此值设置为 false 可在启动时禁用 ABC(如果您在室内使用传感器,效果更好)。 将此值设置为 true 可在启动时启用 ABC。 如果未设置,则不发送校准命令(将使用默认的传感器逻辑)。

  • warmup_time (可选,Time): 传感器有预热时间,在此时间之前,它会返回虚假读数(例如:500ppm、505ppm…)。此设置将丢弃读数,直到预热时间完成(返回 NAN)。数据手册说明预热需要 1 分钟,但经验测试表明通常需要更长时间,因此 75s 的默认值应该足以应对。

  • detection_range (可选): CO_2 传感器可配置为检测不同范围:0-2000ppm、0-5000ppm 或 0-10000ppm。有效值为 2000ppm、5000ppm 或 10000ppm。传感器出厂时已预配置其中一种范围,此设置在传感器的非易失性存储器中持续存在。如果未指定,将使用之前配置的范围。

MH-Z19 上的引脚。只需连接标有红圈的引脚。

此操作在具有指定 ID 的传感器上执行零点校准命令。

如果要执行零点校准,MH-Z19 传感器必须在稳定的气体环境(400ppm)中 工作超过 20 分钟,然后您执行此函数。

on_...:
then:
- mhz19.calibrate_zero: my_mhz19_id

您可以从 Home Assistant 提供要执行的操作

api:
actions:
- action: mhz19_calibrate_zero
then:
- mhz19.calibrate_zero: my_mhz19_id

此操作在具有指定 ID 的传感器上启用自动基准校准。

on_...:
then:
- mhz19.abc_enable: my_mhz19_id

此操作在具有指定 ID 的传感器上禁用自动基准校准。

on_...:
then:
- mhz19.abc_disable: my_mhz19_id

您可以通过开关从 Home Assistant 控制 ABC

switch:
- platform: template
name: "MH-Z19 ABC"
optimistic: true
on_turn_on:
mhz19.abc_enable: my_mhz19_id
on_turn_off:
mhz19.abc_disable: my_mhz19_id

此操作配置具有指定 ID 的传感器的检测范围。

on_...:
then:
- mhz19.detection_range_set:
id: my_mhz19_id
detection_range: 5000ppm