Sen6x Series Environmental sensor

The sen6x sensor platform allows you to use your Sensirion SEN62, SEN63C, SEN65, SEN66, SEN68 and SEN69C Environmental sensor (datasheet) sensors with ESPHome.

The I²C Bus is required to be set up in your configuration for this sensor to work. This sensor supports both UART and I²C communication. Only I²C communication is implemented in this component.

Image
# Example configuration entry
sensor:
  - platform: sen6x
    type: SEN69C
    id: sen69c
    pm_1_0:
      name: PM <1µm Weight concentration
    pm_2_5:
      name: PM <2.5µm Weight concentration
    pm_4_0:
      name: PM <4µm Weight concentration
    pm_10_0:
      name: PM <10µm Weight concentration
    temperature:
      name: Temperature
    humidity:
      name: Humidity
    voc:
      name: VOC
    nox:
      name: NOX
    co2:
      name: Carbon Dioxide
    formaldehyde:
      name: Formaldehyde

Configuration variables

  • Type (Required): The type of sensor:

    • SEN62
    • SEN63C
    • SEN65
    • SEN66
    • SEN68
    • SEN69C
  • pm_1_0 (Optional): The information for the Weight Concentration sensor for fine particles up to 1μm. Readings in µg/m³.

  • pm_2_5 (Optional): The information for the Weight Concentration sensor for fine particles up to 2.5μm. Readings in µg/m³.

  • pm_4_0 (Optional): The information for the Weight Concentration sensor for coarse particles up to 4μm. Readings in µg/m³.

  • pm_10_0 (Optional): The information for the Weight Concentration sensor for coarse particles up to 10μm. Readings in µg/m³.

  • temperature (Optional): Temperature.

  • humidity (Optional): Relative Humidity.

  • voc (Optional): VOC Index. Note only available with Sen65, Sen66, Sen68 or Sen69C. The sensor will be ignored on unsupported models.

    • algorithm_tuning (Optional): The VOC algorithm can be customized by tuning 6 different parameters. For more details see Sensirion Gas Index Algorithm

      • index_offset (Optional): VOC index representing typical (average) conditions. Allowed values are in range 1..250. The default value is 100.
      • learning_time_offset_hours (Optional): Time constant to estimate the VOC algorithm offset from the history in hours. Past events will be forgotten after about twice the learning time. Allowed values are in range 1..1000. The default value is 12 hour
      • learning_time_gain_hours (Optional): Time constant to estimate the VOC algorithm gain from the history in hours. Past events will be forgotten after about twice the learning time. Allowed values are in range 1..1000. The default value is 12 hours.
      • gating_max_duration_minutes (Optional): Maximum duration of gating in minutes (freeze of estimator during high VOC index signal). Zero disables the gating. Allowed values are in range 0..3000. The default value is 180 minutes
      • std_initial (Optional): Initial estimate for standard deviation. Lower value boosts events during initial learning period, but may result in larger device-to-device variations. Allowed values are in range 10..5000. The default value is 50.
      • gain_factor (Optional): Gain factor to amplify or to attenuate the VOC index output. Allowed values are in range 1..1000. The default value is 230.
    • All other options from Sensor.

  • nox (Optional): NOx Index. Note: Only available with Sen55. The sensor will be ignored on unsupported models.

    • algorithm_tuning (Optional): The NOx algorithm can be customized by tuning 5 different parameters. For more details see Sensirion Gas Index Algorithm

      • index_offset (Optional): NOx index representing typical (average) conditions. Allowed values are in range 1..250. The default value is 1.
      • learning_time_offset_hours (Optional): Time constant to estimate the NOx algorithm offset from the history in hours. Past events will be forgotten after about twice the learning time. The default value is 12 hour
      • learning_time_gain_hours (Optional): Time constant to estimate the NOx algorithm gain from the history in hours. Past events will be forgotten after about twice the learning time. Allowed values are in range 1..1000. The default value is 12 hours.
      • gating_max_duration_minutes (Optional): Maximum duration of gating in minutes (freeze of estimator during high NOx index signal). Zero disables the gating. Allowed values are in range 0..3000. The default value is 720 minutes
      • std_initial (Optional): The initial estimate for standard deviation parameter has no impact for NOx. This parameter is still in place for consistency reasons with the VOC tuning parameters command. This parameter must always be set to 50.
      • gain_factor (Optional): Gain factor to amplify or to attenuate the VOC index output. Allowed values are in range 1..1000. The default value is 230.
    • All other options from Sensor.

  • co2 (Optional): THe carbon dioxide concentration. Readings in ppm. Note: Only available with Sen63C, Sen66 or Sen69C. The sensor will be ignored on unsupported models.

    • ambient_pressure_compensation (Optional): The CO2 sensor can be compensated for ambient pressure.

      • pressure (Optional): Pressure value in hectopascals. Allowed values in range 700..1200. The default value is 1013.
    • altitude_compensation (Optional): Alternatively, pressure compensation can be done by providing an altitude value.

      • altitude (Optional): Altitude value in meters. Allowed values in range 0..3000. The default value is 0.
    • All other options from Sensor.

  • formaldehyde (Optional): The Formaldehyde concentration. readings in ppb. Note: Only available with Sen68 or Sen69C. The sensor will be ignored on unsupported models.

    • All other options from Sensor.
  • store_baseline (Optional, boolean): Stores and retrieves the baseline VOC and NOx information for quicker startups. Defaults to true

  • temperature_compensation (Optional): These parameters allow to compensate temperature effects of the design-in at customer side by applying a custom temperature offset to the ambient temperature.

    The compensated ambient temperature is calculated as follows:

    T_Ambient_Compensated = T_Ambient + (slope * T_Ambient) + offset

    Where slope and offset are the values set with this command, smoothed with the specified time constant. The time constant is how fast the slope and offset are applied. After the specified value in seconds, 63% of the new slope and offset are applied. Multiple sets of values can be provided for different slots. More details about the tuning of these parameters are included in the application note SEN6x Temperature acceleration and compensation instructions

    • offset (Optional): Temperature offset [°C]. Defaults to 0
    • normalized_offset_slope (Optional): Normalized temperature offset slope. Defaults to 0
    • time_constant (Optional): Time constant in seconds. Defaults to 0
    • slot (Optional): Slot of confiuration [0-4]. Defaults to 0
  • acceleration_mode (Optional): Allowed value are low, medium and high. (default is low )

    By default, the RH/T acceleration algorithm is optimized for a sensor which is positioned in free air. If the sensor is integrated into another device, the ambient RH/T output values might not be optimal due to different thermal behavior. This parameter can be used to adapt the RH/T acceleration behavior for the actual use-case, leading in an improvement of the ambient RH/T output accuracy. There is a limited set of different modes available. Medium and high accelerations are particularly indicated for air quality monitors which are subjected to large temperature changes. Low acceleration is advised for stationary devices not subject to large variations in temperature.

  • address (Optional, int): Manually specify the I²C address of the sensor. Defaults to 0x6B.

ℹ️ Note

The sensor needs about a minute “warm-up”. The VOC and NOx gas index algorithm needs a number of samples before the values stabilize.

Wiring

The sensor has a JST GHR-06V-S 6 pin type connector, with a 1.25mm pitch. The cable needs this connector:

Image

Pins 2 and 5 (GND) and pins 1 and 6 (VDD) are connected internally.

For better stability, the SDA and SCL lines require suitable pull-up resistors.

sen6x.start_fan_autoclean Action

This action manually starts fan-cleaning.

on_...:
  then:
    - sen6x.start_fan_autoclean: sen69c

See Also