[{"id":"09b527452dd754de","type":"tab","label":"System","disabled":false,"info":"System ","env":[]},{"id":"b1db9e65.d3cd3","type":"tab","label":"Power/Status","disabled":false,"info":""},{"id":"61f11dff996bdf44","type":"tab","label":"Counters and Timers","disabled":false,"info":"","env":[]},{"id":"6111fc7fe11e3479","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"9a72a6bf86a517c6","type":"ui-theme","name":"Default","colors":{"surface":"#ffffff","primary":"#0094ce","bgPage":"#eeeeee","groupBg":"#ffffff","groupOutline":"#cccccc"},"sizes":{"density":"default","pagePadding":"12px","groupGap":"12px","groupBorderRadius":"4px","widgetGap":"12px"}},{"id":"af3af53906ec5509","type":"ui-base","name":"UI-Name","path":"/dashboard","appIcon":"","includeClientData":true,"acceptsClientConfig":["ui-notification","ui-control"],"showPathInSidebar":false,"headerContent":"page","navigationStyle":"default","titleBarStyle":"default","showReconnectNotification":true,"notificationDisplayTime":1,"showDisconnectNotification":true,"allowInstall":true},{"id":"ab2d5e81b4010ffd","type":"ui-page","name":"Control + Status","ui":"af3af53906ec5509","path":"/page1","icon":"home","layout":"grid","theme":"9a72a6bf86a517c6","breakpoints":[{"name":"Default","px":"0","cols":"3"},{"name":"Tablet","px":"576","cols":"6"},{"name":"Small Desktop","px":"768","cols":"9"},{"name":"Desktop","px":"1024","cols":"12"}],"order":1,"className":"","visible":"true","disabled":"false"},{"id":"554ab8d6e7bdefd8","type":"ui-group","name":"Port1","page":"ab2d5e81b4010ffd","width":3,"height":1,"order":1,"showTitle":true,"className":"","visible":"true","disabled":"false","groupType":"default"},{"id":"bb4178dcdb3771cb","type":"ui-group","name":"Port 2","page":"ab2d5e81b4010ffd","width":3,"height":1,"order":2,"showTitle":true,"className":"","visible":"true","disabled":"false","groupType":"default"},{"id":"54157f1c4cacc147","type":"ui-group","name":"Port 3","page":"ab2d5e81b4010ffd","width":3,"height":1,"order":3,"showTitle":true,"className":"","visible":"true","disabled":"false","groupType":"default"},{"id":"45a02daec42fcee5","type":"ui-group","name":"Port 4","page":"ab2d5e81b4010ffd","width":3,"height":1,"order":4,"showTitle":true,"className":"","visible":"true","disabled":"false","groupType":"default"},{"id":"a142070d78b8d97e","type":"ui-group","name":"All Ports","page":"ab2d5e81b4010ffd","width":12,"height":1,"order":5,"showTitle":true,"className":"","visible":"true","disabled":"false","groupType":"default"},{"id":"633bbd7e6304c478","type":"ui-group","name":"System","page":"ab2d5e81b4010ffd","width":12,"height":1,"order":6,"showTitle":true,"className":"","visible":"true","disabled":"false","groupType":"default"},{"id":"12d9e8754e42b011","type":"cpu","z":"09b527452dd754de","name":"","msgCore":true,"msgOverall":false,"msgArray":false,"msgTemp":false,"x":290,"y":140,"wires":[["1c350154f281a35e","e71d08095be48e96"]]},{"id":"fedd5d4f0b4975c3","type":"inject","z":"09b527452dd754de","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"2","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":110,"y":140,"wires":[["12d9e8754e42b011"]]},{"id":"1c350154f281a35e","type":"ui-gauge","z":"09b527452dd754de","name":"CPU load","group":"633bbd7e6304c478","order":1,"value":"payload","valueType":"msg","width":4,"height":5,"gtype":"gauge-half","gstyle":"needle","title":"CPU Load","alwaysShowTitle":false,"floatingTitlePosition":"top-left","units":"%","icon":"","prefix":"","suffix":"","segments":[{"from":"0","color":"#5cd65c","text":"","textType":"label"},{"from":"60","color":"#ffc800","text":"","textType":"label"},{"from":"80","color":"#ea5353","text":"","textType":"label"}],"min":0,"max":"100","sizeThickness":16,"sizeGap":4,"sizeKeyThickness":8,"styleRounded":true,"styleGlow":false,"className":"","x":540,"y":80,"wires":[[]]},{"id":"e71d08095be48e96","type":"ui-chart","z":"09b527452dd754de","group":"633bbd7e6304c478","name":"CPU load","label":"CPU load history","order":2,"chartType":"line","category":"topic","categoryType":"msg","xAxisLabel":"","xAxisProperty":"","xAxisPropertyType":"timestamp","xAxisType":"time","xAxisFormat":"","xAxisFormatType":"auto","xmin":"","xmax":"","yAxisLabel":"","yAxisProperty":"payload","yAxisPropertyType":"msg","ymin":"0","ymax":"100","bins":10,"action":"append","stackSeries":false,"pointShape":"circle","pointRadius":4,"showLegend":true,"removeOlder":"15","removeOlderUnit":"60","removeOlderPoints":"","colors":["#0095ff","#ff0000","#ff7f0e","#2ca02c","#a347e1","#d62728","#ff9896","#9467bd","#c5b0d5"],"textColor":["#666666"],"textColorDefault":true,"gridColor":["#e5e5e5"],"gridColorDefault":true,"width":8,"height":5,"className":"","interpolation":"linear","x":540,"y":140,"wires":[[]]},{"id":"b83a3ba0a1851b6a","type":"ui-text","z":"09b527452dd754de","group":"633bbd7e6304c478","order":3,"width":12,"height":0,"name":"","label":"Note: core 3+core 4 are reserved for IOL operation","format":"{{msg.payload}}","layout":"row-spread","style":false,"font":"","fontSize":16,"color":"#717171","wrapText":false,"className":"","value":"payloads","valueType":"msg","x":670,"y":200,"wires":[]},{"id":"8839282ca46b8bd1","type":"ui-switch","z":"b1db9e65.d3cd3","name":"Power Port 2","label":"Power Port 1","group":"554ab8d6e7bdefd8","order":1,"width":0,"height":0,"passthru":false,"decouple":false,"topic":"topic","topicType":"msg","style":"","className":"","layout":"row-spread","clickableArea":"switch","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":110,"y":120,"wires":[["bb6e1fd519bd4a0a"]]},{"id":"bb6e1fd519bd4a0a","type":"http request","z":"b1db9e65.d3cd3","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"http://localhost:18080/0/device/power/{{payload}}","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":290,"y":120,"wires":[["46beee6ed03dcb45"]]},{"id":"9219093cf15d5b38","type":"http request","z":"b1db9e65.d3cd3","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"http://localhost:18080/0/device/status","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":750,"y":120,"wires":[["facc62ee12b65804","0282e2bc0e4ac251"]]},{"id":"facc62ee12b65804","type":"ui-text","z":"b1db9e65.d3cd3","group":"554ab8d6e7bdefd8","order":3,"width":0,"height":0,"name":"","label":"Comm. Status;","format":"{{msg.payload}}","layout":"row-spread","style":false,"font":"","fontSize":16,"color":"#717171","wrapText":false,"className":"","value":"payload.comm_string_loc","valueType":"msg","x":1000,"y":180,"wires":[]},{"id":"0282e2bc0e4ac251","type":"ui-text","z":"b1db9e65.d3cd3","group":"554ab8d6e7bdefd8","order":2,"width":0,"height":0,"name":"Power Status","label":"Power Status:","format":"{{msg.payload}}","layout":"row-spread","style":true,"font":"","fontSize":16,"color":"#717171","wrapText":false,"className":"","value":"payload.power_string_loc","valueType":"msg","x":1010,"y":120,"wires":[]},{"id":"4579958ec9ac7462","type":"ui-button","z":"b1db9e65.d3cd3","group":"a142070d78b8d97e","name":"Update Port status","label":"Update port status","order":1,"width":0,"height":0,"emulateClick":false,"tooltip":"","color":"","bgcolor":"","className":"","icon":"","iconPosition":"left","payload":"","payloadType":"str","topic":"topic","topicType":"msg","buttonColor":"","textColor":"","iconColor":"","enableClick":true,"enablePointerdown":false,"pointerdownPayload":"","pointerdownPayloadType":"str","enablePointerup":false,"pointerupPayload":"","pointerupPayloadType":"str","x":530,"y":20,"wires":[["9219093cf15d5b38","7b329d8c83c6b7c7","ffa6591e06f11d3b","5a7e6bc771d04d06"]]},{"id":"46beee6ed03dcb45","type":"delay","z":"b1db9e65.d3cd3","name":"","pauseType":"delay","timeout":"500","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":540,"y":120,"wires":[["9219093cf15d5b38"]]},{"id":"f3cbbcd8b212f650","type":"ui-switch","z":"b1db9e65.d3cd3","name":"Power Port 2","label":"Power Port 2","group":"bb4178dcdb3771cb","order":1,"width":0,"height":0,"passthru":false,"decouple":false,"topic":"topic","topicType":"msg","style":"","className":"","layout":"row-spread","clickableArea":"switch","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":110,"y":240,"wires":[["24cbd39df4ae9b04"]]},{"id":"24cbd39df4ae9b04","type":"http request","z":"b1db9e65.d3cd3","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"http://localhost:18080/1/device/power/{{payload}}","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":290,"y":240,"wires":[["6f8b709aeb32762b"]]},{"id":"7b329d8c83c6b7c7","type":"http request","z":"b1db9e65.d3cd3","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"http://localhost:18080/1/device/status","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":750,"y":240,"wires":[["9e3479840da51aa5","d63f57dbff166fdc"]]},{"id":"9e3479840da51aa5","type":"ui-text","z":"b1db9e65.d3cd3","group":"bb4178dcdb3771cb","order":3,"width":0,"height":0,"name":"","label":"Comm. Status;","format":"{{msg.payload}}","layout":"row-spread","style":false,"font":"","fontSize":16,"color":"#717171","wrapText":false,"className":"","value":"payload.comm_string_loc","valueType":"msg","x":1000,"y":300,"wires":[]},{"id":"d63f57dbff166fdc","type":"ui-text","z":"b1db9e65.d3cd3","group":"bb4178dcdb3771cb","order":2,"width":0,"height":0,"name":"Power Status","label":"Power Status:","format":"{{msg.payload}}","layout":"row-spread","style":true,"font":"","fontSize":16,"color":"#717171","wrapText":false,"className":"","value":"payload.power_string_loc","valueType":"msg","x":1010,"y":240,"wires":[]},{"id":"6f8b709aeb32762b","type":"delay","z":"b1db9e65.d3cd3","name":"","pauseType":"delay","timeout":"500","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":540,"y":240,"wires":[["7b329d8c83c6b7c7"]]},{"id":"1984a830db1d2b84","type":"ui-switch","z":"b1db9e65.d3cd3","name":"Power Port 3","label":"Power Port 3","group":"54157f1c4cacc147","order":1,"width":0,"height":0,"passthru":false,"decouple":false,"topic":"topic","topicType":"msg","style":"","className":"","layout":"row-spread","clickableArea":"switch","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":110,"y":360,"wires":[["4ce9e0ffbf27cf9f"]]},{"id":"4ce9e0ffbf27cf9f","type":"http request","z":"b1db9e65.d3cd3","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"http://localhost:18080/2/device/power/{{payload}}","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":290,"y":360,"wires":[["3b592b24c27edfa7"]]},{"id":"ffa6591e06f11d3b","type":"http request","z":"b1db9e65.d3cd3","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"http://localhost:18080/2/device/status","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":750,"y":360,"wires":[["340b78d9624d9ba8","b781ca6d6706ea42"]]},{"id":"340b78d9624d9ba8","type":"ui-text","z":"b1db9e65.d3cd3","group":"54157f1c4cacc147","order":3,"width":0,"height":0,"name":"","label":"Comm. Status;","format":"{{msg.payload}}","layout":"row-spread","style":false,"font":"","fontSize":16,"color":"#717171","wrapText":false,"className":"","value":"payload.comm_string_loc","valueType":"msg","x":1000,"y":420,"wires":[]},{"id":"b781ca6d6706ea42","type":"ui-text","z":"b1db9e65.d3cd3","group":"54157f1c4cacc147","order":2,"width":0,"height":0,"name":"Power Status","label":"Power Status:","format":"{{msg.payload}}","layout":"row-spread","style":true,"font":"","fontSize":16,"color":"#717171","wrapText":false,"className":"","value":"payload.power_string_loc","valueType":"msg","x":1010,"y":360,"wires":[]},{"id":"3b592b24c27edfa7","type":"delay","z":"b1db9e65.d3cd3","name":"","pauseType":"delay","timeout":"500","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":540,"y":360,"wires":[["ffa6591e06f11d3b"]]},{"id":"069a65be6daeef56","type":"ui-switch","z":"b1db9e65.d3cd3","name":"Power Port 4","label":"Power Port 4","group":"45a02daec42fcee5","order":1,"width":0,"height":0,"passthru":false,"decouple":false,"topic":"topic","topicType":"msg","style":"","className":"","layout":"row-spread","clickableArea":"switch","onvalue":"1","onvalueType":"num","onicon":"","oncolor":"","offvalue":"0","offvalueType":"num","officon":"","offcolor":"","x":110,"y":480,"wires":[["dcfb3eda8c2fa219"]]},{"id":"dcfb3eda8c2fa219","type":"http request","z":"b1db9e65.d3cd3","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"http://localhost:18080/3/device/power/{{payload}}","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":290,"y":480,"wires":[["4802fd40837efc86"]]},{"id":"5a7e6bc771d04d06","type":"http request","z":"b1db9e65.d3cd3","name":"","method":"GET","ret":"obj","paytoqs":"ignore","url":"http://localhost:18080/3/device/status","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":750,"y":480,"wires":[["66a6615234303c41","febcafe06e24e06a"]]},{"id":"66a6615234303c41","type":"ui-text","z":"b1db9e65.d3cd3","group":"45a02daec42fcee5","order":3,"width":0,"height":0,"name":"","label":"Comm. Status;","format":"{{msg.payload}}","layout":"row-spread","style":false,"font":"","fontSize":16,"color":"#717171","wrapText":false,"className":"","value":"payload.comm_string_loc","valueType":"msg","x":1000,"y":540,"wires":[]},{"id":"febcafe06e24e06a","type":"ui-text","z":"b1db9e65.d3cd3","group":"45a02daec42fcee5","order":2,"width":0,"height":0,"name":"Power Status","label":"Power Status:","format":"{{msg.payload}}","layout":"row-spread","style":true,"font":"","fontSize":16,"color":"#717171","wrapText":false,"className":"","value":"payload.power_string_loc","valueType":"msg","x":1010,"y":480,"wires":[]},{"id":"4802fd40837efc86","type":"delay","z":"b1db9e65.d3cd3","name":"","pauseType":"delay","timeout":"500","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":540,"y":480,"wires":[["5a7e6bc771d04d06"]]},{"id":"fc0bcc5e98438e7f","type":"ui-button","z":"b1db9e65.d3cd3","group":"a142070d78b8d97e","name":"All ports ON","label":"All ports ON","order":2,"width":0,"height":0,"emulateClick":false,"tooltip":"","color":"","bgcolor":"","className":"","icon":"","iconPosition":"left","payload":"1","payloadType":"num","topic":"topic","topicType":"msg","buttonColor":"","textColor":"","iconColor":"","enableClick":true,"enablePointerdown":false,"pointerdownPayload":"","pointerdownPayloadType":"str","enablePointerup":false,"pointerupPayload":"","pointerupPayloadType":"str","x":110,"y":560,"wires":[["bb6e1fd519bd4a0a","24cbd39df4ae9b04","4ce9e0ffbf27cf9f","dcfb3eda8c2fa219"]]},{"id":"1dbd15e8890ea313","type":"ui-button","z":"b1db9e65.d3cd3","group":"a142070d78b8d97e","name":"All ports OFF","label":"All ports OFF","order":3,"width":0,"height":0,"emulateClick":false,"tooltip":"","color":"","bgcolor":"","className":"","icon":"","iconPosition":"left","payload":"0","payloadType":"num","topic":"topic","topicType":"msg","buttonColor":"","textColor":"","iconColor":"","enableClick":true,"enablePointerdown":false,"pointerdownPayload":"","pointerdownPayloadType":"str","enablePointerup":false,"pointerupPayload":"","pointerupPayloadType":"str","x":110,"y":620,"wires":[["bb6e1fd519bd4a0a","24cbd39df4ae9b04","4ce9e0ffbf27cf9f","dcfb3eda8c2fa219"]]},{"id":"pb-timer-inject","type":"inject","z":"61f11dff996bdf44","name":"Read timers","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":150,"y":140,"wires":[["pb-timer-request"]]},{"id":"pb-timer-request","type":"http request","z":"61f11dff996bdf44","name":"GET /timer/values","method":"GET","ret":"obj","paytoqs":"ignore","url":"http://localhost:18080/timer/values","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":350,"y":140,"wires":[["pb-timer-function"]]},{"id":"pb-timer-function","type":"function","z":"61f11dff996bdf44","name":"Format timer values","func":"var out = [];\nfor (var i = 0; i < 8; i++) {\n    var k = 'timer' + i;\n    var t = msg.payload[k];\n    if (t) {\n        out.push({\n            timer:      i + 1,\n            count:      t.count,\n            min_ms:     t.min_ms,\n            max_ms:     t.max_ms,\n            average_ms: t.average_ms\n        });\n    }\n}\nmsg.payload = out;\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":580,"y":140,"wires":[["pb-timer-debug"]]},{"id":"pb-timer-debug","type":"debug","z":"61f11dff996bdf44","name":"Timer values","active":true,"tosidebar":true,"complete":"payload","x":790,"y":140,"wires":[]},{"id":"pb-counter-inject","type":"inject","z":"61f11dff996bdf44","name":"Read counters","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":160,"y":80,"wires":[["pb-counter-request"]]},{"id":"pb-counter-request","type":"http request","z":"61f11dff996bdf44","name":"GET /counter/values","method":"GET","ret":"obj","url":"http://localhost:18080/counter/values","x":360,"y":80,"wires":[["pb-counter-function"]]},{"id":"pb-counter-function","type":"function","z":"61f11dff996bdf44","name":"Format counter values","func":"var out = [];\nfor (var i = 0; i < 8; i++) {\n    var k = 'counter' + i;\n    out.push({\n        counter: i + 1,\n        value:   msg.payload[k]\n    });\n}\nmsg.payload = out;\nreturn msg;","outputs":1,"x":580,"y":80,"wires":[["pb-counter-debug"]]},{"id":"pb-counter-debug","type":"debug","z":"61f11dff996bdf44","name":"Counter values","active":true,"tosidebar":true,"complete":"payload","x":800,"y":80,"wires":[]}]