diff --git a/components/sensor/bme680_bsec.rst b/components/sensor/bme680_bsec.rst index 1f4499195..fa7c0f5d7 100644 --- a/components/sensor/bme680_bsec.rst +++ b/components/sensor/bme680_bsec.rst @@ -50,6 +50,7 @@ The :ref:`I²C ` is required to be set up in your configuration for this se name: "BME680 Humidity" iaq: name: "BME680 IAQ" + id: iaq co2_equivalent: name: "BME680 CO2 Equivalent" breath_voc_equivalent: @@ -59,6 +60,35 @@ The :ref:`I²C ` is required to be set up in your configuration for this se - platform: bme680_bsec iaq_accuracy: name: "BME680 IAQ Accuracy" + + - platform: template + name: "BME680 IAQ Classification" + icon: "mdi:checkbox-marked-circle-outline" + lambda: |- + if ( int(id(iaq).state) <= 50) { + return {"Excellent"}; + } + else if (int(id(iaq).state) >= 51 && int(id(iaq).state) <= 100) { + return {"Good"}; + } + else if (int(id(iaq).state) >= 101 && int(id(iaq).state) <= 150) { + return {"Lightly polluted"}; + } + else if (int(id(iaq).state) >= 151 && int(id(iaq).state) <= 200) { + return {"Moderately polluted"}; + } + else if (int(id(iaq).state) >= 201 && int(id(iaq).state) <= 250) { + return {"Heavily polluted"}; + } + else if (int(id(iaq).state) >= 251 && int(id(iaq).state) <= 350) { + return {"Severely polluted"}; + } + else if (int(id(iaq).state) >= 351) { + return {"Extremely polluted"}; + } + else { + return {"error"}; + } Configuration variables: @@ -280,6 +310,7 @@ See Also - :ref:`sensor-filters` - :doc:`bme680` - :apiref:`bme680_bsec/bme680_bsec.h` +- `BME680 VOC classification `__ - `BSEC Arduino Library `__ by `Bosch Sensortec `__ - `Bosch Sensortec Community `__ - :ghedit:`Edit`