This repository has been archived by the owner on Nov 16, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathopc-ha-server.json
1 lines (1 loc) · 11.3 KB
/
opc-ha-server.json
1
[{"id":"696e4c14.d20db4","type":"OpcUa-Server","z":"fffc3340.5176a","port":"53880","name":"","endpoint":"UA/TemperatureChamber1","x":437.00000762939453,"y":1001.6667747497559,"wires":[["d5923954.ee3478"]]},{"id":"d5923954.ee3478","type":"debug","z":"fffc3340.5176a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":635.0000152587891,"y":1000.6668567657471,"wires":[]},{"id":"725ef39d.d3522c","type":"inject","z":"fffc3340.5176a","name":"Restart OPC UA Server","topic":"","payload":"{ \"opcuaCommand\": \"restartOPCUAServer\" }","payloadType":"json","repeat":"","crontab":"","once":true,"onceDelay":"5","x":164,"y":1003.6667747497559,"wires":[["696e4c14.d20db4","d8142589.f5cae8","88b0f4ee.7b8788"]]},{"id":"8ba47059.462e6","type":"comment","z":"fffc3340.5176a","name":"OPC UA Server : UA/TemperatureChamber1","info":"","x":227.01361083984375,"y":899.4133110046387,"wires":[]},{"id":"cf88866d.156a58","type":"comment","z":"fffc3340.5176a","name":"Temperature, Fan1Status, Fan2Status","info":"","x":195.9997100830078,"y":943.4029960632324,"wires":[]},{"id":"132850ae.f5e11f","type":"OpcUa-Item","z":"fffc3340.5176a","item":"ns=1;s=Fan2Status","datatype":"UInt16","value":"","name":"ns=1;s=Fan2Status","x":784.5033798217773,"y":1193.611728668213,"wires":[["6e09f8.69240608"]]},{"id":"4d7ad7d2.9803a8","type":"OpcUa-Item","z":"fffc3340.5176a","item":"ns=1;s=Fan1Status","datatype":"UInt16","value":"","name":"ns=1;s=Fan1Status","x":783.5033798217773,"y":1128.6117267608643,"wires":[["6e09f8.69240608"]]},{"id":"6e09f8.69240608","type":"OpcUa-Client","z":"fffc3340.5176a","endpoint":"9e0ae1c3.edaf1","action":"write","deadbandvalue":"","time":"","localfile":"","name":"Write UA Server","x":1053.5032806396484,"y":1189.5003299713135,"wires":[[]]},{"id":"3e11e4e6.cc26ac","type":"OpcUa-Item","z":"fffc3340.5176a","item":"ns=1;s=Temperature","datatype":"UInt16","value":"","name":"ns=1;s=Temperature","x":580.5034561157227,"y":1449.2780780792236,"wires":[["6e09f8.69240608"]]},{"id":"6f11d163.5380a","type":"function","z":"fffc3340.5176a","name":"Reconnect","func":"msg.topic=\"Reconnect\";\nmsg.action=\"reconnect\";\nmsg.OpcUaEndpoint = {\n credentials: {},\n endpoint: 'opc.tcp://localhost:53880/UA/TemperatureChamber1',\n securityPolicy: 'None',\n securityMode: 'NONE',\n login: false,\n user: undefined,\n password: undefined \n}\n\nreturn msg;","outputs":1,"noerr":0,"x":534.6143951416016,"y":1074.3667316436768,"wires":[["6e09f8.69240608","a11d26ca.1f5c88","df800f40.d6b18","37818a77.1c57c6"]]},{"id":"da1208aa.eb0998","type":"function","z":"fffc3340.5176a","name":"Rule","func":"// Timestamp\nvar now = new Date();\nvar timeStamp = now.getTime();\n\n// Temperature \nvar minT = flow.get(\"minT\") || 50;\nvar maxT = 10;\nvar value = Math.floor(Math.random() * maxT) + minT;\n\n// Notification\nvar brokenFanCount = 0;\nvar brokenFanStr = \"\";\n\n// if two fans are working, normal condition\nvar fan1Status = flow.get(\"fan01Status\") || 0;\nvar fan2Status = flow.get(\"fan02Status\") || 0;\nvar fan3Status = flow.get(\"fan03Status\") || 0;\n\nif (!fan1Status) { brokenFanCount++; brokenFanStr += \"1 \"; }\nif (!fan2Status) { brokenFanCount++; brokenFanStr += \"2 \"; }\nif (!fan3Status) { brokenFanCount++; brokenFanStr += \"3 \"; }\n\n// if more than two are out of service, the temperature goes up. \n// increase minT + 5 \nif ( brokenFanCount >= 2 && value < 100 ) {\n flow.set(\"minT\", minT + 10);\n}else {\n // normal condition\n if ( minT > 50 ) flow.set(\"minT\", minT - 5);\n else flow.set(\"minT\", 50);\n}\n\nif( brokenFanCount > 1 ) node.status({fill:\"red\",shape:\"ring\",text:\"fan condition : \"+brokenFanStr});\nelse node.status({fill:\"green\",shape:\"dot\",text:\"fan condition : normal\"});\n\nif ( value >= 100) value = 100;\nmsg.payload = value;\nreturn msg;","outputs":1,"noerr":0,"x":369.66675567626953,"y":1469.666669845581,"wires":[["3e11e4e6.cc26ac","9a67a36f.f4eb5","d84403dd.19a98"]]},{"id":"1fd6d956.8add77","type":"inject","z":"fffc3340.5176a","name":"Read Sensor","topic":"Update Temperature","payload":"","payloadType":"date","repeat":"5","crontab":"","once":true,"onceDelay":"20","x":142,"y":1321.6668272018433,"wires":[["da1208aa.eb0998","4ddbcac8.8d7354","3beec120.4dd69e","f1bda0cd.e7c2"]]},{"id":"7b27397e.4bed88","type":"function","z":"fffc3340.5176a","name":"Fan Status","func":"flow.set(\"fan01Status\", msg.payload);\nreturn msg;","outputs":1,"noerr":0,"x":532.1247596740723,"y":1126.885654449463,"wires":[["4d7ad7d2.9803a8"]]},{"id":"3b5476c0.0ff56a","type":"function","z":"fffc3340.5176a","name":"Fan Status","func":"flow.set(\"fan02Status\", msg.payload);\nreturn msg;","outputs":1,"noerr":0,"x":540.6144104003906,"y":1193.1669054031372,"wires":[["132850ae.f5e11f"]]},{"id":"27a6b2d0.8413be","type":"function","z":"fffc3340.5176a","name":"Initialization","func":"\nreturn [ \n { payload : 1 },\n { payload : 1 },\n { payload : 0 }];","outputs":3,"noerr":0,"x":130.1247100830078,"y":1133.7676525115967,"wires":[["81fb51a3.3d561"],["b860caea.faa4d8"],["da530de.fa6a2f"]]},{"id":"d8142589.f5cae8","type":"delay","z":"fffc3340.5176a","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":342.0066833496094,"y":1073.4687824249268,"wires":[["6f11d163.5380a"]]},{"id":"88b0f4ee.7b8788","type":"delay","z":"fffc3340.5176a","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":133.50316619873047,"y":1086.167064666748,"wires":[["27a6b2d0.8413be"]]},{"id":"81fb51a3.3d561","type":"ui_switch","z":"fffc3340.5176a","name":"Fan #1","label":"Fan #1","group":"75ee6a55.9d4234","order":4,"width":"3","height":"1","passthru":true,"decouple":"false","topic":"","style":"","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":345.9477119445801,"y":1127.8338146209717,"wires":[["7b27397e.4bed88"]]},{"id":"ac5b4d4a.757db","type":"ui_switch","z":"fffc3340.5176a","name":"Fan #2","label":"Fan #2","group":"75ee6a55.9d4234","order":5,"width":"3","height":"1","passthru":true,"decouple":"false","topic":"","style":"","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":350.4475898742676,"y":1191.9447374343872,"wires":[["3b5476c0.0ff56a"]]},{"id":"9a67a36f.f4eb5","type":"ui_chart","z":"fffc3340.5176a","name":"","group":"75ee6a55.9d4234","order":1,"width":"6","height":"6","label":"Temperature","chartType":"line","legend":"false","xformat":"mm:ss","interpolate":"linear","nodata":"","dot":true,"ymin":"0","ymax":"100","removeOlder":"1","removeOlderPoints":"1000","removeOlderUnit":"60","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":false,"x":568.3334503173828,"y":1532.6669158935547,"wires":[[],[]]},{"id":"d84403dd.19a98","type":"ui_gauge","z":"fffc3340.5176a","name":"","group":"75ee6a55.9d4234","order":3,"width":"6","height":"6","gtype":"gage","title":"","label":"units","format":"{{value}}","min":0,"max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"80","seg2":"90","x":546.0001983642578,"y":1490.6667518615723,"wires":[]},{"id":"a610c851.3c75a8","type":"OpcUa-Item","z":"fffc3340.5176a","item":"ns=1;s=Fan2Status","datatype":"UInt16","value":"","name":"ns=1;s=Fan2Status","x":573.0002365112305,"y":1364.6669101715088,"wires":[["df800f40.d6b18"]]},{"id":"4ddbcac8.8d7354","type":"OpcUa-Item","z":"fffc3340.5176a","item":"ns=1;s=Fan1Status","datatype":"UInt16","value":"","name":"ns=1;s=Fan1Status","x":574.9999542236328,"y":1323.6669092178345,"wires":[["a11d26ca.1f5c88"]]},{"id":"a11d26ca.1f5c88","type":"OpcUa-Client","z":"fffc3340.5176a","endpoint":"9e0ae1c3.edaf1","action":"read","deadbandvalue":"","time":"","localfile":"","name":"Read FanStatus","x":984.0001907348633,"y":1325.5555000305176,"wires":[["81fb51a3.3d561"]]},{"id":"b860caea.faa4d8","type":"delay","z":"fffc3340.5176a","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":140.66670989990234,"y":1194.6668243408203,"wires":[["ac5b4d4a.757db"]]},{"id":"3beec120.4dd69e","type":"delay","z":"fffc3340.5176a","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":371,"y":1365.0002450942993,"wires":[["a610c851.3c75a8"]]},{"id":"f1bda0cd.e7c2","type":"delay","z":"fffc3340.5176a","name":"","pauseType":"delay","timeout":"3","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":370.6666564941406,"y":1408.3333740234375,"wires":[["d356abd5.73ea08"]]},{"id":"d356abd5.73ea08","type":"OpcUa-Item","z":"fffc3340.5176a","item":"ns=1;s=Fan3Status","datatype":"UInt16","value":"","name":"ns=1;s=Fan3Status","x":577.6669235229492,"y":1409.0003261566162,"wires":[["37818a77.1c57c6"]]},{"id":"44b036a2.945d48","type":"ui_switch","z":"fffc3340.5176a","name":"Fan #3","label":"Fan #3","group":"75ee6a55.9d4234","order":5,"width":"3","height":"1","passthru":true,"decouple":"false","topic":"","style":"","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":352.6666793823242,"y":1252.333330154419,"wires":[["217db088.33e45"]]},{"id":"217db088.33e45","type":"function","z":"fffc3340.5176a","name":"Fan Status","func":"flow.set(\"fan03Status\", msg.payload);\nreturn msg;","outputs":1,"noerr":0,"x":539.8335113525391,"y":1253.555498123169,"wires":[["eb16471d.ccd158"]]},{"id":"eb16471d.ccd158","type":"OpcUa-Item","z":"fffc3340.5176a","item":"ns=1;s=Fan3Status","datatype":"UInt16","value":"","name":"ns=1;s=Fan3Status","x":788.7225112915039,"y":1254.0004034042358,"wires":[["6e09f8.69240608"]]},{"id":"da530de.fa6a2f","type":"delay","z":"fffc3340.5176a","name":"","pauseType":"delay","timeout":"4","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":144.66667938232422,"y":1252.3334112167358,"wires":[["44b036a2.945d48"]]},{"id":"37818a77.1c57c6","type":"OpcUa-Client","z":"fffc3340.5176a","endpoint":"9e0ae1c3.edaf1","action":"read","deadbandvalue":"","time":"","localfile":"","name":"Read FanStatus","x":989.6666946411133,"y":1420.3333339691162,"wires":[["44b036a2.945d48"]]},{"id":"df800f40.d6b18","type":"OpcUa-Client","z":"fffc3340.5176a","endpoint":"9e0ae1c3.edaf1","action":"read","deadbandvalue":"","time":"","localfile":"","name":"Read FanStatus","x":987.6666946411133,"y":1372.3333339691162,"wires":[["ac5b4d4a.757db"]]},{"id":"9e0ae1c3.edaf1","type":"OpcUa-Endpoint","z":"","endpoint":"opc.tcp://localhost:53880/UA/TemperatureChamber1","secpol":"None","secmode":"NONE","login":false},{"id":"75ee6a55.9d4234","type":"ui_group","z":"fffc3340.5176a","name":"OPC UA Server","tab":"588fe626.69e028","order":2,"disp":true,"width":"12","collapse":false},{"id":"588fe626.69e028","type":"ui_tab","z":"","name":"Dashboard - UA","icon":"dashboard","order":2}]