node-red-contrib-operx 0.1.0
Envía a OperX Connect los valores de tus máquinas, y guarda lo que no salga hasta que vuelva internet.
node-red-contrib-operx
Un nodo «OperX» para Node-RED: envía a OperX Connect los valores de tus máquinas (lo que leas de Modbus, OPC UA, un PLC o un broker MQTT) y guarda en ese computador lo que no pueda enviar, hasta que vuelva internet.
Necesita Node-RED 4 o más nuevo (Node.js 18 o más). No instala nada más.
Instalar
- En Node-RED: menú › Manage palette › Install, busca «operx» e instala
node-red-contrib-operx. - O en una terminal, en la carpeta de Node-RED (normalmente
~/.node-red):npm install node-red-contrib-operx, y reinicia Node-RED.
Usar
- En OperX: Connect › Agregar dispositivo › «Node-RED u otro sistema». Copia la clave que te muestra al final.
- En Node-RED: arrastra el nodo «OperX» (en la sección network), ábrelo y crea su dispositivo con esa clave. La clave queda en el archivo de credenciales de Node-RED, no en el flujo: exportar el flujo no la comparte.
- Únelo a lo que lea tus máquinas. Hay un ejemplo en menú › Import › Examples › node-red-contrib-operx.
Qué le llega
- Un valor (
80.5,true,on) conmsg.topiccomo nombre del canal, como lo trae un nodo «mqtt in»:planta/comp2/temp. - Un objeto con un nombre por canal:
{"temperatura": 80.5, "horas": 1200}. Conmsg.topic, cada nombre va bajo el tema; sin él, los nombres son los canales. - El JSON de OperX:
{"ts": …, "values": {…}}o{"readings": [{"channel", "value", "time"}]}.
Una lista de números (como la de un nodo Modbus) no dice qué es cada uno: ponles nombre en un nodo «function». Lo que no puede leer lo dice una vez en la barra de depuración y debajo del nodo.
Cuánto envía
- De cada canal, el primer valor de cada minuto.
- Un dispositivo recibe hasta 100.000 valores al día: unos 69 canales a un valor por minuto. Para más, otro dispositivo con su propio nodo.
- Lo que esperó durante un corte de internet cuenta el día en que sale: un corte largo puede llenar el día siguiente.
- Guarda hasta 100.000 valores en la carpeta
operxde Node-RED; si se llena, se van los más viejos. - No pasa por un proxy: necesita salida directa por el puerto 443.
Para desarrollar
npm test corre las pruebas (sin dependencias, con node --test).