ENS160 Volatile Organic Compound (VOC) and eCO₂ Sensor
The ens160 sensor platform allows you to use your ENS160
(datasheet) air-quality sensors with ESPHome.
The I²C or SPI is required to be set up in your configuration for this sensor to work.
NOTE
On first power-up of the ENS160 sensor, there is a 1 hour initial startup delay before readings will be available. For subsequent starts or reboots, there is a 3 minute warm up period before readings are available. Also, be aware that the ENS160 can take up to 1 second for sucessive data measurements to be ready.
# Example configuration entry I2Csensor: - platform: ens160_i2c eco2: name: "ENS160 eCO2" tvoc: name: "ENS160 Total Volatile Organic Compounds" aqi: id: ens160_air_quality_index name: "ENS160 Air Quality Index" compensation: temperature: id_temperature_sensor humidity: id_humidity_sensor
# Example configuration entry SPIsensor: - platform: ens160_spi eco2: name: "ENS160 eCO2" tvoc: name: "ENS160 Total Volatile Organic Compounds" aqi: name: "ENS160 Air Quality Index" cs_pin: GPIOXX compensation: temperature: id_temperature_sensor humidity: id_humidity_sensorConfiguration variables
Section titled “Configuration variables”-
eco2 (Optional): Configuration for the eCO2 sensor.
- All options from Sensor.
-
tvoc (Optional): Configuration for the TVOC sensor.
- All options from Sensor.
-
aqi (Optional): Configuration for the air quality index sensor.
- All options from Sensor.
-
update_interval (Optional, Time): The interval to check the sensor. Defaults to
60s. The update interval should be greater than the measurement frequency of the ENS160 which is up to 1 second. -
address (Optional, int): I²C only. Manually specify the I²C address of the sensor. Defaults to
0x52. Another address can be0x53. -
cs_pin (Required, Pin Schema): SPI only. The Chip Select pin.
Advanced:
-
compensation (Optional): The block containing sensors used for compensation. Temperature and humidity compensation improves the accuracy of sensor readings. Without compensation, the ENS160 internally assumes 25°C temperature and 50% humidity, with readings noticeably diverting from real changes without compensation in temperature and humidity.
Example Text Sensor configuration
Section titled “Example Text Sensor configuration”The Air Quality Index(AQI) from this sensor is a number between 1 and 5. The ENS160 (datasheet) states that “The AQI-UBA air quality index is derived from a guideline by the German Federal Environmental Agency based on a TVOC sum signal”. The following is an example configuration to convert the numeric ENS160 AQI to the rating text.
text_sensor: - platform: template name: "ENS160 Air Quality Rating" lambda: |- switch ( (int) (id(ens160_air_quality_index).state) ) { case 1: return {"Excellent"}; case 2: return {"Good"}; case 3: return {"Moderate"}; case 4: return {"Poor"}; case 5: return {"Unhealthy"}; default: return {"Not Available"}; }