parent
671b68d70a
commit
98150ad7f2
|
|
@ -56,12 +56,16 @@ function createPool() {
|
|||
//connection.release();
|
||||
} else {
|
||||
results.forEach(function (thisRow) {
|
||||
if(Object.keys(settings).indexOf(thisRow.node_id) > -1) {
|
||||
settings[thisRow.node_id].temperature_site.push(thisRow.group_id)
|
||||
} else {
|
||||
settings[thisRow.node_id] = {
|
||||
measurement_interval: thisRow.measurement_interval_minutes,
|
||||
measurement_offset: thisRow.offset_from_midnight_minutes,
|
||||
wake_window_length: thisRow.wake_window_length_minutes,
|
||||
temperature_site: thisRow.group_id,
|
||||
temperature_site: [thisRow.group_id],
|
||||
};
|
||||
}
|
||||
});
|
||||
connection.release();
|
||||
}
|
||||
|
|
@ -72,6 +76,54 @@ function createPool() {
|
|||
return pool;
|
||||
}
|
||||
|
||||
function update_settings() {
|
||||
pool.getConnection(function (err, connection) {
|
||||
if (err) {
|
||||
console.log("error setting the database: ", err);
|
||||
} else {
|
||||
connection.execute(
|
||||
`SELECT
|
||||
datavis_node2group.node_id,
|
||||
datavis_node2group.group_id,
|
||||
datavis_nodeconfiguration.measurement_interval_minutes,
|
||||
datavis_nodeconfiguration.offset_from_midnight_minutes,
|
||||
datavis_nodeconfiguration.wake_window_length_minutes
|
||||
FROM datavis_grouptype
|
||||
JOIN datavis_group2type
|
||||
ON datavis_grouptype.unique_id=datavis_group2type.type_id
|
||||
JOIN datavis_node2group
|
||||
ON datavis_group2type.group_id=datavis_node2group.group_id
|
||||
JOIN datavis_nodeconfiguration
|
||||
ON datavis_nodeconfiguration.node_id=datavis_node2group.node_id
|
||||
WHERE datavis_grouptype.name = 'Temperature Site';`,
|
||||
[],
|
||||
function (err2, results) {
|
||||
if (err2) {
|
||||
console.log(`Some other error getting node settings: ${err2}`);
|
||||
//connection.release();
|
||||
} else {
|
||||
results.forEach(function (thisRow) {
|
||||
if(Object.keys(settings).indexOf(thisRow.node_id) > -1) {
|
||||
settings[thisRow.node_id].temperature_site.push(thisRow.group_id)
|
||||
} else {
|
||||
settings[thisRow.node_id] = {
|
||||
measurement_interval: thisRow.measurement_interval_minutes,
|
||||
measurement_offset: thisRow.offset_from_midnight_minutes,
|
||||
wake_window_length: thisRow.wake_window_length_minutes,
|
||||
temperature_site: [thisRow.group_id],
|
||||
};
|
||||
}
|
||||
});
|
||||
connection.release();
|
||||
}
|
||||
},
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
setInterval(update_settings, 60000)
|
||||
|
||||
const socket = dgram.createSocket("udp4");
|
||||
let stream = fs.createWriteStream(`${filePath}/${thisDate}-log.dat`, {
|
||||
flags: "a+",
|
||||
|
|
@ -345,7 +397,7 @@ function storeType1Messages(msgs) {
|
|||
storeType1Messages(msgs.slice(-1 * (msgs.length % 2500)));
|
||||
} else {
|
||||
let theseParams = [];
|
||||
msgs.forEach(function (msg) {
|
||||
/*msgs.forEach(function (msg) {
|
||||
// YYYY-MM-DD HH:mm:ss
|
||||
const server_received_time = sqlCurrentTimestamp();
|
||||
theseParams.push(
|
||||
|
|
@ -367,11 +419,44 @@ function storeType1Messages(msgs) {
|
|||
msg.data.remaining_charge_capacity || 500000,
|
||||
server_received_time,
|
||||
);
|
||||
});
|
||||
});*/
|
||||
let num_rows = 0
|
||||
for(let i =0; i < msgs.length; i++) {
|
||||
if(settings[msg.source.slice(4)]) {
|
||||
settings[msg.source.slice(4)] = {
|
||||
measurement_interval: 360,
|
||||
measurement_offset: 0,
|
||||
wake_window_length: 4,
|
||||
temperature_site: ["Unknowable 1"],
|
||||
}
|
||||
}
|
||||
settings[msg.source.slice(4)].temperature_site.forEach(temperature_site => {
|
||||
num_rows += 1
|
||||
theseParams.push(
|
||||
msg.source.slice(4),
|
||||
msg.reporting_node || "000000000000",
|
||||
temperature_site || "Unknowable 1",
|
||||
msg.timestamp,
|
||||
msg.data["18_inch_temperature"] || 500000,
|
||||
msg.data["36_inch_temperature"] || 500000,
|
||||
msg.data.device_temperature || 500000,
|
||||
msg.data.ambient_temperature || 500000,
|
||||
msg.data.relative_humidity || 500000,
|
||||
msg.data.barometric_pressure || 500000,
|
||||
msg.data.accelerometer_x || 500000,
|
||||
msg.data.accelerometer_y || 500000,
|
||||
msg.data.accelerometer_z || 500000,
|
||||
msg.data.battery_charge_percent || 500000,
|
||||
msg.data.battery_voltage || 500000,
|
||||
msg.data.remaining_charge_capacity || 500000,
|
||||
server_received_time,
|
||||
);
|
||||
})
|
||||
}
|
||||
const thisSQL =
|
||||
"INSERT IGNORE INTO datavis_measurement (source_node_id, reporting_node_id, associated_group_id, collection_time, temperature_18_inch, temperature_36_inch, device_temperature, ambient_temperature, relative_humidity, barometric_pressure, accelerometer_x, accelerometer_y, accelerometer_z, battery_charge_percent, battery_voltage, remaining_battery_capacity, server_received_time) VALUES " +
|
||||
"(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?),"
|
||||
.repeat(msgs.length)
|
||||
.repeat(num_rows)
|
||||
.slice(0, -1) +
|
||||
";";
|
||||
pool.getConnection(function (err, connection) {
|
||||
|
|
@ -469,7 +554,7 @@ function storeType13Messages(msgs) {
|
|||
});
|
||||
});
|
||||
const thisSQL =
|
||||
"INSERT INTO datavis_nodefilemanifest (node_id,collection_time,program_id,program_version,server_received_time) VALUES " +
|
||||
"INSERT IGNORE INTO datavis_nodefilemanifest (node_id,collection_time,program_id,program_version,server_received_time) VALUES " +
|
||||
"(?,?,?,?,?),".repeat(n).slice(0, -1) +
|
||||
";";
|
||||
pool.getConnection(function (err, connection) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue