Overview
The bme680 node reads temperature, humidity, pressure, and air quality from the Bosch BME680
sensor. The integrated gas sensor detects VOCs (Volatile Organic Compounds) and calculates an Indoor Air Quality (IAQ) index,
making it perfect for smart home air quality monitoring.
4-in-1
Measurements
IAQ
Air Quality Index
VOC
Gas Detection
I2C
Interface
Indoor Air Quality (IAQ) Levels
| IAQ | Air Quality | Recommendation |
|---|---|---|
| 0-50 | Excellent | No action needed |
| 51-100 | Good | No action needed |
| 101-150 | Lightly Polluted | Increase ventilation |
| 151-200 | Moderately Polluted | Open windows |
| 201-300 | Heavily Polluted | Ventilate immediately |
| 301-500 | Severely Polluted | Leave area, ventilate |
Properties
| Property | Type | Default | Description |
|---|---|---|---|
| address | number | 0x77 | I2C address (0x76 or 0x77) |
| interval | number | 3 | Reading interval in seconds |
| calculateIAQ | boolean | true | Calculate IAQ index (requires warmup) |
| tempOffset | number | 0 | Temperature compensation offset |
Output
{
"payload": {
"temperature": 23.5,
"humidity": 42.3,
"pressure": 1015.2,
"gasResistance": 125000,
"iaq": 45,
"iaqAccuracy": 3
},
"iaqLabel": "Excellent",
"timestamp": 1640000000000
} Note: The gas sensor requires 30 minutes of burn-in time for accurate IAQ readings. During warmup, iaqAccuracy will be 0-2.
Example: Air Quality Alert System
Send alerts when air quality drops and control ventilation automatically.
// Function node: Air quality automation
var iaq = msg.payload.iaq;
var accuracy = msg.payload.iaqAccuracy;
// Only act on accurate readings
if (accuracy < 2) {
return null; // Still warming up
}
var action = null;
var alert = null;
if (iaq > 150) {
action = "ventilate";
alert = "Air quality poor (IAQ: " + iaq + "). Opening vents.";
} else if (iaq > 100) {
action = "fan_low";
alert = "Air quality declining. Turning on fan.";
} else if (iaq < 75) {
action = "normal";
}
msg.payload = {
iaq: iaq,
action: action,
alert: alert
};
return msg;