Skip to content

bme280

Reads a BME280 temperature, humidity and pressure sensor at a fixed interval. A BMP280 works too; it has no humidity sensor.

Properties

  • I2C bus — the bus the sensor is wired to. See I2C buses.
  • address — 0x76 (most boards) or 0x77.
  • interval (ms) — how often to read. At least 100.

Output

msg = {'payload': {'temperature': 21.43, 'humidity': 48.2, 'pressure': 1012.6}, 'topic': ''}

Temperature is in °C, humidity in %, pressure in hPa. On a BMP280, humidity is None.

To use one reading, pick it out in a function node: msg['payload'] = msg['payload']['temperature'].

Behavior

The status dot shows whether the sensor is answering. If a read fails, the node sends nothing and the dot says why:

  • disconnected, no reply at 0x76 on I2C bus 0 — nothing answered. Check the wiring, pins and address.
  • error, no BME280/BMP280 at 0x76 (chip id 0x..) — a different chip is at that address.

The node tries again at the next interval. A sensor connected after the flow starts is picked up then.