En esta entrada aprenderemos a convertir a Home Assistant en tu pinche de cocina para recibir instrucciones detalladas de cualquier receta que elijamos. De esta forma podrás cocinar mientras escuchas cada paso a través de tus altavoces, justo cuando lo necesites.
🥑 Esta entrada y las automatizaciones correspondientes han sido creadas por nuestro amigo Abel. Si te ha gustado puedes dejarle un comentario un poco más abajo!❤️
Índice
Lista de ingredientes
Para convertir a Home Assistant en tu pinche de cocina necesitas los siguientes ingredientes:
- Lo único imprescindible es tener algún altavoz integrado en Home Assistant o un dispositivo Android (como un teléfono viejo o una tablet).
- Opcionalmente, si quieres enriquecer el proceso puedes usar etiquetas NFC para lanzar cada receta y un botón/pulsador integrado en HA para moverte entre los distintos pasos.
- De forma alternativa o complementaria, puedes utilizar comandos de voz con tu asistente.
Receta para crear nuestro Pinche Assistant
Creación de la receta
Para convertir a Home Assistant en tu pinche de cocina primero vamos a crear la propia receta en sí misma, con todos sus pasos detallados. Para ello cocinaremos a fuego lento un ayudante desplegable (‘input select’) y dentro de este meteremos todos los pasos.
Puedes crear el ayudante desde Ajustes > Dispositivos y servicios > Ayudantes > Crear ayudante > Desplegable. Dale el nombre de la receta para identificarlo fácilmente (por ejemplo, «Receta crema calabaza») y el icono que prefieras. A partir de aquí tienes que añadir un paso en cada opción del ayudante. Esto creará la entidad ‘input_select.receta_crema_calabaza’ y al final debería quedarte algo así.
💡 Aquí van algunos consejos para convertir a Home Assistant en tu pinche de cocina:
- Utiliza el primer paso del desplegable para indicar qué receta has seleccionado (ya que si tienes varias puedes darte cuenta del error demasiado tarde).
- Puedes usar el símbolo '|' dentro del texto para crear ligeras pausas y conseguir una locución más natural.
- Es interesante añadir un último paso que confirme que has terminado con la receta.
- Incluye en los pasos esos detalles de la receta difíciles de memorizar (como la velocidad del robot de cocina o la intensidad del fuego).
Movimiento entre pasos
Como te indicaba en la introducción, al convertir a Home Assistant en tu pinche de cocina vas a poder pedirle que te indique los pasos de tus recetas de cocina. No obstante, no lo va a hacer «de golpe», sino que te va a ir indicando cada paso cuando hayas completado el anterior. Además tendrás la opción de volver al paso anterior, repetir la instrucción o saltar al siguiente paso si ya te has adelantado.
Para poder llevarlo a cabo necesitas, al menos, uno de los siguientes mecanismos (aunque yo te recomiendo que combines ambos).
- Botones físicos. Son baratos, funcionan muy bien y normalmente puedes interactuar con ellos de tres maneras: pulsación simple, doble pulsación y pulsación larga. Perfecto para asignarlos a los movimientos entre pasos («retroceder», «repetir» y «avanzar»). En mi caso voy a utilizar un botón zigbee Sonnof SNZB-01P.
- Comandos de voz. Por si nos pilla con las manos en la masa, vamos a crear unos comandos de voz para nuestro asistente que imite la pulsación física del botón. Para ello «en otra sartén» vamos a cocinar el resto de ingredientes que nos van a hacer falta. En concreto necesitamos crear tres ayudantes de tipo alternar (‘input boolean’), que serán los que usaremos como dispositivos virtuales para activarlos por voz (de nuevo llámales, «retroceder», «repetir» y «avanzar»). El proceso se explica con detalle en esta entrada.
Dándole vida al Pinche Assistant
Lo único que nos falta para convertir a Home Assistant en tu pinche de cocina es darle vida utilizando la integración Text-to-speech (TTS) como ya vimos en esta entrada. Para ello sólo queda integrar los ingredientes creando una automatización con distintos ‘trigger id’. Al final de este apartado encontrarás el código completo de la automatización, pero en todo caso voy a explicarte cómo se ha construido.
Estos van a ser los desencadenantes de la automatización:
- Iniciador de la receta. Este va a ser el desencadenante que inicie la lectura de una receta. En mi caso voy a utilizar la lectura de una etiqueta NFC, pero puedes utilizar el que quieras (por ejemplo, un comando de voz).
- Avanzar paso. Con este desencadenante vamos a indicar a HA que puede leernos el siguiente paso. Como te decía, en realidad yo voy a utilizar dos ‘trigger’ para esta misma situación. El primero de ellos será la pulsación simple del botón y el segundo el comando de voz «siguiente paso de la receta».
- Repetir paso. Utilizaremos este desencadenante si necesitamos que HA nos repita el paso de nuevo. De forma análoga voy a utilizar la pulsación larga del botón o el comando de voz «repite el paso».
- Retroceder paso. Por último, vamos a solicitar que HA retroceda al paso anterior, bien mediante una pulsación doble del botón o bien mediante el comando de voz «paso anterior de la receta».
En cuanto a las acciones, debes crear una secuencia para cada uno de los desencadenantes.
- Cuando el desencadenante sea el iniciador de la receta, es importante que empiece siempre por el primer paso del ayudante desplegable (por ejemplo, ‘input_select.receta_crema_calabaza’). Para ello utilizaremos el servicio ‘input_select.select_first’. El siguiente paso será hacer que HA lea el paso en el que nos encontramos. Para ello utilizaremos el servicio ‘tts.speak’ de la siguiente forma (no olvides reemplazar el nombre de tu altavoz, tu receta y tu servicio tts).
service: tts.speak metadata: {} data: cache: true media_player_entity_id: media_player.TU_ALTAVOZ message: "{{ states('input_select.receta_crema_calabaza') }}" target: entity_id: - tts.home_assistant_cloud alias: Lee el paso actual
- Cuando el desencadenante sea alguno de los movimientos entre los pasos de la receta seguiremos esta secuencia de acciones:
- El movimiento correspondiente entre pasos del desplegable (utilizando los servicios ‘input_select.select_next’ o ‘input_select.select_previous’, según corresponda).
- Retraso de 3 segundos, para garantizar que nuestro altavoz gestiona correctamente el mensaje y no se solapan las acciones.
- Leer el paso actual utilizando el servicio ‘tts.speak’ como hemos indicado en el paso anterior.
- De nuevo, otro retraso de 3 segundos.
- Apagar el ayudante de tipo alternar (‘input boolean’) correspondiente al comando de voz correspondiente (por ejemplo, el correspondiente al comando «siguiente paso de la receta»). De esta forma garantizamos que queda listo para volver a ser utilizado en el siguiente paso.
Selector de recetas, el «topping» final
Ten en cuenta que el mecanismo para moverte entre los pasos (botón físico y/o comando de voz) son los mismos para todas las recetas. Necesitamos por tanto añadir un ingrediente más para que Home Assistant sepa en qué receta nos encontramos.
Con este objetivo vamos a crear un último ayudante de tipo desplegable al que puedes llamar como quieras (por ejemplo, «Pinche Assistant»). Este ayudante tendrá como opciones el título de cada una de nuestras recetas y, cuando escaneemos una etiqueta NFC con una receta, la primera acción será seleccionar la opción correspondiente en el desplegable (por ejemplo, ‘input_select.pinche_assistant’). Luego incluiremos una condición entre las acciones para que verifique que el desplegable se encuentra en esta receta (o, de lo contrario, no haga nada).
El código completo de la automatización descrita en el ejemplo es el siguiente, y gráficamente te quedará algo así.
alias: Receta Crema Calabaza description: "" trigger: - platform: tag tag_id: 59e8c249-66be-4f64-910b-9913e4a34361 id: leer etiqueta - platform: device domain: mqtt device_id: 9f5235fc71033a8882f31494173d01d2 type: action subtype: single id: simple - platform: device domain: mqtt device_id: 9f5235fc71033a8882f31494173d01d2 type: action subtype: double id: doble - platform: state entity_id: - input_boolean.avanzar to: "on" id: avanzar - platform: state entity_id: - input_boolean.retroceder to: "on" id: Retoceder condition: [] action: - choose: - conditions: - condition: trigger id: - leer etiqueta sequence: - service: input_select.select_first metadata: {} data: {} target: entity_id: input_select.receta_crema_calabaza - service: tts.speak metadata: {} data: cache: true media_player_entity_id: media_player.googlehome8717 message: "{{ states('input_select.receta_crema_calabaza') }}" target: entity_id: - tts.home_assistant_cloud alias: Lee el paso actual - service: input_select.select_option metadata: {} data: option: Crema de Calabaza target: entity_id: input_select.pinche_assitant - conditions: - condition: trigger id: - simple - avanzar - condition: state entity_id: input_select.pinche_assitant state: Crema de Calabaza sequence: - service: input_select.select_next data: cycle: true target: entity_id: input_select.receta_crema_calabaza - delay: hours: 0 minutes: 0 seconds: 3 milliseconds: 0 - service: tts.speak metadata: {} data: cache: true media_player_entity_id: media_player.googlehome8717 message: "{{ states('input_select.receta_crema_calabaza') }}" target: entity_id: - tts.home_assistant_cloud alias: Lee el paso actual - delay: hours: 0 minutes: 0 seconds: 3 milliseconds: 0 - service: input_boolean.turn_off metadata: {} data: {} target: entity_id: input_boolean.avanzar - conditions: - condition: trigger id: - doble - Retoceder - condition: state entity_id: input_select.pinche_assitant state: Crema de Calabaza sequence: - service: input_select.select_previous metadata: {} data: cycle: true target: entity_id: input_select.receta_crema_calabaza - service: tts.speak metadata: {} data: cache: true media_player_entity_id: media_player.googlehome8717 message: "{{ states('input_select.receta_crema_calabaza') }}" target: entity_id: - tts.home_assistant_cloud alias: Lee el paso actual - service: input_boolean.turn_off metadata: {} data: {} target: entity_id: input_boolean.retroceder mode: single
Decorando a nuestro Pinche Assistant
Tras convertir a Home Assistant en tu pinche de cocina, listo y dispuesto a ayudarnos con todas nuestras recetas, es hora de mejorar su accesibilidad dándole un toque decorativo.
Para ello vamos a ocultar las etiquetas NFC que inician la lectura de las recetas de una manera creativa. Por ejemplo, podemos optar por un formato como un mini libro de recetas, donde cada página represente una receta diferente. Otra opción es colocar las tarjetas en un pequeño cuadro, organizadas de manera que sean fáciles de consultar. También podemos pegarlas en lugares estratégicos de la cocina, como dentro de los armarios o en la puerta del refrigerador, para tenerlas siempre a mano cuando las necesitemos.
Con estas ideas, nuestro Pinche Assistant no solo será útil, sino que también lucirá encantador y agregará un toque especial a nuestra cocina.
¿Quieres más?
Nuestro Pinche Assistant es versátil y puede cambiar de trabajo según nuestras necesidades. Puedes utilizar la rutina que te he explicado para sacar nuevas funciones a tu asistente de voz. Como siempre decimos, ¡el límite es nuestra imaginación!
Por ejemplo, puede convertirse en un asistente para jugar adivinanzas o acertijos con los más pequeños. En lugar de seguir pasos de recetas, simplemente proporciona las pistas de las adivinanzas o acertijos. Y los comandos de voz pueden ser «dame otra pista» o un simple «me rindo» para revelar la respuesta.
🥑 Quien no se rinde es la comunidad Aguacatec, cada día más grande, es un excelente ejemplo de creatividad e innovación! Nos trae ideas originales que nos inspiran a pensar fuera de lo común y a explorar nuevas posibilidades!❤️
¿Dudas?¿necesitas ayuda? entra aquí
Y si te ha gustado, compártelo! 🙂