Tener un detector de gas en casa te va a permitir salir con la tranquilidad de que si hay una fuga de gas tu casa no hará booommm. Y si además es un detector de gas WiFi vas a poder recibir notificaciones en caso de que haya una fuga de gas e incluso podrás cerrar la general.
A ver, los sensores de gas también son útiles en el caso de que tengas una pequeña fuga debido al deterioro de las gomas, porque te has dejado el gas de la cocina abierto o hay un pequeño escape en algún lugar cerrado.
Pero espera que hay más, porque este tutorial se divide en dos partes. En la primera parte aprenderás cómo configurar un detecto de gas WiFi utilizando la aplicación Tuya Smart Life. Incluso vas a ver cómo integrarlo en Home Assistant.
Verás que esto, aparte de que te obliga a utilizar su aplicación y su nube, tiene ciertas limitaciones.
De ahí la segunda parte donde nos vamos a poner el gorro de frikis y vamos a hackear el detector de gas WiFi para utilizarlo con ESPHome. La diferencia es que gracias a esto vamos a tener un control total del dispositivo sin depender de su nube ni de su aplicación.
Esto último no es obligatorio, me refiero a que una vez has visto el proceso tendrás que elegir si quieres utilizar el detector de gas con la aplicación de Tuya o convertirlo en un dispositivo totalmente independiente con ESPHome.
Indice de contenidos
Capítulos detector de gas WiFi
Si quieres ir a tiro hecho con el vídeo, a continuación te dejo los capítulos del detecto de gas WiFi:
00:00 Introducción
02:08 Resumen del tutorial detector fuga de gas con Home Assistant
04:04 Configuración sensor de gas Tuya con Smart Life
06:53 Integración sensor de gas Tuya en Home Assistant
10:26 Sensor de gas Tuya con ESPHome
20:16 Sensor ge gas ESPHome en Home Assistant
23:43 Resumen y despedida
Sensores de gas DY-RQ400A
El sensor de gas DY-RQ400A como su nombre indica es un detector de gas WiFi que utiliza la aplicación Tuya Smart Life para poder ser controlado.
Es capaz de detectar fugas de gas natural CH4 (metano). Incluye una alarma de 70dB para poder avisar en caso de fuga y aparte incorpora una luz de colores para notificar de su estado.
Importante. Este sensor sólo detecta fugas de gas natural que contienen metano (CH4). No es válido para la detección de humo de incendios.
Puedes comprar el sensor de gas DY-RQ400A en varias tiendas:
Importante. Cuando lo vayas a comprar asegúrate que has elegido el dispositivo con el enchufe correcto según tu zona porque puedes comprarlo con conector para USA, UK o EU.
Cuando recibes el dispositivo verás que tiene lo siguiente.
- Por los agujeros superiores se detecta el gas y se emite el sonido del altavoz interno.
- El botón de test nos permite probar el detector de gas aparte de que nos permite saber el estado del sensor de gas.
- El botón reset nos permite volver a los valores de fábrica.
Configuración detector de gas con Tuya Smart Life
La configuración con la aplicación Tuya Smart Life es bastante sencilla y puedes ver cómo hacerlo en la hoja de instrucciones. Una vez configurado el detector de gas DY-RQ400A aparecerá en la aplicación.
Aquí podrás ver el estado, el nivel de gas detectado, los diferentes registros en incluso en la opción de Smart vas a poder configurar alguna acción o automatización.
Para configurar el sensor debes entrar en Set.
Aquí vas a encontrar varias opciones para configurar el detector de gas que ahora te explicaré pero fíjate en la parte inferior donde pone que para poder recibir un SMS o una notificación al móvil es necesario pagar.
Luego veremos que gracias a Home Assistant podemos recibir notificaciones sin ningún coste añadido.
Los parámetros de configuración más importantes del detecto de gas DY-RQ400A son los siguientes:
- Resultado de autodetección: muestra el resultado del test de detección.
- Hora de alarma: sirve para configurar durante cuánto tiempo va a sonar la alarma con un máximo de 180 minutos y un mínimo de 1 minuto.
- Tono de alarma: te permite configurar un tono de entre 5 preconfigurados.
- Detección automática: para probar el sensor de gas. Es como si pulsaras el botón de test.
- Precalentamiento: este detector de gas tiene un precalentamiento para ajustar el sensor. Este parámetro nos indica si está encendido o apagado.
- Interruptor de alarma: permite activar o desactivar la alarma sonora.
- Gas Alarm: permite activar o desactivar el detector de gas.
Para probar que todo está funcionando bien, puedes pulsar el botón de test que debería estar en verde.
Una vez pulsado parpadeará en color rojo y emitirá un sonido según hayas configurado el tono.
Si abres la aplicación de Tuya Smart Life aparecerá una notificación.
Esto está bien, me refiero a que es mucho mejor tener un detecto de gas con una alarma sonora que no tenerlo, pero gracias a Home Assistant podemos ir un pasito más allá.
Integración sensor de gas Tuya en Home Assistant
Desde hace unos meses integrar dispositivos Tuya en Home Assistant está chupado gracias a la integración oficial de Tuya. Lo único que tienes que hacer es seguir estos pasos.
Lo primero que vas a necesitar es el código de usuario que te asigna Tuya una vez te das de alta en su aplicación Smart Life. Para ello accede a la configuración de usuario y una vez dentro haz clic en la configuración de la aplicación.
Luego entra en Cuenta y seguridad.
Allí podrás ver el código de usuario que nos va a hacer falta.
Importante. No compartas este código con nadie.
Una vez tienes el código abre Home Assistant y accede a Ajustes>Dispositivos y servicios.
En integraciones añade una nueva integración haciendo clic en el botón +AÑADIR INTEGRACIÓN.
Busca la integración de Tuya.
En la siguiente pantalla te pedirá el código de usuario que has obtenido de la aplicación Smart Life. Copia y valida.
Aparecerá un código QR. No cierres esta ventana y abre la aplicación de Smart Life en el móvil.
Haz clic en el icono de escanear en la aplicación.
Una vez escaneado confirma inicio de sesión.
Si todo ha ido bien se añadirá la integración Tuya a Home Assistant y aparecerán todos los dispositivos que tengas configurados en la app de Smart Life.
Entra dentro para ver los dispositivos y verás que hay uno que es el sensor de gas. Haz clic sobre él.
Desde aquí vas a ver los sensores del detecto de gas. El siguiente paso es utilizar esta información en una automatización.
Crea una automatización nueva y selecciona un disparador del tipo dispositivo. Selecciona el detector de gas de Tuya que acabas de añadir a Home Assistant y como disparador elige cuando empezó a detectar gas.
Luego añade una acción que te permita mandar una notificación al móvil que tienes que tener configurado a través de la aplicación móvil de Home Assistant.
Si pruebas la acción verás que recibes una notificación con los datos configurados en la automatización.
Y esto solo es un ejemplo ya que si tienes algún tipo de electroválvula en la tubería de gas o algún otro sistema integrado dentro de Home Assistant, podrías cortar el gas. También puedes utilizar Telegram para que te haga una llamada y te informe de la fuga.
Una vez lo tienes integrado dentro de un controlador domótico las posibilidades son casi infinitas.
Tener el sensor de gas dentro de Home Assistant esto es mucho mejor que tener configurado el detector de gas DY-RQ400A solo en la aplicación Smart Life. Pero todavía podemos ir un poco más allá y es hackear el sensor y cargar un código de ESPHome para tener un control total.
¿Te imaginas poder utilizar la alarma para nuestro sistema de alarma? Eso es lo que vamos a poder hacer gracias a lo que vamos a ver a continuación.
Detector de gas con ESPHome
Llegamos al hackeo máximo y es cambiar el firmware de Tuya que viene de fábrica y cargar uno totalmente personalizado basado en ESPHome. Esto no es algo nuevo ya que como vimos en la puerta del garaje domótica, podemos utilizar esta herramienta para crear nuestros propios dispositivos.
Para poder hackear el detecto de gas DY-RQ400A vamos a recurrir a la web Devices ESPHome donde podemos encontrar información de cómo modificar decenas de dispositivos domóticos y donde se encuentra la documentación para el sensor de gas DY-RQ400A.
La idea es abrir el sensor y una vez abierto conectar un adaptador serie a USB para poder cargar el código ESPHome al detecto de gas y vamos a empezar precisamente por esto.
Qué es un adaptador serie a USB
Si has visto alguna vez las tripas de un dispositivo domótico te habrás dado cuenta que en la mayoría de los casos este tipo de dispositivos no tienen una conexión USB como suelen tener las placas basadas en ESP8266 y ESP32.
Esto se hace por dos motivos.
El primero es obvio, estos dispositivos ya tienen su programa instalado y no haría falta cargar un programa nuevo. Cuando hay una nueva actualización se actualiza mediante OTA (siglas en inglés de Over The Air), es decir, se actualiza a través de Internet y la red WiFi.
El segundo motivo es económico ya que dotar a los dispositivos de una conexión USB implica un coste adicional que los fabricantes no están dispuestos a soportar.
Es por esto que es muy difícil que puedas encontrar en el mercado un dispositivo domótico con una conexión USB.
El problema es que para poder cargar el código de ESPHome al detecto de gas vamos a necesitar hacerlo a través de un puerto USB que no tiene. Aquí es donde entran en juego los adaptadores serie a USB o mal llamados FTDI.
Este tipo de dispositivos nos permiten conectar un microcontrolador a un ordenador utilizando la comunicación serie y esto es muy útil para poder cargar un código nuevo pero también nos puede servir para comunicarnos con el microcontrolador.
Aparte un adaptador serie a USB tiene una segunda función y es alimentar el dispositivo domótico.
Hay diferentes modelos y marcas. Se diferencian por el chip que utilizan y los más populares son el CH340G y el FTDI FT232. De ahí que muchos lo llamen FTDI.
Puedes comprarlos en las diferentes tiendas de electrónica.
- CH340G
- FTDI FT232
Y aunque a simple vista parecen diferentes, todos funcionan de la misma manera.
Conexiones adaptador serie a USB
Lo primero y antes de nada es importante que configures el adaptador USB al voltaje de funcionamiento del microcontrolador que vas a utilizar. Esto puede ser 5V o 3,3V. Lo normal es que sea 3,3V aunque debes asegurarte.
Luego verás los 4 pines que vamos a utilizar que son los mismos tanto en el CH340 como en el FTDI.
Donde:
- RXD: es el pin de recepción de datos serie.
- TXD: es el pin de transmisión de datos serie.
- VCC o 3V3 : por este pin obtenemos una tensión de 3V3 si en el selector hemos seleccionado 3V3. Sirve para alimentar otros componentes.
- GND: es la conexión a tierra.
Estos pines son los que vamos a tener que conectar a los pines del microcontrolador. Luego veremos exactamente cómo hacerlo con el sensor de gas DY-RQ400A pero el esquema general sería el siguiente.
Los cables de alimentación están claros, el pin VCC del adaptador al pin VIN del microcontrolador y los pines de GND unidos.
La conexión de los pines de comunicación tiene que ir invertida siempre. El pin de transmisión TX del adaptador se conecta con el pin de recepción RX del microcontrolador y el pin de recepción RX del adaptador con el pin de transmisión del microcontrolador TX.
Una vez sabemos lo que tenemos que hacer vamos a ver el caso concreto del detecto de gas DY-RQ400A.
Carga código ESPHome detector de gas DY-RQ400A
Lo primero para poder cargar el nuevo código de ESPHome es abrir el dispositivo quitando la tapa y los tornillos.
Una vez abierto tienes que localizar el microcontrolador. En este caso se trata de un módulo WB2S que utiliza un chip WiFi BK7231T compatible con ESPHome. En esta página puedes ver el pineado de este módulo.
Aquí podemos ver los pines 3V3, GND, RX1 y TX1. De hecho podemos identificarlos dentro del dispositivo.
A continuación hay que conectar el detector de gas con el adaptador serie USB de esta forma.
Los pines se conectan así:
- VCC: se conecta al pin VCC del adaptador
- GND: se conecta al pin GND del adaptador
- RX: se conecta al pin TX del adaptador
- TX: se conecta al pin RX del adaptador
- CEN: se tiene que conectar al pin GND del adaptador justo antes de empezar a subir el código para poner el microcontrolador en modo flash o carga de código.
Todo esto se puede conectar de varias maneras. Lo más rápido sería conectar los cables a los pines haciendo unas soldaduras.
Pero si no quieres soldar o no te atreves, puedes utilizar unos ganchos como estos.
Intenta conectar uno en cada pin sin que toque el pin de al lado. Esto es muy importante ya que si se produce algún corto puedes dañar el sensor de gas.
Una vez conectado el detector de gas DY-RQ400A con el adaptador serie USB debes conectar este último al ordenador para cargar el código de ESPHome. Como has visto en el esquema anterior, hay un cable conectado al pin CEN del módulo que tienes que conectar a GND justo antes de cargar el código.
Este código lo he sacado de la página de dispositivos de ESPHome y lo único que he hecho es modificarlo para poder cambiar el nombre a través de variables y lo he actualizado a la última versión.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
esphome: # DY-RQ400A https://expo.tuya.com/product/602455 name: tuya-gas-alarm-wb2s bk72xx: # https://docs.libretiny.eu/boards/wb2s/ board: wb2s logger: web_server: captive_portal: mdns: api: password: "" ota: password: "" wifi: ssid: !secret wifi_ssid password: !secret wifi_password ap: ssid: "tuya gas alarm" uart: rx_pin: RX1 tx_pin: TX1 baud_rate: 9600 # The device contains an RJM8L151F6P6 MCU with which the Tuya WB2S # module interacts over UART1. The MCU handles the alarm-related # logic leaving some control capabilities to the Wi-Fi chip. # https://www.runjetic.com/product/774.html # Datasheet (Chinese): https://cdn.myxypt.com/4412af49/22/06/ae01795334fbb272e3dcdc0f6464371691535dc2.pdf tuya: text_sensor: - platform: libretiny version: name: LibreTiny Version - platform: "tuya" name: "Self-test Result" sensor_datapoint: 1 filters: # The Tuya DP is an enum which is converted to human-readable strings. - map: - 0 -> Checking - 1 -> Success - 2 -> Failure - 3 -> Other sensor: - platform: "tuya" name: "Gas Threshold Level" sensor_datapoint: 5 # 7% LEL +- 3% (CH4) is the threshold for detection level per # the printed manual that comes with the device. # The DP value of 100 = 7% LEL (Lower Explosive Limit) - after # reaching that the MCU will trigger the alarm. unit_of_measurement: "%" state_class: "measurement" binary_sensor: - platform: "tuya" name: "Gas Alarm" sensor_datapoint: 2 # Whether a gas alarm is raised or not. Inverted since the value # of "1" means "normal state". The DP is an enum with only 2 values. filters: - invert: - platform: "tuya" # Indicates whether the gas sensor preheat is in progress or not. # It is done automatically when the device is powered on and the # led flashes with different colors during that process. The DP is # a switch but it cannot be controlled (read-only). name: "Sensor Preheat" sensor_datapoint: 10 switch: - platform: "tuya" # Trigger a self-test as if a gas level was over the threshold can # be controlled by the physical button (highlighted by the LED) on # the device as well. name: "Alarm Self-test" switch_datapoint: 9 # The current value is fetched from the MCU upon initialization. restore_mode: DISABLED - platform: "tuya" # Enable or disable the buzzer when an alarm gets triggered. name: "Alarm Sound" switch_datapoint: 12 # The current value is fetched from the MCU upon initialization. restore_mode: DISABLED - platform: "tuya" # Silence the alarm once if it is active. name: "Silence the Alarm" switch_datapoint: 14 # The current value is fetched from the MCU upon initialization. restore_mode: DISABLED number: - platform: "tuya" name: "Alarm Period" number_datapoint: 3 # How much time will the alarm continue to be active # after detecting a gas level above the threshold. min_value: 0 max_value: 180 step: 1 select: - platform: "tuya" name: "Alarm Melody" enum_datapoint: 8 optimistic: true options: 0: Melody 1 1: Melody 2 2: Melody 3 3: Melody 4 4: Melody 5 |
Para cargarlo tienes que conectar el adaptador serie USB al ordenador y empezar el proceso de carga desde ESPHome.
IMPORTANTE. La carga de un firmware nuevo como el de ESPHome borra el firmware que había cargado previamente y lo pierde. Si quieres puedes hacer una copia del firmware anterior por si acaso.
Una vez cargado ya podemos ver los parámetros y sensores en la página web si accedes al host asignado al dispositivo que lo puedes ver en el log. Copia esa url y pega en un navegador.
Esto abrirá una web donde vas a poder configurar el tiempo que dura la alarma, la melodía, desactivar el sensor etc…
Pero ahora viene lo bueno, porque gracias a que ya tenemos el control total del detecto de gas DY-RQ400A podemos utilizar su alarma para lanzarla cuando nos dé la gana, es decir, podemos incorporarla a nuestro sistema de seguridad por ejemplo.
Integración sensor de gas en Home Assistant
La última parte consiste en integrar el detecto de gas DY-RQ400A en Home Assistant y añadirlo en una automatización para utilizar su alarma en otra situación que no sea una detección de gas como puede ser para el sistema de seguridad.
Si abres Home Assistant y vas a integraciones lo más probable es que haya detectando un dispositivo nuevo. Haz clic en CONFIGURAR.
Después de configurar el dispositivo accede a la integración ESPHome.
Verás que aparece un dispositivo nuevo que representa al sensor de gas Tuya. Haz clic sobre él.
Esto abrirá el sensor de gas donde puedes configurar varios de los parámetros que cuando estaba con el firmware de Tuya solo se podían configurar a través de la aplicación de Tuya Smart Life.
Ahora crea una nueva automatización y añade dos acciones del tipo dispositivo. En la primera acción selecciona el dispositivo que acabamos de configurar, el sensor de gas.
En la acción selecciona Cambiar opción de Tonos Alarma y elige una de las opciones.
En la segunda acción selecciona el mismo dispositivo y en acción selecciona Encender Test Alarma. Esta acción hará sonar la alarma.
Para probarlo puedes hacer clic en los tres puntos verticales arriba a la derecha y seleccionar la opción de Ejecutar.
Oirás la alarma. Sólo te falta configurar un disparador para que suene la alarma.
Y hasta aquí este tutorial donde hemos visto cómo pasar de un dispositivo totalmente dependiente de un fabricante como Tuya a un dispositivo totalmente independiente que nos permite hacer lo que nosotros queramos con él.
Gracias a Depositphotos por ceder algunas de las fotos de este artículo.