Módulos del Nesgate
El script personalizado te permite ejecutar un algoritmo propio en JavaScript cada vez que tu IG-7100 recibe una muestra nueva (AI, DI, Modbus, OPC UA). Puedes aplicar reglas por umbrales, tiempos y condiciones, y trabajar con datos históricos.
Atención
Requiere conocimientos técnicos de JavaScript y de la lógica de operación de dispositivos IoT.
Crear el script
1
En Dispositivos › Nesgates, abre el IG-7100, entra en la pestaña Operaciones y pulsa Configuración.
2
Agrega la operación y añade los sensores base que usará el script.
3
En modo de operación, elige Script personalizado.
4
Configura la descripción y el periodo de ejecución.
5
Escribe tu código JavaScript en el editor.
6
Guarda la configuración.
Estructura del script
Al ejecutarse, el script recibe un objeto
params con la información clave:let params = {
deviceID: context.global.ID, // ID del dispositivo
logs: [], // Lista de logs para depurar
obj: obj, // Datos recibidos, ej: {s1: 0, s2: 0}
operationName: operationName, // Nombre de la operación
operationState: operationState, // Estado interno de la operación
result: 0, // Resultado a calcular
pendingUpdates: pendingUpdates, // Historial de muestras pasadas
};
Registrar logs
Para depurar, añade mensajes al log:
params.logs.push("Script ejecutado :::" + new Date().toISOString());
params.logs.push("params.obj:" + JSON.stringify(params.obj));
params.logs.push("params.result:" + params.result);
Reglas y condiciones
Puedes trabajar con variables propias y aplicar condiciones:
var threshold = 40; // Umbral mínimo
var requiredTimeMs = 2 * 60 * 1000; // Tiempo mínimo (ms)
if (obj.s1 >= threshold) {
// Acción si supera el umbral
}
Datos históricos
Puedes consultar hasta los últimos 20 registros previos, cada uno con su
TimeStamp (UNIX en segundos) y las señales de operación (op1, op2…):[
{ op1: 0, op2: 0, TimeStamp: 1744616512 },
{ op1: 0, op2: 0, TimeStamp: 1744616572 },
]
Publicar resultados
Envía datos procesados con
params.msgPublish:msg = {
topic: "nespra/ig/data/" + params.deviceID + "/operations",
payload: { TimeStamp: 1713100060, s1: 45 }
};
params.msgPublish.push(msg);
A partir de ahí, el dispositivo ejecuta tu lógica automáticamente cada vez que recibe datos nuevos.
Manual de usuario de Nescloud · Módulos del Nesgate. Si necesitas ayuda con un caso concreto, contacta con el soporte de tu organización.