BME680 温度压力湿度气体传感器
bme680 传感器平台允许您在 ESPHome 中使用 BME680
(数据手册,
Adafruit) 温度、压力和湿度传感器。需要在配置中设置 I²C 才能使此传感器工作。
# 示例配置条目sensor: - platform: bme680 temperature: name: "BME680 温度" oversampling: 16x pressure: name: "BME680 压力" humidity: name: "BME680 湿度" gas_resistance: name: "BME680 气体阻值" address: 0x77 update_interval: 60s-
temperature (可选): 温度传感器的信息。
-
pressure (可选): 压力传感器的信息。
-
humidity (可选): 湿度传感器的信息。
-
gas_resistance (可选): 气体传感器的信息。
- 传感器的所有选项。
-
address (可选, 整数): 手动指定传感器的 I²C 地址。默认为
0x76。另一个地址可以是0x77。 -
iir_filter (可选): 设置无限脉冲响应滤波器以提高精度。可选值为
OFF、1x、3x、7x、15x、31x、63x和127x。默认为OFF。 -
heater (可选): 气体传感器内部加热器的设置。设置此项可禁用内部加热器。
-
temperature (可选, 整数): 加热器的目标温度,在 200 到 400 °C 之间。默认为
320。 -
duration (可选, 时间): 加热器应处于活动状态的持续时间。最大值为
4032ms。默认为150ms。
-
-
update_interval (可选, 时间): 检查传感器的时间间隔。默认为
60s。
默认情况下,BME680 传感器在请求新值时会对每个值测量 16 次。但是,您可以配置此数量。可能的过采样值:
NONE(跳过该值)1x2x4x8x16x(默认)
基于 BME680 BSEC 组件 索引中的值,添加室内空气质量 (IAQ) 计算和 IAQ 标签。
# 示例配置条目sensor: - platform: bme680 temperature: name: "BME680 温度" oversampling: 16x pressure: name: "BME680 压力" humidity: id: "humidity" name: "BME680 湿度" gas_resistance: id: "gas_resistance" name: "BME680 气体阻值" address: 0x77 update_interval: 60s - platform: template name: "BME680 室内空气质量" id: iaq icon: "mdi:gauge" # 计算: comp_gas = log(R_gas[ohm]) + 0.04 log(Ohm)/%rh * hum[%rh] lambda: |- return log(id(gas_resistance).state) + 0.04 * id(humidity).state; state_class: "measurement"text_sensor: - platform: template name: "BME680 IAQ 分类" icon: "mdi:checkbox-marked-circle-outline" lambda: |- if (int(id(iaq).state) <= 50) { return {"优秀"}; } else if (int(id(iaq).state) <= 100) { return {"良好"}; } else if (int(id(iaq).state) <= 150) { return {"轻度污染"}; } else if (int(id(iaq).state) <= 200) { return {"中度污染"}; } else if (int(id(iaq).state) <= 250) { return {"重度污染"}; } else if (int(id(iaq).state) <= 350) { return {"严重污染"}; } else if (int(id(iaq).state) <= 500) { return {"极度污染"}; } else { return {"未知"}; }