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.
Tabla de contenidos
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:
- Los juegos que potencian la filosofía STEM (Ciencia, Tecnología, Ingeniería y Matemáticas) tienen beneficios a medio y largo plazo. Invierte en conocimiento y nunca te arrepentirás.
- Modelo de Markov para calcular la disponibilidad en equipos redundantes. Todo explicado con un ejemplo y datos reales.
- La placa de desarrollo más barata y versátil que puede existir. Arduino te sorprenderá
- Si estás buscando una manera de automatizar tu hogar, entonces los dispositivos inteligentes de Shelly pueden ser la solución perfecta.
- Explicamos de forma sencilla el funcionamiento de las interferencias en WiFi y sus soluciones.
Hola, me ha resultado muy util la guía y me ha funcionado ala perfección,
¿Cómo podría instalar un timer para ver cuanto tiempo queda en la misma tarjeta?
Gracias, un saludo.
Hola Alex, en este otro post hemos explicado en detalle precisamente como poner un timer: https://www.pacienciadigital.com/control-temperatura-home-assistant/
Hola, la parte de código YAML del paso 2, ¿Cómo se haría de forma visual, sin código?
Hola Pascual. Puedes desde el editor de automatización cambiar de un modo visual a otro de código. Puedes pegar en el editor de código y cambiar luego al nodo gráfico para ver cómo se hace. Saludos