Cloud, DevOps e IoT en español

Parte 9 de 22 de la serie Domótica con ESP32 y AWS desde cero

Controlar un ESP32 con Siri usando Atajos, paso a paso

6 de octubre de 2026 · Steven Carvajal · Tutoriales

Código de este artículo en GitHub →

Controlar la casa por voz parece exigir integraciones complejas con Apple Home, HomeKit o certificaciones. Para un proyecto propio hay un camino mucho más corto: la app Atajos del iPhone puede enviar una petición HTTP, y cualquier Atajo se ejecuta diciendo su nombre a Siri.

En esta parte, "Oye Siri, enciende la sala" ejecuta un Atajo que llama a la API de la parte 8. La API cambia el estado deseado en AWS IoT Core y el ESP32 enciende la luz.

Lo que necesitas

Si no usas AWS, cualquier endpoint HTTPS que acepte un POST con JSON sirve igual: los pasos del Atajo son los mismos. Incluso un ESP32 con su propio servidor web en tu red local (servidor web en ESP32), aunque entonces solo funcionará en casa.

Paso 1: crear el Atajo

  1. Abre Atajos y toca + para crear uno nuevo.
  2. Toca el nombre en la parte superior y ponle exactamente la frase que dirás a Siri, por ejemplo "Enciende la sala".
  3. Busca la acción "Obtener contenido de URL" y agrégala.

El nombre del Atajo es la frase de voz. Elige algo natural y que no se parezca a comandos del propio iPhone, para que Siri no los confunda.

Paso 2: configurar la petición

Toca la flecha de la acción para ver sus opciones y configúrala así:

CampoValor
URLLa de tu API, por ejemplo https://<id>.lambda-url.<región>.on.aws/
MétodoPOST
Encabezadosx-api-token → tu token
Cuerpo de la solicitudJSON
Campos del JSONsalida (texto) → sala · valor (texto) → on

Los nombres exactos de las opciones pueden variar un poco según la versión de iOS, pero siempre están dentro de la misma acción.

Lo que el Atajo envía equivale a esta petición:

curl -X POST "https://<id>.lambda-url.<región>.on.aws/" \
  -H "x-api-token: TU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"salida":"sala","valor":"on"}'

Paso 3: probarlo

Toca el botón de reproducir del Atajo. Si todo está bien, la luz se enciende en uno o dos segundos. Ahora di "Oye Siri, enciende la sala".

Para ver la respuesta de la API mientras pruebas, agrega la acción "Mostrar resultado" después de la petición. Verás algo como {"ok":true,"salida":"sala","valor":"on"}. Cuando todo funcione, quítala o cámbiala por una respuesta hablada más amable.

Si falla, la respuesta de la API te dice por qué:

RespuestaCausa probable
401El token está mal copiado, o lo cambiaste y el Atajo tiene el anterior
400Falta un campo, la salida no existe o valor no es exactamente on u off
500 o tiempo de esperaError dentro de la Lambda: revisa sus registros en CloudWatch

Paso 4: el resto de los Atajos

Para apagar, duplica el Atajo, renómbralo "Apaga la sala" y cambia valor a off.

Para controlar varios dispositivos con una frase, como "Apaga todo", tienes dos opciones:

No hace falta un Atajo por cada combinación posible: crea los que de verdad vas a usar.

Automatizaciones

Como es un Atajo normal, puedes usarlo fuera de Siri:

Seguridad: el token vive en el Atajo

El token queda guardado dentro del Atajo, en texto. Ten en cuenta que:

Para compartir una plantilla sin tu token, marca los campos sensibles con "Preguntar al importar": quien instale el Atajo desde el enlace de iCloud tendrá que escribir su propio token la primera vez.

Preguntas frecuentes

¿Necesito HomeKit o Apple Home?

No. Los Atajos pueden llamar a cualquier URL. HomeKit te da la app Casa y los controles del sistema, pero exige otro tipo de integración (por ejemplo, Matter). Para un proyecto propio, un Atajo con una petición HTTP es mucho más simple.

¿Funciona desde el Apple Watch o el HomePod?

Los Atajos se sincronizan con tu cuenta y muchos se pueden ejecutar desde el Apple Watch y con Siri en otros dispositivos de Apple. El soporte depende del dispositivo y de la versión del sistema.

¿Y en Android?

La misma petición se puede enviar con apps como HTTP Shortcuts, Tasker o MacroDroid, y hay formas de dispararla con el asistente de Google. La API no necesita cambios.

¿Por qué no MQTT directo desde el Atajo?

Porque Atajos no habla MQTT, y AWS IoT Core exige certificados o firmas SigV4 que un Atajo no puede generar. La API HTTP es el traductor entre ambos mundos.

Sigue leyendo