Convertir a Home Assistant en tu pinche de cocina

Convertir a Home Assistant en tu pinche de cocina

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!❤️

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.

*Algún precio puede haber cambiado desde la última revisión

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í.

receta calabaza
💡 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:

  1. 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).
  2. 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».
  3. 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».
  4. 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:
    1. El movimiento correspondiente entre pasos del desplegable (utilizando los servicios ‘input_select.select_next’ o ‘input_select.select_previous’, según corresponda).
    2. Retraso de 3 segundos, para garantizar que nuestro altavoz gestiona correctamente el mensaje y no se solapan las acciones.
    3. Leer el paso actual utilizando el servicio ‘tts.speak’ como hemos indicado en el paso anterior.
    4. De nuevo, otro retraso de 3 segundos.
    5. 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).

automatizacion

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
automatizacion

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.

pinche

¿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! 🙂
Contenido exclusivo de Aguacatec
Send this to a friend