Primeros pasos con Hassio. Automatizaciones y Scripts

Volvemos con otra entrada de «Primeror pasos con Hassio», y esta vez lo hacemos hablando de una de las partes casi más importantes de Home Assistant, que son las automatizaciones y los scripts.

Como ya os comentamos en el primer artículo dedicado a Hassio, las automatizaciones son acciones que se llevan a cabo en función de unos parámetros o condiciones, mientras que los scripts son sólo una secuencia de acciones predefinida, pero que por si sola no hace nada; debemos usar esos scripts en alguna de nuestras automatizaciones (o ejecutarlo a mano). Así que vamos a ver un poco más en detalle cada uno de estos apartados.

Automatizaciones

Las automatizaciones se componen de 3 partes bien diferenciada:

La primera es la parte de los «triggers» o desencadenantes, de la cual podéis ver un ejemplo en la captura inferior.

Aquí es donde debemos pensar y decidir cuál o cuáles van a ser nuestros desencadenantes, y podemos usar desde luces (actuar cuando una luz se encienda o apague), sensores de temperatura (actuar cuando un sensor esté por encima o por debajo de X temperatura), sensores de movimiento, ubicación del sol, hora, geolocalización de una persona… Las opciones dependen del tipo de sensores que tengamos integrados.

Remarcar que si añadimos varios desencadenantes será suficiente con que uno de ellos se cumpla para que se dispare le automatización, y esto es importante para no confundirlo con el siguiente punto: las Condiciones.

La segunda parte es la que hace referencia a las Condiciones. Esto significa que aunque se cumpla un disparador, se deben cumplir también las condiciones que indiquemos.

Aquí las opciones son menores ya que las condiciones suelen ser bastante más acotadas. Una condición podría ser que estemos o no en casa cuando se vaya a activar una automatización. Por ejemplo, si tenemos puesto que nos avise cuando se abre la puerta de casa, puede que no sea necesario que lo haga si ya estamos en casa.

Desde las últimas versiones de Hassio ya es posible añadir condiciones de «Y» y «O», lo que nos facilita mucho las cosas ya que antes se tenía que hacer un apaño en código. Esto nos permite, por ejemplo, que si somos 2 personas en casa y queremos que salte la alarma cuando se abre la puerta, lo haga sólo cuando las 2 personas están fuera (salvo que quieras darle un susto a la otra persona, claro).

La última parte es la que hace referencia a las acciones como tal, que sería lo que ocurriría en caso de que se dispare la automatización

Nuevamente podemos añadir tantas acciones como queramos, y estas acciones suelen afectar a entidades que permitan interacción con ellas como puedan ser bombillas, mandos IR o enviar notificaciones vía Telegram. Obviamente no podremos actuar sobre un sensor de temperatura ya que estos sólo envían información, no permiten recibirla.

Scripts

Los scripts, a diferencia de las automatizaciones, no tienen ni desencadenantes ni condiciones, son simplemente una secuencia de acciones, así que podemos decir que, básicamente, las acciones de las automatizaciones son scripts, o que los scripts son las acciones de las automatizaciones.

Esto nos lleva a pensar que si vamos a crear una automatización con muchas acciones tal vez nos interese crear un script y llamarlo desde la automatización, o si tenemos varias automatizaciones que realicen las mismas acciones, mejor pasarlas a un script y así sólo las tenemos que poner una vez.

Además, estos scripts (o secuencia de acciones) los podemos ejecutar a mano si queremos, por lo que nos puede venir bien en ciertas ocasiones.

Las acciones que podemos añadir a los Scripts son las mismas que nos permiten hacer las automatizaciones, así que es una buena practica, salvo que vayamos a realizar sólo una acción o dos, o sea una secuencia muy concreta, intentar usar Scripts que llamaremos desde las automatizaciones, ya que nos permite tener un sistema más limpio y mantenible.

Algunos ejemplos

Para que os hagáis una idea de algunas de las automatizaciones que tengo, os dejo las que tengo para la lavadora, las cuales me han salvado de dejar la ropa dentro durante toda la noche (o el día siguiente) más de una vez:

Inicio

Se encarga de iniciar la secuencia, y lo que hace es que cuando el consumo de la lavadora (que controlo mediante un enchufe con medición de consumo) sube por encima de 5W (lo cual ocurre cuando empieza el programa), el Google Home Mini me dice que la lavadora se ha puesto en marcha, y pasa el estado de la lavadora a «Lavando». Esto sólo ocurre si el estado actual de la lavadora es «Apagado».

Finalizado y Modo Espera

Estas automatizaciones funcionan de forma muy similar, pero depende de si estoy en casa o no se activa una u otra. Para que se disparen, el consumo de la lavadora tiene que bajar de 5W durante 2 minutos (lo cual indica que ha terminado el programa) y, si estoy en casa, el Google Home Mini me dice que la lavadora a terminado, que me acuerde de sacar la ropa, y pone el estado de la lavadora a «Finalizado». Al mismo tiempo, empieza una cuenta atrás de 15 minutos.

En cambio, si estoy fuera de casa, en lugar de ser el Google Home Mini quien me avisa recibo un mensaje de Telegram, el estado de la lavadora pasa a «Espera» y ese timer no se pone en marcha.

Para ambas, la condición extra para que se activen es que el estado actual de la lavadora sea «Lavando».

Fin de Espera

Esta automatización se activa cuando llego a casa siempre y cuando el estado actual de la lavadora sea «Espera». Si se cumple, se lanza la automatización de «Finalizado».

Recordatorio

Esta automatización se lanza cada 15 minutos gracias al timer que ha iniciado la automatización de «Finalizado», y no es más que un recordatorio para que saque la lavadora, ya que a veces estoy con otras cosas y se me vuelve a olvidar. Esto se ejecuta siempre y cuando el estado de la lavadora sea «Finalizado», y cada vez que llega a 0, vuelve a empezar.

Ropa tendida

Esta es la automatización que cierra el «ciclo» de automatizaciones de la lavadora, y se lanza cuando el estado de la lavadora pasa (de forma manual usando el selector de estados que veis en la imagen superior) a Apagado. Esto cancela el timer en caso de que estuviera en marcha, y el Google Home Mini me dice que perfecto, pero que me acuerde de recoger la ropa ya que a partir de ese momento no puede ayudarme más.

Como veis, algo tan sencillo como poner una lavadora puede convertirse en todo un reto, pero lo bien que nos lo pasamos haciendo estas cosas no está pagao.

Ahora ya está en vuestras manos pensar qué podéis automatizar en vuestra casa en función de los sensores y cacharros que tengáis. Nos vemos en el siguiente artículo.

¡Sé el primero en compartir este artículo!