About Delay quest?
-
I have a metal datapoint script like this
var triggerSMSAction = false; var thisText = ""; var NL = "\r\n"; var S = my.value; print('my.value= '+my.value); //print(my); var resendMsgTimeDelay = 300; var Ptr = -1; var txt = ""; var theSecondsDelyforSignalVerification = 30; //--mango timestamp value in milliseconds since the epoch var now = new Date().getTime(); //print("now=",now); var o1lastValue,o1_isLeak,o1; o1 = getDataPointByXID("XID_MainDC_Leak_A"); // print(o1); o1lastValue = o1.lastValue(); print ("o1lastValue =",o1lastValue); o1_isLeak = o1lastValue.value; print("o1_isLeak =",o1_isLeak); if (o1_isLeak === true) { print ("now =",now); print ("o1LastValueTime =",o1lastValue.time); timeDiff = (now - o1lastValue.time)/1000; print("timeDiff =",timeDiff); if (timeDiff <= theSecondsDelyforSignalVerification) {o1_isLeak=false;} } //====================================================================== Ptr = Ptr + 1; if (o1_isLeak === true){ print("o1_isLeak=",o1_isLeak); print ("Debug it !!"); if (!(S & Mask[Ptr])) { // 0101 & 0100 => 0100 => true // do stuff txt = 'Delay-Alarm'; LOG.info(txt); S = S | Mask[Ptr] ; triggerSMSAction = true; thisText = thisText + txt + NL; } }else{ if (S & Mask[Ptr]) { // 0101 & 0100 => 0100 => true // from true to false txt = 'Delay-reCover'; LOG.info(txt); S = S ^ Mask[Ptr] ; triggerSMSAction = true; thisText = thisText + txt + NL; } } function getDataPointByXID(xid) { var dataPoints = DataPointQuery.query("eq(xid,"+xid+")"); if( dataPoints.length !== 1 ) throw LOG.info("Data point with xid '" + xid + "' not found."); return dataPoints[0].runtime; }
I turn the datapoint "XID_MainDC_Leak_A" value to true but in the if (o1_isLeak === true) script will not work?
How do I do fix it?