Eventos Recibidos por el Dispositivo Sensor
El dispositivo o controlador puede escuchar eventos emitidos por el servidor para reaccionar a cambios de órdenes de producción, cambios de turno o paradas, así como para actualizar pantallas locales.
1. Confirmación de Señal (sensorSignalResponse)
Se emite inmediatamente como respuesta al evento sendSensorSignal.
{
"status": "success",
"timestamp": "2026-07-27T14:15:00.000Z"
}
2. Eventos de Cambio de Orden de Producción
A. Inicio de Orden de Producción (production-started)
Se emite cuando se inicia una nueva orden de producción en la máquina asignada.
Payload JSON:
{
"data": {
"machineId": "550e8400-e29b-41d4-a716-446655440000",
"productionId": "prod-uuid-8899",
"orderCode": "OP-2026-001",
"productId": "prod-type-12",
"productName": "Botella PET 500ml",
"startDate": "2026-07-27T08:00:00.000Z"
},
"timestamp": "2026-07-27T08:00:00.000Z"
}
B. Fin / Detención de Orden de Producción (production-stopped)
Se emite cuando la orden de producción actual es finalizada o detenida.
Payload JSON:
{
"data": {
"machineId": "550e8400-e29b-41d4-a716-446655440000",
"productionId": "prod-uuid-8899",
"endDate": "2026-07-27T16:00:00.000Z"
},
"timestamp": "2026-07-27T16:00:00.000Z"
}
C. Cancelación de Siguiente Orden (next-production-canceled)
Se emite cuando se cancela la orden planificada a continuación.
Payload JSON:
{
"data": {
"machineId": "550e8400-e29b-41d4-a716-446655440000",
"productionId": "prod-uuid-9900"
},
"timestamp": "2026-07-27T12:00:00.000Z"
}
D. Estado Periódico de Producción (production-status)
Se emite cada 5 segundos únicamente a los dispositivos suscritos con "isSensor": true para mantener sincronizada la información del producto en pantallas locales.
Payload JSON:
{
"data": {
"machineId": "550e8400-e29b-41d4-a716-446655440000",
"production": {
"id": "prod-uuid-8899",
"status": "In Progress",
"startDate": "2026-07-27T08:00:00.000Z"
},
"product": {
"id": "prod-type-12",
"name": "Botella PET 500ml"
}
},
"timestamp": "2026-07-27T14:15:05.000Z"
}
3. Eventos de Cambio de Turno (Shifts)
A. Inicio de Turno (shift-started)
Se emite cuando da inicio un nuevo turno de trabajo en la máquina.
Payload JSON:
{
"data": {
"machineId": "550e8400-e29b-41d4-a716-446655440000",
"shiftId": "shift-uuid-001",
"shiftTypeId": "shift-type-mañana",
"shiftTypeName": "Turno Mañana",
"startDate": "2026-07-27T06:00:00.000Z"
},
"timestamp": "2026-07-27T06:00:00.000Z"
}
B. Fin / Cierre de Turno (shift-stopped)
Se emite cuando finaliza el turno de trabajo actual.
Payload JSON:
{
"data": {
"machineId": "550e8400-e29b-41d4-a716-446655440000",
"shiftId": "shift-uuid-001",
"endDate": "2026-07-27T14:00:00.000Z"
},
"timestamp": "2026-07-27T14:00:00.000Z"
}
4. Eventos de Estado de Paradas (Losses)
| Evento | Descripción | Payload relevante |
|---|---|---|
loss-started | Inicia una parada en la máquina (manual o detección de status: 0). | { machineId, lossId, firstLevelLossName, startDate } |
loss-updated | Se actualiza la clasificación de una parada activa. | { machineId, loss: { id, firstLevelLossName, observations } } |
loss-stopped | Se cierra la parada activa y la máquina vuelve a operar (status: 1). | { machineId, lossId, endDate } |
5. Actualización de Contador acumulado (product-counter-update)
Emite el valor acumulado del contador de piezas tras procesar impulsos de producción.
{
"machineId": "550e8400-e29b-41d4-a716-446655440000",
"data": {
"machineId": "550e8400-e29b-41d4-a716-446655440000",
"counter": 1450
},
"timestamp": "2026-07-27T14:15:01.000Z"
}