BMP581 Temperature+Pressure Sensor¶
The bmp581
sensor platform allows you to use your BMP581
(datasheet, SparkFun) temperature and pressure sensors with ESPHome. The I²C bus is
required to be set up in your configuration for this sensor to work.
# Example configuration entry
sensor:
- platform: bmp581
temperature:
name: "Indoor Temperature"
pressure:
name: "Indoor Pressure"
Configuration variables:¶
temperature (Optional): The information for the temperature sensor.
oversampling (Optional): The oversampling rate for the temperature sensor. See Oversampling Options.
iir_filter (Optional): The Infinite Impulse Response Filter level for the temperature sensor. See Infinite Impulse Response Filter Options.
All other options from Sensor.
pressure (Optional): The information for the pressure sensor.
oversampling (Optional): The oversampling rate for the pressure sensor. See Oversampling Options.
iir_filter (Optional): The Infinite Impulse Response Filter level for the pressure sensor. See Infinite Impulse Response Filter Options.
All other options from Sensor.
address (Optional, int): Manually specify the I²C address of the sensor. Defaults to
0x46
. Another address can be0x47
.update_interval (Optional, Time): The interval to check the sensor. Defaults to
60s
.
Oversampling Options¶
By default, the BMP581 sensor measures the pressure 16 times and temperature once when requesting a new value to reduce measurement noise. You can, however, configure this amount. Possible oversampling values:
NONE
(sensor is sampled once, default for temperature)2x
4x
8x
16x
(default for pressure)32x
64x
128x
The datasheet (page 19) gives suggestions for oversampling combinations:
Oversampling setting |
Pressure oversampling |
Temperature oversampling |
---|---|---|
Lowest power |
|
|
|
|
|
Standard resolution |
|
|
|
|
|
High resolution (default) |
|
|
|
|
|
|
|
|
Highest resolution |
|
|
Note
High oversampling rates increase power consumption and the time it takes for the sensor to measure temperature and pressure. For example, with no oversampling enabled, the measurement time is approximately 3 ms. The measurement time is approximately 107 ms if the temperature and pressure oversampling rates are 128x
. The BMP581 component waits the minimum time necessary for the specfically configured oversampling rates before attempting to read a measurement. Consider using lower oversampling rates to reduce power consumption or to speed up measurements for small update intervals.
Infinite Impule Response Filter Options¶
The BMP581’s Infinite Impulse Response filter reduces noise in measurement values due to ambient conditions, for example, a door slamming or a window opening. The BMP581 disables the IIR filter for the temperature and pressure sensors by default, but you may configure the amount of filtering for each sensor independently. Possible IIR filter values:
OFF
(default)2x
4x
8x
16x
32x
64x
128x
Warning
The BMP581’s deep standby mode is disabled when you enable an IIR filter, which increases power consumption. Consider using a mathematically equivalent ESPHome exponential moving average filter instead, especially if you configure a long update interval. See the exponential moving average filter for implementation information.