Webhooks y workflows en Controller for HomeKit

Hola a todos, muy buenos días y bienvenidos de nuevo a Domótica Compatible. El otro día, mientras os hablaba sobre cómo saber si alguien había entrado en mi habitación cuando yo no estaba en casa, os conté una automatización que había hecho en Home Assistant para que me avisara si el sensor de movimiento se estaba quedando sin pilas… y os dije que lo podríamos hacer también desde Controller for HomeKit pero no desde la app Casa directamente, ni siquiera con un atajo. Así que vamos a ver esa capacidad de Controller for HomeKit de leer parámetros internos de los dispositivos y a explicar qué son los workflows en Controller for HomeKit, lo que antes se llamaba solo flow. Vamos a ver qué son. Yo soy Carlos Sahuquillo y comenzamos.
Estrenamos temporada
Además hoy estrenamos temporada, ya que siguiendo la moda —o tendencia, o lo que sea— de cambiar de temporada con el curso escolar, hoy deberíamos empezar nosotros. Joder, ni idea, macho, la verdad es que no tengo ni idea de qué temporada es… ¿la 3? ¿la 4? En realidad son más, empecé a grabar podcasts allá por 2020… pero como nunca he llevado muy bien lo de la numeración de los capítulos, o episodios, o como se llame, pues no tengo ni idea. Pero en cualquier caso, hoy empieza nueva temporada, voy a llamarle Temporada 4. A ver si con todo lo que he montado para alojar el podcast me deja poner el número de temporada, ya os contaré. Episodio 1 de la temporada 4, ea.
Controller for HomeKit está minusvalorado
Os decía antes que hoy vamos a hablar de Controller for HomeKit. La verdad es que creo que tenemos a este software minusvalorado: hay gente que dice que es caro, hay gente que dice que aunque compres la suscripción lifetime luego te cambian cosas y te hacen pasar por caja, otros que dicen que es fea… Sí, todo lo que queráis, seguramente os dé la razón a todos, pero creo que vale cada euro de lo que cuesta.
Para empezar, hay que tener en cuenta que Controller for HomeKit puede funcionar de forma mucho más independiente de lo que pensamos. Sí, los dispositivos los tienes vinculados con la app Casa de Apple, pero el resto lo puedes tener todo en Controller sin pasar por la nube de Apple. Además, puedes utilizar los servidores de Controller para hacer algunas cosas, como mandarte notificaciones avanzadas exactamente igual que hacemos desde Home Assistant. Sí, utilizando la nube de Controller, que podría no estar disponible y bla, bla, bla, mientras que Home Assistant es local… Me parece genial, pero es que hay gente que quiere la potencia de las notificaciones de Home Assistant sin tener que montarse un Home Assistant en casa porque no le apetece, porque es otro cacharro que mantener o porque no quiere aprender a utilizarlo. Aunque es verdad que ahora puedes conectar Claude, o Codex de OpenAI, a tu Home Assistant y pedirle cosas directamente por el chat… pero bueno, eso es otra historia, ya hablaremos de eso otro día si queréis, porque la verdad es que estoy súper puesto ahora en IA, estoy haciendo mil millones de cosas. Si os apetece que os cuente qué estoy haciendo, pasaos por el grupo de Telegram, lo decís por ahí y abrimos sección IA o lo que sea.
Cuando decides perder un par de horitas en investigar Controller for HomeKit, la verdad es que sorprende todo lo que puede hacer. Lo que me jode es que siempre me da por pensar por qué Apple no hace esto con la app Casa. Podemos hacer cosas increíbles, como que desde un evento detectado por Controller lancemos una automatización en Home Assistant; por ejemplo, para un dispositivo que no tengamos en Home Assistant pero sí en HomeKit, con lo cual se queda todo en local.
Notificaciones avanzadas y webhooks a Home Assistant
Por supuesto que puedes hacer las notificaciones avanzadas que quieras, ya hablamos de eso hace tiempo. Controller for HomeKit tiene su propio servidor de notificaciones al que le puedes pedir cualquier cosa combinando con Atajos. Por ejemplo, le podemos pedir una notificación para una puerta que está mucho rato abierta, con lo que recibiríamos ese aviso si la puerta lleva abierta más de X minutos, que fue el ejemplo que os puse en su momento cuando hablábamos de esto.
Si tienes Home Assistant en casa, puedes hacer ese call URL a un webhook en Home Assistant. Y tú dirás: ¿por qué querría hacer esto si lo puedo hacer en la app Casa o con Controller? A ver, dilo… venga, dilo… jajaja, me encanta esta coña, siempre se la hago a mis hijos. El caso es que puede que tengas algún dispositivo en la app Casa que no puedas pasar a Home Assistant, pero sobre todo es porque Home Assistant sabe cosas que HomeKit no sabe. Como tengo puestos los calendarios de festivos y el calendario escolar en Home Assistant, sabe perfectamente si ese día están los niños en casa o no; por lo que HomeKit dispara y Home Assistant piensa y decide si se hace o no. Por ejemplo con el aspirador, que lo tengo súper controlado y solo sale a las 9:15 de la mañana si es un día de cole, ya que a esa hora no hay nadie en casa. Si no hay cole, entonces controla cuándo estamos, dónde estamos y demás… y eso lo hace desde Home Assistant.
Pero si no tienes Home Assistant no pasa nada: podríamos, por ejemplo, lanzar la notificación a un canal de Discord, porque la verdad es que mis hijos están mucho más pendientes de algunos canales de Discord que de las notificaciones generales del móvil. Y si tenemos los dispositivos en Home Assistant pero queremos lanzar la automatización desde Controller, también podríamos hacerlo a través de call URL y webhooks. O, por ejemplo, podemos hacer que si uno de nuestros servidores se cae, se nos ponga roja la luz del despacho, yo qué sé.
Qué son los workflows
Y los workflows son una especie de automatización avanzada que directamente dibujas como una secuencia de pasos. En lugar del típico «si pasa X, haz Y», un workflow puede encadenar acciones y esperas… sí, como un Atajo, pero hay cosas que los Atajos no pueden hacer porque dependen de la información que les proporciona la app Casa. Por ejemplo, con un workflow podemos leer los valores en crudo del dispositivo con Get Accessory State o Monitor Value, por lo que podemos saber, por ejemplo, los lux que tenemos en la habitación en todo momento y decidir si hacemos algo con eso. O meter una espera con cancelación para el típico sensor de movimiento y decirle que se encienda una luz, que espere 2 minutos y que la apague… salvo que vuelva a haber movimiento, cosa que con Atajos no podemos hacer de ninguna manera. También podemos poner contadores que nos digan «ventana abierta hace 16 minutos».
Mi workflow favorito: la canción de salida al cole
La verdad es que es una funcionalidad muy interesante que nos da mil posibilidades que no da la app Casa, ni siquiera con Atajos. Yo tengo hecho uno con la música de salida de mi casa que os he contado alguna vez. Cuando los niños se tienen que ir al cole —bueno, la niña, que los otros se me han ido haciendo mayores y van al instituto—, cuando Carla tiene que salir de casa para ir al cole suena la canción de los enanitos: «Aivó, aivó, al cole a trabajar», nanananana, ya sabéis… y se apagan las luces de las habitaciones. Pues tengo un workflow que baja las luces de las habitaciones, apaga todo lo demás excepto la entrada, espera a que el HomePod deje de sonar —que es lo realmente guay— y entonces apaga las luces. Cuando la puerta se cierra, también arma la alarma, siempre que no haya movimiento en casa; si lo hay, no la arma. ¿A que mola?
Necesitas un Controller Hub (y por qué mola tenerlo)
El único pero que tiene esto es que necesitas lo que Controller llama un Controller Hub, que es un iPhone, un iPad, un Mac o un Apple TV. Estos flujos chungos no pueden estar en un HomePod: tienen que estar en un cacharro donde se pueda instalar Controller for HomeKit. Que no pasa nada, porque la licencia es igual para todos los dispositivos, pero tienes que dejar un dispositivo en casa o tener un Apple TV.
Lo bueno es que tener este Controller Hub mola porque te hace también de histórico de sensores, por lo que puedes ir guardando datos y luego verlos en gráficas de tendencia. Por ejemplo, puedes ver una gráfica de la temperatura que ha hecho en el salón, o de humedad, o ver cómo bajan las baterías, o el consumo de la vivienda… todo eso en unas gráficas súper chulas. El dispositivo que has dejado en casa para que haga de Controller Hub hace una especie de disco duro para pintar todos estos datos. También recoge el log, por lo que, más allá de poder ver la temperatura, puedes saber a qué hora se ha encendido la luz del baño y cuánto rato se ha pasado dentro tu hijo adolescente. Eso, por ejemplo, no se puede hacer desde la app Casa. Con un Atajo sí: podíamos poner en marcha un contador cuando se encienda la luz del baño, o coger la hora del sistema y, cuando se apague, enviarnos una notificación… pero desde Controller se hace de una forma mucho más sencilla. La verdad es que es ideal si tienes un iPad viejo por casa o un Apple TV modernito. Os recomiendo como mínimo probarlo, porque las posibilidades son infinitas.
En fin, chicos. Recordad que tenéis los artículos completos en el blog, sahuquillo.org —con hache intercalada entre la A y la U—. También invitaros al grupo de Telegram, donde veréis cómo cubrir alguna necesidad que en realidad no tenéis, como puede ser ahora la de perder 2 horas trasteando con Controller for HomeKit a ver qué música le puedes sacar a ese trombón para complicar tus automatizaciones, que estaban funcionando perfectamente.
A mí me podéis seguir en X como csahuqui, en Mastodon como csahuquillo@mas.to, escribirme por Telegram o poneros en contacto conmigo a través del blog. Un abrazo a todos y hasta el siguiente capítulo. ¡Hasta luego!



0 comentarios