CO2 meting met ESP32

Een eenvoudige CO2 sensor geschikt voor aansluiting op een ESP32 module is o.a. de SCD4x

Deze heeft de volgende sensoren:

  • CO2
  • Temperatuur
  • Vochtigheid

In de ESPHome Device Builder kan deze module eenvoudig worden toegevoegd via de ‘Components‘ optie

De instellingen voor zowel de I2C en de sensoren worden toegevoegd aan de configuratie en dat ziet er dan zo uit:

i2c:
  - scl: 22
    sda: 21
    id: i2c_1

sensor:
  - platform: scd4x
    i2c_id: i2c_1
    co2:
      id: sensor_scd4x_1_co2
      name: CO2
    humidity:
      id: sensor_scd4x_1_humidity
      name: Humidity
    temperature:
      id: sensor_scd4x_1_temperature
      name: Temperature
    id: sensor_scd4x_1

Hier zie je ook dat de SDA en SCL aangesloten worden aan de GPIO pinnen 21 en 22 van de ESP32. De GND en VCC worden aangesloten op GND en 3v3 aan de ESP32 en dan kan de nieuwe configuratie in de ESP32 module geplaatst worden.

Na enkele minuten is dat gereed en zijn de sensoren bekend binnen Home Assistant

of met tile-kaarten met een trendgrafiek functie:

Richtlijnen voor CO2 in binnenruimten

  • Groen: 400 tot 800 ppm is goed (±400 is het niveau van de buitenlucht).
  • Oranje: 800 tot 1200 is medium.
  • Rood: 1200+ is slecht (1200 is echt de limiet voor binnen-lucht, ventileren is noodzakelijk).

Om het icoon van de CO2 sensor de overkomende kleur te geven ten opzichte van de CO2-waarde, gebruik ik card-mod (HACS) en de yaml code daarvoor is:

card_mod:
  style: |
    ha-tile-icon {
      --tile-color:
        {%- if states('sensor.kantoor_esphome_web_kantoor_co2')|int > 1200 %}
          red
        {%- elif states('sensor.kantoor_esphome_web_kantoor_co2')|int > 800 %}
          orange
        {%- elif states('sensor.kantoor_esphome_web_kantoor_co2')|int < 800 %}
          green
        {% endif -%}
    }