Saltar al contenido principal

Enviando mensajes a Microsoft Teams con Node-RED

Este tutorial le muestra cómo enviar notificaciones de inspección desde su cámara OV20i directamente a un canal de Microsoft Teams. Aprenderá a configurar alertas automáticas que incluyan resultados de inspección y enlaces de imagen clicables, manteniendo a su equipo informado al instante del estado de la producción.

Lo que construiremos: Un flujo de Node-RED que envía automáticamente los resultados de inspección a Microsoft Teams con imágenes y el estado pass/fail.

Aplicación en el mundo real: Reciba notificaciones instantáneas cuando las inspecciones fallen, comparta imágenes de inspección con equipos remotos, o cree informes automáticos de calidad en su espacio de colaboración del equipo.

Prerrequisitos

  • Cámara OV20i conectada a la red de su planta
  • Acceso a Microsoft Teams con permiso para agregar conectores
  • Canal de Teams donde desea recibir las notificaciones
  • Conectividad de red entre OV20i y Microsoft Teams
  • Conocimientos básicos de flujos de Node-RED

Tutorial Overview

Lo que construiremos: Un flujo de Node-RED que envía automáticamente los resultados de inspección a Microsoft Teams con enlaces de imagen clicables.

Tiempo estimado: 15-20 minutos

Habilidades aprendidas: Integración de webhooks de Teams, solicitudes HTTP de Node-RED, sistemas de notificaciones automáticas

Paso 1: Configurar webhook de Microsoft Teams

1.1 Acceda a su canal de Teams

  1. Abra Microsoft Teams y vaya al canal de notificaciones de inspección
  2. Haga clic en los tres puntos (•••) junto al nombre del canal
  3. Seleccione 'Administrar canal' del menú desplegable

1.2 Añada el conector Incoming Webhook

  1. Haga clic en "Conectores" en el menú de administración del canal
  2. Buscar "Incoming Webhook" en la lista de conectores
  3. Haga clic en "Agregar" junto a la opción Incoming Webhook

1.3 Configurar ajustes del webhook

  1. Nombre: Ingrese un nombre descriptivo (p. ej., "Alerta de inspección OV20i")
  2. Ícono: Opcionalmente cargue un ícono personalizado para sus notificaciones
  3. Haga clic en "Crear" para generar el webhook

1.4 Guardar la URL del webhook

  1. Copie la URL de webhook generada - esto es crucial para la configuración de Node-RED
  2. Guarde la URL en un lugar seguro (la necesitará en el Paso 2)
  3. Haga clic en "Listo" para completar la configuración de Teams

Punto de verificación: Ahora debería tener una URL de webhook que se vea así: https://yourcompany.webhook.office.com/webhookb2/...

Paso 2: Acceder a OV20i Node-RED

2.1 Vaya a Node-RED

  1. Abra la interfaz web de OV20i
  2. Vaya a Editor de Recetas > IO Block
  3. Haga clic en "Configurar I/O" para ingresar al editor de Node-RED

2.2 Prepare su área de trabajo

  1. Borre un área en el lienzo de Node-RED para su flujo de integración con Teams
  2. Identifique la paleta en el lado izquierdo con los nodos disponibles
  3. Planifique su flujo: Disparador → Proceso → Enviar a Teams

Paso 3: Construir el flujo de Node-RED

3.1 Añada nodos requeridos

Arrastre estos nodos desde la paleta a su lienzo:

  1. Inject node (para pruebas)
  2. Function node (para formatear el mensaje)
  3. HTTP request node (para enviar a Teams)
  4. Debug node (opcional, para solución de problemas)

3.2 Conecte los nodos

  1. Conecte la salida de Inject node a la entrada de Function node
  2. Conecte la salida de Function node a la entrada de HTTP request node
  3. Conecte la salida de HTTP request node a la entrada de Debug node (opcional)

Estructura del flujo:

Inject → Function → HTTP Request → Debug

Paso 4: Configurar el Nodo de Función

4.1 Configuración básica del mensaje

  1. Haz doble clic en el nodo de función para abrir la configuración
  2. Reemplace el código predeterminado con este formato básico de mensaje:
// Basic Teams message
msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: "You got a new message from your OV20i"
};

return msg;

4.2 Mensaje avanzado con enlaces de imágenes

Para resultados dinámicos de inspección con imágenes clicables:

// Dynamic message with inspection image
let imageUrl = msg.payload.image_url;

msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: `Inspection Complete - [View Image](${imageUrl})`
};

return msg;

4.3 Notificación completa de inspección

Para detalles completos de la inspección:

// Complete inspection notification
const inspectionData = msg.payload;
const imageUrl = inspectionData.image_url;
const result = inspectionData.result ? "PASS" : "FAIL";
const timestamp = new Date().toLocaleString();

msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: `🔍 **Inspection ${result}** - ${timestamp}\n\n[View Image](${imageUrl})`
};

return msg;

4.4 Guardar la configuración de la función

  1. Haz clic en "Hecho" para guardar el nodo de función
  2. Dale al nodo un nombre descriptivo como "Format Teams Message"

Paso 5: Configurar el nodo de solicitud HTTP

5.1 Configurar la solicitud HTTP

  1. Haz doble clic en el nodo de solicitud HTTP para configurarlo
  2. Establecer Método: Seleccione "POST" desde el menú desplegable
  3. Establecer URL: Pegue su URL de webhook de Teams del Paso 1.4
  4. Establecer Retorno: Seleccione "UTF-8 string"

