Error "Failed to receive response" en Chat Trigger (Add-on Home Assistant)

Hola a todos,

Instalé el complemento de n8n en Home Assistant y el acceso inicial funcionó perfectamente. Sin embargo, al crear un flujo simple usando el nó Chat Trigger conectado a un AI Agent (con el Google Gemini Chat Model), me encuentro con el siguiente error en la interfaz del chat después de enviar un mensaje: “Error: Failed to receive response”.

Ya realicé algunas pruebas de aislamiento para intentar depurar:

  • Las credenciales de la API de Gemini están validadas y conectadas.

  • Si cambio el disparador al manual (When clicking ‘Execute workflow’) y paso el prompt directamente en el nó, el flujo se ejecuta con éxito y el modelo procesa la respuesta.

  • El problema ocurre solo cuando la entrada proviene del Chat Trigger. La ejecución parece pausarse o detenerse en el disparador. El nó del agente no muestra falla (no se pone en rojo) y no se genera ningún registro de error en la consola.

Ya intenté eliminar el nó de memoria para evitar el desbordamiento de RAM en el contenedor, pero el comportamiento de timeout en la ventana de chat persiste.

¡Hola @Ricardo_Mendonca, bienvenido!
¿Has intentado definir manualmente la salida del disparador de chat en el agente de IA? Así:

Creo que esto debería funcionar, cuéntame cómo te va.

Hola @Ricardo_Mendonca

El problema no es que tu IA o tu flujo de trabajo estén rotos, sino que el «intermediario» (la capa de red de Home Assistant) se está impacientando. Cuando envías un mensaje, la IA tarda unos segundos en procesar y generar una respuesta. Durante este silencio, Home Assistant cree que la conexión se ha atascado y la corta para ahorrar recursos, lo que genera el error «Failed to receive response».

Para solucionar esto, necesitas cambiar cómo n8n envía la respuesta. En lugar de dejar que el Chat Trigger maneje la respuesta automáticamente, cambia la configuración del disparador a «Use response nodes» (Usar nodos de respuesta) y añade un nodo «Respond to Chat» (Responder al chat) al final de tu flujo de trabajo. Esto cambia el método de comunicación y normalmente evita que Home Assistant cierre la conexión prematuramente.

Si eso no funciona, el problema probablemente sea un error de configuración en tu dirección web. Es posible que n8n intente enviar la respuesta a una dirección interna a la que el navegador no puede acceder. Puedes solucionar esto asegurándote de que la «Webhook URL» en la configuración de tu complemento esté establecida en tu dirección completa de Home Assistant externa.

¡Hola @Ricardo_Mendonca, bienvenido a la comunidad n8n!
Yo verificaría primero si la ejecución se crea cuando se envía el mensaje y si el Agente produce una salida normalmente. Si la ejecución termina exitosamente, abre la consola del navegador (F12) y verifica posibles errores de websocket/SSE. También sería útil saber la versión exacta del Add-on de n8n y de Home Assistant, ya que esto ayudaría a determinar si el problema está en la capa de la interfaz de chat o en la integración a través de Ingress.

Oye, me topé con exactamente el mismo problema (auto-hospedado a través de Docker Compose, no el complemento de HA, pero los mismos síntomas: el disparador manual funciona bien, el disparador de chat simplemente se queda atascado con «Failed to receive response», sin ejecución registrada, el nodo del agente nunca se vuelve rojo).

En mi caso, el problema era cómo tenía configurado N8N_HOST en mi docker-compose.yml. Lo había establecido en 0.0.0.0 (necesario para que el contenedor escuche en todas las interfaces), pero n8n aparentemente también estaba usando ese mismo valor para construir la URL que envía al navegador para el punto final del chat/webhook. Entonces el frontend literalmente intentaba obtener http://0.0.0.0:5678/…, lo que el navegador rechaza correctamente (ERR_ADDRESS_INVALID). En realidad puedes verlo en DevTools > Network tab si filtras por solicitudes fallidas mientras envías un mensaje de chat.

La solución fue agregar dos variables de entorno explícitas:

N8N_EDITOR_BASE_URL=http://localhost:5678
WEBHOOK_URL=http://localhost:5678/

(reemplaza localhost:5678 con tu dirección/puerto real accesible)

Después de reiniciar la pila, el disparador de chat funcionó inmediatamente.

Podría valer la pena revisar la configuración del complemento de HA para algo similar: si está vinculado a 0.0.0.0 o a un nombre de host de contenedor interno sin una URL pública separada establecida, te toparías con lo mismo. Vale la pena revisar primero la pestaña Network de tu navegador para confirmar que es realmente la misma causa raíz antes de cambiar nada.

¡Gracias, persona amable! ¡Esto funcionó perfectamente, pasé una buena media hora probando todo lo que se me ocurrió pero esto fue lo único que funcionó!

¡De nada! :slight_smile:

Funcionó perfecto al agregar N8N_EDITOR_BASE_URL

Le agradezco enormemente su ayuda.