Skip to Content
Guía de pantallasCondiciones sobre el dato

Condiciones sobre el dato

Sin condición, una Recolección empuja todo lo que recolecta a todos los destinos, y el “Reenviar Respuesta” de una Entrega hace lo mismo con la respuesta. La condición decide por el contenido: solo reenvíe si la temperatura supera 80, solo mande al MES el aviso que SAP aceptó, abra un aviso de PM si el estado es distinto de OK y la máquina está encendida.

Una condición se escribe una vez, en el mismo editor, y sirve en tres lugares:

DóndeQué decideMira
Reenvío de la Recolección — Recolecciones › Reenviar RecolecciónSi ese destino recibe la lecturaEl dato recolectado
Reenviar Respuesta de la Entrega — DefinicionesSi ese destino recibe la respuestaLa respuesta del destino
Alerta Condición Cumplida — AlertasSi la alerta se dispara (correo, WhatsApp, ticket)El dato recolectado

Cómo se escribe

Una condición es una o más reglas, combinadas con Y (todas deben cumplirse) u O (basta una):

ParteQué es
CampoLa ruta en el dato, con punto: temperatura, tags.Status, RETURN.TYPE, linhas.0.valor. Vacío = el contenido completo, para datos que no son JSON. input.<nombre> lee un Parámetro de Entrada
OperadorVer la tabla de abajo
ValorTexto, número o una Variable: {{LIMITE_TEMP}}
OperadorSe cumple cuando
igual a, distinto deEl valor leído es (o no es) el valor
mayor que, mayor o igual a, menor que, menor o igual aComparación — numérica, cuando los dos lados son números
entreEl número leído está entre los dos valores, inclusive
contiene, no contieneEl texto contiene el valor, sin distinguir mayúsculas
está vacío, no está vacíoCampo ausente, texto vacío, lista u objeto vacíos
cambióEl valor es distinto de la lectura anterior

El botón junto al campo sugiere rutas en tres grupos: Del último mensaje (con el valor leído), Parámetros de Entrada y Del Contrato Observado — los campos de los mensajes reales de esa Recolección o de las respuestas de esa Entrega, ver Contrato Observado. Se puede escribir cualquier otro.

Lo que conviene saber sobre la comparación

  • Un número se compara como número. "100" > "80" es verdadero, aunque los dos estén como texto en el JSON. La coma decimal vale: 80,5 es ochenta y medio.
  • Un campo ausente no es mayor ni igual a nada, pero es distinto de todo, y cuenta como vacío.
  • La Variable es por Aplicación. {{LIMITE_TEMP}} se resuelve con la Variable de la Aplicación de la Recolección (o de la Entrega) cuando existe, y con la Global cuando no. Así cada máquina tiene su límite con una sola regla. Una Variable que no existe no se vuelve “límite cero”: la comparación falla.
  • cambió no se dispara en la primera lectura — no hay con qué comparar. La última lectura de cada campo queda guardada y sobrevive a un reinicio. Guardar la Recolección, la Entrega o la alerta reinicia esa memoria.

Parámetros de Entrada — input.

El campo común lee el dato: la lectura de la Recolección, o la respuesta de la Entrega. Para decidir por lo que envió quien llamó, use el prefijo input. con el nombre del Parámetro de Entrada: input.sendToMES igual a true reenvía al MES solo las llamadas que lo pidieron.

DóndeDe dónde viene input.<nombre>
RecolecciónLos Parámetros de Entrada de la llamada — por la API dinámica, MCP, Disparador o Banco de Pruebas —, ya con el valor por defecto aplicado
Entrega (Reenviar Respuesta)El Payload de Entrada de la Definición, leído del mensaje recibido
  • El parámetro aparece enseguida. El grupo Parámetros de Entrada sale de las filas del formulario: el parámetro recién agregado ya se ofrece, antes de guardar y antes de que haya mensaje.
  • El prefijo separa los dos. Si el dato también tiene un campo sendToMES, sendToMES lee el dato e input.sendToMES lee el parámetro.
  • Una Recolección programada no tiene parámetros: nadie la llamó. Ahí input.<nombre> es campo ausente — y, en una Recolección sin Parámetros de Entrada, input.x sigue siendo una ruta común en el dato.
  • Los mensajes recolectados antes de esta versión no guardaron los parámetros: para ellos, input.<nombre> es ausente.

Probar con el último mensaje

El botón Probar con el último mensaje, en el editor, evalúa la condición que está en pantalla — aunque no se haya aplicado — contra el dato real más reciente: la última lectura de la Recolección, o la última respuesta de la Entrega. El resultado muestra si se cumple y, regla por regla, el valor leído y el esperado, además del dato. No se graba nada. El botón aparece después de que la Recolección o la Entrega se guardó una vez; los mensajes del Banco de Pruebas quedan fuera. Los Parámetros de Entrada de ese mensaje aparecen entre los campos, como input.<nombre>, con el valor recibido.

Reenvío condicional

En cada línea de Reenviar Recolección (en la Recolección) y de Reenviar Respuesta (en la Entrega), el botón Reglas, al inicio de la línea, abre el editor. Cuando hay condición, se pone azul y muestra cuántas reglas tiene; el resumen aparece en el tooltip.

  • Sin condición, el destino recibe todo — como siempre.
  • Condición verdadera: reenvía, con el Transformador del reenvío como de costumbre.
  • Condición falsa: ese destino no recibe, y queda el rastro del motivo.

La condición mira el dato crudo, antes del Transformador: la regla habla de la lectura, no del formato del destino.

Cuando ningún destino de la Recolección cumple, el mensaje termina Procesado — fue la regla la que decidió, no es un error. En la Entrega, el mensaje ya terminó cuando el destino respondió; la condición solo decide lo que sigue adelante.

El rastro. Los reenvíos no realizados aparecen en el mensaje de origen, en el cuadro Reenvíos no realizados (condición no cumplida): en el popup y en la página del mensaje, y en el resultado del Banco de Pruebas. Cada línea dice el destino y el motivo — ✗ temperatura = "72" (esperado > "80").

Un uso típico en la Entrega: la BAPI devuelve RETURN.TYPE. Con RETURN.TYPE igual a S en el reenvío al MES, solo sigue el aviso aceptado por SAP; el rechazado queda con el motivo en el mensaje.

Alerta Condición Cumplida

En Alertas, el tipo Condición Cumplida vale para una Recolección y tiene, además de los destinatarios y canales de siempre:

CampoQué hace
CondiciónEl mismo editor, sobre el dato recolectado
Separar porUn campo del dato (ej.: equipamento). Cada valor se dispara y se normaliza por su cuenta — ver abajo
Duración mínima (s)Solo se dispara si la condición sigue siendo verdadera durante ese tiempo — temperatura por encima de 80 durante 5 minutos, y no un pico de una lectura
Mensaje de la alertaEl texto, con {{dado.campo}}, {{coleta}}, {{aplicacao}}, {{chave}} y las Variables. Vacío = la Recolección y las reglas con los valores leídos

Sin avalancha

Un MQTT publicando cada segundo con la temperatura alta abriría un aviso por segundo. La alerta se dispara en el cruce de falso a verdadero, y se queda quieta mientras la condición siga cumpliéndose. Cuando deja de cumplirse, sale el aviso Condición Normalizada, y el próximo cruce dispara de nuevo.

La duración mínima se verifica en cada nueva lectura: no hay reloj propio. Una fuente que deja de publicar no completa la duración.

Separar por

Una Recolección que trae varios equipos — una línea por horno, en cada ciclo — con un solo estado alternaría “cumplida” y “normalizada” en cada ciclo: el horno 2 por encima del límite y el horno 1 por debajo se desmentirían. Con Separar por equipamento, cada horno tiene su estado: se dispara cuando él supera el límite y se normaliza cuando él vuelve. El mensaje y el ticket traen el valor — Condición cumplida en la Recolección “FORNO_01” (equipamento = forno-2).

Elija un campo que identifique la cosa monitoreada, y no la lectura: un id de mensaje o una hora crearía un estado por lectura.

Ticket

La alerta abre un ticket en los destinos de Help Desk como cualquier otra, y el cuerpo del destino puede usar el dato que la disparó: {{dado.equipamento}}, {{dado.tags.Status}}. Es lo que permite abrir el aviso de PM en el equipo que vino en la lectura.

Cada cruce abre su ticket — y, separado por clave, cada equipo el suyo. El bloqueo de “un ticket a la vez” de las demás alertas no se aplica aquí: con él, el aviso del horno 2 esperaría al del horno 1.

Lo que no dispara

  • Mensaje de prueba (Banco de Pruebas): el reenvío condicional se evalúa y se muestra, pero la alerta no se dispara.
  • Reenvío de una lectura antigua: reenviar no vuelve a abrir el aviso.
  • Recolección solo de consulta, que devuelve el resultado a quien la llamó y no reenvía.