Aprende a crear un temportizador en Home Assistant fácilmente

Vamos a crear paso a paso un temporizador muy simple para realizar cualquier acción tras un tiempo, desde nuestro centro domótico con Home Assistant

Como es un post eminentemente práctico, vamos a particularizar por ejemplo para apagar una TV pasado un tiempo que podremos establecer, pero podremos usarlo para desconectar un aire acondicionado, encender/apagar una luz, o jugar con cualquier otra integración accesible desde nuestro Home Assistant haciendo la regla lo compleja que queramos.

Aunque hemos realizado las pruebas con una smart TV, entre los dispositivos que podremos controlar, y que seguro tendremos están las luces y los enchufes inteligentes, por lo que os dejamos las mejores ofertas con las que poder practicar:

Al final del post os daremos ideas de dónde podemos aplicarlo también y cómo hacerlo.

Paso 0 – Planificamos cómo vamos a crear el temporizador

Este paso muchas veces es pasado por alto, y es fundamental. No hace falta apuntar en un papel, o hacer algo complicado, pero ayuda mucho simplemente pensar cuáles serán los pasos y porqué los hacemos.

A modo de resumen este será nuestro plan:

  • Crearemos unos Helpers (en la jerga de Home Assitant) que serán los elementos visibles para establecer los valores de tiempo que queramos y para activar nuesto temporizador. En este caso podremos introducir las horas y minutos que queremos esperar hasta realizar una acción.
  • Una vez creados los Helpers, configuramos directamente nuestra automatización.

Paso 1 – Helpers o «ayudantes»

En las diferentes versiones de Home Assitant han ido variando y organizando mejor los distintos menús. La presente guía por tanto puede variar en la localización de los elementos, pero en lo básico será igual y no tendréis problema en seguirla sea cual sea vuestra versión.

Para llegar hasta donde se encuentran los Helpers, tendremos que navegar desde Settings > Devices & Services:

Por defecto estaremos en la pestaña de Integrations, así que seleccionamos la de Helpers y la opción +ADD HELPER :

Necesitaremos 2 números (uno para especificar las horas y otro para los minutos). Por tanto, elegimos el tipo Number:

Le indicamos un nombre representtivo. Como en este caso indentificarán las horas, le hemos añadido _hh al final, llamándose TV off_hh

Vamos también a establecer un rango para elegir valores entre 0 y 2 horas con saltos de 1 en 1. Es decir, podremos elegir 0, 1 o 2 horas. Luego iremos con los minutos:

De la misma manera crearemos otro Helper de tipo Number al que llamaremos TV off_mm para especificar los minutos (entre 0 y 60) y de 10 en 10 :

Por último, crearemos un Helper de tipo Toggle para activar nuestro Timer, al que llamaremos TV off_timer:

Resumiendo, ya tenemos los 3 helpers necesarios para interaccionar con nuestra automatización: 2 números para establecer horas y minutos, y un toggle para iniciar el conteo de tiempo antes de realizar la acción.

Vamos con la automatización.

Paso 2 – Creamos la automatización

Iremos de nuevo desde Settings para seleccionar Automations & Scenes:

A nuestra automatización la vamos a llamar Auto_TV_Samsung_off, con el botón + CREATE AUTOMATION:

Existe la posibilidad de crear automatizaciones a partir de plantillas (blueprints) pero nosotros crearemos la nuestra desde 0, por lo que elegiremos la opción «Start with an empty automation«:

Como véis, es un entorno muy visual en el que en nuestro caso tendremos que decir qué activa (trigger) nuestra automatización, y lo que queremos que haga que en esta ocasión será esperar un espacio de tiempo y luego apagar nuestra TV.

A la hora de establecer el tiempo de espera, sin embargo, lo vamos a complicar un poco porque no queremos un tiempo fijo establecido, sino que esperaremos una cantidad de segundos calculada a partir de las horas y minutos que hayamos puesto en nuestros helpers.

No hace falta ahora que seamos expertos en el lenguaje usado (jinga se llama) por lo que podéis copiar / pegar directamente.

Cada automatización la podremos configurar de manera visual (la vista por defecto) o bien a través de código yaml (en texto plano), lo cual es ideal para poder copiar de este post y pegarlo en vuestro sistema. No olvidéis cambiar nombres de entidades a los vuestros:

El código es el siguiente (respetar los espacios es muy importante), y fijaos en el modo elegido «Restart» para que podamos cancelar y establecer de nuevo. Básicamente las acciones son:

  • Espera hh*3600+mm*60 segundos
  • Apaga la TV
  • Pone a off el Toggle creado

Como decimos, este es el código por si queréis copiarlo en modo YAML:

alias: Auto_TV_Samsung_off
description: ''
trigger:
  - platform: state
    entity_id:
      - input_boolean.tv_off_timer
condition: []
action:
  - delay: >-
      {{ states('input_number.tv_off_hh') | multiply(3600) | int +
      states('input_number.tv_off_mm') | multiply(60) | int}}
  - service: media_player.turn_off
    data: {}
    target:
      device_id: 5b2ddce65acf013423e03b0d4dea6199
  - service: input_boolean.turn_off
    data: {}
    target:
      entity_id: input_boolean.tv_off_timer
mode: restart

Paso 3 – Lo mostramos en el panel

Lo último que nos queda es representarlo en un panel para poder interactuar y usar nuestro nuevo temporizador.

Una vez seleccionemos el panel donde queremos poner el interface de esta automatización, editamos para poder incluir los elementos necesarios:

Y añadiremos una nueva tarjeta con + ADD CARD:

Ya casi lo tenemos , pues podemos elegir el tipo de tarjeta Entities y poner nuestros Helpers:

El aspecto será el siguiente una vez pinchemos en «Done» en la parte superior para dejar de editar el panel:

Este temportizador es muy básico, pero no por ello menos útil.

Podremos modificarlo para reglas más complejas y dotar así de más «inteligencia» a nuestro hogar. Por ejemplo podremos encender un aire acondicionado durante un tiempo, no solo atendiendo a la temperatura ambiente, sino también dependiendo del precio de la elecricidad o incluso de la previsión meteorológica. Cosas como estas son las que evidencian la verdadera potencia de un sistema integrado como es Home Assistant.

Para los usuarios más avanzados, se podría intercalar un Timer para mostrar el tiempo restante, así como mejoras en la parte visual de la tarjeta.

Os animo a experimentar y avanzar en este mundo de la domótica. Y por si os ha sabido a poco, aquí hay otras entradas que os pueden interesar:

Deja un comentario