From 804f3a134ca99e1587c05470d15582d94b6fed99 Mon Sep 17 00:00:00 2001 From: varun Date: Mon, 20 May 2024 07:02:25 -0400 Subject: [PATCH] automation of motor switch test2 --- src/controllers/tanksController.js | 72 ++++++++++++++++-------------- 1 file changed, 39 insertions(+), 33 deletions(-) diff --git a/src/controllers/tanksController.js b/src/controllers/tanksController.js index 3dc811da..560c43b8 100644 --- a/src/controllers/tanksController.js +++ b/src/controllers/tanksController.js @@ -1043,7 +1043,7 @@ const motorActionAuto = async (req, reply) => { $set: { "connections.inputConnections.$.motor_stop_status": "2", "connections.inputConnections.$.startTime": req.body.startTime, - "connections.inputConnections.$.motor)on_type": "auto", + "connections.inputConnections.$.motor_on_type": "auto", } } @@ -1083,40 +1083,45 @@ const checkAutoMode = async () => { for (const inputConnection of tank.connections.inputConnections) { if (inputConnection.auto_mode === "active") { console.log("This is automation for tank: " + tank.tankName); - const waterLevel = parseInt(tank.waterlevel, 10); - const capacity = parseInt(tank.capacity, 10); - const autoMinPercentage = parseInt(inputConnection.auto_min_percentage, 10); - const autoMaxPercentage = parseInt(inputConnection.auto_max_percentage, 10); + const waterLevel = parseFloat(tank.waterlevel.replace(/,/g, '')); + const capacity = parseFloat(tank.capacity.replace(/,/g, '')); + const autoMinPercentage = parseFloat(tank.auto_min_percentage); + const autoMaxPercentage = parseFloat(tank.auto_max_percentage); + console.log(waterLevel,capacity,autoMinPercentage,autoMaxPercentage) + + if (isNaN(waterLevel) || isNaN(capacity) || capacity === 0) { + console.error(`Invalid water level or capacity for tank: ${tank.tankName}`); + continue; // Skip this tank if the values are not valid + } + const currentPercentage = (waterLevel / capacity) * 100; console.log("This is automation percentage: " + currentPercentage); - const now = moment().format('DD-MMM-YYYY-HH-mm'); - - if (capacity > 0) { - if (currentPercentage <= autoMinPercentage) { - await motorActionAuto({ - params: { customerId: tank.customerId }, - body: { - action: "start", - motor_id: inputConnection.motor_id, - motor_on_type: "auto", - startTime: now - } - }, { - code: (statusCode) => ({ send: (response) => console.log(response) }) - }); - } else if (currentPercentage >= autoMaxPercentage && inputConnection.motor_on_type === "auto") { - await motorActionAuto({ - params: { customerId: tank.customerId }, - body: { - action: "stop", - motor_id: inputConnection.motor_id, - motor_on_type: "auto", - stopTime: now - } - }, { - code: (statusCode) => ({ send: (response) => console.log(response) }) - }); - } + const now = moment().format('DD-MMM-YYYY - HH:mm'); + console.log(now) + if (currentPercentage <= autoMinPercentage) { + await motorActionAuto({ + params: { customerId: tank.customerId }, + body: { + action: "start", + motor_id: inputConnection.motor_id, + motor_on_type: "auto", + startTime: now + } + }, { + code: (statusCode) => ({ send: (response) => console.log(response) }) + }); + } else if (currentPercentage >= autoMaxPercentage && inputConnection.motor_on_type === "auto") { + await motorActionAuto({ + params: { customerId: tank.customerId }, + body: { + action: "stop", + motor_id: inputConnection.motor_id, + motor_on_type: "auto", + stopTime: now + } + }, { + code: (statusCode) => ({ send: (response) => console.log(response) }) + }); } } } @@ -1134,6 +1139,7 @@ setInterval(checkAutoMode, 15000); + // exports.calculateCapacity = async (req, reply) => { // try { // const shape = req.body.shape