5.2 Configuraciones Adicionales

  • Nombre: Ingrese "Send to Teams" para mayor claridad
  • Encabezados: Déjelos en blanco (manejado por el nodo de función)
  • Carga útil: Déjela como "Ignore" (manejado por el nodo de función)

5.3 Guardar la configuración HTTP

  1. Haz clic en "Hecho" para guardar el nodo de solicitud HTTP
  2. Verifique que la URL del webhook sea correcta - esto es crítico para el éxito

Paso 6: Prueba de la integración

6.1 Despliega el flujo

  1. Haz clic en el botón "Desplegar" en la esquina superior derecha
  2. Espera la confirmación "Despliegue realizado con éxito"
  3. Verifique la presencia de indicadores de error en los nodos (triángulos rojos)

6.2 Prueba con el nodo de inyección

  1. Haz clic en el botón ubicado a la izquierda del nodo de inyección
  2. Verifique el panel de depuración (barra lateral derecha) para cualquier mensaje de error
  3. Verifique que el mensaje aparezca en tu canal de Teams

6.3 Verificar la notificación de Teams

  1. Cambia a Microsoft Teams y verifica tu canal objetivo
  2. Busca el mensaje de prueba de tu OV20i
  3. Prueba cualquier enlace clicable para asegurarte de que funcionen correctamente

Paso 7: Integración con el flujo de inspección

7.1 Conectar a los resultados de inspección

Para enviar notificaciones automáticas tras cada inspección:

  1. Encuentra tu flujo de inspección principal (usualmente empieza con "All Block Outputs")
  2. Añade tu notificación de Teams como una rama desde el flujo principal
  3. Conecta después del procesamiento de la inspección, pero antes de los resultados finales

7.2 Flujo de integración de ejemplo

All Block Outputs → [Inspection Logic] → Final Pass/Fail

Format Teams Message → Send to Teams

7.3 Notificaciones de filtro (Opcional)

Para enviar notificaciones solo para inspecciones fallidas:

// Only send notifications for failures
const inspectionResult = msg.payload.result;

if (!inspectionResult) { // Only if inspection failed
const imageUrl = msg.payload.image_url;

msg.headers = {
"Content-Type": "application/json"
};

msg.payload = {
text: `⚠️ **INSPECTION FAILED** - Immediate attention required\n\n[View Failed Image](${imageUrl})`
};

return msg;
} else {
return null; // Don't send message for passing inspections
}

Paso 8: Solución de problemas

8.1 Problemas Comunes

ProblemaSíntomasSolución
Sin mensaje en TeamsDepuración muestra éxito pero no hay notificación en TeamsVerifique la URL del webhook, confirme la conectividad de red
Error HTTP 400Error de solicitud en la depuraciónVerifique el formato del mensaje, asegure el encabezado Content-Type
Enlaces de imágenes no funcionanEl mensaje aparece pero las imágenes no se abrenVerifique que la URL de la imagen sea accesible desde la red de los usuarios de Teams
El flujo no se activaNo hay salida de depuración cuando se esperaVerifique las conexiones del flujo, confirme las condiciones del disparador

8.2 Depure su flujo

  1. Añadir nodos de depuración después de cada paso para rastrear el flujo de datos
  2. Verifique el panel de depuración para mensajes de error y la estructura de datos
  3. Probar con un nodo inject para aislar problemas de configuración
  4. Verifique la URL del webhook probando con herramientas externas si es necesario

8.3 Conectividad de red

  1. Asegúrese de que el OV20i pueda acceder a Internet (prueba de ping desde la cámara)
  2. Verifique la configuración del firewall que podría bloquear HTTPS saliente
  3. Verifique la resolución DNS para las URL de webhook de Teams
  4. Pruebe desde el navegador en la misma red que la cámara

¡Éxito! Su integración con Teams está completa

Su cámara OV20i ahora puede:

Enviar notificaciones automáticas a canales de Microsoft Teams

Incluir enlaces de imágenes clicables para revisión inmediata de la inspección

Filtrar notificaciones basadas en los resultados de la inspección

Proporcionar formato enriquecido con detalles de la inspección y marcas de tiempo

Dar soporte a múltiples canales para diferentes tipos de notificaciones

Buenas Prácticas

Gestión de Mensajes

  • Utilice nombres descriptivos para los canales de diferentes tipos de notificaciones
  • Incluya marcas de tiempo y identificadores de estación en los mensajes
  • Filtre los mensajes para evitar la sobrecarga de notificaciones
  • Pruebe exhaustivamente antes del despliegue en producción

Consideraciones de Seguridad

  • Proteja las URL de webhook; trátelas como credenciales sensibles
  • Use HTTPS para todas las comunicaciones (predeterminado con Teams)
  • Limite el acceso de red solo a los servicios necesarios
  • Rotación regular de las URL de webhook si se comprometen

Optimización de Rendimiento

  • Procesar notificaciones en lotes si se envían muchos mensajes
  • Utilice lógica de reintento adecuada para fallos de red
  • Monitoree las tasas de entrega de mensajes exitosas
  • Implemente limitación de tasa para evitar límites de la API de Teams

image.png

Próximos pasos

Después de configurar la integración con Teams:

  1. Crear canales de notificación distintos para varios tipos de inspección
  2. Configurar flujos de escalamiento para fallas críticas
  3. Integrar con otras herramientas del equipo (correo electrónico, SMS, etc.)
  4. Construir paneles que combinen Teams con otras herramientas de monitoreo
  5. Entrenar a su equipo para responder a notificaciones automatizadas

🔗 Ver También