node-red-dashboard

Simulación de estado del motor

Potencia instantánea (10 kW cada 5 minutos)

Acumulación de consumo en kWh

Timestamps y nombres con nomenclatura de automatización (L3_)

[{"id":"f8b9d180.c3bc38","type":"tab","label":"Cristalizador","disabled":false,"info":""},{"id":"d1c2c56eb44e66e9","type":"inject","z":"f8b9d180.c3bc38","name":"Cada 5 minutos","props":[],"repeat":"300","crontab":"","once":true,"onceDelay":0.1,"topic":"","x":160,"y":100,"wires":[["35bda24ef53fe28c","607c96b0116a9361"]]},{"id":"35bda24ef53fe28c","type":"function","z":"f8b9d180.c3bc38","name":"Estado Motor Cristalizador","func":"let estado = Math.random() > 0.5 ? 1 : 0; // ON u OFF aleatorio\nlet timestamp = new Date().toLocaleString(\"es-AR\");\n\nlet variable = {\n    nombre: \"L3_Estado_Motor_Cristalizador\",\n    valor: estado,\n    timestamp: timestamp,\n    tiempo_muestreo: \"5 minutos\"\n};\n\nmsg.payload = variable;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":420,"y":60,"wires":[["66e4fa8f059e2903"]]},{"id":"607c96b0116a9361","type":"function","z":"f8b9d180.c3bc38","name":"Potencia Instantánea","func":"let potenciaInstantanea = 10; // kW\nlet timestamp = new Date().toLocaleString(\"es-AR\");\n\nlet variable = {\n    nombre: \"L3_Potencia_Instantanea_Motor_Cristalizador\",\n    valor: potenciaInstantanea,\n    unidad: \"kW\",\n    timestamp: timestamp,\n    tiempo_muestreo: \"5 minutos\"\n};\n\nmsg.payload = variable;\nmsg.potencia = potenciaInstantanea;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":430,"y":140,"wires":[["22147125a9ad6aa9"]]},{"id":"22147125a9ad6aa9","type":"function","z":"f8b9d180.c3bc38","name":"Potencia Acumulada","func":"let potencia = msg.potencia || 0;\nlet acumulado = flow.get(\"potencia_acumulada\") || 0;\n\n// 5 minutos = 1/12 h\nacumulado += potencia * (1/12);\nflow.set(\"potencia_acumulada\", acumulado);\n\nmsg.payload = {\n    nombre: \"L3_Potencia_Acumulada_Motor_Cristalizador\",\n    valor: acumulado.toFixed(2),\n    unidad: \"kWh\",\n    timestamp: new Date().toLocaleString(\"es-AR\"),\n    tiempo_muestreo: \"5 minutos\"\n};\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":690,"y":140,"wires":[["3b5e21c038f4ee70"]]},{"id":"66e4fa8f059e2903","type":"debug","z":"f8b9d180.c3bc38","name":"Estado Motor","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":660,"y":60,"wires":[]},{"id":"3b5e21c038f4ee70","type":"debug","z":"f8b9d180.c3bc38","name":"Potencia Acumulada","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":910,"y":140,"wires":[]}]

Flow Info

Created 3 weeks ago
Rating: not yet rated

Actions

Rate:

Node Types

Core
  • debug (x2)
  • function (x3)
  • inject (x1)
Other
  • tab (x1)

Tags

Copy this flow JSON to your clipboard and then import into Node-RED using the Import From > Clipboard (Ctrl-I) menu option