Integrando un detector de Humo RF en Home Assistant

Otra de las posibilidades que le podemos dar a Home Assistant es la de poner detectores de humo, de estos que son inalambricos alimentados por una pequeña pila y que comunican mediante radio frecuencia cualquier notificación, los hay de muchos tipos y bastante baratos, por a penas 5€ podrás asegurarte que nada se quema en tu hogar o en tu oficina! Así de barato nos protegemos, y al final veremos cómo alertar con Telegram en caso que exista humo.

Este sería un ejemplo de un detector de humo, un producto ya listo que simplemente al alimentarlo con una pila y detectar humo, enviará una señal por RF, y ahí estará nuestro Sonoff Bridge RF para escuchar la señal de radio frecuencia, convertirla y enviarla por Wifi. Esta parte final la realizaremos mediante MQTT donde se enviará al Broker (el propio Home Assistant o Hassio) y ya dependerá de nuestras automatizaciones pues lo que queramos, en este caso particular lo que comentábamos, que nos alerte con mensajes de Telegram.

 

Lo primero de todo será ver el código que nos manda el detector de humo, así que abrimos la Consola de nuestro Sonoff Bridge RF, hacemos un fuego o acercamos algo de humo al sensor y si va todo bien, a parte de pitar como un loco podremos ver el código que envía. Ahora como siempre, debemos crear una regla en nuestro Sonoff Bridge para publicar un topic o asunto y que lo recoja el Broker MQTT (nuestro Hassio o Home Assistant). Si necesitas repasar, tienes este post para ver cómo montar Tasmota en un Sonoff Bridge o cómo usar las reglas, ¿ok?. Estas reglas acordaros que cada dispositivo con Tasmota nos permitirá crear hasta 3 reglas con 511 caracteres cada una, podremos anidar las reglas. Y este sería el ejemplo que podemos utilizar, donde usando el código de cada dispositivo indicaremos que el sensor detectó humo:

on rfreceived#data=9D6FB6 do publish2 RFBridge/sensor_humo_cocina Humo endon

 

Acabamos dando de alta este detector de humo, lo haremos en la sección de los sensores binarios y podremos utilizar su fichero específico o directamente en nuestro querido configuration.yaml que contiene la configuración de Home Assistant:

binary_sensor:
  - platform: mqtt
    name: "Humo Cocina"
    state_topic: "RFBridge/sensor_humo_cocina"
    availability_topic: "tele/Sonoff-Bridge-01/LWT"
    qos: 1
    payload_on: "Humo"
    payload_off: "Sin humo"
    payload_available: "Online"
    payload_not_available: "Offline"
    device_class: smoke

 

Como siempre, reiniciamos nuestro Home Assistant y podremos verificar que el detector de humo ya aparece correctamente.

 

Tenemos que crear una Automatización para que una vez que salte la alarma de que hay Humo, pues pasados 5 segundos deje el sensor como estaba, o sea, Sin humo. Si no, nunca volvería a su estado y lo tendríamos siempre activado, es similar a los sensores de detección de movimientos, que sólo envían 1 código, cuando hay movimiento, humo… vaya no cuando deja de haber. En la automatización el desencadenante será cuando nuestro sensor esté en ‘on’ más de 5 segundos, y así se ejecute la acción, que no será más que enviarle el payload de que no hay humo, en automations quedaría algo como esto:

 

- id: '1564335337169'
  alias: Sensor Humo Cocina Reseteo
  trigger:
  - entity_id: binary_sensor.humo_cocina
    for: 0:00:05
    platform: state
    to: 'on'
  condition: []
  action:
  - data:
      payload: Sin humo
      topic: RFBridge/sensor_humo_cocina
    service: mqtt.publish

 

Otra automatización que nos tocará hacer es, que cuando arranque Home Assistant reseté el sensor, o sea corregiremos una pequeña incidencia, le diremos que no hay humo, si no veréis que cada vez que reiniciáis Hassio el sensor se queda activado por defecto. Y os dejo si preferís el código que genera esta automatización:

- id: '1564338120195'
  alias: Sensor Humo Cocina Inicio
  trigger:
  - event: start
    platform: homeassistant
  condition: []
  action:
  - delay: 00:00:20
  - data:
      entity_id: automation.sensor_humo_cocina_reseteo
    entity_id: automation.sensor_humo_cocina_reseteo
    service: automation.trigger

 

Por último y a lo que vamos, la parte interesante, el envío de notificaciones con Telegram, si necesitas recordar cómo habilitar estas notificaciones, recuerda echar un vistazo a este post. Lo que vemos aquí es mediante una automatización cómo conseguir esta notificación, indicaremos que cuando el sensor de humo cambie de estado off a on, envíe una notificación de Telegram, como siempre os dejo el código que genera la automatización por si lo preferís:

- id: '1564335402969'
  alias: Notificación Telegram - Sensor Humo Cocina
  trigger:
  - entity_id: binary_sensor.humo_cocina
    from: 'off'
    platform: state
    to: 'on'
  condition: []
  action:
  - data:
      message: Hay humo en la Cocina
    service: notify.telegram
- id: '1564338120195'
  alias: Sensor Humo Cocina Inicio
  trigger:
  - event: start
    platform: homeassistant
  condition: []
  action:
  - delay: 00:00:20
  - data:
      entity_id: automation.sensor_humo_cocina_reseteo
    entity_id: automation.sensor_humo_cocina_reseteo
    service: automation.trigger

 

Espero os haya resultado interesante, como vemos podemos securizar nuestra casa, oficina o lo que sea de una manera barata, personalizada y por supuesto mejor que cualquier solución profesional que venden los fabricantes.

 

Héctor Herrero