master^2
Varun 5 months ago
parent 1480f952a5
commit 4998978158

@ -6225,23 +6225,23 @@ async function processIotData(hw_Id, data) {
// First time signal is lost // First time signal is lost
existingTank.slave_status = "signal_lost1"; existingTank.slave_status = "signal_lost1";
// Only set signal lost time if it doesn't exist
if (!existingTank.slave_signal_lost_time) { if (!existingTank.slave_signal_lost_time) {
existingTank.slave_signal_lost_time = now.format('DD-MMM-YYYY - HH:mm:ss'); existingTank.slave_signal_lost_time = now.format('DD-MMM-YYYY - HH:mm:ss');
console.log(`⚠️ Signal lost for tank [${tankhardwareId}] at ${existingTank.slave_signal_lost_time}`); console.log(`⚠️ Signal lost for tank [${tankhardwareId}] at ${existingTank.slave_signal_lost_time}`);
} }
await existingTank.save(); await existingTank.save();
} else if (existingTank.slave_status === "signal_lost1") { } else if (existingTank.slave_status === "signal_lost1") {
const lostTime = moment(existingTank.slave_signal_lost_time, 'DD-MMM-YYYY - HH:mm:ss'); const lostTime = moment(existingTank.slave_signal_lost_time, 'DD-MMM-YYYY - HH:mm:ss');
const minutesElapsed = now.diff(lostTime, 'minutes'); const minutesElapsed = now.diff(lostTime, 'minutes');
console.log(`${minutesElapsed} min since signal lost for tank [${tankhardwareId}]`);
if (minutesElapsed >= 15) { if (minutesElapsed >= 15) {
existingTank.slave_status = "not_working"; existingTank.slave_status = "not_working";
existingTank.slave_disconnected_time = now.format('DD-MMM-YYYY - HH:mm:ss'); existingTank.slave_disconnected_time = now.format('DD-MMM-YYYY - HH:mm:ss');
await existingTank.save(); await existingTank.save();
// Propagate status to output connections
for (const outputConnection of existingTank.connections.outputConnections) { for (const outputConnection of existingTank.connections.outputConnections) {
const linkedTank = await Tank.findOne({ const linkedTank = await Tank.findOne({
customerId, customerId,
@ -6260,14 +6260,17 @@ async function processIotData(hw_Id, data) {
} }
console.log(`❌ Slave marked as not_working for tank [${tankhardwareId}] at ${existingTank.slave_disconnected_time}`); console.log(`❌ Slave marked as not_working for tank [${tankhardwareId}] at ${existingTank.slave_disconnected_time}`);
} else {
console.log(`⏳ Still waiting... only ${minutesElapsed} minutes passed for tank [${tankhardwareId}]`);
} }
} else { } else {
console.log(`Slave already marked as ${existingTank.slave_status} for tank [${tankhardwareId}], skipping update.`); console.log(`Already in ${existingTank.slave_status}, no update.`);
} }
} }
if (tankHeight > 0 && waterLevel >= 0) { if (tankHeight > 0 && waterLevel >= 0) {
existingTank.waterlevel = waterLevel; existingTank.waterlevel = waterLevel;

Loading…
Cancel
Save