diff --git a/src/controllers/tanksController.js b/src/controllers/tanksController.js index f878c8ca..4d5c8668 100644 --- a/src/controllers/tanksController.js +++ b/src/controllers/tanksController.js @@ -1225,31 +1225,29 @@ exports.IotDevice = async (req, reply) => { // Update the waterlevel using the tankHeight value const tank_height = parseInt(existingTank.height.replace(/,/g, ''), 10) * 30.48; const water_level_height = tank_height - tankHeight; + const customerId = existingTank.customerId; const waterCapacityPerCm = parseInt(existingTank.waterCapacityPerCm.replace(/,/g, ''), 10); let water_level = water_level_height * waterCapacityPerCm; water_level = Math.round(water_level); // Round to nearest whole number existingTank.waterlevel = water_level.toString(); // Convert to string as per schema definition - + const tank_name = existingTank.tankName; // Save the updated tank document await existingTank.save(); // Update water level of tanks linked through output connections for (const outputConnection of existingTank.connections.outputConnections) { - console.log(outputConnection,"this is for testing") - const linkedTank = await Tank.findOne({ hardwareId: outputConnection.outputConnections }); - console.log(linkedTank) + const linkedTank = await Tank.findOne({ customerId: customerId, tankName: outputConnection.outputConnections, tankLocation: outputConnection.output_type }); if (linkedTank) { - linkedTank.waterlevel = existingTank.waterlevel; - await linkedTank.save(); - } - } - - // Update water level of tanks linked through input connections - for (const inputConnection of existingTank.connections.inputConnections) { - const linkedTank = await Tank.findOne({ hardwareId: inputConnection.inputConnections }); - if (linkedTank) { - linkedTank.waterlevel = existingTank.waterlevel; - await linkedTank.save(); + // linkedTank.waterlevel = existingTank.waterlevel; + //await linkedTank.save(); + + // Update water level of tanks linked through input connections of the linked tank + for (const inputConnection of linkedTank.connections.inputConnections) { + if (inputConnection.inputConnections === tank_name) { + inputConnection.water_level = water_level.toString(); + await linkedTank.save(); + } + } } } } @@ -1268,6 +1266,7 @@ exports.IotDevice = async (req, reply) => { + // exports.getIotD = async(req, reply) => { // try { // await IotData.find({hardwareId: req.query.hardwareId})