[{"id":"4c828c67.58a5a4","type":"tab","label":"Flow 2","disabled":false,"info":""},{"id":"4094cc06.612324","type":"regression","z":"4c828c67.58a5a4","name":"","dataSetSize":0,"regressionType":"polynomial","polynomialOrder":"2","precision":"10","xInputField":"payload.x","xInputFieldType":"msg","yInputField":"payload.y","yInputFieldType":"msg","yOutputField":"payload.y","yOutputFieldType":"msg","functionOutputField":"function","functionOutputFieldType":"msg","resultOnly":false,"x":768,"y":360,"wires":[["5a4517f8.78ec88"]]},{"id":"218e19.6f6f31e8","type":"inject","z":"4c828c67.58a5a4","name":"","topic":"","payload":"{\"x\":[[700,45],[740,46.5],[780,47.5],[820,47.7],[860,46.5],[900,45]]}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":75,"y":140,"wires":[[]],"l":false},{"id":"a18d51c2.ced9b","type":"debug","z":"4c828c67.58a5a4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1150,"y":380,"wires":[]},{"id":"5a4517f8.78ec88","type":"switch","z":"4c828c67.58a5a4","name":"","property":"function.r2","propertyType":"msg","rules":[{"t":"gte","v":".98","vt":"num"},{"t":"lt","v":".98","vt":"num"}],"checkall":"false","repair":false,"outputs":2,"x":950,"y":360,"wires":[["adb820ef.0d4d4"],["29ab43a5.9d457c"]]},{"id":"29ab43a5.9d457c","type":"regression","z":"4c828c67.58a5a4","name":"","dataSetSize":0,"regressionType":"polynomial","polynomialOrder":"3","precision":"10","xInputField":"payload.x","xInputFieldType":"msg","yInputField":"payload.y","yInputFieldType":"msg","yOutputField":"payload.y","yOutputFieldType":"msg","functionOutputField":"function","functionOutputFieldType":"msg","resultOnly":false,"x":950,"y":420,"wires":[["d55b41e6.c7e42"]]},{"id":"fbe8ef9.920811","type":"debug","z":"4c828c67.58a5a4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1150,"y":460,"wires":[]},{"id":"d55b41e6.c7e42","type":"function","z":"4c828c67.58a5a4","name":"Curve Drawing","func":"var xyData = msg.payload.x;\nvar lastYValue = xyData[xyData.length - 1][0];\nvar firstYValue = xyData[0][0];\nvar regression = msg.function.equation;\nvar ax = regression[0];\nvar bx = regression[1];\nvar cx = regression[2];\nvar d = regression[3];\nvar yCurve = [];\nvar xCurve = [];\nvar y = 0;\nvar xData = msg.x;\nvar yData = msg.y;\n\nfor (var i = firstYValue; i <= (lastYValue); i++) {\n xCurve.push(i);\n y = (ax*(i*i*i)+bx*(i*i)+cx*(i)+d);\n yCurve.push(y);\n //Do something\n}\nfor (i = (xyData.length + 1); i <= (xCurve.length + xyData.length); i++) {\n xData[i] = xCurve[i - (xyData.length + 1)];\n yData[i] = yCurve[i - (xyData.length + 1)];\n}\nmsg.payload.xcurve = xCurve;\nmsg.payload.ycurve = yCurve;\nmsg.payload.ymax = Math.max(...(yCurve));\nvar pumpMaxKnockPosition = xCurve[yCurve.indexOf(msg.payload.ymax)];\nmsg.payload.pumpmaxknockposition = pumpMaxKnockPosition\nmsg.x = xData;\nmsg.y = yData;\nreturn msg;","outputs":1,"noerr":0,"x":1180,"y":420,"wires":[["fbe8ef9.920811"]]},{"id":"adb820ef.0d4d4","type":"function","z":"4c828c67.58a5a4","name":"Curve Drawing","func":"var xyData = msg.payload.x;\nvar lastYValue = xyData[xyData.length - 1][0];\nvar firstYValue = xyData[0][0];\nvar regression = msg.function.equation;\nvar ax = regression[0];\nvar bx = regression[1];\nvar c = regression[2];\nvar yCurve = [];\nvar xCurve = [];\nvar y = 0;\nvar xData = msg.x;\nvar yData = msg.y;\n\nfor (var i = firstYValue; i <= (lastYValue); i++) {\n xCurve.push(i);\n y = (ax*(i*i)+bx*(i)+c);\n yCurve.push(y);\n //Do something\n}\n\nfor (i = (xyData.length + 1); i <= (xCurve.length + xyData.length); i++) {\n xData[i] = xCurve[i - (xyData.length + 1)];\n yData[i] = yCurve[i - (xyData.length + 1)];\n}\nmsg.payload.xcurve = xCurve;\nmsg.payload.ycurve = yCurve;\nmsg.payload.ymax = Math.max(...(yCurve));\nvar pumpMaxKnockPosition = xCurve[yCurve.indexOf(msg.payload.ymax)];\nmsg.payload.pumpmaxknockposition = pumpMaxKnockPosition\nmsg.payload.xx = xData;\nmsg.payload.yy = yData;\nreturn msg;","outputs":1,"noerr":0,"x":1180,"y":341,"wires":[["a18d51c2.ced9b","ae789e38.08edc"]]},{"id":"fefaafa.5cec25","type":"inject","z":"4c828c67.58a5a4","name":"","topic":"","payload":"{}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":70,"y":360,"wires":[["e5503036.7bc89"]]},{"id":"e5503036.7bc89","type":"pac-read","z":"4c828c67.58a5a4","device":"5902c719.eca318","dataType":"int32-table","tagName":"EventFlag","tableStartIndex":"6","tableLength":"1","value":"drawCurve","valueType":"msg","topic":"","topicType":"none","name":"","x":230,"y":360,"wires":[["8113c146.3bd31"]]},{"id":"8113c146.3bd31","type":"switch","z":"4c828c67.58a5a4","name":"","property":"drawCurve","propertyType":"msg","rules":[{"t":"eq","v":"2","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":370,"y":360,"wires":[["d3286baf.178598"]]},{"id":"d3286baf.178598","type":"pac-read","z":"4c828c67.58a5a4","device":"5902c719.eca318","dataType":"float-table","tagName":"x","tableStartIndex":"","tableLength":"","value":"x","valueType":"msg","topic":"","topicType":"none","name":"","x":370,"y":400,"wires":[["e66f2c84.2caaa"]]},{"id":"e66f2c84.2caaa","type":"pac-read","z":"4c828c67.58a5a4","device":"5902c719.eca318","dataType":"float-table","tagName":"y","tableStartIndex":"","tableLength":"","value":"y","valueType":"msg","topic":"","topicType":"none","name":"","x":370,"y":440,"wires":[["f1452e79.49b21"]]},{"id":"5b206b7a.ee71c4","type":"function","z":"4c828c67.58a5a4","name":"Merge X, Y Data","func":"var length = msg.fitCurve;\nvar xData = msg.x;\nvar yData = msg.y;\nvar xyData = [];\nfor (let i = 0; i <= length; i++) {\n if (xData[i] !== 0) {\n xyData.push([xData[i], yData[i]]);}\n}\n\nmsg.payload.x = xyData;\nreturn msg;","outputs":1,"noerr":0,"x":594,"y":360,"wires":[["4094cc06.612324"]]},{"id":"f1452e79.49b21","type":"pac-read","z":"4c828c67.58a5a4","device":"5902c719.eca318","dataType":"int32-variable","tagName":"FitCurve","tableStartIndex":"","tableLength":"","value":"fitCurve","valueType":"msg","topic":"","topicType":"none","name":"","x":380,"y":480,"wires":[["3e683446.160b4c"]]},{"id":"3e683446.160b4c","type":"pac-write","z":"4c828c67.58a5a4","device":"5902c719.eca318","dataType":"int32-table","tagName":"EventFlag","tableStartIndex":"6","value":"2","valueType":"value","name":"","x":390,"y":520,"wires":[["5b206b7a.ee71c4"]]},{"id":"ae789e38.08edc","type":"pac-write","z":"4c828c67.58a5a4","device":"5902c719.eca318","dataType":"float-table","tagName":"x","tableStartIndex":"","value":"payload.xx","valueType":"msg","name":"","x":1430,"y":380,"wires":[["e004cc54.b2aaa"]]},{"id":"e004cc54.b2aaa","type":"pac-write","z":"4c828c67.58a5a4","device":"5902c719.eca318","dataType":"float-table","tagName":"y","tableStartIndex":"","value":"payload.yy","valueType":"msg","name":"","x":1430,"y":420,"wires":[["2e2a47b5.9ff218"]]},{"id":"2e2a47b5.9ff218","type":"pac-write","z":"4c828c67.58a5a4","device":"5902c719.eca318","dataType":"float-variable","tagName":"der1","tableStartIndex":"","value":"payload.pumpmaxknockposition","valueType":"msg","name":"","x":1430,"y":460,"wires":[["cf7bc1c8.4581"]]},{"id":"cf7bc1c8.4581","type":"pac-write","z":"4c828c67.58a5a4","device":"5902c719.eca318","dataType":"float-variable","tagName":"critical1","tableStartIndex":"","value":"payload.ymax","valueType":"msg","name":"","x":1440,"y":500,"wires":[["80fbc585.2b3828"]]},{"id":"80fbc585.2b3828","type":"pac-write","z":"4c828c67.58a5a4","device":"5902c719.eca318","dataType":"float-variable","tagName":"ErrorSumOfSquares","tableStartIndex":"","value":"function.r2","valueType":"msg","name":"","x":1480,"y":540,"wires":[["bf9c6f7f.60be6"]]},{"id":"bf9c6f7f.60be6","type":"debug","z":"4c828c67.58a5a4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1690,"y":540,"wires":[]},{"id":"60f251c1.de6ae","type":"pac-read","z":"4c828c67.58a5a4","device":"5902c719.eca318","dataType":"float-table","tagName":"x","tableStartIndex":"","tableLength":"","value":"x","valueType":"msg","topic":"","topicType":"none","name":"","x":350,"y":620,"wires":[["cf5c5e20.243c4"]]},{"id":"25160051.06479","type":"inject","z":"4c828c67.58a5a4","name":"","topic":"","payload":"{}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":150,"y":620,"wires":[["60f251c1.de6ae"]]},{"id":"1d601158.72679f","type":"debug","z":"4c828c67.58a5a4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":530,"y":620,"wires":[]},{"id":"cf5c5e20.243c4","type":"pac-read","z":"4c828c67.58a5a4","device":"5902c719.eca318","dataType":"float-table","tagName":"y","tableStartIndex":"","tableLength":"","value":"y","valueType":"msg","topic":"","topicType":"none","name":"","x":350,"y":660,"wires":[["1d601158.72679f"]]},{"id":"5902c719.eca318","type":"pac-device","z":"","address":"172.20.1.1","protocol":"https"}]