
Sensor de CO2 con ESPHome y Home Assistant
Un clásico en esto de la domótica, cosas que nos dejo la pandemia… ese control del CO2 en determinados lugares para (antiguamente) ventilar y evitar ser infectados por el coco… En fin, en este post veremos cómo medir el CO2 sencillamente con una placa con un ESP y luego en Home Assistant hacer cualquier automatización.
Así que si tienes una placa con un ESP8266 o un ESP32, podrás conectarle muchos sensores como sabrás, de todo tipo e índole, hoy veremos uno que nos servirá para controlar el nivel de CO2 (o dióxido de carbono) que tenemos en un habitáculo, una sala por ejemplo. En este caso usaremos un MH-Z19.
El conexionado dependerá de la placa que usemos, pero al final usa una conexión serie, por lo que habrá que primero alimentar el sensor con el positivo y el negativo desde la placa y unir como siempre cruzando el RX del sensor con el TX de la placa e igualmente el TX al RX de la placa. Mirando el pinout de la placa que tenéis en Google enseguida encontraréis los GPIO que cumplen dicha función.
Una vez tengamos el conexionado realizado, pues lo de siempre, tendremos que ir a nuestro ESPHome Builder, crear un nuevo dispositivo y una vez creado, podremos editarle la configuración y añadirle una parte que veremos a continuación, posteriormente descargaremos el binario con la imagen del firmware, que tendremos que poner en nuestro ESP. Ese firmware lo subiremos a la placa desde un PC con un cable USB, bien con una web maravillosa de ESP, o alguna herramienta que pongas en tu equipo.
Os dejo la configuración que añadí en mi caso, donde lo principal a tener en cuenta será indicar los números de los GPIO que usaremos como TX y RX e irán conectados al sensor. Así como un botón que podremos pulsar para calibrar el sensor, o un switch para que tenga un auto calibrado.
# CO2 sensor uart: rx_pin: 16 tx_pin: 17 baud_rate: 9600 sensor: - platform: mhz19 id: sensor_mhz19 co2: name: "Sensor CO2" temperature: name: "Temperatura CO2" internal: true update_interval: 60s automatic_baseline_calibration: false button: #creates a button to calibrate the sensor - this will reset the zero point so use it only when it's been 20 minutes either outside or in a room you know the co2 level is at a minimum - platform: template name: "Calibrate Zero (20 minutes at 400ppm)" id: calibrate_zero entity_category: diagnostic on_press: - mhz19.calibrate_zero: sensor_mhz19 switch: # this will expose a switch to home assistant to turn on and off the ABC - platform: template name: "Automatic Baseline Calibration" entity_category: diagnostic optimistic: true on_turn_on: mhz19.abc_enable: sensor_mhz19 on_turn_off: mhz19.abc_disable: sensor_mhz19
Ante cualquier duda os dejo el enlace de la documentación oficial de ESPHome para este MH-Z19.
Ahora sí, una vez grabemos la configuración podremos instalar la configuración, bien descargándola manualmente e instalándola como comentábamos anteriormente, o directamente si la tienes conectada a tu PC y usas un navegador compatible, al gusto…
Tras cargar el firmware en la placa, ya podremos alimentarla con un USB y empezará la fiesta, arrancará el ESP con el sensor y Home Assistant nos lo descubrirá desde las Notificaciones, ahí no será más que adoptarlo y ya podremos acceder a él desde los ‘Dispositivos y servicios’ de Home Assistant, en la integración de ESPHome, veremos nuestro dispositivo ESP, como le hayamos nombrado, y si ha ido todo bien veremos que ya tiene valores, aunque al principio será normal tener 5000 ppm ya que deberemos calibrarlo. Así que cuando el habitáculo haya estado ventilado, libre de gente por muchas horas podremos calibrarlo, tan sencillo como darle al botón de ‘Pulsa’, y tras 20 minutos si ha ido todo bien, partirá de 400ppm.
Y nada, ahora ya podremos crearnos alguna grafica interesante si nos apetece para visualizar este tipo de información, o como comentamos al inicio, una automatización que controle el valor de esta entidad que mide el CO2 y haga algo, una notificación por los altavoces de que hay que ventilar, o simplemente con esto podremos detectar la presencia de gente en este sitio….
Bueno, espero que os haya podido aportar algo, siento que algunos posts son así ‘rapiditos’, pero los detalles de cada paso, en este caso los veo innecesarios, ya que si has creado al menos tu primer dispositivo en ESPHome serás conocedor de los pasos y lo facilón que es; pero entiendo que si es tu primera vez, igual te puedes perder, y como siempre te recomiendo tranquilidad y ver antes algún video en yutuf de ESPHome, y una vez lo tengas claro, pues puedas volver y coger el cacho de código que necesitas y chimpum.
Lo dicho, os mando un abracete como siempre, que os sigáis portando bien, y gracias por llegar hasta aquí!