exports.id = 'infosender'; exports.title = 'Info sender'; exports.version = '1.0.0'; exports.group = 'Worksys'; exports.color = '#2134B0'; exports.input = 1; exports.output = 1 exports.click = false; exports.author = 'oms-is'; exports.icon = 'bolt'; exports.options = { edge: "undefined" }; const { networkInterfaces } = require('os'); exports.html = `
CSV Import
`; exports.readme = `# send all data to projects.worksys.io, required to monitor status of controller(unipi)`; const fs = require('fs'); var path = require('path'); exports.install = async function(instance) { let allValues = {}; let sendAllValuesInterval; let now = new Date(); console.log(exports.title, "INSTALLED", now.toLocaleString("sk-SK")); const nets = networkInterfaces(); let ipAddresses = Object.create(null); // Or just '{}', an empty object for (const name of Object.keys(nets)) { for (const net of nets[name]) { // Skip over non-IPv4 and internal (i.e. 127.0.0.1) addresses if (net.family === 'IPv4' && !net.internal) { if (!ipAddresses[name]) { ipAddresses[name] = []; } ipAddresses[name].push(net.address); } } } function sendValues() { const id = FLOW.OMS_projects_id; if(Object.keys(allValues).length > 0) { if(id !== undefined) { delete allValues.__force__; let dataToSend = {...allValues}; dataToSend.id = id; dataToSend.ipAddresses = ipAddresses; //dataToSend.notify_date = new Date().toISOString().slice(0, 19).replace('T', ' '); //console.log(exports.title, "------------>sendValues", dataToSend); instance.send(0, dataToSend); allValues = {}; } else { console.log(exports.title, "unable to send data, id is undefined"); } } } instance.on("close", () => { clearInterval(sendAllValuesInterval); }) instance.on("data", (flowdata) => { allValues = { ...allValues, ...flowdata.data}; //console.log("DATA RECEIVED", flowdata.data); //__force__ if(flowdata.data.hasOwnProperty("__force__")) { if(flowdata.data.__force__) { sendValues(); } } }) sendAllValuesInterval = setInterval(() => { sendValues(); }, 60000*3); }