diff --git a/.resources/092a4dfc37b09edb770cd62cd1c3fe8f83d3402e8b04e9df2594f1d48b8e5479 b/.resources/092a4dfc37b09edb770cd62cd1c3fe8f83d3402e8b04e9df2594f1d48b8e5479 new file mode 100644 index 00000000..c4da4af4 --- /dev/null +++ b/.resources/092a4dfc37b09edb770cd62cd1c3fe8f83d3402e8b04e9df2594f1d48b8e5479 @@ -0,0 +1,6 @@ +def set_priority_filters(self): + filters = self.props.value + payload = {} + payload["data"] = filters + system.perspective.sendMessage("set-priority-filters", payload = payload, + scope = "page") \ No newline at end of file diff --git a/.resources/0d096b5e8398d52bdfe91cc14dc419dcef2a8dde647dff81c2ad028e7e252ab0 b/.resources/0d096b5e8398d52bdfe91cc14dc419dcef2a8dde647dff81c2ad028e7e252ab0 new file mode 100644 index 00000000..e58e21e0 --- /dev/null +++ b/.resources/0d096b5e8398d52bdfe91cc14dc419dcef2a8dde647dff81c2ad028e7e252ab0 @@ -0,0 +1,908 @@ +{ + "custom": {}, + "params": { + "alwaysShowAll": false, + "isClickable": true, + "isRightOfSorter": false, + "mirror": false, + "tagPath": "[default]MCP20/SO01/So01_CH01" + }, + "propConfig": { + "params.alwaysShowAll": { + "paramDirection": "input", + "persistent": true + }, + "params.isClickable": { + "paramDirection": "input", + "persistent": true + }, + "params.isRightOfSorter": { + "paramDirection": "input", + "persistent": true + }, + "params.mirror": { + "paramDirection": "input", + "persistent": true + }, + "params.tagPath": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 20, + "width": 60 + }, + "loading": { + "mode": "blocking" + } + }, + "root": { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.parent.openPopup()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Conveyor" + }, + "position": { + "height": 20, + "width": 38, + "x": 22 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/CH/IsChuteMode" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "coalesce({value}, true)", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "config": { + "enableHighlight": false, + "isClickable": false, + "showLabel": false, + "type": "bar" + }, + "status": { + "color": "#FFF" + } + }, + "type": "dex.display.conveyor" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.parent.openPopup()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Gaylord" + }, + "position": { + "height": 16, + "width": 16, + "x": 22, + "y": 2 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "expression": "try( tag({view.params.tagPath}+\"/CH/IsCartMode\")\r\n\t||tag({view.params.tagPath}+\"/CH/IsGLLMode\"),\r\n\ttrue\r\n)" + }, + "type": "expr" + } + } + }, + "props": { + "config": { + "enableHighlight": false, + "isClickable": false + } + }, + "type": "dex.display.gaylord" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tself.parent.openPopup()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Chute" + }, + "position": { + "height": 20, + "rotate": { + "anchor": "0 0" + }, + "width": 23 + }, + "propConfig": { + "props.config.isClickable": { + "binding": { + "config": { + "expression": "!{view.params.isClickable}" + }, + "type": "expr" + } + }, + "props.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/CH/Graphics" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "config": { + "showLabel": false + } + }, + "type": "dex.display.conveyor" + }, + { + "meta": { + "name": "LS1" + }, + "position": { + "height": 6, + "width": 6, + "x": 19, + "y": 14 + }, + "propConfig": { + "props.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/LS1/Graphics" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "jsonSet({value}, \"tooltip\", replace(jsonGet({value}, \"tooltip\"), \"\u003cbr\u003e\", \" (GR Presence)\u003cbr\u003e\"))", + "type": "expression" + }, + { + "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "config": { + "showLabel": false + } + }, + "type": "dex.display.limitswitch" + }, + { + "meta": { + "name": "BCN1_GRN" + }, + "position": { + "height": 5, + "rotate": { + "angle": "-90deg" + }, + "width": 5, + "x": 5, + "y": 15 + }, + "propConfig": { + "position.x": { + "binding": { + "config": { + "expression": "if({../BCN1_AMB.meta.visible}, 10, 5)" + }, + "type": "expr" + }, + "persistent": true + }, + "props.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/BCN1/GRN/Graphics" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", + "type": "expression" + } + ], + "type": "tag" + } + }, + "props.style.transform": { + "binding": { + "config": { + "path": "view.params.mirror" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "scale(-1, 1)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "dex.display.beacon" + }, + { + "meta": { + "name": "BCN1_AMB", + "visible": false + }, + "position": { + "height": 5, + "rotate": { + "angle": "-90deg" + }, + "width": 5, + "x": 5, + "y": 15 + }, + "propConfig": { + "meta.visible": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/BCN1/AMB/Graphics" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "isGood({value})", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "props.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/BCN1/AMB/Graphics" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", + "type": "expression" + } + ], + "type": "tag" + } + }, + "props.style.transform": { + "binding": { + "config": { + "path": "view.params.mirror" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "scale(-1, 1)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "dex.display.beacon" + }, + { + "meta": { + "name": "BCN1_BLU" + }, + "position": { + "height": 5, + "rotate": { + "angle": "-90deg" + }, + "width": 5, + "y": 15 + }, + "propConfig": { + "props.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/BCN1/BLU/Graphics" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", + "type": "expression" + } + ], + "type": "tag" + } + }, + "props.style.transform": { + "binding": { + "config": { + "path": "view.params.mirror" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "scale(-1, 1)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "type": "dex.display.beacon" + }, + { + "meta": { + "name": "GS1_ENABLE" + }, + "position": { + "height": 6, + "width": 6, + "x": 38, + "y": 14 + }, + "propConfig": { + "props.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/GS1/Enable/Graphics" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "type": "dex.display.pushbutton" + }, + { + "meta": { + "name": "PE3" + }, + "position": { + "height": 6, + "rotate": { + "anchor": "0 50%" + }, + "width": 8, + "x": 3, + "y": 2 + }, + "propConfig": { + "props.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/PE3/Graphics" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "jsonSet({value}, \"tooltip\", replace(jsonGet({value}, \"tooltip\"), \"\u003cbr\u003e\", \" (GL 100% Full)\u003cbr\u003e\"))", + "type": "expression" + }, + { + "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "config": { + "type": "diffuse" + } + }, + "type": "dex.display.photoeye" + }, + { + "meta": { + "name": "PE4" + }, + "position": { + "height": 6, + "rotate": { + "anchor": "0 50%", + "angle": "-45deg" + }, + "width": 8, + "x": 5, + "y": 10 + }, + "propConfig": { + "props.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/PE4/Graphics" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "jsonSet({value}, \"tooltip\", replace(jsonGet({value}, \"tooltip\"), \"\u003cbr\u003e\", \" (GL Presence)\u003cbr\u003e\"))", + "type": "expression" + }, + { + "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "config": { + "type": "diffuse" + } + }, + "type": "dex.display.photoeye" + }, + { + "meta": { + "name": "PE2" + }, + "position": { + "height": 6, + "width": 28, + "x": 13, + "y": 7 + }, + "propConfig": { + "props.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/PE2/Graphics" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "jsonSet({value}, \"tooltip\", replace(jsonGet({value}, \"tooltip\"), \"\u003cbr\u003e\", \" (GR 50% Full)\u003cbr\u003e\"))", + "type": "expression" + }, + { + "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "config": { + "type": "diffuse" + } + }, + "type": "dex.display.photoeye" + }, + { + "meta": { + "name": "PE1B" + }, + "position": { + "height": 6, + "rotate": { + "anchor": "0 50%" + }, + "width": 20, + "x": 15 + }, + "propConfig": { + "position.rotate.angle": { + "binding": { + "config": { + "path": "view.params.isRightOfSorter" + }, + "transforms": [ + { + "fallback": "-45deg", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "45deg" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "position.y": { + "binding": { + "config": { + "path": "view.params.isRightOfSorter" + }, + "transforms": [ + { + "fallback": 14, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 0 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/PE1B/Graphics" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "jsonSet({value}, \"tooltip\", replace(jsonGet({value}, \"tooltip\"), \"\u003cbr\u003e\", \" (GR 100% Full)\u003cbr\u003e\"))", + "type": "expression" + }, + { + "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "config": { + "type": "diffuse" + } + }, + "type": "dex.display.photoeye" + }, + { + "meta": { + "name": "PE1A" + }, + "position": { + "height": 6, + "rotate": { + "anchor": "0 50%" + }, + "width": 20, + "x": 15 + }, + "propConfig": { + "position.rotate.angle": { + "binding": { + "config": { + "path": "view.params.isRightOfSorter" + }, + "transforms": [ + { + "fallback": "45deg", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "-45deg" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "position.y": { + "binding": { + "config": { + "path": "view.params.isRightOfSorter" + }, + "transforms": [ + { + "fallback": 0, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": 14 + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/PE1A/Graphics" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "jsonSet({value}, \"tooltip\", replace(jsonGet({value}, \"tooltip\"), \"\u003cbr\u003e\", \" (GR 100% Full)\u003cbr\u003e\"))", + "type": "expression" + }, + { + "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "props": { + "config": { + "type": "diffuse" + } + }, + "type": "dex.display.photoeye" + }, + { + "meta": { + "name": "RS1_RESTART" + }, + "position": { + "height": 6, + "width": 6, + "x": 44, + "y": 14 + }, + "propConfig": { + "props.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/RS1/Restart/Graphics" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "type": "dex.display.pushbutton" + }, + { + "meta": { + "name": "FIO1" + }, + "position": { + "height": 5, + "width": 10, + "x": 50, + "y": 15 + }, + "propConfig": { + "props.status": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "tagPath": "{view.params.tagPath}" + }, + "tagPath": "{tagPath}/FIO1/Graphics" + }, + "overlayOptOut": true, + "transforms": [ + { + "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", + "type": "expression" + } + ], + "type": "tag" + } + } + }, + "type": "dex.display.eip" + } + ], + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.transform": { + "binding": { + "config": { + "path": "view.params.mirror" + }, + "transforms": [ + { + "fallback": null, + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "scale(1, -1)" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "scripts": { + "customMethods": [ + { + "name": "openPopup", + "params": [], + "script": "\tif self.view.params.isClickable:\n\t\tid \u003d \"FlexChute|\" + self.view.params.tagPath\n\t\ttitle \u003d utils.prettyName(self.view.params.tagPath.split(\"/\")[-1])\n\t\tparams \u003d { \n\t\t\t\"deviceType\": \"chutedestination\",\n\t\t\t\"props\": { \n\t\t\t\t\"config\": {\n\t\t\t\t\t\"alwaysShowAll\": self.view.params.alwaysShowAll,\n\t\t\t\t\t\"isClickable\": self.view.params.isClickable,\n\t\t\t\t\t\"isRightOfSorter\": self.view.params.isRightOfSorter,\n\t\t\t\t\t\"mirror\": self.view.params.mirror\n\t\t\t\t},\n\t\t\t\t\"status\": {\n\t\t\t\t\t\"tagPath\": self.view.params.tagPath\n\t\t\t\t}\n\t\t \t},\n\t\t \t\"tabs\": [\"Controls\", \"Alarm History\", \"Devices\"]\t\t\n\t\t}\n\t\tsystem.perspective.openPopup(id, \"Popups/DeviceWrapper\", params, title, resizable \u003d True)" + } + ], + "extensionFunctions": null, + "messageHandlers": [] + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/.resources/2c99cd199495a4ea459f8e0943333d31b2d43c83b13c6ddc1c88a3c7b2a70437 b/.resources/2c99cd199495a4ea459f8e0943333d31b2d43c83b13c6ddc1c88a3c7b2a70437 new file mode 100644 index 00000000..57419edb --- /dev/null +++ b/.resources/2c99cd199495a4ea459f8e0943333d31b2d43c83b13c6ddc1c88a3c7b2a70437 @@ -0,0 +1,4744 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 1080, + "width": 1920 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "background_on": "false" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpriority \u003d \u0027critical\u0027\n\t# Copy and toggle the filter\n\tpriorities \u003d dict(self.parent.custom.priorities)\n\tpriorities[priority] \u003d not priorities.get(priority, False)\n\tself.parent.custom.priorities \u003d priorities\n\t\n\tself.custom.background_on \u003d \"true\" if priorities[priority] else \"false\"\n\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_4" + }, + "position": { + "basis": "125px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "expression": "if({this.custom.background_on}\u003d\"true\",1,0)" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Alarms-Styles/Critical" + }, + { + "input": 0, + "output": "Buttons/PB_1" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "color": "#FFFFFF", + "path": "material/error" + } + }, + "style": { + "margin": 15 + }, + "text": "Critical" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-filters", + "pageScope": true, + "script": "\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"reset\"]\n\tif severity \u003d\u003d \"false\":\n\t\tbackground \u003d \"false\"\n\telse:\n\t\tbackground \u003d \"true\"\n\tself.custom.background_on \u003d background\n\t", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + }, + { + "custom": { + "Severity": "High", + "background_on": "false" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpriority \u003d \u0027high\u0027\n\t# Copy and toggle the filter\n\tpriorities \u003d dict(self.parent.custom.priorities)\n\tpriorities[priority] \u003d not priorities.get(priority, False)\n\tself.parent.custom.priorities \u003d priorities\n\t\n\tself.custom.background_on \u003d \"true\" if priorities[priority] else \"false\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "120px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "expression": "if({this.custom.background_on}\u003d\"false\",0,\r\nif({session.custom.colours.colour_impaired},2,1))" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "" + }, + { + "input": 1, + "output": "Alarms-Styles/High" + }, + { + "input": 2, + "output": "Alarms-Styles/Alt-Colours/High" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/priority_high" + } + }, + "primary": false, + "style": { + "margin": 15 + }, + "text": "High" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-filters", + "pageScope": true, + "script": "\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"reset\"]\n\tif severity \u003d\u003d \"false\":\n\t\tbackground \u003d \"false\"\n\telse:\n\t\tbackground \u003d \"true\"\n\tself.custom.background_on \u003d background", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "Severity": "Medium", + "background_on": "false" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpriority \u003d \u0027medium\u0027\n\t# Copy and toggle the filter\n\tpriorities \u003d dict(self.parent.custom.priorities)\n\tpriorities[priority] \u003d not priorities.get(priority, False)\n\tself.parent.custom.priorities \u003d priorities\n\t\n\tself.custom.background_on \u003d \"true\" if priorities[priority] else \"false\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_1" + }, + "position": { + "basis": "120px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "expression": "if({this.custom.background_on}\u003d\"false\",0,\r\nif({session.custom.colours.colour_impaired},2,1))" + }, + "transforms": [ + { + "fallback": "Buttons/PB_1", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "" + }, + { + "input": 1, + "output": "Alarms-Styles/Medium" + }, + { + "input": 2, + "output": "Alarms-Styles/Alt-Colours/Medium" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/priority_high" + } + }, + "primary": false, + "style": { + "margin": 15 + }, + "text": "Medium" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-filters", + "pageScope": true, + "script": "\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"reset\"]\n\tif severity \u003d\u003d \"false\":\n\t\tbackground \u003d \"false\"\n\telse:\n\t\tbackground \u003d \"true\"\n\tself.custom.background_on \u003d background", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "Severity": "Low", + "background_on": "false" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpriority \u003d \u0027low\u0027\n\t# Copy and toggle the filter\n\tpriorities \u003d dict(self.parent.custom.priorities)\n\tpriorities[priority] \u003d not priorities.get(priority, False)\n\tself.parent.custom.priorities \u003d priorities\n\t\n\tself.custom.background_on \u003d \"true\" if priorities[priority] else \"false\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_2" + }, + "position": { + "basis": "120px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "expression": "if({this.custom.background_on}\u003d\"false\",0,\r\nif({session.custom.colours.colour_impaired},2,1))" + }, + "transforms": [ + { + "fallback": "Buttons/PB_1", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "" + }, + { + "input": 1, + "output": "Alarms-Styles/Low" + }, + { + "input": 2, + "output": "Alarms-Styles/Alt-Colours/Low" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/low_priority" + } + }, + "primary": false, + "style": { + "margin": 15 + }, + "text": "Low" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-filters", + "pageScope": true, + "script": "\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"reset\"]\n\tif severity \u003d\u003d \"false\":\n\t\tbackground \u003d \"false\"\n\telse:\n\t\tbackground \u003d \"true\"\n\tself.custom.background_on \u003d background", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "background_on": "false" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpriority \u003d \u0027diagnostic\u0027\n\n\tpriorities \u003d dict(self.parent.custom.priorities)\n\tpriorities[priority] \u003d not priorities.get(priority, False)\n\tself.parent.custom.priorities \u003d priorities\n\t\n\tself.custom.background_on \u003d \"true\" if priorities[priority] else \"false\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_3" + }, + "position": { + "basis": "120px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "expression": "if({this.custom.background_on}\u003d\"false\",0,\r\nif({session.custom.colours.colour_impaired},2,1))" + }, + "transforms": [ + { + "fallback": "Buttons/PB_1", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "" + }, + { + "input": 1, + "output": "Alarms-Styles/Diagnostic" + }, + { + "input": 2, + "output": "Alarms-Styles/Alt-Colours/Diagnostic" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/warning" + } + }, + "primary": false, + "style": { + "margin": 15 + }, + "text": "Diagnostic" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-filters", + "pageScope": true, + "script": "\t# implement your handler here\n\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"reset\"]\n\tif severity \u003d\u003d \"false\":\n\t\tbackground \u003d \"false\"\n\telse:\n\t\tbackground \u003d \"true\"\n\tself.custom.background_on \u003d background", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + } + ], + "custom": { + "priorities": { + "diagnostic": false, + "high": false, + "low": false, + "medium": false + } + }, + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.custom.priorities \u003d {\n\t \"diagnostic\": False,\n\t \"low\": False,\n\t \"medium\": False,\n\t \"high\": False,\n\t}" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "700px", + "shrink": 0 + }, + "props": { + "style": { + "padding": 0 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "Severity": "Critical", + "background_on": "false" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpayload \u003d {}\n\tfilter_on \u003d \"false\"\n\tpayload[\"reset\"] \u003d filter_on\n\tsystem.perspective.sendMessage(\"reset-filters\", payload \u003dpayload, scope \u003d \"page\")\n\tdefault_priorities \u003d {\n\t \"diagnostic\": False,\n\t \"low\": False,\n\t \"medium\": False,\n\t \"high\": False,\n\t \"critical\": False\n\t}\n\tself.parent.parent.parent.getChild(\"FlexContainer_0\").getChild(\"Table\").props.filter.text \u003d \"\"\n\tself.parent.parent.getChild(\"FlexContainer\").custom.priorities \u003d default_priorities" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "120px" + }, + "props": { + "image": { + "icon": { + "color": "#000000", + "path": "material/clear" + } + }, + "primary": false, + "style": { + "margin": 15 + }, + "text": "Reset" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "button-severity-indicator", + "pageScope": true, + "script": "\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"severity\"]\n\tbutton_severity \u003d self.custom.Severity\n\tif severity \u003d\u003d button_severity:\n\t\tbackground \u003d \"true\"\n\telse:\n\t\tbackground \u003d \"false\"\n\t\n\tself.custom.background_on \u003d background\n\t", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "Severity": "High", + "background_on": "true", + "update_on": false + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tfrom datetime import datetime\n\ttry:\n\t # Get table data\n\t data \u003d self.parent.parent.parent.getChild(\"FlexContainer_0\").getChild(\"Table\").props.data\n\t \n\t column_order \u003d [\n\t \"ID\",\n\t \"StartTimestamp\", \n\t \"Duration\",\n\t \"Priority\",\n\t \"Location\",\n\t \"Description\",\n\t \"Tag\"\n\t ]\n\t\n\t # CSV header\n\t csv_content \u003d \",\".join(column_order) + \"\\n\"\n\t \n\t def unwrap(v):\n\t\t\tif hasattr(v, \u0027value\u0027):\n\t\t\t\treturn str(v.value)\n\t \t\n\t\t\treturn v\n\t \n\t if data and len(data) \u003e 0:\n\t for item in data:\n\t row_data \u003d []\n\t \n\t for col in column_order:\n\t # Look for the column in the current item\n\t if col in item:\n\t cell \u003d item[col]\n\t # Extract the value from the nested structure\n\t if isinstance(cell, dict) and \"value\" in cell:\n\t raw_value \u003d cell[\"value\"]\n\t else:\n\t raw_value \u003d cell\n\t else:\n\t raw_value \u003d \"\"\n\t \n\t # Process and clean the value\n\t processed_value \u003d unwrap(raw_value).replace(\",\", \";\")\n\t row_data.append(processed_value)\n\t \n\t csv_content +\u003d \",\".join(row_data) + \"\\n\"\n\t else:\n\t csv_content +\u003d \"No alarms in current view\\n\"\n\t\n\texcept Exception as e:\n\t system.perspective.print(\"Export Error: \" + str(e))\n\t csv_content \u003d \"Export failed\\n\"\n\t\n\tcsv_bytes \u003d csv_content.encode(\"utf-8\")\n\tsystem.perspective.download(\"active_alarms.csv\", csv_bytes) \n\t \n\t \n\t \n\t\n#\t if data and len(data) \u003e 0:\n#\t for row in data:\n#\t val \u003d row.get(\"value\", {})\n#\t row_data \u003d [\n#\t str(val.get(\"NumberID\", \"\")),\n#\t str(val.get(\"EventTimestamp\", \"\")),\n#\t str(val.get(\"Duration\", \"\")),\n#\t str(val.get(\"Priority\", \"\")),\n#\t str(val.get(\"Description\", \"\")),\n#\t str(val.get(\"Tag\", \"\"))\n#\t ]\n#\t\n#\t # Escape commas for CSV safety\n#\t row_data \u003d [field.replace(\",\", \";\") for field in row_data]\n#\t csv_content +\u003d \",\".join(row_data) + \"\\n\"\n#\t else:\n#\t csv_content +\u003d \"No alarms in current view\\n\"\n#\t\n#\texcept Exception as e:\n#\t system.perspective.print(\"Error during CSV export: \" + str(e))\n#\t csv_content \u003d \"Error exporting alarm data\\n\"\n#\t\n#\t# Convert to bytes and trigger download\n#\tcsv_bytes \u003d csv_content.encode(\u0027utf-8\u0027)\n#\tsystem.perspective.download(\"active_alarms.csv\", csv_bytes)\n " + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_1" + }, + "position": { + "basis": "120px" + }, + "props": { + "image": { + "icon": { + "path": "material/import_export" + } + }, + "primary": false, + "style": { + "margin": 15 + }, + "text": "Export" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "button-severity-indicator", + "pageScope": true, + "script": "\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"severity\"]\n\tbutton_severity \u003d self.custom.Severity\n\tif severity \u003d\u003d button_severity:\n\t\tbackground \u003d \"true\"\n\telse:\n\t\tbackground \u003d \"false\"\n\t\n\tself.custom.background_on \u003d background", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "513px", + "shrink": 0 + }, + "props": { + "style": { + "padding": 0 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "70px", + "shrink": 0 + }, + "props": { + "alignContent": "flex-start", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "component": { + "onRowDoubleClick": { + "config": { + "script": "\n\tmyData \u003d self.props.selection.data\n\n\talarms.alarm_click.handleClick(myData)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "972.9px" + }, + "propConfig": { + "custom.priorities": { + "binding": { + "config": { + "path": ".../FlexContainer/FlexContainer.custom.priorities" + }, + "transforms": [ + { + "code": "\t\n\tpriority_to_number \u003d {\n\t \"critical\": 4,\n\t \"high\": 3,\n\t \"medium\": 2,\n\t \"low\": 1,\n\t \"diagnostic\": 0\n\t}\n\t\n\t\n\t# Collect enabled priorities\n\tenabled \u003d [str(priority_to_number[k]) for k, v in value.items() if v]\n\t\n\tresult \u003d \",\".join(enabled)\n\t\n\tif not result:\n\t\treturn \"\"\n\t\n\treturn result\n\t\n", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "parameters": { + "priorityList": "{this.custom.priorities}" + }, + "polling": { + "enabled": true, + "rate": "3" + }, + "queryPath": "Alarms-autStand/GetActiveAlarms" + }, + "transforms": [ + { + "code": "\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d [col for col in ds.columnNames if col !\u003d \"EndTimestamp\"]\n\t\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data", + "type": "script" + } + ], + "type": "query" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "NumberID", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "Number (ID)" + }, + "justify": "left", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY HH:mm:ss", + "editable": false, + "field": "StartTimestamp", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "Event Timestamp" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Duration", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "equals", + "value": "" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "string", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Priority", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Location", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "ascending", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Description", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 150 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Tag", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 80 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "FullTag", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "", + "display": "none" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Device", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "", + "display": "none" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + } + ], + "emptyMessage": { + "noData": { + "text": "No Active Alarms" + }, + "noFilterResults": { + "text": "No Active Alarms" + } + }, + "filter": { + "enabled": true, + "results": { + "enabled": true + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "480px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Active_tab" + }, + "props": { + "direction": "column", + "justify": "space-evenly" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tfrom datetime import datetime\n\t\n\ttry:\n\t data \u003d self.parent.parent.getChild(\"FlexContainer_0\").getChild(\"AlarmsTable\").props.data\n\t\n\t column_order \u003d [\n\t \"FirstTimestamp\",\n\t \"LastTimestamp\", \n\t \"Count\",\n\t \"Duration\",\n\t \"Priority\",\n\t \"Location\",\n\t \"Description\",\n\t \"Tag\"\n\t ]\n\t\n\t csv_content \u003d \",\".join(column_order) + \"\\n\"\n\t \t\n\t def unwrap(v):\n\t\t\tif hasattr(v, \u0027value\u0027):\n\t\t\t\treturn str(v.value)\n\t \t\n\t\t\treturn v\n\t \t\n\t if data and len(data) \u003e 0:\n\t for item in data:\n\t row_data \u003d []\n\t \n\t for col in column_order:\n\t # Look for the column in the current item\n\t if col in item:\n\t cell \u003d item[col]\n\t # Extract the value from the nested structure\n\t if isinstance(cell, dict) and \"value\" in cell:\n\t raw_value \u003d cell[\"value\"]\n\t else:\n\t raw_value \u003d cell\n\t else:\n\t raw_value \u003d \"\"\n\t \n\t # Process and clean the value\n\t processed_value \u003d unwrap(raw_value).replace(\",\", \";\")\n\t row_data.append(processed_value)\n\t \n\t csv_content +\u003d \",\".join(row_data) + \"\\n\"\n\t else:\n\t csv_content +\u003d \"No alarms in current view\\n\"\n\t\n\texcept Exception as e:\n\t system.perspective.print(\"Export Error: \" + str(e))\n\t csv_content \u003d \"Export failed\\n\"\n\t\n\tcsv_bytes \u003d csv_content.encode(\"utf-8\")\n\tsystem.perspective.download(\"active_alarms.csv\", csv_bytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_1" + }, + "position": { + "basis": "120px" + }, + "props": { + "image": { + "icon": { + "path": "material/import_export" + } + }, + "primary": false, + "style": { + "margin": 15 + }, + "text": "Export" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "button-severity-indicator", + "pageScope": true, + "script": "\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"severity\"]\n\tbutton_severity \u003d self.custom.Severity\n\tif severity \u003d\u003d button_severity:\n\t\tbackground \u003d \"true\"\n\telse:\n\t\tbackground \u003d \"false\"\n\t\n\tself.custom.background_on \u003d background", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "70px" + }, + "props": { + "alignContent": "flex-start", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "component": { + "onRowDoubleClick": { + "config": { + "script": "\t\n\tmyData \u003d self.props.selection.data\n\n\talarms.alarm_click.handleClick(myData)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AlarmsTable" + }, + "position": { + "basis": "1080px", + "grow": 1 + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "polling": { + "enabled": true, + "rate": "3" + }, + "queryPath": "Alarms-autStand/GetAlarmsWithCount" + }, + "transforms": [ + { + "code": "\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d list(ds.columnNames)\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data\n", + "type": "script" + } + ], + "type": "query" + } + }, + "props.editingCell": { + "onChange": { + "enabled": null, + "script": "\tall_alarms \u003d system.alarm.queryStatus(includeShelved\u003dTrue)\n\tshelved_alarms \u003d [alarm for alarm in all_alarms if alarm.isShelved()]\n\t\n\t# Build dataset for table\n\theaders \u003d [\u0027ID\u0027, \u0027StartTimestamp\u0027, \u0027EndTimestamp\u0027, \u0027Duration\u0027, \u0027Description\u0027, \u0027Priority\u0027, \u0027Tag\u0027, \u0027MCM\u0027]\n\tdata \u003d []\n\t\n\tfor alarm in shelved_alarms:\n\t # Calculate duration (time since shelved)\n\t if alarm.activeTime:\n\t duration_ms \u003d system.date.now().getTime() - alarm.activeTime.getTime()\n\t duration_seconds \u003d duration_ms / 1000\n\t hours \u003d int(duration_seconds / 3600)\n\t minutes \u003d int((duration_seconds % 3600) / 60)\n\t seconds \u003d int(duration_seconds % 60)\n\t duration \u003d \"%02d:%02d:%02d\" % (hours, minutes, seconds)\n\t else:\n\t duration \u003d \"00:00:00\"\n\t \n\t # Extract tag name from source\n\t tag_name \u003d alarm.source.split(\u0027/\u0027)[-1] if \u0027/\u0027 in alarm.source else alarm.source\n\t \n\t row \u003d [\n\t str(alarm.id) if hasattr(alarm, \u0027id\u0027) else \u0027\u0027,\n\t alarm.activeTime if alarm.activeTime else system.date.now(),\n\t None, # End timestamp (shelved alarms don\u0027t have end time yet)\n\t duration,\n\t alarm.displayPath if alarm.displayPath else alarm.source,\n\t alarm.priority.name if alarm.priority else \u0027Unknown\u0027,\n\t tag_name,\n\t \u0027System\u0027 # Adjust based on your source format\n\t ]\n\t data.append(row)\n\t\n\t# Create dataset and update the custom property\n\tdataset \u003d system.dataset.toDataSet(headers, data)\n\tself.custom.shelvedAlarmsData \u003d dataset" + } + }, + "props.selection": { + "persistent": true + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY HH:mm:ss", + "editable": false, + "field": "FirstTimestamp", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "backgroundColor": "#FFFEFE", + "classes": "" + }, + "title": "First Timestamp" + }, + "justify": "left", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "value", + "dateFormat": "MM-DD-YYYY HH:mm:ss", + "editable": false, + "field": "LastTimestamp", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "Last Timestamp" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "none", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM-DD-YYYY HH:mm:ss", + "editable": false, + "field": "Count", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "none", + "editable": false, + "field": "Duration", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "none", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Priority", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Location", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Description", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 150 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Tag", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "FullTag", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "", + "display": "none" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Device", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "", + "display": "none" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + } + ], + "emptyMessage": { + "noData": { + "text": "No Alarms" + }, + "noFilterResults": { + "text": "No Alarms" + } + }, + "filter": { + "enabled": true, + "results": { + "enabled": true + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "500px", + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Hit_List" + }, + "position": { + "tabIndex": 1 + }, + "props": { + "direction": "column", + "justify": "space-evenly" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "custom": { + "SetFilter": false + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpayload \u003d {}\n\tif self.custom.SetFilter \u003d\u003d True:\n\t\tpayload[\"data\"] \u003d False\n\t\tself.custom.SetFilter \u003d False\n\t\t\n\t\n\telif self.custom.SetFilter \u003d\u003d False:\n\t\tpayload[\"data\"] \u003d True\n\t\tself.custom.SetFilter \u003d True\n\t\n\tsystem.perspective.sendMessage(\"show-historical-filters\", payload \u003d payload, scope \u003d \"page\")\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button", + "tooltip": { + "enabled": true, + "style": { + "background-color": "white", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px", + "box-shadow": "5px 5px 5px grey", + "color": "#000000", + "fontFamily": "Arial", + "fontWeight": "normal" + }, + "text": "Show Filters" + } + }, + "position": { + "basis": "120px" + }, + "props": { + "image": { + "icon": { + "path": "material/filter_alt" + }, + "position": "center" + }, + "primary": false, + "style": { + "margin": 15, + "marginLeft": 20 + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "281px" + }, + "props": { + "style": { + "color": "#FF0000", + "margin-left": "20px" + }, + "text": "ALL TIMESTAMPS ARE IN UTC" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Show filters" + }, + "position": { + "basis": "70px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "fontFamily": "Arial", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Period:" + }, + "type": "ia.display.label" + }, + { + "custom": { + "customTime": false, + "endDate": { + "$": [ + "ts", + 192, + 1750436956149 + ], + "$ts": 1750436956149 + }, + "startDate": { + "$": [ + "ts", + 192, + 1750436956149 + ], + "$ts": 1750435156149 + } + }, + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "props.value": { + "onChange": { + "enabled": null, + "script": "\n\tstart \u003d \"\"\n\tend \u003d \"\"\n\tnow \u003d system.date.now()\n\tpreviousDay \u003d system.date.addDays(now, -1)\n\tvalue \u003d currentValue.value \n\n\tif value \u003d\u003d \"custom\":\n\t\tself.custom.customTime \u003d True\n\t\treturn\n\telif value \u003d\u003d \"currentDay\":\n\t\tstart \u003d system.date.setTime(now, 0, 0, 0)\n\t\tend \u003d now\n\telif value \u003d\u003d \"morning\":\n\t\tstart \u003d system.date.setTime(now, 2, 30, 0)\n\t\tend \u003d system.date.setTime(now, 7, 30, 0)\n\telif value \u003d\u003d \"daylight\":\n\t\tstart \u003d system.date.setTime(now, 7, 30, 0)\n\t\tend \u003d system.date.setTime(now, 13, 0, 0)\n\telif value \u003d\u003d \"twilight\":\n\t\tstart \u003d system.date.setTime(now, 13, 0, 0)\n\t\tend \u003d now\n\telif value \u003d\u003d \"night\":\n\t\tstart \u003d system.date.setTime(previousDay, 18, 30, 0)\n\t\tend \u003d system.date.setTime(previousDay, 23, 30, 0)\n\telif value \u003d\u003d \"wrapDown\":\n\t\tstart \u003d system.date.setTime(previousDay, 23, 30, 0)\n\t\tend \u003d system.date.setTime(now, 2, 30, 0)\n\telif value \u003d\u003d \"currentShot\":\n\t\tstart \u003d system.date.setTime(now, 13, 0, 0)\n\t\tend \u003d now\n\telse:\n\t\tstart \u003d system.date.addMinutes(now, -int(value))\n\t\tend \u003d now\n\n\tself.custom.customTime \u003d False\n\tself.custom.startDate \u003d start\n\tself.custom.endDate \u003d end" + }, + "persistent": false + } + }, + "props": { + "options": [ + { + "label": "Past 30 Min", + "value": 30 + }, + { + "label": "Past Hour", + "value": 60 + }, + { + "label": "Past 2 Hour", + "value": 120 + }, + { + "label": "Past 4 Hour", + "value": 240 + }, + { + "label": "Past 8 Hour", + "value": 480 + }, + { + "label": "Current Day", + "value": "currentDay" + }, + { + "label": "Morning", + "value": "morning" + }, + { + "label": "Daylight", + "value": "daylight" + }, + { + "label": "Twilight", + "value": "twilight" + }, + { + "label": "Night", + "value": "night" + }, + { + "label": "Wrap Down", + "value": "wrapDown" + }, + { + "label": "Current Shot", + "value": "currentShot" + }, + { + "label": "Custom", + "value": "custom" + } + ], + "style": { + "margin": 15 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-historical-filters", + "pageScope": true, + "script": "\treset \u003d payload[\"data\"]\n\tself.props.value \u003d None", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "fontFamily": "Arial", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Start Date" + }, + "type": "ia.display.label" + }, + { + "custom": { + "max_duration_days": 10 + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tmessaging.message_handler.set_time_from_filters(self)\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "DateTimeInput", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "../Dropdown.custom.customTime" + }, + "type": "property" + } + }, + "props.maxDate": { + "binding": { + "config": { + "expression": "now()" + }, + "type": "expr" + } + }, + "props.minDate": { + "access": "PUBLIC", + "binding": { + "config": { + "expression": "addDays(now(),-{this.custom.max_duration_days})" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "path": "../Dropdown.custom.startDate" + }, + "type": "property" + }, + "onChange": { + "enabled": null, + "script": "\tmessaging.message_handler.set_time_from_filters(self)" + } + } + }, + "props": { + "formattedValue": "Jun 20, 2025 7:59 PM", + "style": { + "margin": 15 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-historical-filters", + "pageScope": true, + "script": "\treset \u003d payload[\"data\"]\n\tself.props.value \u003d None", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.date-time-input" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "89px" + }, + "props": { + "style": { + "fontFamily": "Arial", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "End Date" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "DateTimeInput_0" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "../Dropdown.custom.customTime" + }, + "type": "property" + } + }, + "props.maxDate": { + "binding": { + "config": { + "expression": "now()" + }, + "enabled": false, + "type": "expr" + } + }, + "props.minDate": { + "binding": { + "config": { + "expression": "addDays(now(),-10)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "path": "../Dropdown.custom.endDate" + }, + "type": "property" + }, + "onChange": { + "enabled": null, + "script": "\tmessaging.message_handler.set_time_to_filters(self)" + }, + "persistent": true + } + }, + "props": { + "formattedValue": "Jun 20, 2025 8:29 PM", + "maxDate": { + "$": [ + "ts", + 192, + 1749542669794 + ], + "$ts": 1749715452000 + }, + "style": { + "margin": 15 + }, + "value": { + "$": [ + "ts", + 201, + 1750436956149 + ], + "$ts": 1750436956149 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-historical-filters", + "pageScope": true, + "script": "\treset \u003d payload[\"data\"]\n\tself.props.value \u003d None", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "Time" + }, + "position": { + "basis": "70px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "fontFamily": "Arial", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Priority" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tmessaging.message_handler.set_priority_filters(self)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "490px" + }, + "propConfig": { + "props.value": { + "persistent": false + } + }, + "props": { + "options": [ + { + "label": "Diagnostic", + "value": "diagnostic" + }, + { + "label": "Low", + "value": "low" + }, + { + "label": "Medium", + "value": "medium" + }, + { + "label": "High", + "value": "high" + }, + { + "label": "All", + "value": "" + } + ], + "style": { + "margin": 15 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-historical-filters", + "pageScope": true, + "script": "\treset \u003d payload[\"data\"]\n\tself.props.value \u003d None", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Priority" + }, + "position": { + "basis": "70px", + "shrink": 0 + }, + "type": "ia.container.flex" + } + ], + "custom": { + "ShowFilters": false + }, + "meta": { + "name": "Filters" + }, + "position": { + "basis": "180px", + "display": false, + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "this.custom.ShowFilters" + }, + "type": "property" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "box-shadow": "0 4px 20px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)", + "marginBottom": 10, + "marginLeft": 20, + "marginRight": 20, + "marginTop": 10 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "show-historical-filters", + "pageScope": true, + "script": "\tshow \u003d payload[\"data\"]\n\tself.custom.ShowFilters \u003d show", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "max_duration": { + "$": [ + "ts", + 192, + 1748426336635 + ], + "$ts": 1747562336635 + }, + "priority_filters": "", + "time_from_filter": { + "$": [ + "ts", + 192, + 1755532385239 + ], + "$ts": 1750435156149 + }, + "time_to_filter": { + "$": [ + "ts", + 192, + 1755532385239 + ], + "$ts": 1750436956149 + } + }, + "events": { + "component": { + "onRowDoubleClick": { + "config": { + "script": "\t\n\tmyData \u003d self.props.selection.data\n\n\talarms.alarm_click.handleClick(myData)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "1920px", + "grow": 1 + }, + "propConfig": { + "props.columns[1].filter.date.value": { + "binding": { + "config": { + "path": "this.custom.time_from_filter" + }, + "type": "property" + } + }, + "props.columns[2].filter.date.value": { + "binding": { + "config": { + "path": "this.custom.time_to_filter" + }, + "type": "property" + } + }, + "props.columns[2].filter.number.value": { + "binding": { + "config": { + "path": "this.custom.time_to_filter" + }, + "enabled": false, + "type": "property" + } + }, + "props.columns[5].filter.string.value": { + "binding": { + "config": { + "path": "this.custom.priority_filters" + }, + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "polling": { + "enabled": true, + "rate": "3" + }, + "queryPath": "Alarms-autStand/GetAlarms" + }, + "transforms": [ + { + "code": "\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d list(ds.columnNames)\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data", + "type": "script" + } + ], + "type": "query" + } + } + }, + "props": { + "box-shadow": "0 4px 20px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)", + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "none", + "editable": false, + "field": "ID", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "", + "paddingLeft": 12 + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY HH:mm:ss", + "editable": false, + "field": "StartTimestamp", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "later than date time" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "Start Timestamp" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "none", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY HH:mm:ss", + "editable": false, + "field": "EndTimestamp", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "earlier than date time" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "End Timestamp" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "none", + "editable": false, + "field": "Duration", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "", + "paddingLeft": 12 + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "none", + "editable": false, + "field": "Description", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Priority", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "contains" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Location", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "equals", + "value": "" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Tag", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "contains", + "value": "" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "FullTag", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "", + "display": "none" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Device", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "", + "display": "none" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + } + ], + "emptyMessage": { + "noData": { + "text": "No Alarms" + }, + "noFilterResults": { + "text": "No Alarms" + } + }, + "enabled": true, + "filter": { + "enabled": true, + "results": { + "enabled": true + } + }, + "pager": { + "bottom": false + }, + "style": { + "margin": 20 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "update-first-request", + "pageScope": true, + "script": "\tdata \u003d payload[\"data\"]\n\tinitial_data \u003d payload[\"initial_data\"]\n\tself.props.data \u003d data\n\tself.custom.initial_data \u003d initial_data", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "update-historical-data", + "pageScope": true, + "script": "\thistorical_data \u003d payload[\"data\"]\n\tself.props.data \u003d historical_data", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "load_initial_data", + "pageScope": true, + "script": "\trequest \u003d payload[\"data\"]\n\tsystem.perspective.print(\"initial message received\")\n\tif request \u003d\u003d True:\n\t\tself.props.data \u003d self.custom.initial_data", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "reset-historical-filters", + "pageScope": true, + "script": "\treset \u003d payload[\"data\"]\n\tif reset \u003d\u003d \"reset\":\n\t\tself.props.data \u003d []\n\t\tself.custom.device_filters \u003d None\n\t\tself.custom.priority_filters \u003d None\n\t\tself.custom.source_id_filters \u003d None\n\t\tself.custom.time_from_filter \u003d None\n\t\tself.custom.time_to_filter \u003d None\n\t\tself.custom.type_filters \u003d None\n\t\tself.custom.duration_filter \u003d None\n\t\tself.props.enabled \u003dTrue", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-source-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.source_id_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-device-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.device_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-priority-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.priority_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-from-filters", + "pageScope": true, + "script": "\ttime \u003d payload[\"data\"]\n\tself.custom.time_from_filter \u003d time", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-to-filters", + "pageScope": true, + "script": "\ttime \u003d payload[\"data\"]\n\tself.custom.time_to_filter \u003d time", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-type-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.type_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-duration-filters", + "pageScope": true, + "script": "\tduration \u003d payload[\"data\"]\n\tself.custom.duration_filter \u003d duration", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "Table" + }, + "position": { + "basis": "980px", + "grow": 1 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "update-historical-data", + "pageScope": true, + "script": "#\tdata \u003d payload[\"data\"]\n#\tself.getChild(\"Table\").props.data \u003d data", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "download_in_progress": true, + "enable_timeout": false, + "priority_filters": "", + "time_from_filter": { + "$": [ + "ts", + 192, + 1755532385239 + ], + "$ts": 1750435156149 + }, + "time_to_filter": { + "$": [ + "ts", + 192, + 1755532385239 + ], + "$ts": 1750436956149 + }, + "type_filters": null + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\n from datetime import datetime\n def format_date(value):\n\t\tif isinstance(value, (int, long)) and value \u003e 10000000:\n\t\t\ttimestamp \u003d system.date.fromMillis(value)\n\t\t\treturn system.date.format(timestamp, \"yyyy-MM-dd HH:mm:ss\")\n\t\t\t\n\t\t# If value is not a valid timestamp, return as-is\n\t\treturn str(value)\n \n try:\n\n # Get filtered data\n table \u003d self.parent.parent.getChild(\"Table\").getChild(\"Table\")\n filtered_data \u003d table.props.filter.results.data\n\n if not filtered_data or len(filtered_data) \u003d\u003d 0:\n system.perspective.print(\"No filtered data to export.\")\n return\n\n # Get correct column order from the table\u0027s column config\n column_order \u003d [col[\"field\"] for col in table.props.columns if \"field\" in col]\n\n csv_content \u003d \",\".join(column_order) + \"\\n\"\n\n # Build rows\n for row_dict in filtered_data:\n row \u003d []\n for col in column_order:\n raw_val \u003d row_dict.get(col, \"\")\n value \u003d format_date(raw_val)\n value \u003d value.replace(\",\", \";\") # CSV safety\n row.append(value)\n csv_content +\u003d \",\".join(row) + \"\\n\"\n\n # Export CSV\n csv_bytes \u003d csv_content.encode(\"utf-8\")\n system.perspective.download(\"filtered_alarms_history.csv\", csv_bytes)\n\n system.perspective.print(\"CSV export completed successfully. Exported %d records.\" % len(filtered_data))\n\n except Exception as e:\n system.perspective.print(\"Export failed: \" + str(e))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export", + "tooltip": { + "enabled": true, + "text": "Exports the data displayed in the table." + } + }, + "position": { + "basis": "120px", + "shrink": 0 + }, + "propConfig": { + "custom.disable": { + "binding": { + "config": { + "expression": "if(isNull({this.custom.start_time}), False, secondsBetween({this.custom.start_time}, {this.custom.time_now}))" + }, + "transforms": [ + { + "code": "\tif value \u003e 60:\n\t\tself.custom.enable_timeout \u003d False\n\t\treturn False\n\telse:\n\t\treturn True", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.download_complete": { + "binding": { + "config": { + "path": "session.custom.downloads" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d True:\n\t\tself.custom.download_in_progress \u003d False", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.priority_filters": { + "persistent": true + }, + "custom.start_time": { + "binding": { + "config": { + "expression": "{this.custom.enable_timeout}" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d True:\n\t\treturn self.custom.time_now", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.time_from_filter": { + "persistent": true + }, + "custom.time_now": { + "binding": { + "config": { + "expression": "now()" + }, + "type": "expr" + } + }, + "custom.time_to_filter": { + "persistent": true + }, + "props.enabled": { + "binding": { + "config": { + "expression": "!{this.custom.enable_timeout} || !{this.custom.download_in_progress} " + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if(!{this.custom.enable_timeout}, \"Export\",\r\nif({this.custom.download_in_progress}, \"Exporting...\",\r\n\"Export\"))" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/import_export" + } + }, + "primary": false, + "style": { + "margin": 15, + "marginLeft": 20 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "set-source-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.source_id_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-device-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.device_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-message-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.message_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-priority-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.priority_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-from-filters", + "pageScope": true, + "script": "\ttime \u003d payload[\"data\"]\n\tself.custom.time_from_filter \u003d time", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-to-filters", + "pageScope": true, + "script": "\ttime \u003d payload[\"data\"]\n\tself.custom.time_to_filter \u003d time", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "reset-historical-filters", + "pageScope": true, + "script": "\taction \u003d payload[\"data\"]\n\tif action \u003d\u003d \"reset\":\n\t\tself.custom.device_filters \u003d None\n\t\tself.custom.priority_filters \u003d None\n\t\tself.custom.source_id_filters \u003d None\n\t\tself.custom.time_from_filter \u003d None\n\t\tself.custom.time_to_filter \u003d None\n\t\tself.custom.type_filters \u003d None\n\t\tself.custom.duration_filter \u003d None\n\t\tself.props.enabled \u003dTrue\n\t\t", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-type-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.type_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-duration-filters", + "pageScope": true, + "script": "\tduration \u003d payload[\"data\"]\n\tself.custom.duration_filter \u003d duration", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "580px", + "grow": 1 + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Paginate" + }, + "position": { + "basis": "70px", + "shrink": 0 + }, + "props": { + "justify": "space-evenly" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Background-Styles/Grey-Background" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Historical_tab" + }, + "position": { + "tabIndex": 2 + }, + "props": { + "direction": "column", + "justify": "space-evenly" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "shelvedAlarms": [] + }, + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.currentTabIndex": { + "onChange": { + "enabled": null, + "script": "\n\tif self.props.currentTabIndex !\u003d 0:\n\t\tpayload \u003d {}\n\t\tfilter_on \u003d \"false\"\n\t\tpayload[\"reset\"] \u003d filter_on\n\t\tsystem.perspective.sendMessage(\"reset-filters\", payload \u003dpayload, scope \u003d \"page\")\n\t\t\n\tif currentValue.value \u003d\u003d 1:\n\t shelved_info \u003d system.alarm.getShelvedPaths()\n\t alarms \u003d system.alarm.queryStatus(includeShelved\u003dTrue)\n\t \n\t tableData \u003d []\n\t \n\t for alarm in alarms:\n\t if alarm.isShelved() and not alarm.isAcked() and not alarm.isCleared():\n\t # Get alarm path as string\n\t alarm_path \u003d str(alarm.getSource())\n\t \n\t # Get active time\n\t activeData \u003d alarm.getActiveData()\n\t startTime \u003d activeData.getTimestamp() if activeData else None\n\t \n\t # Find shelved info for this alarm\n\t shelveEntry \u003d \"\"\n\t \n\t for shelved_item in shelved_info:\n\t shelved_str \u003d str(shelved_item)\n\t \n\t if alarm_path in shelved_str:\n\t # Extract the value part (after the first comma)\n\t if \",\" in shelved_str:\n\t start_idx \u003d shelved_str.find(\",\")\n\t shelveEntry \u003d shelved_str[start_idx + 1:].rstrip(\"}\")\n\t break\n\t \n\t # Parse shelved information\n\t expiration \u003d \"\"\n\t \n\t if shelveEntry:\n\t \n\t # Extract expiration (between \"expiration:\" and \",\")\n\t if \"expiration:\" in shelveEntry:\n\t exp_part \u003d shelveEntry.split(\"expiration:\")[1]\n\t if \",\" in exp_part:\n\t expiration \u003d exp_part.split(\",\")[0].strip()\n\t else:\n\t expiration \u003d exp_part.strip()\n\t \n\t tableData.append({\n\t \"name\": alarm.getName(),\n\t \"path\": alarm_path,\n\t \"activeTime\": system.date.format(system.date.fromMillis(startTime), \"yyyy-MM-dd HH:mm:ss\"),\n\t \"expirationTime\": expiration,\n\t \"priority\": str(alarm.getPriority())\n\t })\n\t \n\t self.custom.shelvedAlarms \u003d tableData\n\t \n\t\t\n\ttry:\n\t\tpageid \u003d self.view.custom.activityLogger.alt_pageid + \u0027/\u0027+ self.props.tabs[previousValue.value]\n\t\tpageid \u003d pageid.replace(\u0027 \u0027,\u0027\u0027)\n\t\tpayload \u003d activityLog.productMetrics.createActivityPayload(self.view, \u0027page\u0027, pageid, pageid)\n\t\tself.view.custom.activityLogger.start_time \u003d system.date.now()\n\t\tif payload:\n\t\t\tsystem.perspective.sendMessage(\u0027activityLogger-TabChanged\u0027, payload \u003d payload, scope \u003d \u0027page\u0027)\n\texcept:\n\t\tpass" + } + } + }, + "props": { + "contentStyle": { + "classes": "Background-Styles/Grey-Background" + }, + "currentTabIndex": 2, + "menuType": "modern", + "style": { + "classes": "Background-Styles/Grey-Background" + }, + "tabSize": { + "width": 140 + }, + "tabStyle": { + "active": { + "backgroundColor": "#EEEEEE", + "borderLeftColor": "#7FFF00", + "borderLeftStyle": "solid", + "borderLeftWidth": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "color": "#000000", + "fontFamily": "Arial", + "fontWeight": "bold", + "outlineStyle": "none", + "textDecoration": "underline" + }, + "inactive": { + "backgroundColor": "#D7D7D7", + "borderLeftColor": "#FFFFFF", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "color": "#969696", + "fontFamily": "Arial" + } + }, + "tabs": [ + "Active Alarms", + "Alarm Hit List", + "Historical" + ] + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "Background-Styles/Main-Background" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "activityLogger-TabChanged", + "pageScope": true, + "script": "\t# implement your handler here\n\tif payload:\n\t\tactivityLog.productMetrics.callActivityLoggerAPI(payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/.resources/376ffe6e13f3a3990042b71937b101a2b1dfb8e3630040a054135aee505989d8 b/.resources/376ffe6e13f3a3990042b71937b101a2b1dfb8e3630040a054135aee505989d8 new file mode 100644 index 00000000..ef10abca --- /dev/null +++ b/.resources/376ffe6e13f3a3990042b71937b101a2b1dfb8e3630040a054135aee505989d8 @@ -0,0 +1,209 @@ +{ + "custom": { + "alarmHighlight": "", + "alarm_filter": { + "show_VFD": true, + "show_beacons": true, + "show_buttons": true, + "show_camera_jams": true, + "show_dpm_mcm": true, + "show_encoders": true, + "show_epc": true, + "show_fio_safety": true, + "show_map": true, + "show_photoeyes": true, + "show_px": true + }, + "areaHover": [], + "currentGraphic": "Windows/Graphics/Overview", + "demoHighlight": "", + "dexmanager": { + "config": { + "font": "bold 12px Arial", + "highlight": "#ff0" + }, + "show": { + "Beacons": false, + "ConveyorLabels": true, + "ConveyorPatterns": true, + "Conveyors": true, + "DivertPaddles": true, + "EIPs": false, + "Encoders": false, + "Estops": false, + "Gaylords": true, + "LimitSwitches": false, + "MCPs": false, + "PhotoEyes": false, + "PushButtons": false, + "Scanners": false, + "VFDs": false + } + }, + "fc": "BNA8", + "heatmapSettings": { + "alarms": [], + "alarmsText": "", + "data": { + "$": [ + "ds", + 192, + 1754654890875 + ], + "$columns": [ + { + "data": [], + "name": "firsttime", + "type": "Date" + }, + { + "data": [], + "name": "lasttime", + "type": "Date" + }, + { + "data": [], + "name": "duration", + "type": "String" + }, + { + "data": [], + "name": "count", + "type": "Long" + }, + { + "data": [], + "name": "device", + "type": "String" + }, + { + "data": [], + "name": "description", + "type": "String" + } + ] + }, + "devices": [], + "devicesText": "", + "enabled": false, + "shifts": [], + "shiftsText": "", + "time": { + "end": "2020-07-30 00:00:00", + "start": "2020-07-29 00:00:00" + } + }, + "searchId": "value", + "timewidget": { + "endDate": { + "$": [ + "ts", + 192, + 1604092861010 + ], + "$ts": 1604116800000 + }, + "mode": "currentDay", + "startDate": { + "$": [ + "ts", + 192, + 1604092861010 + ], + "$ts": 1604030400000 + }, + "update": { + "$": [ + "ts", + 192, + 1604092861010 + ], + "$ts": 1604092861010 + } + } + }, + "propConfig": { + "custom.dexmanager.highlight": { + "binding": { + "config": { + "struct": { + "alarm": "{this.custom.alarmHighlight}", + "demo": "{this.custom.demoHighlight}", + "toggle": "{[default]Gateway/ToggleTag}" + }, + "waitOnAll": true + }, + "transforms": [ + { + "code": "\thighlights \u003d []\n\t# Add alarm highlight:\n\tif len(value.alarm) \u003e 0:\n\t\thighlights.append({\n\t\t\t\"color\": \"#F00\" if value.toggle else \"#FF0\",\n\t\t\t\"keys\": [value.alarm]\n\t\t})\n\t\tif \".\" in value.alarm:\n\t\t\thighlights.append({\n\t\t\t\t\"color\": \"#F00\" if value.toggle else \"#FF0\",\n\t\t\t\t\"keys\": [value.alarm.split(\".\")[0], \"conveyor\"]\n\t\t\t})\n\t# Add demo highlight:\n\tif False and len(value.demo) \u003e 0:\n\t\thighlights.append({\n\t\t\t\"color\": \"#F00\" if value.toggle else \"#FF0\",\n\t\t\t\"keys\": [\"conveyor\", value.demo]\n\t\t})\n\treturn highlights", + "type": "script" + } + ], + "type": "expr-struct" + } + }, + "custom.isMobile": { + "binding": { + "config": { + "expression": "indexOf(lower({session.props.device.userAgent}), \"mobile\")\u003e\u003d0" + }, + "type": "expr" + } + }, + "props.auth": { + "access": "PRIVATE", + "persistent": false + }, + "props.device.accelerometer": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.identifier": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.timezone": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.type": { + "access": "SYSTEM", + "persistent": false + }, + "props.device.userAgent": { + "access": "SYSTEM", + "persistent": false + }, + "props.gateway": { + "access": "SYSTEM", + "persistent": false + }, + "props.geolocation.data": { + "access": "SYSTEM", + "persistent": false + }, + "props.geolocation.permissionGranted": { + "access": "SYSTEM", + "persistent": false + }, + "props.host": { + "access": "SYSTEM", + "persistent": false + }, + "props.id": { + "access": "SYSTEM", + "persistent": false + }, + "props.lastActivity": { + "access": "SYSTEM", + "persistent": false + } + }, + "props": { + "address": "127.0.0.1", + "device": {}, + "geolocation": {}, + "locale": "en-US", + "timeZoneId": "Asia/Tbilisi" + } +} \ No newline at end of file diff --git a/.resources/41099fb43eb68ee85e8e7abeef9f68cabc1392ed5c1ba9e1cafaef088f9b2be8 b/.resources/41099fb43eb68ee85e8e7abeef9f68cabc1392ed5c1ba9e1cafaef088f9b2be8 new file mode 100644 index 00000000..6110e325 --- /dev/null +++ b/.resources/41099fb43eb68ee85e8e7abeef9f68cabc1392ed5c1ba9e1cafaef088f9b2be8 @@ -0,0 +1,634 @@ +{ + "pages": { + "/": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "footer", + "modal": false, + "resizable": false, + "show": "visible", + "size": 100, + "viewParams": {}, + "viewPath": "Windows/Docked/Footer" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "hide", + "iconUrl": "", + "id": "header", + "modal": false, + "resizable": false, + "show": "visible", + "size": 60, + "viewParams": {}, + "viewPath": "Windows/Docked/Header" + } + ] + }, + "title": "", + "viewPath": "Windows/GraphicsWrapper" + }, + "/alarms/active": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "footer", + "modal": false, + "resizable": false, + "show": "visible", + "size": 100, + "viewParams": {}, + "viewPath": "Windows/Docked/Footer" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "header", + "modal": false, + "resizable": false, + "show": "visible", + "size": 60, + "viewParams": {}, + "viewPath": "Windows/Docked/Header" + } + ] + }, + "title": "", + "viewPath": "Windows/AlarmWrapper" + }, + "/alarms/history": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "footer", + "modal": false, + "resizable": false, + "show": "visible", + "size": 100, + "viewParams": {}, + "viewPath": "Windows/Docked/Footer" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "header", + "modal": false, + "resizable": false, + "show": "visible", + "size": 60, + "viewParams": {}, + "viewPath": "Windows/Docked/Header" + } + ] + }, + "viewPath": "Windows/AlarmWrapper" + }, + "/alarms/hitlist": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "footer", + "modal": false, + "resizable": false, + "show": "visible", + "size": 100, + "viewParams": {}, + "viewPath": "Windows/Docked/Footer" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "header", + "modal": false, + "resizable": false, + "show": "visible", + "size": 60, + "viewParams": {}, + "viewPath": "Windows/Docked/Header" + } + ] + }, + "title": "", + "viewPath": "Windows/AlarmWrapper" + }, + "/autStand": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "cover", + "handle": "show", + "iconUrl": "", + "id": "autStand", + "modal": false, + "resizable": false, + "show": "onDemand", + "size": 165, + "viewParams": {}, + "viewPath": "autStand/Docked_Views/Footer" + } + ], + "left": [ + { + "anchor": "fixed", + "autoBreakpoint": 805, + "content": "auto", + "handle": "autoHide", + "iconUrl": "", + "id": "Docked-West", + "modal": false, + "resizable": false, + "show": "auto", + "size": 70, + "viewParams": {}, + "viewPath": "autStand/Docked_Views/Docked-West" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "auto", + "handle": "hide", + "iconUrl": "", + "id": "header-autStand", + "modal": false, + "resizable": false, + "show": "visible", + "size": 50, + "viewParams": {}, + "viewPath": "autStand/Docked_Views/Header" + } + ] + }, + "title": "", + "viewPath": "autStand/Overview/BNA8" + }, + "/autStand/Alarms": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "cover", + "handle": "show", + "iconUrl": "", + "id": "autStand", + "modal": false, + "resizable": false, + "show": "onDemand", + "size": 165, + "viewParams": {}, + "viewPath": "autStand/Docked_Views/Footer" + } + ], + "left": [ + { + "anchor": "fixed", + "autoBreakpoint": 805, + "content": "auto", + "handle": "autoHide", + "iconUrl": "", + "id": "Docked-West", + "modal": false, + "resizable": false, + "show": "auto", + "size": 70, + "viewParams": {}, + "viewPath": "autStand/Docked_Views/Docked-West" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "auto", + "handle": "hide", + "iconUrl": "", + "id": "header-autStand", + "modal": false, + "resizable": false, + "show": "visible", + "size": 50, + "viewParams": {}, + "viewPath": "autStand/Docked_Views/Header" + } + ] + }, + "title": "", + "viewPath": "autStand/Alarms/RealTime" + }, + "/cameras": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "footer", + "modal": false, + "resizable": false, + "show": "visible", + "size": 100, + "viewParams": {}, + "viewPath": "Windows/Docked/Footer" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "header", + "modal": false, + "resizable": false, + "show": "visible", + "size": 60, + "viewParams": {}, + "viewPath": "Windows/Docked/Header" + } + ] + }, + "title": "", + "viewPath": "Windows/JamCameras" + }, + "/commission": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "footer", + "modal": false, + "resizable": false, + "show": "visible", + "size": 100, + "viewParams": {}, + "viewPath": "Windows/Docked/Footer" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "header", + "modal": false, + "resizable": false, + "show": "visible", + "size": 60, + "viewParams": {}, + "viewPath": "Windows/Docked/Header" + } + ] + }, + "title": "", + "viewPath": "Windows/Commissioning" + }, + "/config": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "footer", + "modal": false, + "resizable": false, + "show": "visible", + "size": 100, + "viewParams": {}, + "viewPath": "Windows/Docked/Footer" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "header", + "modal": false, + "resizable": false, + "show": "visible", + "size": 60, + "viewParams": {}, + "viewPath": "Windows/Docked/Header" + } + ] + }, + "viewPath": "Windows/ConfigWrapper" + }, + "/custom-reports": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "footer", + "modal": false, + "resizable": false, + "show": "visible", + "size": 100, + "viewParams": {}, + "viewPath": "Windows/Docked/Footer" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "header", + "modal": false, + "resizable": false, + "show": "visible", + "size": 60, + "viewParams": {}, + "viewPath": "Windows/Docked/Header" + } + ] + }, + "viewPath": "Windows/CustomReports" + }, + "/help": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "footer", + "modal": false, + "resizable": false, + "show": "visible", + "size": 100, + "viewParams": {}, + "viewPath": "Windows/Docked/Footer" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "header", + "modal": false, + "resizable": false, + "show": "visible", + "size": 60, + "viewParams": {}, + "viewPath": "Windows/Docked/Header" + } + ] + }, + "viewPath": "Windows/Help" + }, + "/mcm01": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "cover", + "handle": "show", + "iconUrl": "", + "id": "autStand", + "modal": false, + "resizable": false, + "show": "onDemand", + "size": 165, + "viewParams": {}, + "viewPath": "autStand/Docked_Views/Footer" + } + ], + "left": [ + { + "anchor": "fixed", + "autoBreakpoint": 805, + "content": "auto", + "handle": "autoHide", + "iconUrl": "", + "id": "Docked-West", + "modal": false, + "resizable": false, + "show": "auto", + "size": 70, + "viewParams": {}, + "viewPath": "autStand/Docked_Views/Docked-West" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "hide", + "iconUrl": "", + "id": "header-autStand", + "modal": false, + "resizable": false, + "show": "visible", + "size": 60, + "viewParams": {}, + "viewPath": "autStand/Docked_Views/Header" + } + ] + }, + "title": "", + "viewPath": "autStand/Detailed_Views/MCM01-FLUID INBOUND" + }, + "/mcm02": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "show", + "iconUrl": "", + "id": "", + "modal": false, + "resizable": false, + "show": "visible", + "size": 165, + "viewParams": {}, + "viewPath": "autStand/Docked_Views/Footer" + } + ], + "left": [ + { + "anchor": "fixed", + "autoBreakpoint": 805, + "content": "auto", + "handle": "autoHide", + "iconUrl": "", + "id": "Docked-West", + "modal": false, + "resizable": false, + "show": "auto", + "size": 70, + "viewParams": {}, + "viewPath": "autStand/Docked_Views/Docked-West" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "hide", + "iconUrl": "", + "id": "header-autStand", + "modal": false, + "resizable": false, + "show": "visible", + "size": 60, + "viewParams": {}, + "viewPath": "autStand/Docked_Views/Header" + } + ] + }, + "title": "", + "viewPath": "autStand/Detailed_Views/MCM02-NC SORTER" + }, + "/statistics": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "footer", + "modal": false, + "resizable": false, + "show": "visible", + "size": 100, + "viewParams": {}, + "viewPath": "Windows/Docked/Footer" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "header", + "modal": false, + "resizable": false, + "show": "visible", + "size": 60, + "viewParams": {}, + "viewPath": "Windows/Docked/Header" + } + ] + }, + "viewPath": "Windows/Statistics" + }, + "/status": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "footer", + "modal": false, + "resizable": false, + "show": "visible", + "size": 100, + "viewParams": {}, + "viewPath": "Windows/Docked/Footer" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "push", + "handle": "autoHide", + "iconUrl": "", + "id": "header", + "modal": false, + "resizable": false, + "show": "visible", + "size": 60, + "viewParams": {}, + "viewPath": "Windows/Docked/Header" + } + ] + }, + "title": "", + "viewPath": "Windows/StatusWrapper" + } + }, + "sharedDocks": {} +} \ No newline at end of file diff --git a/.resources/411e308c2ea93c1525cca90dc3e4c9c57a6b13db1c1e4e2ae4f27592e85cb621 b/.resources/411e308c2ea93c1525cca90dc3e4c9c57a6b13db1c1e4e2ae4f27592e85cb621 new file mode 100644 index 00000000..a9371b5f Binary files /dev/null and b/.resources/411e308c2ea93c1525cca90dc3e4c9c57a6b13db1c1e4e2ae4f27592e85cb621 differ diff --git a/.resources/42555c74454e373d3834f1d2894d360fa9a0f9b0259d5fb63b70e6bf81b2442e b/.resources/42555c74454e373d3834f1d2894d360fa9a0f9b0259d5fb63b70e6bf81b2442e new file mode 100644 index 00000000..3ef3878a --- /dev/null +++ b/.resources/42555c74454e373d3834f1d2894d360fa9a0f9b0259d5fb63b70e6bf81b2442e @@ -0,0 +1,949 @@ +{ + "custom": {}, + "params": { + "viewFocus": "value" + }, + "propConfig": { + "params.viewFocus": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 373, + "width": 195 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "36px", + "shrink": 0 + }, + "props": { + "style": { + "background-color": "#555555", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Status Filters" + }, + "type": "ia.display.label" + }, + { + "children": [ + { + "custom": { + "buttonid": "status_filters/all" + }, + "events": { + "component": { + "onActionPerformed": [ + { + "config": { + "script": "\tpayload \u003d {}\n\tif self.props.selected:\n\t\tvalue \u003d True\n\telse:\n\t\tvalue \u003d False\n\t\n\tpayload[\"data\"] \u003d value\n\t\n\tsystem.perspective.sendMessage(\"select-all-filters\", \n\t\t\t\t\t\t\t\t\tpayload \u003d payload, \n\t\t\t\t\t\t\t\t\tscope \u003d \"view\")" + }, + "scope": "G", + "type": "script" + }, + { + "config": { + "script": "\tif not self.props.selected:\n\t\tbuttonid \u003d self.custom.buttonid\n\t\tactivityLog.logger.callLogger(self.view, \u0027click\u0027, buttonid)" + }, + "scope": "G", + "type": "script" + } + ] + } + }, + "meta": { + "name": "Select-All", + "tooltip": { + "delay": 250 + } + }, + "position": { + "basis": "36px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if ({session.custom.alarm_filter.show_map}\u003dTrue \u0026\u0026 {session.custom.view_in_focus}\u003d\u0027/MAP-Home\u0027, True, False)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "expression": "if({session.custom.alarm_filter.show_dpm_mcm} \u0026\u0026 \r\n{session.custom.alarm_filter.show_beacons} \u0026\u0026\r\n{session.custom.alarm_filter.show_VFD} \u0026\u0026\r\n{session.custom.alarm_filter.show_buttons} \u0026\u0026\r\n{session.custom.alarm_filter.show_photoeyes} \u0026\u0026\r\n{session.custom.alarm_filter.show_encoders} \u0026\u0026\r\n{session.custom.alarm_filter.show_epc} \u0026\u0026\r\n{session.custom.alarm_filter.show_px} \u0026\u0026\r\n{session.custom.alarm_filter.show_camera_jams} \u0026\u0026\r\n{session.custom.alarm_filter.show_fio_safety}, True, False)" + }, + "type": "expr" + } + } + }, + "props": { + "checkedIcon": { + "color": { + "disabled": "#FFFFFF", + "enabled": "#FFFFFF" + } + }, + "style": { + "color": "#FFFFFF", + "fontFamily": "Arial", + "fontSize": 12, + "fontWeight": "bold", + "marginLeft": 10, + "marginRight": 10 + }, + "text": "Select All" + }, + "type": "ia.input.checkbox" + }, + { + "custom": { + "buttonid": "status_filters/running_status" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tif not self.props.selected:\n\t\tbuttonid \u003d self.custom.buttonid\n\t\tactivityLog.logger.callLogger(self.view, \u0027click\u0027, buttonid)\n\t\tactivityLog.productMetrics.callLogger(self.view, \u0027click\u0027, buttonid)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Running", + "tooltip": { + "delay": 250 + } + }, + "position": { + "basis": "36px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if ({session.custom.alarm_filter.show_map}\u003dTrue \u0026\u0026 {session.custom.view_in_focus}\u003d\u0027/MAP-Home\u0027, True, False)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.alarm_filter.show_VFD" + }, + "type": "property" + } + } + }, + "props": { + "checkedIcon": { + "color": { + "disabled": "#FFFFFF", + "enabled": "#FFFFFF" + } + }, + "style": { + "color": "#FFFFFF", + "fontFamily": "Arial", + "fontSize": 12, + "fontWeight": "bold", + "marginLeft": 10, + "marginRight": 10 + }, + "text": "Show VFD" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "select-all-filters", + "pageScope": false, + "script": "\tdata \u003d payload[\"data\"]\n\tself.props.selected \u003d data", + "sessionScope": false, + "viewScope": true + } + ] + }, + "type": "ia.input.checkbox" + }, + { + "custom": { + "buttonid": "status_filters/low_alarms" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tif not self.props.selected:\n\t\tbuttonid \u003d self.custom.buttonid\n\t\tactivityLog.logger.callLogger(self.view, \u0027click\u0027, buttonid)\n\t\tactivityLog.productMetrics.callLogger(self.view, \u0027click\u0027, buttonid)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Show-Buttons", + "tooltip": { + "delay": 250 + } + }, + "position": { + "basis": "36px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if ({session.custom.alarm_filter.show_map}\u003dTrue \u0026\u0026 {session.custom.view_in_focus}\u003d\u0027/MAP-Home\u0027, True, False)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.alarm_filter.show_buttons" + }, + "type": "property" + } + } + }, + "props": { + "checkedIcon": { + "color": { + "disabled": "#FFFFFF", + "enabled": "#FFFFFF" + } + }, + "style": { + "color": "#FFFFFF", + "fontFamily": "Arial", + "fontSize": 12, + "fontWeight": "bold", + "marginLeft": 10, + "marginRight": 10 + }, + "text": "Show Buttons" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "select-all-filters", + "pageScope": false, + "script": "\tdata \u003d payload[\"data\"]\n\tself.props.selected \u003d data\n\tsystem.perspective.print(data)", + "sessionScope": false, + "viewScope": true + } + ] + }, + "type": "ia.input.checkbox" + }, + { + "custom": { + "buttonid": "status_filters/estops_pullChords" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tif not self.props.selected:\n\t\tbuttonid \u003d self.custom.buttonid\n\t\tactivityLog.logger.callLogger(self.view, \u0027click\u0027, buttonid)\n\t\tactivityLog.productMetrics.callLogger(self.view, \u0027click\u0027, buttonid)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "E-Stops", + "tooltip": { + "delay": 250 + } + }, + "position": { + "basis": "36px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if ({session.custom.alarm_filter.show_map}\u003dTrue \u0026\u0026 {session.custom.view_in_focus}\u003d\u0027/MAP-Home\u0027, True, False)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.alarm_filter.show_epc" + }, + "type": "property" + } + } + }, + "props": { + "checkedIcon": { + "color": { + "disabled": "#FFFFFF", + "enabled": "#FFFFFF" + } + }, + "style": { + "color": "#FFFFFF", + "fontFamily": "Arial", + "fontSize": 12, + "fontWeight": "bold", + "marginLeft": 10, + "marginRight": 10 + }, + "text": "Show E-Stops \u0026 Pull Chords" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "select-all-filters", + "pageScope": false, + "script": "\tdata \u003d payload[\"data\"]\n\tself.props.selected \u003d data", + "sessionScope": false, + "viewScope": true + } + ] + }, + "type": "ia.input.checkbox" + }, + { + "custom": { + "buttonid": "status_filters/gateways" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tif not self.props.selected:\n\t\tbuttonid \u003d self.custom.buttonid\n\t\tactivityLog.logger.callLogger(self.view, \u0027click\u0027, buttonid)\n\t\tactivityLog.productMetrics.callLogger(self.view, \u0027click\u0027, buttonid)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Show-DPM-MCM", + "tooltip": { + "delay": 250 + } + }, + "position": { + "basis": "36px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if ({session.custom.alarm_filter.show_map}\u003dTrue \u0026\u0026 {session.custom.view_in_focus}\u003d\u0027/MAP-Home\u0027, True, False)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.alarm_filter.show_dpm_mcm" + }, + "type": "property" + } + } + }, + "props": { + "checkedIcon": { + "color": { + "disabled": "#FFFFFF", + "enabled": "#FFFFFF" + } + }, + "style": { + "color": "#FFFFFF", + "fontFamily": "Arial", + "fontSize": 12, + "fontWeight": "bold", + "marginLeft": 10, + "marginRight": 10 + }, + "text": "Show DPM \u0026 MCM" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "select-all-filters", + "pageScope": false, + "script": "\tdata \u003d payload[\"data\"]\n\tself.props.selected \u003d data", + "sessionScope": false, + "viewScope": true + } + ] + }, + "type": "ia.input.checkbox" + }, + { + "custom": { + "buttonid": "status_filters/camera_jams" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tif not self.props.selected:\n\t\tbuttonid \u003d self.custom.buttonid\n\t\tactivityLog.logger.callLogger(self.view, \u0027click\u0027, buttonid)\n\t\tactivityLog.productMetrics.callLogger(self.view, \u0027click\u0027, buttonid)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Show-Camera-Jams", + "tooltip": { + "delay": 250 + } + }, + "position": { + "basis": "36px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if ({session.custom.alarm_filter.show_map}\u003dTrue \u0026\u0026 {session.custom.view_in_focus}\u003d\u0027/MAP-Home\u0027, True, False)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.alarm_filter.show_camera_jams" + }, + "type": "property" + } + } + }, + "props": { + "checkedIcon": { + "color": { + "disabled": "#FFFFFF", + "enabled": "#FFFFFF" + } + }, + "style": { + "color": "#FFFFFF", + "fontFamily": "Arial", + "fontSize": 12, + "fontWeight": "bold", + "marginLeft": 10, + "marginRight": 10 + }, + "text": "Show Camera Jams" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "select-all-filters", + "pageScope": false, + "script": "\tdata \u003d payload[\"data\"]\n\tself.props.selected \u003d data", + "sessionScope": false, + "viewScope": true + } + ] + }, + "type": "ia.input.checkbox" + }, + { + "custom": { + "buttonid": "status_filters/fio_sio" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tif not self.props.selected:\n\t\tbuttonid \u003d self.custom.buttonid\n\t\tactivityLog.logger.callLogger(self.view, \u0027click\u0027, buttonid)\n\t\tactivityLog.productMetrics.callLogger(self.view, \u0027click\u0027, buttonid)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Show-Fios", + "tooltip": { + "delay": 250 + } + }, + "position": { + "basis": "36px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if ({session.custom.alarm_filter.show_map}\u003dTrue \u0026\u0026 {session.custom.view_in_focus}\u003d\u0027/MAP-Home\u0027, True, False)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.alarm_filter.show_fio_safety" + }, + "type": "property" + } + } + }, + "props": { + "checkedIcon": { + "color": { + "disabled": "#FFFFFF", + "enabled": "#FFFFFF" + } + }, + "style": { + "color": "#FFFFFF", + "fontFamily": "Arial", + "fontSize": 12, + "fontWeight": "bold", + "marginLeft": 10, + "marginRight": 10 + }, + "text": "Show FIO \u0026 SIO" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "select-all-filters", + "pageScope": false, + "script": "\tdata \u003d payload[\"data\"]\n\tself.props.selected \u003d data", + "sessionScope": false, + "viewScope": true + } + ] + }, + "type": "ia.input.checkbox" + }, + { + "custom": { + "buttonid": "status_filters/running_status" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tif not self.props.selected:\n\t\tbuttonid \u003d self.custom.buttonid\n\t\tactivityLog.logger.callLogger(self.view, \u0027click\u0027, buttonid)\n\t\tactivityLog.productMetrics.callLogger(self.view, \u0027click\u0027, buttonid)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Show-Photoeyes", + "tooltip": { + "delay": 250 + } + }, + "position": { + "basis": "36px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if ({session.custom.alarm_filter.show_map}\u003dTrue \u0026\u0026 {session.custom.view_in_focus}\u003d\u0027/MAP-Home\u0027, True, False)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.alarm_filter.show_photoeyes" + }, + "type": "property" + } + } + }, + "props": { + "checkedIcon": { + "color": { + "disabled": "#FFFFFF", + "enabled": "#FFFFFF" + } + }, + "style": { + "color": "#FFFFFF", + "fontFamily": "Arial", + "fontSize": 12, + "fontWeight": "bold", + "marginLeft": 10, + "marginRight": 10 + }, + "text": "Show Photoeyes" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "select-all-filters", + "pageScope": false, + "script": "\tdata \u003d payload[\"data\"]\n\tself.props.selected \u003d data", + "sessionScope": false, + "viewScope": true + } + ] + }, + "type": "ia.input.checkbox" + }, + { + "custom": { + "buttonid": "status_filters/running_status" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tif not self.props.selected:\n\t\tbuttonid \u003d self.custom.buttonid\n\t\tactivityLog.logger.callLogger(self.view, \u0027click\u0027, buttonid)\n\t\tactivityLog.productMetrics.callLogger(self.view, \u0027click\u0027, buttonid)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Show-Beacons", + "tooltip": { + "delay": 250 + } + }, + "position": { + "basis": "36px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if ({session.custom.alarm_filter.show_map}\u003dTrue \u0026\u0026 {session.custom.view_in_focus}\u003d\u0027/MAP-Home\u0027, True, False)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.alarm_filter.show_beacons" + }, + "type": "property" + } + } + }, + "props": { + "checkedIcon": { + "color": { + "disabled": "#FFFFFF", + "enabled": "#FFFFFF" + } + }, + "style": { + "color": "#FFFFFF", + "fontFamily": "Arial", + "fontSize": 12, + "fontWeight": "bold", + "marginLeft": 10, + "marginRight": 10 + }, + "text": "Show Beacons" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "select-all-filters", + "pageScope": false, + "script": "\tdata \u003d payload[\"data\"]\n\tself.props.selected \u003d data", + "sessionScope": false, + "viewScope": true + } + ] + }, + "type": "ia.input.checkbox" + }, + { + "custom": { + "buttonid": "status_filters/running_status" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tif not self.props.selected:\n\t\tbuttonid \u003d self.custom.buttonid\n\t\tactivityLog.logger.callLogger(self.view, \u0027click\u0027, buttonid)\n\t\tactivityLog.productMetrics.callLogger(self.view, \u0027click\u0027, buttonid)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Show-PX", + "tooltip": { + "delay": 250 + } + }, + "position": { + "basis": "36px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if ({session.custom.alarm_filter.show_map}\u003dTrue \u0026\u0026 {session.custom.view_in_focus}\u003d\u0027/MAP-Home\u0027, True, False)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.alarm_filter.show_px" + }, + "type": "property" + } + } + }, + "props": { + "checkedIcon": { + "color": { + "disabled": "#FFFFFF", + "enabled": "#FFFFFF" + } + }, + "style": { + "color": "#FFFFFF", + "fontFamily": "Arial", + "fontSize": 12, + "fontWeight": "bold", + "marginLeft": 10, + "marginRight": 10 + }, + "text": "Show Prox Switches" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "select-all-filters", + "pageScope": false, + "script": "\tdata \u003d payload[\"data\"]\n\tself.props.selected \u003d data", + "sessionScope": false, + "viewScope": true + } + ] + }, + "type": "ia.input.checkbox" + }, + { + "custom": { + "buttonid": "status_filters/running_status" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tif not self.props.selected:\n\t\tbuttonid \u003d self.custom.buttonid\n\t\tactivityLog.logger.callLogger(self.view, \u0027click\u0027, buttonid)\n\t\tactivityLog.productMetrics.callLogger(self.view, \u0027click\u0027, buttonid)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Show-Encoders", + "tooltip": { + "delay": 250 + } + }, + "position": { + "basis": "36px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "expression": "if ({session.custom.alarm_filter.show_map}\u003dTrue \u0026\u0026 {session.custom.view_in_focus}\u003d\u0027/MAP-Home\u0027, True, False)" + }, + "enabled": false, + "type": "expr" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.alarm_filter.show_encoders" + }, + "type": "property" + } + } + }, + "props": { + "checkedIcon": { + "color": { + "disabled": "#FFFFFF", + "enabled": "#FFFFFF" + } + }, + "style": { + "color": "#FFFFFF", + "fontFamily": "Arial", + "fontSize": 12, + "fontWeight": "bold", + "marginLeft": 10, + "marginRight": 10 + }, + "text": "Show Encoders" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "select-all-filters", + "pageScope": false, + "script": "\tdata \u003d payload[\"data\"]\n\tself.props.selected \u003d data", + "sessionScope": false, + "viewScope": true + } + ] + }, + "type": "ia.input.checkbox" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "grow": 1 + }, + "props": { + "direction": "column", + "justify": "space-between" + }, + "type": "ia.container.flex" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.perspective.closePopup(\u0027\u0027)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "props": { + "box-shadow": "5px 5px 5px", + "style": { + "backgroundColor": "#555555", + "classes": "Background-Styles/Controller", + "marginBottom": 5, + "marginLeft": 20, + "marginRight": 20, + "marginTop": 5 + }, + "text": "Close" + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "Status" + }, + "position": { + "basis": "200px", + "shrink": 0 + }, + "props": { + "direction": "column", + "style": { + "borderColor": "#FFFFFF", + "borderStyle": "solid", + "borderWidth": 1 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "Background-Styles/Controller", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/.resources/4a8708c8d37f374a96e56b7c524f4f06418a194b149f050d732784e5720d78d8 b/.resources/4a8708c8d37f374a96e56b7c524f4f06418a194b149f050d732784e5720d78d8 new file mode 100644 index 00000000..cb7f143f Binary files /dev/null and b/.resources/4a8708c8d37f374a96e56b7c524f4f06418a194b149f050d732784e5720d78d8 differ diff --git a/.resources/4f244b8d9078d94728668b9c2263d8928c21eb3cbdc98e1ff08febda2ee0964a b/.resources/4f244b8d9078d94728668b9c2263d8928c21eb3cbdc98e1ff08febda2ee0964a new file mode 100644 index 00000000..824ff1b8 Binary files /dev/null and b/.resources/4f244b8d9078d94728668b9c2263d8928c21eb3cbdc98e1ff08febda2ee0964a differ diff --git a/.resources/52275a487b22133bc09c7a52bd01aab931157d93449e9c5039c641704e9b8aa8 b/.resources/52275a487b22133bc09c7a52bd01aab931157d93449e9c5039c641704e9b8aa8 new file mode 100644 index 00000000..bdaa8a48 Binary files /dev/null and b/.resources/52275a487b22133bc09c7a52bd01aab931157d93449e9c5039c641704e9b8aa8 differ diff --git a/.resources/5dc614b1bc0223d8cc40495ccdcd82fb1cd70544f009d97e1be194f61fafb85f b/.resources/5dc614b1bc0223d8cc40495ccdcd82fb1cd70544f009d97e1be194f61fafb85f new file mode 100644 index 00000000..6726facc --- /dev/null +++ b/.resources/5dc614b1bc0223d8cc40495ccdcd82fb1cd70544f009d97e1be194f61fafb85f @@ -0,0 +1,31 @@ +WITH Active AS ( + SELECT + ae.id, + ae.eventid, + ae.priority, + aed.strValue + FROM alarm_events ae + LEFT JOIN alarm_event_data aed ON ae.id = aed.id AND aed.propname = 'myTag' + WHERE ae.eventtype = 0 + AND NOT EXISTS ( + SELECT 1 FROM alarm_events ae_clear + WHERE ae_clear.eventid = ae.eventid + AND ae_clear.eventtype = 1 + ) + AND ae.displaypath NOT LIKE '%System Startup%' + AND ae.source NOT LIKE '%System Startup%' +) +SELECT + SUBSTRING_INDEX(SUBSTRING_INDEX(strValue, '/', 2), '/', -1) AS Location, + CASE priority + WHEN 0 THEN 'Diagnostic' + WHEN 1 THEN 'Low' + WHEN 2 THEN 'Medium' + WHEN 3 THEN 'High' + WHEN 4 THEN 'Critical' + ELSE 'Unknown' + END AS Priority, + COUNT(*) AS Count +FROM Active +GROUP BY Location, Priority +ORDER BY Location, Priority; diff --git a/.resources/66b40c8fca4cab46884bad6d27eb79197b893e419b937336ac07f9df9c083009 b/.resources/66b40c8fca4cab46884bad6d27eb79197b893e419b937336ac07f9df9c083009 new file mode 100644 index 00000000..6b37159b --- /dev/null +++ b/.resources/66b40c8fca4cab46884bad6d27eb79197b893e419b937336ac07f9df9c083009 @@ -0,0 +1,3451 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 1080, + "width": 1920 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "MCM01" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "\"http://127.0.0.1:5500/MCM01.svg?var\" + toMillis(now(1000))" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "direction": "column", + "style": { + "pointerEvents": "none" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "page": "/mcm02" + }, + "scope": "C", + "type": "nav" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "height": 0.0333, + "width": 0.0646, + "x": 0.8781, + "y": 0.7509 + }, + "props": { + "primary": false, + "text": "MCM02 - NC SORTER" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Camera" + }, + "position": { + "height": 0.0278, + "width": 0.0156, + "x": 0.0156, + "y": 0.2991 + }, + "props": { + "path": "autStand/Equipment/Camera", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Camera_0" + }, + "position": { + "height": 0.0278, + "width": 0.0156, + "x": 0.4198, + "y": 0.3444 + }, + "props": { + "path": "autStand/Equipment/Camera", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Camera_1" + }, + "position": { + "height": 0.0278, + "width": 0.0156, + "x": 0.7719, + "y": 0.6111 + }, + "props": { + "path": "autStand/Equipment/Camera", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Camera_2" + }, + "position": { + "height": 0.0278, + "width": 0.0156, + "x": 0.9474, + "y": 0.3139 + }, + "props": { + "path": "autStand/Equipment/Camera", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_1_SS1" + }, + "position": { + "height": 0.0185, + "width": 0.0182, + "x": 0.0323, + "y": 0.5343 + }, + "props": { + "path": "autStand/Equipment/SS_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_1_SS1" + }, + "position": { + "height": 0.0185, + "width": 0.0182, + "x": 0.1401, + "y": 0.6324 + }, + "props": { + "path": "autStand/Equipment/SS_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_SS1" + }, + "position": { + "height": 0.0185, + "width": 0.0182, + "x": 0.1786, + "y": 0.2481 + }, + "props": { + "path": "autStand/Equipment/SS_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_11_SS1" + }, + "position": { + "height": 0.0185, + "width": 0.0182, + "x": 0.9797, + "y": 0.5639 + }, + "props": { + "path": "autStand/Equipment/SS_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_11_SS2" + }, + "position": { + "height": 0.0185, + "width": 0.0182, + "x": 0.9781, + "y": 0.6398 + }, + "props": { + "path": "autStand/Equipment/SS_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_1_EPC2" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.0516, + "y": 0.5102 + }, + "props": { + "path": "autStand/Equipment/EPC", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_1_EPC1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.0161, + "y": 0.5102 + }, + "props": { + "path": "autStand/Equipment/EPC", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_EPC1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1635, + "y": 0.2509 + }, + "props": { + "path": "autStand/Equipment/EPC", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_EPC2" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.2016, + "y": 0.2519 + }, + "props": { + "path": "autStand/Equipment/EPC", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_1_EPC1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1266, + "y": 0.6056 + }, + "props": { + "path": "autStand/Equipment/EPC", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_1_EPC2" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1609, + "y": 0.6065 + }, + "props": { + "params": { + "tagProps": [ + "System/MCM01/EPC/UL14_1_EPC2", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/EPC", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_11_EPC1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.9682, + "y": 0.563 + }, + "props": { + "path": "autStand/Equipment/EPC", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_11_EPC2" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.9656, + "y": 0.6407 + }, + "props": { + "path": "autStand/Equipment/EPC", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_1_TPE1" + }, + "position": { + "height": 0.0398, + "width": 0.0432, + "x": 0.02, + "y": 0.3852 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_2_TPE1" + }, + "position": { + "height": 0.037, + "rotate": { + "angle": "60deg" + }, + "width": 0.0417, + "x": 0.0336, + "y": 0.3315 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_3_TPE1" + }, + "position": { + "height": 0.037, + "rotate": { + "angle": "60deg" + }, + "width": 0.0417, + "x": 0.0487, + "y": 0.3157 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_4_TPE1" + }, + "position": { + "height": 0.037, + "rotate": { + "angle": "60deg" + }, + "width": 0.0417, + "x": 0.0648, + "y": 0.3 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_TPE1" + }, + "position": { + "height": 0.037, + "rotate": { + "angle": "90deg" + }, + "width": 0.0417, + "x": 0.1033, + "y": 0.2704 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_1_TPE1" + }, + "position": { + "height": 0.0398, + "width": 0.0432, + "x": 0.1258, + "y": 0.4167 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_2_TPE1" + }, + "position": { + "height": 0.0398, + "width": 0.0432, + "x": 0.1258, + "y": 0.3843 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_3_TPE1" + }, + "position": { + "height": 0.0398, + "width": 0.0432, + "x": 0.1258, + "y": 0.3528 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_4_TPE1" + }, + "position": { + "height": 0.037, + "rotate": { + "angle": "60deg" + }, + "width": 0.0417, + "x": 0.1424, + "y": 0.3 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_TPE2" + }, + "position": { + "height": 0.037, + "rotate": { + "angle": "90deg" + }, + "width": 0.0417, + "x": 0.2033, + "y": 0.2704 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_TPE3" + }, + "position": { + "height": 0.037, + "rotate": { + "angle": "90deg" + }, + "width": 0.0417, + "x": 0.2919, + "y": 0.2704 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_2_TPE1" + }, + "position": { + "height": 0.037, + "rotate": { + "angle": "90deg" + }, + "width": 0.0417, + "x": 0.506, + "y": 0.2704 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_3_TPE1" + }, + "position": { + "height": 0.037, + "rotate": { + "angle": "270deg" + }, + "width": 0.0417, + "x": 0.7653, + "y": 0.2704 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_4_TPE1" + }, + "position": { + "height": 0.0398, + "width": 0.0432, + "x": 0.795, + "y": 0.3148 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_5_TPE1" + }, + "position": { + "height": 0.0398, + "width": 0.0432, + "x": 0.795, + "y": 0.5093 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_6_TPE1" + }, + "position": { + "height": 0.0398, + "width": 0.0432, + "x": 0.795, + "y": 0.5417 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_7_TPE1" + }, + "position": { + "height": 0.037, + "rotate": { + "angle": "90deg" + }, + "width": 0.0417, + "x": 0.8216, + "y": 0.5935 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_8_TPE1" + }, + "position": { + "height": 0.037, + "rotate": { + "angle": "90deg" + }, + "width": 0.0417, + "x": 0.8638, + "y": 0.5935 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_9AL_TPE1" + }, + "position": { + "height": 0.037, + "rotate": { + "angle": "90deg" + }, + "width": 0.0417, + "x": 0.9033, + "y": 0.5935 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_10_TPE1" + }, + "position": { + "height": 0.037, + "rotate": { + "angle": "90deg" + }, + "width": 0.0417, + "x": 0.9273, + "y": 0.5935 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_11_TPE1" + }, + "position": { + "height": 0.037, + "rotate": { + "angle": "90deg" + }, + "width": 0.0417, + "x": 0.9523, + "y": 0.5935 + }, + "props": { + "path": "autStand/Equipment/Photoeye", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_1_BCN1_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.0109, + "y": 0.3963 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "amber", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Camera_4" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.0109, + "y": 0.3769 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_1_BCN1_R" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.0109, + "y": 0.3769 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_1_BCN2_R" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.0594, + "y": 0.4213 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_BCN1_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1313, + "y": 0.3157 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "amber", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_1_BCN1_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1151, + "y": 0.4213 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "amber", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_1_BCN1_R" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1151, + "y": 0.4028 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_1_BCN2_R" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1651, + "y": 0.4519 + }, + "props": { + "params": { + "name": "Red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_BCN2_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1823, + "y": 0.2269 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "amber", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_BCN2_R" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1823, + "y": 0.2083 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_BCN4_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.2938, + "y": 0.2352 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "amber", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_BCN4_H" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.2938, + "y": 0.2167 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "horn", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_2_BCN1_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5068, + "y": 0.2352 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "amber", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_4_BCN1_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.7948, + "y": 0.3685 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "amber", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Camera_16" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8568, + "y": 0.5565 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "amber", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Camera_17" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.9339, + "y": 0.537 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "amber", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Camera_18" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.9745, + "y": 0.538 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Camera_19" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.9807, + "y": 0.6157 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_1_ENSH1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.1638, + "y": 0.4259 + }, + "props": { + "path": "autStand/Equipment/Encoder", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_2_ENSH1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.1638, + "y": 0.3935 + }, + "props": { + "path": "autStand/Equipment/Encoder", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_3_ENSH1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.1638, + "y": 0.362 + }, + "props": { + "path": "autStand/Equipment/Encoder", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_4_ENSH1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.1695, + "y": 0.338 + }, + "props": { + "path": "autStand/Equipment/Encoder", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_1_ENSH1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.0575, + "y": 0.3972 + }, + "props": { + "path": "autStand/Equipment/Encoder", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_2_ENSH1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.0601, + "y": 0.3713 + }, + "props": { + "path": "autStand/Equipment/Encoder", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_3_ENSH1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.0757, + "y": 0.3556 + }, + "props": { + "path": "autStand/Equipment/Encoder", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_4_ENSH1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.0893, + "y": 0.3417 + }, + "props": { + "path": "autStand/Equipment/Encoder", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_10_ENW1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.2742, + "y": 0.2806 + }, + "props": { + "path": "autStand/Equipment/Encoder", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_ENW1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.9316, + "y": 0.6 + }, + "props": { + "path": "autStand/Equipment/Encoder", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_11_ENW1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.9504, + "y": 0.6 + }, + "props": { + "path": "autStand/Equipment/Encoder", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_1_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.0526, + "y": 0.4593 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_2_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.0724, + "y": 0.388 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_3_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.0844, + "y": 0.3759 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_4_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.0964, + "y": 0.363 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_5_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1062, + "y": 0.337 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_1_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1625, + "y": 0.5148 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_2_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1786, + "y": 0.4296 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_3_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1786, + "y": 0.3981 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_4_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1786, + "y": 0.3694 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_5_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1859, + "y": 0.3204 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.2745, + "y": 0.3204 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_2_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.3578, + "y": 0.3204 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_3_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.7521, + "y": 0.3111 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_4_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.788, + "y": 0.3213 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_5_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8302, + "y": 0.4435 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_6_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8339, + "y": 0.512 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_7_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8365, + "y": 0.5602 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_8_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8682, + "y": 0.5778 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_9AL_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8922, + "y": 0.5806 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_10_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.9307, + "y": 0.5815 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_11_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.9573, + "y": 0.5806 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_9B_VFD1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.9073, + "y": 0.5806 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "red", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/VFD", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_1_JR1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.0161, + "y": 0.4296 + }, + "props": { + "path": "autStand/Equipment/JR_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_1_JR1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1156, + "y": 0.4481 + }, + "props": { + "path": "autStand/Equipment/JR_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_JR1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.1208, + "y": 0.3389 + }, + "props": { + "path": "autStand/Equipment/JR_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_JR2" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.2193, + "y": 0.3343 + }, + "props": { + "path": "autStand/Equipment/JR_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_JR3" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.2938, + "y": 0.2556 + }, + "props": { + "path": "autStand/Equipment/JR_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_2_JR1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5068, + "y": 0.2556 + }, + "props": { + "path": "autStand/Equipment/JR_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_4_JR3" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.7948, + "y": 0.3889 + }, + "props": { + "path": "autStand/Equipment/JR_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_8_JR2" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8573, + "y": 0.6333 + }, + "props": { + "path": "autStand/Equipment/JR_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_8_JR1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8557, + "y": 0.5787 + }, + "props": { + "path": "autStand/Equipment/JR_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_10_JR2" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.9307, + "y": 0.6389 + }, + "props": { + "path": "autStand/Equipment/JR_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_10_JR1" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.9187, + "y": 0.538 + }, + "props": { + "path": "autStand/Equipment/JR_Button", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_1_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.1594, + "y": 0.4935 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_2_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.1911, + "y": 0.4287 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_3_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.1911, + "y": 0.3991 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_4_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.1911, + "y": 0.3713 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_1_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.0635, + "y": 0.4593 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_2_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.0719, + "y": 0.4176 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_3_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.0917, + "y": 0.3963 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_4_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.1073, + "y": 0.375 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL15_5_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.1083, + "y": 0.3176 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "UL14_5_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.1969, + "y": 0.3333 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.2516, + "y": 0.3204 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_3_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.3349, + "y": 0.3204 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_3_SIO2" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.7292, + "y": 0.3111 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_4_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.7688, + "y": 0.3398 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_5_SIO1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.8292, + "y": 0.4213 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_6_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.8344, + "y": 0.487 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_7_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.8365, + "y": 0.5361 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_8_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.8688, + "y": 0.5546 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_9AL_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.8922, + "y": 0.5593 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_9B_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.9151, + "y": 0.5602 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_11_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.9698, + "y": 0.512 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_10_SIO1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.9417, + "y": 0.5593 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "MCM01" + }, + "position": { + "height": 0.0278, + "width": 0.0219, + "x": 0.2342, + "y": 0.375 + }, + "props": { + "params": { + "forceFaultStatus": null, + "forceRunningStatus": null, + "has_state": false, + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/MCM" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_DPM1" + }, + "position": { + "height": 0.0278, + "width": 0.0156, + "x": 0.1404, + "y": 0.2454 + }, + "props": { + "params": { + "forceFaultStatus": null, + "forceRunningStatus": null, + "has_state": false, + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/DPM" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_5_DPM1" + }, + "position": { + "height": 0.0278, + "width": 0.0156, + "x": 0.8331, + "y": 0.3472 + }, + "props": { + "params": { + "forceFaultStatus": null, + "forceRunningStatus": null, + "has_state": false, + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/DPM" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PDP01_FIOM1" + }, + "position": { + "height": 0.0204, + "width": 0.0208, + "x": 0.7328, + "y": 0.3556 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_1_BCN3_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.2193, + "y": 0.3148 + }, + "props": { + "params": { + "forceFaultStatus": null, + "name": "amber", + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/.resources/7fe819c4177b0b6fe22c165a9e5e03e4a95e0b07fa5443d6a58746d711bf2bd6 b/.resources/7fe819c4177b0b6fe22c165a9e5e03e4a95e0b07fa5443d6a58746d711bf2bd6 new file mode 100644 index 00000000..0cd98a19 --- /dev/null +++ b/.resources/7fe819c4177b0b6fe22c165a9e5e03e4a95e0b07fa5443d6a58746d711bf2bd6 @@ -0,0 +1,64 @@ +SELECT + CONCAT(Active.displaypath, ' - ', SUBSTRING_INDEX(Active.source, ':/alm:', -1)) AS Description, + + SUBSTRING_INDEX(SUBSTRING_INDEX(aed.strValue, '/', 2), '/', -1) AS Location, + + -- Formatted OPC-style tag + CONCAT( + Active.displaypath, + '.HMI.', + SUBSTRING_INDEX(aed.strValue, '/', -1) + ) AS Tag, + + CASE Active.priority + WHEN 0 THEN 'Diagnostic' + WHEN 1 THEN 'Low' + WHEN 2 THEN 'Medium' + WHEN 3 THEN 'High' + WHEN 4 THEN 'Critical' + ELSE 'Unknown' + END AS Priority, + + -- First and last seen times for this alarm + MIN(Active.eventtime) AS FirstTimestamp, + MAX(Active.eventtime) AS LastTimestamp, + + -- Total duration summed from each active-clear pair + CONCAT( + LPAD(FLOOR(SUM(Active.duration_seconds) / 3600), 2, '0'), ':', + LPAD(FLOOR((SUM(Active.duration_seconds) % 3600) / 60), 2, '0'), ':', + LPAD(SUM(Active.duration_seconds) % 60, 2, '0') + ) AS Duration, + + -- Total number of activations + COUNT(*) AS Count, + + -- Newly added columns + aed.strValue AS FullTag, + Active.displaypath AS Device + +FROM ( + SELECT + ae.id, + ae.source, + ae.eventid, + ae.eventtime, + ae.priority, + ae.displaypath, + TIMESTAMPDIFF(SECOND, ae.eventtime, COALESCE(ae_clear.eventtime, NOW())) AS duration_seconds + FROM alarm_events ae + LEFT JOIN alarm_events ae_clear + ON ae.eventid = ae_clear.eventid AND ae_clear.eventtype = 1 + WHERE ae.eventtype = 0 + AND ae.displaypath NOT LIKE '%System Startup%' + AND ae.source NOT LIKE '%System Startup%' +) AS Active + +-- OPC tag path for building .hmi.Tag output +LEFT JOIN alarm_event_data aed + ON aed.id = Active.id AND aed.propname = 'myTag' + +-- 🔹 Group by the full unique alarm key (tag + alarm name) +GROUP BY Active.source, Active.displaypath, aed.strValue + +ORDER BY FirstTimestamp DESC; diff --git a/.resources/8c6fa24a77bac26ba983b6cdf7e924a0b64251f85e77248b51bc845099172ce2 b/.resources/8c6fa24a77bac26ba983b6cdf7e924a0b64251f85e77248b51bc845099172ce2 new file mode 100644 index 00000000..98401b67 Binary files /dev/null and b/.resources/8c6fa24a77bac26ba983b6cdf7e924a0b64251f85e77248b51bc845099172ce2 differ diff --git a/.resources/8fb573e682a9455181ffc7a100f07a88d56a2665e23b983503106e0882f887b5 b/.resources/8fb573e682a9455181ffc7a100f07a88d56a2665e23b983503106e0882f887b5 new file mode 100644 index 00000000..a93c5a90 --- /dev/null +++ b/.resources/8fb573e682a9455181ffc7a100f07a88d56a2665e23b983503106e0882f887b5 @@ -0,0 +1,10002 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 1080, + "width": 1920 + } + }, + "root": { + "children": [ + { + "children": [ + { + "meta": { + "name": "MCM02" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.source": { + "binding": { + "config": { + "expression": "\"http://127.0.0.1:5500/MCM02.svg?var\" + toMillis(now(1000))" + }, + "type": "expr" + } + } + }, + "props": { + "fit": { + "mode": "fill" + } + }, + "type": "ia.display.image" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden", + "pointerEvents": "none" + } + }, + "type": "ia.container.flex" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "page": "/mcm01" + }, + "scope": "C", + "type": "nav" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 0.0333, + "width": 0.0646, + "x": 0.0177, + "y": 0.6167 + }, + "props": { + "primary": false, + "text": "MCM01 - FLUID INBOUND" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "NCS1_1_SOL1" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.1724, + "y": 0.4556 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL2" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.1891, + "y": 0.4389 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL3" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.1891, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL4" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.2099, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL5" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.2099, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL6" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.2307, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL7" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.2307, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL8" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.2516, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL9" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.2516, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL10" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.2724, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL11" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.2724, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL12" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.2901, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL13" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.2901, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL14" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.3073, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL15" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.3073, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL16" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.3281, + "y": 0.4713 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL17" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.3281, + "y": 0.45 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL18" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.3453, + "y": 0.4713 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL19" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.3453, + "y": 0.45 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL20" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.3661, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL21" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.3661, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL22" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.387, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL23" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.387, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL24" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.4078, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL25" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.4078, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL26" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.4286, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL27" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.4286, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL28" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.4531, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL29" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.4531, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL30" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.4724, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL31" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.4724, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL32" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.4932, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL33" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.4932, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL34" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.5141, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL35" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.5141, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL36" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.5349, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL37" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.5349, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL38" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.5521, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL39" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.5521, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL40" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.5698, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL41" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.5698, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL42" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.5906, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL43" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.5906, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL44" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.5906, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL45" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.5906, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL46" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.6115, + "y": 0.4713 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL47" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.6115, + "y": 0.45 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL48" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.6323, + "y": 0.4713 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL49" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.6323, + "y": 0.45 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL50" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.649, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL51" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.649, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL52" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.6661, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL53" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.6661, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL54" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.687, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL55" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.687, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL56" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.7078, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL57" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.7078, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL58" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.7286, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL59" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.7286, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL60" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.7495, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL61" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.7495, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL62" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.7703, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL63" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.7703, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL64" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.7911, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL65" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.7911, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL66" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.812, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL67" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.812, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL68" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.8328, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL69" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.8328, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL70" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.8536, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL71" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.8536, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL72" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.8536, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL73" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.8536, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL74" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.8703, + "y": 0.4398 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL75" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.8703, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL77" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.887, + "y": 0.463 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL78" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.9036, + "y": 0.4537 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SOL76" + }, + "position": { + "height": 0.0204, + "width": 0.012, + "x": 0.887, + "y": 0.4389 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Solenoid" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_12_EPC2" + }, + "position": { + "height": 0.0278, + "width": 0.0156, + "x": 0.0109, + "y": 0.5028 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/EPC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_12_EPC1" + }, + "position": { + "height": 0.0278, + "width": 0.0156, + "x": 0.0099, + "y": 0.3926 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/EPC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_FIOM1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.1906, + "y": 0.5065 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_14_SIO1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.137, + "y": 0.3787 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SS1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.9281, + "y": 0.4019 + }, + "props": { + "params": { + "tagProps": [ + "System/MCM01/Station/SSPB/UL6_1_SS1", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/SS_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH101_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.2146, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Camera" + }, + "position": { + "height": 0.0278, + "width": 0.0208, + "x": 0.9688, + "y": 0.5074 + }, + "props": { + "params": { + "directionLeft": true, + "forceFaultStatus": null, + "forceRunningStatus": null, + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Camera" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_12_JR2" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.0792, + "y": 0.5 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_12_JR1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.0802, + "y": 0.3991 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_12_VFD1" + }, + "position": { + "height": 0.0241, + "width": 0.0135, + "x": 0.063, + "y": 0.3981 + }, + "props": { + "params": { + "tagProps": [ + "value" + ] + }, + "path": "autStand/Equipment/VFD" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_13_VFD1" + }, + "position": { + "height": 0.0241, + "width": 0.0135, + "x": 0.1068, + "y": 0.3981 + }, + "props": { + "params": { + "tagProps": [ + "value" + ] + }, + "path": "autStand/Equipment/VFD" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_14_VFD1" + }, + "position": { + "height": 0.0241, + "width": 0.0135, + "x": 0.1411, + "y": 0.3981 + }, + "props": { + "params": { + "tagProps": [ + "value" + ] + }, + "path": "autStand/Equipment/VFD" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_13_SIO1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.1031, + "y": 0.3787 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_12_SIO1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.0417, + "y": 0.4 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_12_BCN1_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.0818, + "y": 0.3778 + }, + "props": { + "params": { + "name": "amber", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_13_ENW1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.1057, + "y": 0.4546 + }, + "props": { + "params": { + "tagProps": [ + "value" + ] + }, + "path": "autStand/Equipment/Encoder" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "PS3_14_ENW1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.137, + "y": 0.4546 + }, + "props": { + "params": { + "tagProps": [ + "value" + ] + }, + "path": "autStand/Equipment/Encoder" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_FIOM2" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.2635, + "y": 0.5065 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_FIOM3" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.3172, + "y": 0.5065 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_FIOM5" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.5078, + "y": 0.5278 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_FIOM4" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.4, + "y": 0.525 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_FIOM6" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.5797, + "y": 0.5269 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_FIOM7" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.6552, + "y": 0.5259 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_FIOM8" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.7302, + "y": 0.5259 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_FIOM9" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.8021, + "y": 0.525 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH101_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.2323, + "y": 0.2296 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH103_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.2698, + "y": 0.2296 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH105_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.3057, + "y": 0.2296 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH107_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.3688, + "y": 0.2296 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH109_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.4063, + "y": 0.2296 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH111_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.4432, + "y": 0.2296 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH113_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.5177, + "y": 0.2296 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH115_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.5521, + "y": 0.2296 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH117_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.5896, + "y": 0.2296 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH119_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.6589, + "y": 0.2296 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH121_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.6958, + "y": 0.2296 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH123_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.7349, + "y": 0.2296 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH125_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.8036, + "y": 0.2296 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH127_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.8443, + "y": 0.2296 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH129_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.8818, + "y": 0.2296 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH130_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.8812, + "y": 0.6722 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH128_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.8422, + "y": 0.6722 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH126_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.8057, + "y": 0.6722 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH124_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.7297, + "y": 0.6722 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH122_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.6885, + "y": 0.6722 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH120_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.6542, + "y": 0.6722 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH118_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.5813, + "y": 0.6722 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH116_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.549, + "y": 0.6722 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH114_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.5115, + "y": 0.6722 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH112_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.4437, + "y": 0.6722 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH110_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.4068, + "y": 0.6722 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH108_EN1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.3682, + "y": 0.6722 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH108_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.3589, + "y": 0.6009 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH108_BNC1_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.3589, + "y": 0.5843 + }, + "props": { + "params": { + "name": "amber", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH108_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.3589, + "y": 0.5676 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH110_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.3964, + "y": 0.5954 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH110_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.3964, + "y": 0.5769 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH112_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.4333, + "y": 0.5972 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH112_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.4333, + "y": 0.5787 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH114_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5021, + "y": 0.6 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH114_BNC1_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5021, + "y": 0.5833 + }, + "props": { + "params": { + "name": "amber", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH114_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5021, + "y": 0.5667 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH116_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5401, + "y": 0.5981 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH116_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5401, + "y": 0.5796 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH118_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5771, + "y": 0.5963 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH118_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5771, + "y": 0.5787 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH120_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.6484, + "y": 0.5667 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH120_BNC1_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.6484, + "y": 0.5833 + }, + "props": { + "params": { + "name": "amber", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH120_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.6484, + "y": 0.6 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH122_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.6859, + "y": 0.5806 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH122_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.6859, + "y": 0.5972 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH124_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.724, + "y": 0.5796 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH124_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.724, + "y": 0.5972 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH126_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.7948, + "y": 0.563 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH126_BNC1_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.7948, + "y": 0.5796 + }, + "props": { + "params": { + "name": "amber", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH126_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.7948, + "y": 0.5963 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH128_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8318, + "y": 0.5787 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH128_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8318, + "y": 0.5981 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH130_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8693, + "y": 0.5759 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH130_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8693, + "y": 0.5954 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH101_BNC1_B" + }, + "position": { + "height": 0.0176, + "width": 0.0104, + "x": 0.2146, + "y": 0.3083 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH101_BNC1_A" + }, + "position": { + "height": 0.0176, + "width": 0.0104, + "x": 0.2146, + "y": 0.3242 + }, + "props": { + "params": { + "name": "amber", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH103_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.2536, + "y": 0.3157 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH101_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.2146, + "y": 0.338 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH103_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.2536, + "y": 0.3343 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH105_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.2911, + "y": 0.3315 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH105_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.2911, + "y": 0.313 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH107_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.3589, + "y": 0.3065 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH107_BNC1_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.3589, + "y": 0.3231 + }, + "props": { + "params": { + "name": "amber", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH109_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.3964, + "y": 0.3139 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH107_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.3589, + "y": 0.3398 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH109_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.3964, + "y": 0.3324 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH111_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.4333, + "y": 0.3352 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH111_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.4333, + "y": 0.3167 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH113_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5, + "y": 0.3065 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH113_BNC1_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5, + "y": 0.3231 + }, + "props": { + "params": { + "name": "amber", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH115_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5401, + "y": 0.3157 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH113_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5, + "y": 0.3398 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH115_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5401, + "y": 0.3343 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH117_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5771, + "y": 0.3343 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH117_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.5771, + "y": 0.3157 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH119_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.6484, + "y": 0.3074 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH119_BNC1_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.6484, + "y": 0.3241 + }, + "props": { + "params": { + "name": "amber", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH121_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.6865, + "y": 0.3176 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH119_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.6484, + "y": 0.3407 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH121_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.6865, + "y": 0.3361 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH123_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.724, + "y": 0.3361 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH123_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.724, + "y": 0.3176 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH125_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.7937, + "y": 0.3074 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH125_BNC1_A" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.7937, + "y": 0.3241 + }, + "props": { + "params": { + "name": "amber", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH127_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8333, + "y": 0.3222 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH125_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.7937, + "y": 0.3407 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH127_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8333, + "y": 0.3407 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH129_BNC1_G" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8708, + "y": 0.3407 + }, + "props": { + "params": { + "name": "green", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH129_BNC1_B" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.8708, + "y": 0.3222 + }, + "props": { + "params": { + "name": "blue", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_EPC1" + }, + "position": { + "height": 0.0278, + "width": 0.0156, + "x": 0.9091, + "y": 0.3968 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/EPC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_EPC2" + }, + "position": { + "height": 0.0278, + "width": 0.0156, + "x": 0.9096, + "y": 0.5023 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/EPC" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Beacon_63" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.9115, + "y": 0.3731 + }, + "props": { + "params": { + "name": "amber", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_BNC1_R" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.9115, + "y": 0.3565 + }, + "props": { + "params": { + "name": "red", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_BNC1_H" + }, + "position": { + "height": 0.0185, + "width": 0.0104, + "x": 0.9115, + "y": 0.3398 + }, + "props": { + "params": { + "name": "horn", + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Beacon" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_JR1" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.1927, + "y": 0.3824 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_JR3" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.3391, + "y": 0.3852 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_JR5" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.475, + "y": 0.388 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_JR7" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.6208, + "y": 0.3907 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_JR9" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.7698, + "y": 0.3907 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_JR4" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.3422, + "y": 0.5157 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_JR6" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.4854, + "y": 0.5139 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_JR8" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.6312, + "y": 0.513 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_JR10" + }, + "position": { + "height": 0.0231, + "width": 0.013, + "x": 0.7766, + "y": 0.5111 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/JR_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH103_FIOM1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.2625, + "y": 0.3722 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH109_FIOM1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.4005, + "y": 0.3722 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH115_FIOM1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.5432, + "y": 0.3722 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH121_FIOM1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.6542, + "y": 0.3741 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH127_FIOM1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.837, + "y": 0.3741 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_FIOM10" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.8698, + "y": 0.525 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_LRPE1" + }, + "position": { + "height": 0.0315, + "width": 0.1307, + "x": 0.2018, + "y": 0.4046 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_LRPE3" + }, + "position": { + "height": 0.037, + "width": 0.1307, + "x": 0.345, + "y": 0.4009 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_LRPE5" + }, + "position": { + "height": 0.037, + "width": 0.1307, + "x": 0.4898, + "y": 0.4009 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_LRPE7" + }, + "position": { + "height": 0.037, + "width": 0.1307, + "x": 0.6357, + "y": 0.4009 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_LRPE9" + }, + "position": { + "height": 0.037, + "width": 0.1307, + "x": 0.7815, + "y": 0.4009 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_LRPE4" + }, + "position": { + "height": 0.0315, + "width": 0.1307, + "x": 0.3451, + "y": 0.4852 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_LRPE6" + }, + "position": { + "height": 0.0315, + "width": 0.1323, + "x": 0.4878, + "y": 0.4852 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_LRPE8" + }, + "position": { + "height": 0.0315, + "width": 0.1323, + "x": 0.6331, + "y": 0.4852 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_1_LRPE10" + }, + "position": { + "height": 0.0306, + "width": 0.1349, + "x": 0.7815, + "y": 0.4833 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH101_PE1" + }, + "position": { + "height": 0.0352, + "width": 0.0573, + "x": 0.2026, + "y": 0.3454 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH103_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.2391, + "y": 0.3435 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Photoeye_1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.2781, + "y": 0.3435 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH105_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.2781, + "y": 0.3435 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH107_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.3432, + "y": 0.3435 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH111_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.4188, + "y": 0.3435 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH109_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.3797, + "y": 0.3435 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH113_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.4839, + "y": 0.3435 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH117_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.5594, + "y": 0.3435 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH115_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.5203, + "y": 0.3435 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH119_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.6318, + "y": 0.3435 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH121_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.6682, + "y": 0.3435 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH123_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.7073, + "y": 0.3435 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH125_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.7766, + "y": 0.3435 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH127_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.813, + "y": 0.3435 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH129_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.8521, + "y": 0.3435 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH120_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.6323, + "y": 0.5389 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH122_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.6682, + "y": 0.5389 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH124_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.7073, + "y": 0.5389 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH114_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.4854, + "y": 0.5389 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH116_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.5219, + "y": 0.5389 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH118_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.5604, + "y": 0.5389 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH108_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.3406, + "y": 0.5389 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH110_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.3771, + "y": 0.5389 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH112_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.4161, + "y": 0.5389 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH126_PE1" + }, + "position": { + "height": 0.038, + "width": 0.0557, + "x": 0.7797, + "y": 0.5389 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH128_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.8146, + "y": 0.5389 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH130_PE1" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.8536, + "y": 0.5389 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Camera_0" + }, + "position": { + "height": 0.0278, + "width": 0.0208, + "x": 0.9688, + "y": 0.5074 + }, + "props": { + "params": { + "directionLeft": true, + "forceFaultStatus": null, + "forceRunningStatus": null, + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Camera" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SS2" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.9297, + "y": 0.5046 + }, + "props": { + "params": { + "tagProps": [ + "System/MCM01/Station/SSPB/UL6_1_SS1", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/SS_Button" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_SIO1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.9102, + "y": 0.5333 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Safety_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_VFD1" + }, + "position": { + "height": 0.0241, + "width": 0.0135, + "x": 0.9104, + "y": 0.5546 + }, + "props": { + "params": { + "tagProps": [ + "value" + ] + }, + "path": "autStand/Equipment/VFD" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH103_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.2542, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_Ch105_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.2911, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_Ch107_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.3599, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_Ch109_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.3964, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH111_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.4328, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH113_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.501, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH115_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.5401, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH117_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.5781, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH119_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.6495, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH121_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.6875, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH123_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.725, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH125_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.7943, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH127_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.8323, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH129_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.8698, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH108_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.3594, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH110_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.3958, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH112_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.4328, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH114_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.5021, + "y": 0.5046 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH116_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.5401, + "y": 0.5046 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH118_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.576, + "y": 0.5046 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH120_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.6495, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH122_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.6859, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH124_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.724, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH126_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.7958, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH128_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.8339, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH130_PRX1" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.8703, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "MCM02" + }, + "position": { + "height": 0.0278, + "width": 0.0219, + "x": 0.2437, + "y": 0.5519 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/MCM" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_DPM1" + }, + "position": { + "height": 0.0231, + "width": 0.0156, + "x": 0.3363, + "y": 0.4278 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/DPM" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "NCS1_1_DPM2" + }, + "position": { + "height": 0.0231, + "width": 0.0156, + "x": 0.6222, + "y": 0.4278 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/DPM" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH110_FIOM1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.3984, + "y": 0.5574 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH116_FIOM1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.5432, + "y": 0.5574 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH122_FIOM1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.6896, + "y": 0.5574 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH128_FIOM1" + }, + "position": { + "height": 0.0185, + "width": 0.0208, + "x": 0.8349, + "y": 0.5574 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Field_IO" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH101_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.2307, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH103_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.2703, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_Ch105_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.3073, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_Ch107_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.376, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_Ch109_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.4125, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH111_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.449, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH113_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.5172, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH115_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.5563, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH117_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.5943, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH119_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.6656, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH121_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.7036, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH123_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.7411, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH125_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.8104, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH127_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.8484, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH129_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.8859, + "y": 0.3944 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH108_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.3755, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH110_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.412, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH112_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.449, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH114_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.5182, + "y": 0.5046 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH116_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.5563, + "y": 0.5046 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH118_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.5922, + "y": 0.5046 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH120_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.6656, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH122_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.7021, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH124_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.7401, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH126_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.812, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH128_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.85, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH130_PRX2" + }, + "position": { + "height": 0.0185, + "width": 0.0156, + "x": 0.8865, + "y": 0.5037 + }, + "props": { + "params": { + "tagProps": [ + "/system/mcm01/test", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/ProxSwitch" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH101_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.2026, + "y": 0.2778 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH103_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.2391, + "y": 0.2778 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH105_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.2781, + "y": 0.2778 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH107_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.3432, + "y": 0.2778 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH109_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.3797, + "y": 0.2778 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH111_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.4188, + "y": 0.2778 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH113_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.4839, + "y": 0.2778 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH115_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.5203, + "y": 0.2778 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH117_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.5594, + "y": 0.2778 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH119_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.6318, + "y": 0.2778 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH121_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.6682, + "y": 0.2778 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH123_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.7073, + "y": 0.2778 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH125_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.7766, + "y": 0.2778 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH127_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.813, + "y": 0.2778 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH129_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.8521, + "y": 0.2778 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH108_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.3406, + "y": 0.6083 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH110_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.3771, + "y": 0.6083 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH112_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.4161, + "y": 0.6083 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH114_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.4854, + "y": 0.6083 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH116_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.5219, + "y": 0.6083 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH118_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.5604, + "y": 0.6083 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH120_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.6323, + "y": 0.6083 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH122_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.6682, + "y": 0.6083 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH124_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.7073, + "y": 0.6083 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH126_PE2" + }, + "position": { + "height": 0.038, + "width": 0.0557, + "x": 0.7797, + "y": 0.6083 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH128_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.8146, + "y": 0.6083 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "S03_CH130_PE2" + }, + "position": { + "height": 0.037, + "width": 0.0573, + "x": 0.8536, + "y": 0.6083 + }, + "props": { + "params": { + "tagProps": [ + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "path": "autStand/Equipment/Photoeye_Long (1)" + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/.resources/9ec91d33e2aaedbe2f7980ed67f5253d9ac489f67f668b176f160693561a5f65 b/.resources/9ec91d33e2aaedbe2f7980ed67f5253d9ac489f67f668b176f160693561a5f65 new file mode 100644 index 00000000..bd342cbd Binary files /dev/null and b/.resources/9ec91d33e2aaedbe2f7980ed67f5253d9ac489f67f668b176f160693561a5f65 differ diff --git a/.resources/ad40ff5e990d1f515fe802bc49cc6205a85a9fa91b78861696d0ad5bfa75cdae b/.resources/ad40ff5e990d1f515fe802bc49cc6205a85a9fa91b78861696d0ad5bfa75cdae new file mode 100644 index 00000000..6469c543 --- /dev/null +++ b/.resources/ad40ff5e990d1f515fe802bc49cc6205a85a9fa91b78861696d0ad5bfa75cdae @@ -0,0 +1,1026 @@ +{ + "custom": { + "largeView": false + }, + "params": { + "params": {} + }, + "propConfig": { + "custom.largeView": { + "binding": { + "config": { + "expression": "{page.props.dimensions.viewport.width} \u003e 800" + }, + "type": "expr" + }, + "persistent": true + }, + "params.params": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "height": 58 + } + }, + "root": { + "children": [ + { + "children": [ + { + "events": { + "dom": { + "onDoubleClick": { + "config": { + "page": "/Monitron" + }, + "scope": "C", + "type": "nav" + } + } + }, + "meta": { + "name": "Icon" + }, + "position": { + "basis": "30px" + }, + "props": { + "color": "#FFFFFF", + "path": "material/vibration", + "style": { + "classes": "" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "41px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[IEC_SCADA_TAG_PROVIDER]Monitron/monitron_data" + }, + "transforms": [ + { + "code": "\treturn value.getRowCount()", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "80px", + "display": false + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "dom": { + "onDoubleClick": { + "config": { + "page": "/Oil" + }, + "scope": "C", + "type": "nav" + } + } + }, + "meta": { + "name": "Icon" + }, + "position": { + "basis": "30px" + }, + "props": { + "color": "#FFFFFF", + "path": "material/opacity", + "style": { + "classes": "" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "41px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "[IEC_SCADA_TAG_PROVIDER]Oil/oil_condition_monitoring" + }, + "transforms": [ + { + "code": "\treturn value.getRowCount()", + "type": "script" + } + ], + "type": "tag" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "80px", + "display": false + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Image" + }, + "position": { + "basis": "120px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "view.custom.largeView" + }, + "type": "property" + } + } + }, + "props": { + "fit": { + "height": 30, + "mode": "fill" + }, + "source": "/system/images/Builtin/amazon_rme_logo.png" + }, + "type": "ia.display.image" + }, + { + "meta": { + "hasDelegate": true, + "name": "Spacer Start" + }, + "position": { + "basis": "16px", + "shrink": 0 + }, + "props": { + "text": " " + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "id": "Docked-West", + "type": "toggle" + }, + "scope": "C", + "type": "dock" + } + } + }, + "meta": { + "name": "Menu Dock" + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "!{view.custom.largeView}" + }, + "type": "expr" + } + } + }, + "props": { + "color": "#FFFFFF", + "path": "material/menu", + "style": { + "classes": "Header/Icon", + "marginRight": "10px" + } + }, + "type": "ia.display.icon" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "page": "/" + }, + "scope": "C", + "type": "nav" + } + } + }, + "meta": { + "name": "Back", + "tooltip": { + "enabled": true, + "text": "Go back to DEX" + } + }, + "position": { + "basis": "24px", + "shrink": 0 + }, + "props": { + "color": "#FFFFFF", + "path": "material/arrow_back", + "style": { + "classes": "Header/Icon", + "cursor": "pointer", + "marginRight": "10px" + } + }, + "type": "ia.display.icon" + }, + { + "children": [ + { + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "550px", + "grow": 1 + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "300px", + "shrink": 0 + }, + "propConfig": { + "custom.area": { + "binding": { + "config": { + "expression": "if(isNull({this.custom.lookup_path}), \"\",\r\ntry(jsonGet({this.custom.plc_dict},\"Area\"),\"\"))" + }, + "type": "expr" + } + }, + "custom.lookup_path": { + "binding": { + "config": { + "expression": "try(if({this.custom.path}[1,0]\u003d\"DetailedView\", {this.custom.path}[2,0],\r\n\"\"), \"\")\r\n" + }, + "type": "expr" + } + }, + "custom.path": { + "binding": { + "config": { + "path": "page.props.path" + }, + "transforms": [ + { + "expression": "split({value},\"/\")", + "type": "expression" + } + ], + "type": "property" + } + }, + "custom.path_to_display": { + "binding": { + "config": { + "expression": "if(len({this.custom.lookup_path})\u003c1, \"\",\r\nif(len({this.custom.area}) \u003c1, {this.custom.lookup_path},\r\nif(len({this.custom.sub_area}) \u003e 0, concat({this.custom.lookup_path} + \" / \" + {this.custom.area} + \" / \" + {this.custom.sub_area}),\r\nconcat({this.custom.lookup_path} + \" / \" + {this.custom.area}))))" + }, + "type": "expr" + } + }, + "custom.plc_dict": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "fc": "{session.custom.fc}" + }, + "tagPath": "[{fc}_SCADA_TAG_PROVIDER]Configuration/PLC" + }, + "transforms": [ + { + "expression": "jsonGet({value},{this.custom.lookup_path})", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.sub_area": { + "binding": { + "config": { + "expression": "if(isNull({this.custom.lookup_path}), \"\",\r\ntry(jsonGet({this.custom.plc_dict},\"SubArea\"), \"\"))" + }, + "type": "expr" + } + }, + "position.display": { + "binding": { + "config": { + "expression": "{view.params.size} \u003d \"large\"" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "this.custom.path_to_display" + }, + "type": "property" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "fontFamily": "Arial", + "fontWeight": "bold", + "textAlign": "center" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "150px", + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Area" + }, + "position": { + "basis": "200px", + "grow": 1 + }, + "type": "ia.container.flex" + }, + { + "meta": { + "name": "Icon_1", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "{[System]Gateway/Database/MariaDB/Available}" + }, + "transforms": [ + { + "fallback": "Database Connection Status: LOST", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Database Connection Status: GOOD" + }, + { + "input": false, + "output": "Database Connection Status: LOST" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "expr" + } + }, + "props.color": { + "binding": { + "config": { + "expression": "{[System]Gateway/Database/MariaDB/Available}" + }, + "transforms": [ + { + "fallback": "#FF0000", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "#47FF47" + }, + { + "input": false, + "output": "#FF0000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "expr" + }, + "onChange": { + "enabled": null, + "script": " db_tag_path \u003d \"[System]Gateway/Database/MariaDB/Available\"\n\t\n if not (system.tag.readBlocking([db_tag_path])[0].value):\n \tsystem.perspective.openPopup(\"errorPopup\",\u0027PopUp-Views/DatabaseError\u0027, title\u003d\"Database Error\")\n\t" + }, + "persistent": true + } + }, + "props": { + "color": "#47FF47", + "path": "material/table_chart" + }, + "type": "ia.display.icon" + }, + { + "meta": { + "hasDelegate": true, + "name": "Spacer End_3" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "props": { + "text": " " + }, + "type": "ia.display.label" + }, + { + "custom": { + "buttonid": "HeaderLegendIcon" + }, + "events": { + "dom": { + "onClick": [ + { + "config": { + "draggable": false, + "id": "TZyBcXB7", + "modal": true, + "overlayDismiss": true, + "resizable": false, + "showCloseIcon": false, + "type": "open", + "viewPath": "PopUp-Views/Legend_Popup/Legend-popup-view", + "viewportBound": true + }, + "scope": "C", + "type": "popup" + }, + { + "config": { + "script": "\tbuttonid \u003d self.custom.buttonid\n\tactivityLog.productMetrics.callLogger(self.view, \u0027click\u0027, buttonid)" + }, + "scope": "G", + "type": "script" + } + ] + } + }, + "meta": { + "name": "Icon", + "tooltip": { + "delay": 250, + "enabled": true, + "sustain": 1000, + "text": "Legend" + } + }, + "position": { + "basis": "35px" + }, + "props": { + "color": "#FFFFFF", + "path": "material/legend_toggle", + "style": { + "classes": "", + "marginRight": 20 + } + }, + "type": "ia.display.icon" + }, + { + "children": [ + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.perspective.navigate(page \u003d \"/Real-Time\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Icon" + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "props.color": { + "binding": { + "config": { + "path": "../Label.props.text" + }, + "transforms": [ + { + "code": "\t\n\treturn \"red\" if value \u003e 0 else \"#fff\"", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "material/notifications_active", + "style": { + "classes": "" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "41px" + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "polling": { + "enabled": true, + "rate": "3" + }, + "queryPath": "GetActiveAlarmsByLocationAndPriority", + "returnFormat": "json" + }, + "transforms": [ + { + "code": "\ttotal \u003d sum(row[\"Count\"] for row in value if \"Count\" in row and row[\"Count\"] is not None)\n\treturn total", + "type": "script" + } + ], + "type": "query" + } + } + }, + "props": { + "style": { + "color": "#FFFFFF", + "textAlign": "center" + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "80px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "{./Label.props.text} + \" active alarms in the system\"" + }, + "type": "expr" + } + } + }, + "props": { + "justify": "flex-end", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.container.flex" + }, + { + "meta": { + "hasDelegate": true, + "name": "Spacer End_2" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "props": { + "text": " " + }, + "type": "ia.display.label" + }, + { + "custom": { + "covert": true + }, + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tdevice_list \u003d tags.tag_utilities.get_devices(self.session.custom.fc)\n\ttags.tag_utilities.reset_disconnect_tags(self.session.custom.fc, device_list)\n\tAWS.wbsckt_abort.close_websckt()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Icon_2", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "30px" + }, + "propConfig": { + "custom.heartbeat_received": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "fc": "{session.custom.fc}" + }, + "tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/wbsckt_heartbeat_interval" + }, + "transforms": [ + { + "expression": "if(secondsBetween(todate({value}),todate(now())) \u003e 70, False, True)", + "type": "expression" + } + ], + "type": "tag" + } + }, + "custom.wbsckt_running": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "fc": "{session.custom.fc}" + }, + "tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/wbsckt_running" + }, + "transforms": [ + { + "expression": "if({value} \u003d True \u0026\u0026 ({this.custom.heartbeat_received} \u003d True) , True, False)", + "type": "expression" + } + ], + "type": "tag" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "path": "this.custom.wbsckt_running" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "websocket running" + }, + { + "input": false, + "output": "websocket disconnected" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + } + }, + "props.color": { + "binding": { + "config": { + "path": "this.custom.wbsckt_running" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": false, + "output": "#FF4747" + }, + { + "input": true, + "output": "#FFFFFF" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "path": "material/location_city", + "style": { + "cursor": "pointer" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "shrink": 0 + }, + "propConfig": { + "position.basis": { + "binding": { + "config": { + "expression": "len({this.props.text}) * 11 + \"px\"" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "direct", + "tagPath": "Configuration/FC" + }, + "type": "tag" + } + } + }, + "props": { + "icon": "material/building", + "style": { + "borderWidth": "0.25px", + "color": "#FFFFFF", + "textAlign": "", + "textIndent": 10 + }, + "textStyle": { + "lineBreak": "auto" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Spacer End" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "props": { + "text": " " + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif self.session.props.auth.authenticated:\n\t\tsystem.perspective.logout()\n\telse:\n\t\tsystem.perspective.login()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "User" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "props": { + "path": "material/person", + "style": { + "classes": "Header/Icon", + "color": "#FFFFFF" + } + }, + "type": "ia.display.icon" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tif self.session.props.auth.authenticated:\n\t\tsystem.perspective.logout()\n\telse:\n\t\tsystem.perspective.login()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "hasDelegate": true, + "name": "Sign In" + }, + "position": { + "basis": "50px", + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "{view.params.size} !\u003d \"small\"" + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "path": "session.props.auth.user.userName" + }, + "transforms": [ + { + "code": "\tif len(value) \u003d\u003d 0 or value \u003d\u003d \"null\":\n\t return \"Sign In\"\n\telse:\n\t return value.split(\"@\")[0]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Header/Icon", + "color": "#FFFFFF", + "cursor": "pointer", + "marginLeft": "4px" + } + }, + "type": "ia.display.label" + }, + { + "meta": { + "hasDelegate": true, + "name": "Spacer End_0" + }, + "position": { + "basis": "20px", + "shrink": 0 + }, + "props": { + "text": " " + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.perspective.closeSession()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Exit", + "tooltip": { + "enabled": true, + "location": "bottom-left", + "style": { + "fontFamily": "Arial", + "fontSize": 12 + }, + "tail": false, + "text": "Exit Application" + } + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "props": { + "path": "material/exit_to_app", + "style": { + "classes": "Header/Icon", + "color": "#FFFFFF", + "cursor": "pointer" + } + }, + "type": "ia.display.icon" + }, + { + "meta": { + "hasDelegate": true, + "name": "Spacer End_1" + }, + "position": { + "basis": "16px", + "shrink": 0 + }, + "props": { + "text": " " + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "root" + }, + "props": { + "justify": "flex-end", + "style": { + "background": "rgb(43,43,43)" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/.resources/b1705ac69df214f489ebdc282907493789d00c3f46e183eca254bfc59bbd4cbc b/.resources/b1705ac69df214f489ebdc282907493789d00c3f46e183eca254bfc59bbd4cbc new file mode 100644 index 00000000..5fddbd71 --- /dev/null +++ b/.resources/b1705ac69df214f489ebdc282907493789d00c3f46e183eca254bfc59bbd4cbc @@ -0,0 +1,804 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 1080, + "width": 70 + } + }, + "root": { + "children": [ + { + "children": [ + { + "custom": { + "show": true + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tmap_selected \u003d self.session.custom.alarm_filter.show_map\n\tself.custom.show \u003d False\n\tif not map_selected:\n\t\tsystem.perspective.navigate(\"/autStand\")\n\telse:\n\t\tsystem.perspective.navigate(\"/Home\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Home", + "tooltip": { + "enabled": true, + "text": "Home" + } + }, + "position": { + "basis": "70px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "image": { + "height": 32, + "icon": { + "color": "#FFFFFF", + "path": "material/home" + }, + "position": "top", + "width": 32 + }, + "style": { + "margin": 1 + }, + "text": "Home", + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tif self.props.selected \u003d\u003d True and self.page.props.path \u003d\u003d \"/\":\n\t\tsystem.perspective.navigate(\"/MAP-Home\")\n\t\t\n\telif self.page.props.path \u003d\u003d \"/MAP-Home\":\n\t\tsystem.perspective.navigate(\"/\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "ToggleSwitch", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "60px" + }, + "propConfig": { + "meta.tooltip.text": { + "binding": { + "config": { + "path": "session.custom.alarm_filter.show_map" + }, + "transforms": [ + { + "expression": "if({value}, \"Toggle for home card view\", \"Toggle for home detailed view\")", + "type": "expression" + } + ], + "type": "property" + } + }, + "position.display": { + "binding": { + "config": { + "path": "/root.custom.show_home_selector" + }, + "type": "property" + } + }, + "props.selected": { + "binding": { + "config": { + "bidirectional": true, + "path": "session.custom.alarm_filter.show_map" + }, + "type": "property" + } + } + }, + "props": { + "color": { + "background-color": "", + "selected": "#FFFFFF", + "unselected": "#FFFFFF" + }, + "label": { + "position": "left", + "style": { + "classes": "", + "fontSize": "10px" + }, + "text": "Map View" + }, + "style": { + "borderBottomLeftRadius": "5px", + "borderBottomRightRadius": "5px", + "borderColor": "#AAAAAA", + "borderStyle": "solid", + "borderTopLeftRadius": "5px", + "borderTopRightRadius": "5px", + "borderWidth": "0.5px", + "classes": "Buttons/Button-Menu", + "margin": "1px" + } + }, + "type": "ia.input.toggle-switch" + } + ], + "events": { + "dom": { + "onMouseEnter": { + "config": { + "script": "\tself.parent.custom.show_home_selector \u003d True" + }, + "scope": "G", + "type": "script" + }, + "onMouseLeave": { + "config": { + "script": "\tself.parent.custom.show_home_selector \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "propConfig": { + "position.basis": { + "binding": { + "config": { + "expression": "if({parent.custom.show_home_selector} \u003d True, \"130px\", \"70px\")" + }, + "type": "expr" + } + } + }, + "props": { + "direction": "column", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "custom": { + "show": true + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.perspective.closePopup(\"DevicePopUP\")\n\tsystem.perspective.closePopup(\"StatusPopUP\")\n\tself.custom.show \u003d False\n\tsystem.perspective.navigate(\"/autStand/Alarms\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Alarms", + "tooltip": { + "enabled": true, + "text": "Alarms" + } + }, + "position": { + "basis": "70px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "image": { + "height": 32, + "icon": { + "color": "#FFFFFF", + "path": "material/access_alarm" + }, + "position": "top", + "width": 32 + }, + "style": { + "margin": 1 + }, + "text": "Alarms", + "textStyle": { + "classes": "Text-Styles/Docked-Buttons" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\n\tsystem.perspective.openPopup(id \u003d \"Search\", view \u003d \"PopUp-Views/Search\", \n\t\t\t\t\t\t\t\t\t\t\t\tshowCloseIcon \u003d False, modal \u003d True,\n\t\t\t\t\t\t\t\t\t\t\t\tviewportBound \u003d True,\n\t\t\t\t\t\t\t\t\t\t\t\tdraggable \u003d False,\n\t\t\t\t\t\t\t\t\t\t\t\toverlayDismiss \u003d True\n\t\t\t\t\t\t\t\t\t\t\t\t)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "search", + "tooltip": { + "enabled": true, + "text": "Search" + } + }, + "position": { + "basis": "70px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "image": { + "height": 32, + "icon": { + "color": "#FFFFFF", + "path": "material/search" + }, + "position": "top", + "width": 32 + }, + "style": { + "margin": 1 + }, + "text": "Search", + "textStyle": { + "classes": "Text-Styles/Docked-Buttons" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tself.session.custom.searchId \u003d \"\"\n\tself.session.custom.deviceSearchId \u003d \"\"\n\tsystem.perspective.closePopup(id \u003d \"TagSearch\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Search off", + "tooltip": { + "enabled": true, + "text": "Search Off" + } + }, + "position": { + "basis": "70px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "image": { + "height": 32, + "icon": { + "color": "#FFFFFF", + "path": "material/search_off" + }, + "position": "top", + "width": 32 + }, + "style": { + "margin": 1 + }, + "text": "Search Off", + "textStyle": { + "classes": "Text-Styles/Docked-Buttons" + } + }, + "type": "ia.input.button" + }, + { + "custom": { + "show": false + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "draggable": false, + "modal": true, + "overlayDismiss": true, + "position": { + "relativeLocation": "top-right" + }, + "positionType": "relative", + "resizable": false, + "showCloseIcon": false, + "type": "open", + "viewParams": { + "viewFocus": "{session.custom.view_in_focus}" + }, + "viewPath": "autStand/PopUp-Views/Detail-View-Filter", + "viewportBound": true + }, + "scope": "C", + "type": "popup" + } + } + }, + "meta": { + "name": "Filter", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "70px" + }, + "propConfig": { + "custom.filters_active": { + "binding": { + "config": { + "expression": "if(\r\n !{session.custom.alarm_filter.show_dpm_mcm} ||\r\n !{session.custom.alarm_filter.show_beacons} ||\r\n !{session.custom.alarm_filter.show_VFD} ||\r\n !{session.custom.alarm_filter.show_buttons} ||\r\n !{session.custom.alarm_filter.show_photoeyes} ||\r\n !{session.custom.alarm_filter.show_encoders} ||\r\n !{session.custom.alarm_filter.show_epc} ||\r\n !{session.custom.alarm_filter.show_px} ||\r\n !{session.custom.alarm_filter.show_camera_jams} ||\r\n !{session.custom.alarm_filter.show_fio_safety},\r\n True,\r\n False\r\n)\r\n" + }, + "type": "expr" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "if({this.custom.filters_active}, \"Status Filters are active\",\r\n\"Select Status Filters\")" + }, + "type": "expr" + } + }, + "props.image.icon.color": { + "binding": { + "config": { + "expression": "if({this.custom.filters_active},\r\n\"#FF8C00\",\r\n\"#FFFFFF\")\r\n" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "height": 32, + "icon": { + "path": "material/filter_alt", + "style": { + "classes": "" + } + }, + "position": "top", + "width": 32 + }, + "style": { + "classes": "Buttons/Button-Menu, filter-button", + "margin": 1 + }, + "text": "Filter", + "textStyle": { + "classes": "Text-Styles/Docked-Buttons" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "page": "/Command" + }, + "scope": "C", + "type": "nav" + } + } + }, + "meta": { + "name": "Control", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "70px" + }, + "propConfig": { + "custom.has_role": { + "binding": { + "config": { + "expression": "{session.custom.fc}" + }, + "transforms": [ + { + "code": "#\trme_role \u003d value +\"-rme-all\"\n\trme_role \u003d \"eurme-ignition-developers\"\n\troles \u003d (self.session.props.auth.user.roles)\n\tif (rme_role.lower() in roles \n\tor rme_role.upper() in roles):\n\t\treturn True\n\telse:\n\t\treturn False", + "type": "script" + } + ], + "type": "expr" + } + }, + "meta.tooltip.text": { + "binding": { + "config": { + "expression": "if({this.custom.has_role}\u003d False, \r\n\"You do not have the required role to access this page\",\r\n\"Access controls page\")\r\n" + }, + "type": "expr" + } + }, + "props.style.classes": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "image": { + "height": 32, + "icon": { + "color": "#FFFFFF", + "path": "material/gamepad" + }, + "position": "top", + "width": 32 + }, + "style": { + "margin": 1 + }, + "text": "Control", + "textStyle": { + "classes": "Text-Styles/Docked-Buttons" + } + }, + "type": "ia.input.button" + }, + { + "custom": { + "show": false + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.perspective.navigate(\"/Windows/Statistics\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Statistic", + "tooltip": { + "enabled": true, + "text": "Notifications" + } + }, + "position": { + "basis": "70px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if(isNull({session.custom.download_url}), False, True)" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "image": { + "height": 32, + "icon": { + "color": "#FCFFFC", + "path": "material/leaderboard" + }, + "position": "top", + "width": 32 + }, + "style": { + "classes": "Buttons/Button-Menu", + "color": "#FFFFFF", + "margin": 1 + }, + "text": "Statistic", + "textStyle": { + "classes": "Text-Styles/Docked-Buttons" + } + }, + "type": "ia.input.button" + }, + { + "custom": { + "show": false + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.perspective.navigate(\"/Windows/Status\")\n\tself.session.custom.show_dpm_view \u003d False\n\tself.session.custom.show_dpm_device_view \u003d False" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Status", + "tooltip": { + "enabled": true, + "text": "Notifications" + } + }, + "position": { + "basis": "70px" + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "image": { + "height": 32, + "icon": { + "color": "#FFFFFD", + "path": "material/done" + }, + "position": "top", + "width": 32 + }, + "style": { + "classes": "Buttons/Button-Menu", + "color": "#FFFFFF", + "margin": 1 + }, + "text": "Status", + "textStyle": { + "classes": "Text-Styles/Docked-Buttons" + } + }, + "type": "ia.input.button" + }, + { + "custom": { + "show": false + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.perspective.closePopup(\"DevicePopUP\")\n\tsystem.perspective.closePopup(\"StatusPopUP\")\n\tself.custom.show \u003d False\n\tsystem.perspective.navigate(\"/Help\")" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Help", + "tooltip": { + "enabled": true, + "text": "Navigate to the help wiki" + } + }, + "position": { + "basis": "70px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "image": { + "height": 32, + "icon": { + "color": "#FFFFFF", + "path": "material/help_outline" + }, + "position": "top", + "width": 32 + }, + "style": { + "margin": 1 + }, + "text": "Help", + "textStyle": { + "classes": "Text-Styles/Docked-Buttons" + } + }, + "type": "ia.input.button" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tsystem.perspective.navigateBack()" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Back", + "tooltip": { + "enabled": true, + "text": "Back" + } + }, + "position": { + "basis": "70px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "image": { + "height": 32, + "icon": { + "color": "#FFFFFF", + "path": "material/keyboard_return" + }, + "position": "top", + "width": 32 + }, + "style": { + "margin": 1 + }, + "text": "Back", + "textStyle": { + "fontSize": 10 + } + }, + "type": "ia.input.button" + } + ], + "custom": { + "show_home_selector": true + }, + "meta": { + "name": "root" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "path": "session.props.theme" + }, + "transforms": [ + { + "code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "direction": "column", + "style": {} + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/.resources/bf9c55c998631c1a0409875acf1d5f006fad3ce69548437c917ea6f39c5148a3 b/.resources/bf9c55c998631c1a0409875acf1d5f006fad3ce69548437c917ea6f39c5148a3 new file mode 100644 index 00000000..57e0a096 Binary files /dev/null and b/.resources/bf9c55c998631c1a0409875acf1d5f006fad3ce69548437c917ea6f39c5148a3 differ diff --git a/.resources/d9063706dbfd2e6961314972d133bdae214e997d1cf3c9a3cf27fa9b7f5be7f4 b/.resources/d9063706dbfd2e6961314972d133bdae214e997d1cf3c9a3cf27fa9b7f5be7f4 new file mode 100644 index 00000000..ee9f7cd1 Binary files /dev/null and b/.resources/d9063706dbfd2e6961314972d133bdae214e997d1cf3c9a3cf27fa9b7f5be7f4 differ diff --git a/.resources/d9427c8fad1cdfb75056ce6d7a89672554dbfc8e6896fa44e2c6fc3f5db2c697 b/.resources/d9427c8fad1cdfb75056ce6d7a89672554dbfc8e6896fa44e2c6fc3f5db2c697 new file mode 100644 index 00000000..4533bfb3 --- /dev/null +++ b/.resources/d9427c8fad1cdfb75056ce6d7a89672554dbfc8e6896fa44e2c6fc3f5db2c697 @@ -0,0 +1,181 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 1080, + "width": 1920 + } + }, + "root": { + "children": [ + { + "meta": { + "name": "overview" + }, + "position": { + "height": 1, + "width": 1 + }, + "props": { + "fit": { + "mode": "fill" + }, + "source": "/system/images/overview.svg" + }, + "type": "ia.display.image" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "page": "/mcm01" + }, + "scope": "C", + "type": "nav" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "height": 0.0333, + "width": 0.0646, + "x": 0.1448, + "y": 0.5796 + }, + "props": { + "primary": false, + "text": "MCM01 - FLUID INBOUND" + }, + "type": "ia.input.button" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "page": "/mcm02" + }, + "scope": "C", + "type": "nav" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "height": 0.0333, + "width": 0.0646, + "x": 0.5479, + "y": 0.6722 + }, + "props": { + "primary": false, + "text": "MCM02 - NC SORTER" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Camera" + }, + "position": { + "height": 0.037, + "width": 0.0208, + "x": 0.0042, + "y": 0.3407 + }, + "props": { + "path": "autStand/Equipment/Camera", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Camera_0" + }, + "position": { + "height": 0.037, + "width": 0.0208, + "x": 0.2531, + "y": 0.4 + }, + "props": { + "path": "autStand/Equipment/Camera", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Camera_1" + }, + "position": { + "height": 0.037, + "width": 0.0208, + "x": 0.3953, + "y": 0.5676 + }, + "props": { + "path": "autStand/Equipment/Camera", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Camera_2" + }, + "position": { + "height": 0.037, + "width": 0.0208, + "x": 0.4896, + "y": 0.3778 + }, + "props": { + "path": "autStand/Equipment/Camera", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + }, + { + "meta": { + "name": "Camera_3" + }, + "position": { + "height": 0.037, + "width": 0.0208, + "x": 0.9703, + "y": 0.5778 + }, + "props": { + "path": "autStand/Equipment/Camera", + "style": { + "overflow": "hidden" + } + }, + "type": "ia.display.view" + } + ], + "meta": { + "name": "root" + }, + "props": { + "mode": "percent" + }, + "type": "ia.container.coord" + } +} \ No newline at end of file diff --git a/.resources/f0f04210e901789749397ef29eac3f46647f200a66253f12cc79af30e55ae77e b/.resources/f0f04210e901789749397ef29eac3f46647f200a66253f12cc79af30e55ae77e new file mode 100644 index 00000000..08583971 Binary files /dev/null and b/.resources/f0f04210e901789749397ef29eac3f46647f200a66253f12cc79af30e55ae77e differ diff --git a/BNA8/com.inductiveautomation.perspective/page-config/config.json b/BNA8/com.inductiveautomation.perspective/page-config/config.json index 94040318..6110e325 100644 --- a/BNA8/com.inductiveautomation.perspective/page-config/config.json +++ b/BNA8/com.inductiveautomation.perspective/page-config/config.json @@ -205,6 +205,60 @@ "title": "", "viewPath": "autStand/Overview/BNA8" }, + "/autStand/Alarms": { + "docks": { + "bottom": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "cover", + "handle": "show", + "iconUrl": "", + "id": "autStand", + "modal": false, + "resizable": false, + "show": "onDemand", + "size": 165, + "viewParams": {}, + "viewPath": "autStand/Docked_Views/Footer" + } + ], + "left": [ + { + "anchor": "fixed", + "autoBreakpoint": 805, + "content": "auto", + "handle": "autoHide", + "iconUrl": "", + "id": "Docked-West", + "modal": false, + "resizable": false, + "show": "auto", + "size": 70, + "viewParams": {}, + "viewPath": "autStand/Docked_Views/Docked-West" + } + ], + "top": [ + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "auto", + "handle": "hide", + "iconUrl": "", + "id": "header-autStand", + "modal": false, + "resizable": false, + "show": "visible", + "size": 50, + "viewParams": {}, + "viewPath": "autStand/Docked_Views/Header" + } + ] + }, + "title": "", + "viewPath": "autStand/Alarms/RealTime" + }, "/cameras": { "docks": { "bottom": [ diff --git a/BNA8/com.inductiveautomation.perspective/views/Templates/Areas/FlexChute/view.json b/BNA8/com.inductiveautomation.perspective/views/Templates/Areas/FlexChute/view.json index a4139cb2..e58e21e0 100644 --- a/BNA8/com.inductiveautomation.perspective/views/Templates/Areas/FlexChute/view.json +++ b/BNA8/com.inductiveautomation.perspective/views/Templates/Areas/FlexChute/view.json @@ -246,7 +246,7 @@ "angle": "-90deg" }, "width": 5, - "x": 10, + "x": 5, "y": 15 }, "propConfig": { @@ -306,7 +306,8 @@ }, { "meta": { - "name": "BCN1_AMB" + "name": "BCN1_AMB", + "visible": false }, "position": { "height": 5, diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/resource.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/resource.json new file mode 100644 index 00000000..29415e13 --- /dev/null +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-08-18T16:18:33Z" + }, + "lastModificationSignature": "f1a6186325c1eb03e4a69c27678301699368abd35ff5cdae58977a03dacc26c8" + } +} \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/thumbnail.png b/BNA8/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/thumbnail.png new file mode 100644 index 00000000..bd342cbd Binary files /dev/null and b/BNA8/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/thumbnail.png differ diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/view.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/view.json new file mode 100644 index 00000000..57419edb --- /dev/null +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Alarms/RealTime/view.json @@ -0,0 +1,4744 @@ +{ + "custom": {}, + "params": {}, + "props": { + "defaultSize": { + "height": 1080, + "width": 1920 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "background_on": "false" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpriority \u003d \u0027critical\u0027\n\t# Copy and toggle the filter\n\tpriorities \u003d dict(self.parent.custom.priorities)\n\tpriorities[priority] \u003d not priorities.get(priority, False)\n\tself.parent.custom.priorities \u003d priorities\n\t\n\tself.custom.background_on \u003d \"true\" if priorities[priority] else \"false\"\n\n" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_4" + }, + "position": { + "basis": "125px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "expression": "if({this.custom.background_on}\u003d\"true\",1,0)" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Alarms-Styles/Critical" + }, + { + "input": 0, + "output": "Buttons/PB_1" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "color": "#FFFFFF", + "path": "material/error" + } + }, + "style": { + "margin": 15 + }, + "text": "Critical" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-filters", + "pageScope": true, + "script": "\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"reset\"]\n\tif severity \u003d\u003d \"false\":\n\t\tbackground \u003d \"false\"\n\telse:\n\t\tbackground \u003d \"true\"\n\tself.custom.background_on \u003d background\n\t", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + }, + { + "custom": { + "Severity": "High", + "background_on": "false" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpriority \u003d \u0027high\u0027\n\t# Copy and toggle the filter\n\tpriorities \u003d dict(self.parent.custom.priorities)\n\tpriorities[priority] \u003d not priorities.get(priority, False)\n\tself.parent.custom.priorities \u003d priorities\n\t\n\tself.custom.background_on \u003d \"true\" if priorities[priority] else \"false\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_0" + }, + "position": { + "basis": "120px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "expression": "if({this.custom.background_on}\u003d\"false\",0,\r\nif({session.custom.colours.colour_impaired},2,1))" + }, + "transforms": [ + { + "fallback": "", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "" + }, + { + "input": 1, + "output": "Alarms-Styles/High" + }, + { + "input": 2, + "output": "Alarms-Styles/Alt-Colours/High" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/priority_high" + } + }, + "primary": false, + "style": { + "margin": 15 + }, + "text": "High" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-filters", + "pageScope": true, + "script": "\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"reset\"]\n\tif severity \u003d\u003d \"false\":\n\t\tbackground \u003d \"false\"\n\telse:\n\t\tbackground \u003d \"true\"\n\tself.custom.background_on \u003d background", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_4" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "Severity": "Medium", + "background_on": "false" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpriority \u003d \u0027medium\u0027\n\t# Copy and toggle the filter\n\tpriorities \u003d dict(self.parent.custom.priorities)\n\tpriorities[priority] \u003d not priorities.get(priority, False)\n\tself.parent.custom.priorities \u003d priorities\n\t\n\tself.custom.background_on \u003d \"true\" if priorities[priority] else \"false\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_1" + }, + "position": { + "basis": "120px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "expression": "if({this.custom.background_on}\u003d\"false\",0,\r\nif({session.custom.colours.colour_impaired},2,1))" + }, + "transforms": [ + { + "fallback": "Buttons/PB_1", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "" + }, + { + "input": 1, + "output": "Alarms-Styles/Medium" + }, + { + "input": 2, + "output": "Alarms-Styles/Alt-Colours/Medium" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/priority_high" + } + }, + "primary": false, + "style": { + "margin": 15 + }, + "text": "Medium" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-filters", + "pageScope": true, + "script": "\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"reset\"]\n\tif severity \u003d\u003d \"false\":\n\t\tbackground \u003d \"false\"\n\telse:\n\t\tbackground \u003d \"true\"\n\tself.custom.background_on \u003d background", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "Severity": "Low", + "background_on": "false" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpriority \u003d \u0027low\u0027\n\t# Copy and toggle the filter\n\tpriorities \u003d dict(self.parent.custom.priorities)\n\tpriorities[priority] \u003d not priorities.get(priority, False)\n\tself.parent.custom.priorities \u003d priorities\n\t\n\tself.custom.background_on \u003d \"true\" if priorities[priority] else \"false\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_2" + }, + "position": { + "basis": "120px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "expression": "if({this.custom.background_on}\u003d\"false\",0,\r\nif({session.custom.colours.colour_impaired},2,1))" + }, + "transforms": [ + { + "fallback": "Buttons/PB_1", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "" + }, + { + "input": 1, + "output": "Alarms-Styles/Low" + }, + { + "input": 2, + "output": "Alarms-Styles/Alt-Colours/Low" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/low_priority" + } + }, + "primary": false, + "style": { + "margin": 15 + }, + "text": "Low" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-filters", + "pageScope": true, + "script": "\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"reset\"]\n\tif severity \u003d\u003d \"false\":\n\t\tbackground \u003d \"false\"\n\telse:\n\t\tbackground \u003d \"true\"\n\tself.custom.background_on \u003d background", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label_3" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "background_on": "false" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpriority \u003d \u0027diagnostic\u0027\n\n\tpriorities \u003d dict(self.parent.custom.priorities)\n\tpriorities[priority] \u003d not priorities.get(priority, False)\n\tself.parent.custom.priorities \u003d priorities\n\t\n\tself.custom.background_on \u003d \"true\" if priorities[priority] else \"false\"" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_3" + }, + "position": { + "basis": "120px" + }, + "propConfig": { + "props.style.classes": { + "binding": { + "config": { + "expression": "if({this.custom.background_on}\u003d\"false\",0,\r\nif({session.custom.colours.colour_impaired},2,1))" + }, + "transforms": [ + { + "fallback": "Buttons/PB_1", + "inputType": "scalar", + "mappings": [ + { + "input": 0, + "output": "" + }, + { + "input": 1, + "output": "Alarms-Styles/Diagnostic" + }, + { + "input": 2, + "output": "Alarms-Styles/Alt-Colours/Diagnostic" + } + ], + "outputType": "style-list", + "type": "map" + } + ], + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/warning" + } + }, + "primary": false, + "style": { + "margin": 15 + }, + "text": "Diagnostic" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-filters", + "pageScope": true, + "script": "\t# implement your handler here\n\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"reset\"]\n\tif severity \u003d\u003d \"false\":\n\t\tbackground \u003d \"false\"\n\telse:\n\t\tbackground \u003d \"true\"\n\tself.custom.background_on \u003d background", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + } + ], + "custom": { + "priorities": { + "diagnostic": false, + "high": false, + "low": false, + "medium": false + } + }, + "events": { + "system": { + "onStartup": { + "config": { + "script": "\tself.custom.priorities \u003d {\n\t \"diagnostic\": False,\n\t \"low\": False,\n\t \"medium\": False,\n\t \"high\": False,\n\t}" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "700px", + "shrink": 0 + }, + "props": { + "style": { + "padding": 0 + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "20px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "Severity": "Critical", + "background_on": "false" + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpayload \u003d {}\n\tfilter_on \u003d \"false\"\n\tpayload[\"reset\"] \u003d filter_on\n\tsystem.perspective.sendMessage(\"reset-filters\", payload \u003dpayload, scope \u003d \"page\")\n\tdefault_priorities \u003d {\n\t \"diagnostic\": False,\n\t \"low\": False,\n\t \"medium\": False,\n\t \"high\": False,\n\t \"critical\": False\n\t}\n\tself.parent.parent.parent.getChild(\"FlexContainer_0\").getChild(\"Table\").props.filter.text \u003d \"\"\n\tself.parent.parent.getChild(\"FlexContainer\").custom.priorities \u003d default_priorities" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button" + }, + "position": { + "basis": "120px" + }, + "props": { + "image": { + "icon": { + "color": "#000000", + "path": "material/clear" + } + }, + "primary": false, + "style": { + "margin": 15 + }, + "text": "Reset" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "button-severity-indicator", + "pageScope": true, + "script": "\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"severity\"]\n\tbutton_severity \u003d self.custom.Severity\n\tif severity \u003d\u003d button_severity:\n\t\tbackground \u003d \"true\"\n\telse:\n\t\tbackground \u003d \"false\"\n\t\n\tself.custom.background_on \u003d background\n\t", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label_2" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + }, + { + "custom": { + "Severity": "High", + "background_on": "true", + "update_on": false + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tfrom datetime import datetime\n\ttry:\n\t # Get table data\n\t data \u003d self.parent.parent.parent.getChild(\"FlexContainer_0\").getChild(\"Table\").props.data\n\t \n\t column_order \u003d [\n\t \"ID\",\n\t \"StartTimestamp\", \n\t \"Duration\",\n\t \"Priority\",\n\t \"Location\",\n\t \"Description\",\n\t \"Tag\"\n\t ]\n\t\n\t # CSV header\n\t csv_content \u003d \",\".join(column_order) + \"\\n\"\n\t \n\t def unwrap(v):\n\t\t\tif hasattr(v, \u0027value\u0027):\n\t\t\t\treturn str(v.value)\n\t \t\n\t\t\treturn v\n\t \n\t if data and len(data) \u003e 0:\n\t for item in data:\n\t row_data \u003d []\n\t \n\t for col in column_order:\n\t # Look for the column in the current item\n\t if col in item:\n\t cell \u003d item[col]\n\t # Extract the value from the nested structure\n\t if isinstance(cell, dict) and \"value\" in cell:\n\t raw_value \u003d cell[\"value\"]\n\t else:\n\t raw_value \u003d cell\n\t else:\n\t raw_value \u003d \"\"\n\t \n\t # Process and clean the value\n\t processed_value \u003d unwrap(raw_value).replace(\",\", \";\")\n\t row_data.append(processed_value)\n\t \n\t csv_content +\u003d \",\".join(row_data) + \"\\n\"\n\t else:\n\t csv_content +\u003d \"No alarms in current view\\n\"\n\t\n\texcept Exception as e:\n\t system.perspective.print(\"Export Error: \" + str(e))\n\t csv_content \u003d \"Export failed\\n\"\n\t\n\tcsv_bytes \u003d csv_content.encode(\"utf-8\")\n\tsystem.perspective.download(\"active_alarms.csv\", csv_bytes) \n\t \n\t \n\t \n\t\n#\t if data and len(data) \u003e 0:\n#\t for row in data:\n#\t val \u003d row.get(\"value\", {})\n#\t row_data \u003d [\n#\t str(val.get(\"NumberID\", \"\")),\n#\t str(val.get(\"EventTimestamp\", \"\")),\n#\t str(val.get(\"Duration\", \"\")),\n#\t str(val.get(\"Priority\", \"\")),\n#\t str(val.get(\"Description\", \"\")),\n#\t str(val.get(\"Tag\", \"\"))\n#\t ]\n#\t\n#\t # Escape commas for CSV safety\n#\t row_data \u003d [field.replace(\",\", \";\") for field in row_data]\n#\t csv_content +\u003d \",\".join(row_data) + \"\\n\"\n#\t else:\n#\t csv_content +\u003d \"No alarms in current view\\n\"\n#\t\n#\texcept Exception as e:\n#\t system.perspective.print(\"Error during CSV export: \" + str(e))\n#\t csv_content \u003d \"Error exporting alarm data\\n\"\n#\t\n#\t# Convert to bytes and trigger download\n#\tcsv_bytes \u003d csv_content.encode(\u0027utf-8\u0027)\n#\tsystem.perspective.download(\"active_alarms.csv\", csv_bytes)\n " + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_1" + }, + "position": { + "basis": "120px" + }, + "props": { + "image": { + "icon": { + "path": "material/import_export" + } + }, + "primary": false, + "style": { + "margin": 15 + }, + "text": "Export" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "button-severity-indicator", + "pageScope": true, + "script": "\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"severity\"]\n\tbutton_severity \u003d self.custom.Severity\n\tif severity \u003d\u003d button_severity:\n\t\tbackground \u003d \"true\"\n\telse:\n\t\tbackground \u003d \"false\"\n\t\n\tself.custom.background_on \u003d background", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "10px" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "513px", + "shrink": 0 + }, + "props": { + "style": { + "padding": 0 + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "70px", + "shrink": 0 + }, + "props": { + "alignContent": "flex-start", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "component": { + "onRowDoubleClick": { + "config": { + "script": "\n\tmyData \u003d self.props.selection.data\n\n\talarms.alarm_click.handleClick(myData)\n\t\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "972.9px" + }, + "propConfig": { + "custom.priorities": { + "binding": { + "config": { + "path": ".../FlexContainer/FlexContainer.custom.priorities" + }, + "transforms": [ + { + "code": "\t\n\tpriority_to_number \u003d {\n\t \"critical\": 4,\n\t \"high\": 3,\n\t \"medium\": 2,\n\t \"low\": 1,\n\t \"diagnostic\": 0\n\t}\n\t\n\t\n\t# Collect enabled priorities\n\tenabled \u003d [str(priority_to_number[k]) for k, v in value.items() if v]\n\t\n\tresult \u003d \",\".join(enabled)\n\t\n\tif not result:\n\t\treturn \"\"\n\t\n\treturn result\n\t\n", + "type": "script" + } + ], + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "parameters": { + "priorityList": "{this.custom.priorities}" + }, + "polling": { + "enabled": true, + "rate": "3" + }, + "queryPath": "Alarms-autStand/GetActiveAlarms" + }, + "transforms": [ + { + "code": "\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d [col for col in ds.columnNames if col !\u003d \"EndTimestamp\"]\n\t\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data", + "type": "script" + } + ], + "type": "query" + } + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "NumberID", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "Number (ID)" + }, + "justify": "left", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY HH:mm:ss", + "editable": false, + "field": "StartTimestamp", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "Event Timestamp" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Duration", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "equals", + "value": "" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "string", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Priority", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Location", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "ascending", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 70 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Description", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 150 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Tag", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 80 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "FullTag", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "", + "display": "none" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Device", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "", + "display": "none" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + } + ], + "emptyMessage": { + "noData": { + "text": "No Active Alarms" + }, + "noFilterResults": { + "text": "No Active Alarms" + } + }, + "filter": { + "enabled": true, + "results": { + "enabled": true + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "480px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Active_tab" + }, + "props": { + "direction": "column", + "justify": "space-evenly" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tfrom datetime import datetime\n\t\n\ttry:\n\t data \u003d self.parent.parent.getChild(\"FlexContainer_0\").getChild(\"AlarmsTable\").props.data\n\t\n\t column_order \u003d [\n\t \"FirstTimestamp\",\n\t \"LastTimestamp\", \n\t \"Count\",\n\t \"Duration\",\n\t \"Priority\",\n\t \"Location\",\n\t \"Description\",\n\t \"Tag\"\n\t ]\n\t\n\t csv_content \u003d \",\".join(column_order) + \"\\n\"\n\t \t\n\t def unwrap(v):\n\t\t\tif hasattr(v, \u0027value\u0027):\n\t\t\t\treturn str(v.value)\n\t \t\n\t\t\treturn v\n\t \t\n\t if data and len(data) \u003e 0:\n\t for item in data:\n\t row_data \u003d []\n\t \n\t for col in column_order:\n\t # Look for the column in the current item\n\t if col in item:\n\t cell \u003d item[col]\n\t # Extract the value from the nested structure\n\t if isinstance(cell, dict) and \"value\" in cell:\n\t raw_value \u003d cell[\"value\"]\n\t else:\n\t raw_value \u003d cell\n\t else:\n\t raw_value \u003d \"\"\n\t \n\t # Process and clean the value\n\t processed_value \u003d unwrap(raw_value).replace(\",\", \";\")\n\t row_data.append(processed_value)\n\t \n\t csv_content +\u003d \",\".join(row_data) + \"\\n\"\n\t else:\n\t csv_content +\u003d \"No alarms in current view\\n\"\n\t\n\texcept Exception as e:\n\t system.perspective.print(\"Export Error: \" + str(e))\n\t csv_content \u003d \"Export failed\\n\"\n\t\n\tcsv_bytes \u003d csv_content.encode(\"utf-8\")\n\tsystem.perspective.download(\"active_alarms.csv\", csv_bytes)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button_1" + }, + "position": { + "basis": "120px" + }, + "props": { + "image": { + "icon": { + "path": "material/import_export" + } + }, + "primary": false, + "style": { + "margin": 15 + }, + "text": "Export" + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "button-severity-indicator", + "pageScope": true, + "script": "\tbackground \u003d \"false\"\n\tseverity \u003d payload[\"severity\"]\n\tbutton_severity \u003d self.custom.Severity\n\tif severity \u003d\u003d button_severity:\n\t\tbackground \u003d \"true\"\n\telse:\n\t\tbackground \u003d \"false\"\n\t\n\tself.custom.background_on \u003d background", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "70px" + }, + "props": { + "alignContent": "flex-start", + "style": { + "overflow": "visible" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "events": { + "component": { + "onRowDoubleClick": { + "config": { + "script": "\t\n\tmyData \u003d self.props.selection.data\n\n\talarms.alarm_click.handleClick(myData)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "AlarmsTable" + }, + "position": { + "basis": "1080px", + "grow": 1 + }, + "propConfig": { + "props.data": { + "binding": { + "config": { + "polling": { + "enabled": true, + "rate": "3" + }, + "queryPath": "Alarms-autStand/GetAlarmsWithCount" + }, + "transforms": [ + { + "code": "\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d list(ds.columnNames)\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data\n", + "type": "script" + } + ], + "type": "query" + } + }, + "props.editingCell": { + "onChange": { + "enabled": null, + "script": "\tall_alarms \u003d system.alarm.queryStatus(includeShelved\u003dTrue)\n\tshelved_alarms \u003d [alarm for alarm in all_alarms if alarm.isShelved()]\n\t\n\t# Build dataset for table\n\theaders \u003d [\u0027ID\u0027, \u0027StartTimestamp\u0027, \u0027EndTimestamp\u0027, \u0027Duration\u0027, \u0027Description\u0027, \u0027Priority\u0027, \u0027Tag\u0027, \u0027MCM\u0027]\n\tdata \u003d []\n\t\n\tfor alarm in shelved_alarms:\n\t # Calculate duration (time since shelved)\n\t if alarm.activeTime:\n\t duration_ms \u003d system.date.now().getTime() - alarm.activeTime.getTime()\n\t duration_seconds \u003d duration_ms / 1000\n\t hours \u003d int(duration_seconds / 3600)\n\t minutes \u003d int((duration_seconds % 3600) / 60)\n\t seconds \u003d int(duration_seconds % 60)\n\t duration \u003d \"%02d:%02d:%02d\" % (hours, minutes, seconds)\n\t else:\n\t duration \u003d \"00:00:00\"\n\t \n\t # Extract tag name from source\n\t tag_name \u003d alarm.source.split(\u0027/\u0027)[-1] if \u0027/\u0027 in alarm.source else alarm.source\n\t \n\t row \u003d [\n\t str(alarm.id) if hasattr(alarm, \u0027id\u0027) else \u0027\u0027,\n\t alarm.activeTime if alarm.activeTime else system.date.now(),\n\t None, # End timestamp (shelved alarms don\u0027t have end time yet)\n\t duration,\n\t alarm.displayPath if alarm.displayPath else alarm.source,\n\t alarm.priority.name if alarm.priority else \u0027Unknown\u0027,\n\t tag_name,\n\t \u0027System\u0027 # Adjust based on your source format\n\t ]\n\t data.append(row)\n\t\n\t# Create dataset and update the custom property\n\tdataset \u003d system.dataset.toDataSet(headers, data)\n\tself.custom.shelvedAlarmsData \u003d dataset" + } + }, + "props.selection": { + "persistent": true + } + }, + "props": { + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY HH:mm:ss", + "editable": false, + "field": "FirstTimestamp", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "backgroundColor": "#FFFEFE", + "classes": "" + }, + "title": "First Timestamp" + }, + "justify": "left", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "value", + "dateFormat": "MM-DD-YYYY HH:mm:ss", + "editable": false, + "field": "LastTimestamp", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "Last Timestamp" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "none", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM-DD-YYYY HH:mm:ss", + "editable": false, + "field": "Count", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "none", + "editable": false, + "field": "Duration", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "none", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Priority", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Location", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Description", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": 150 + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Tag", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "FullTag", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "", + "display": "none" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Device", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "", + "display": "none" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + } + ], + "emptyMessage": { + "noData": { + "text": "No Alarms" + }, + "noFilterResults": { + "text": "No Alarms" + } + }, + "filter": { + "enabled": true, + "results": { + "enabled": true + } + } + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "500px", + "grow": 1 + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Hit_List" + }, + "position": { + "tabIndex": 1 + }, + "props": { + "direction": "column", + "justify": "space-evenly" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "custom": { + "SetFilter": false + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tpayload \u003d {}\n\tif self.custom.SetFilter \u003d\u003d True:\n\t\tpayload[\"data\"] \u003d False\n\t\tself.custom.SetFilter \u003d False\n\t\t\n\t\n\telif self.custom.SetFilter \u003d\u003d False:\n\t\tpayload[\"data\"] \u003d True\n\t\tself.custom.SetFilter \u003d True\n\t\n\tsystem.perspective.sendMessage(\"show-historical-filters\", payload \u003d payload, scope \u003d \"page\")\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Button", + "tooltip": { + "enabled": true, + "style": { + "background-color": "white", + "borderColor": "#000000", + "borderStyle": "solid", + "borderWidth": "1px", + "box-shadow": "5px 5px 5px grey", + "color": "#000000", + "fontFamily": "Arial", + "fontWeight": "normal" + }, + "text": "Show Filters" + } + }, + "position": { + "basis": "120px" + }, + "props": { + "image": { + "icon": { + "path": "material/filter_alt" + }, + "position": "center" + }, + "primary": false, + "style": { + "margin": 15, + "marginLeft": 20 + }, + "text": "" + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "281px" + }, + "props": { + "style": { + "color": "#FF0000", + "margin-left": "20px" + }, + "text": "ALL TIMESTAMPS ARE IN UTC" + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Show filters" + }, + "position": { + "basis": "70px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label_1" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "fontFamily": "Arial", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Period:" + }, + "type": "ia.display.label" + }, + { + "custom": { + "customTime": false, + "endDate": { + "$": [ + "ts", + 192, + 1750436956149 + ], + "$ts": 1750436956149 + }, + "startDate": { + "$": [ + "ts", + 192, + 1750436956149 + ], + "$ts": 1750435156149 + } + }, + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "props.value": { + "onChange": { + "enabled": null, + "script": "\n\tstart \u003d \"\"\n\tend \u003d \"\"\n\tnow \u003d system.date.now()\n\tpreviousDay \u003d system.date.addDays(now, -1)\n\tvalue \u003d currentValue.value \n\n\tif value \u003d\u003d \"custom\":\n\t\tself.custom.customTime \u003d True\n\t\treturn\n\telif value \u003d\u003d \"currentDay\":\n\t\tstart \u003d system.date.setTime(now, 0, 0, 0)\n\t\tend \u003d now\n\telif value \u003d\u003d \"morning\":\n\t\tstart \u003d system.date.setTime(now, 2, 30, 0)\n\t\tend \u003d system.date.setTime(now, 7, 30, 0)\n\telif value \u003d\u003d \"daylight\":\n\t\tstart \u003d system.date.setTime(now, 7, 30, 0)\n\t\tend \u003d system.date.setTime(now, 13, 0, 0)\n\telif value \u003d\u003d \"twilight\":\n\t\tstart \u003d system.date.setTime(now, 13, 0, 0)\n\t\tend \u003d now\n\telif value \u003d\u003d \"night\":\n\t\tstart \u003d system.date.setTime(previousDay, 18, 30, 0)\n\t\tend \u003d system.date.setTime(previousDay, 23, 30, 0)\n\telif value \u003d\u003d \"wrapDown\":\n\t\tstart \u003d system.date.setTime(previousDay, 23, 30, 0)\n\t\tend \u003d system.date.setTime(now, 2, 30, 0)\n\telif value \u003d\u003d \"currentShot\":\n\t\tstart \u003d system.date.setTime(now, 13, 0, 0)\n\t\tend \u003d now\n\telse:\n\t\tstart \u003d system.date.addMinutes(now, -int(value))\n\t\tend \u003d now\n\n\tself.custom.customTime \u003d False\n\tself.custom.startDate \u003d start\n\tself.custom.endDate \u003d end" + }, + "persistent": false + } + }, + "props": { + "options": [ + { + "label": "Past 30 Min", + "value": 30 + }, + { + "label": "Past Hour", + "value": 60 + }, + { + "label": "Past 2 Hour", + "value": 120 + }, + { + "label": "Past 4 Hour", + "value": 240 + }, + { + "label": "Past 8 Hour", + "value": 480 + }, + { + "label": "Current Day", + "value": "currentDay" + }, + { + "label": "Morning", + "value": "morning" + }, + { + "label": "Daylight", + "value": "daylight" + }, + { + "label": "Twilight", + "value": "twilight" + }, + { + "label": "Night", + "value": "night" + }, + { + "label": "Wrap Down", + "value": "wrapDown" + }, + { + "label": "Current Shot", + "value": "currentShot" + }, + { + "label": "Custom", + "value": "custom" + } + ], + "style": { + "margin": 15 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-historical-filters", + "pageScope": true, + "script": "\treset \u003d payload[\"data\"]\n\tself.props.value \u003d None", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.dropdown" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "fontFamily": "Arial", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Start Date" + }, + "type": "ia.display.label" + }, + { + "custom": { + "max_duration_days": 10 + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tmessaging.message_handler.set_time_from_filters(self)\n\t" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "DateTimeInput", + "tooltip": { + "enabled": true + } + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "../Dropdown.custom.customTime" + }, + "type": "property" + } + }, + "props.maxDate": { + "binding": { + "config": { + "expression": "now()" + }, + "type": "expr" + } + }, + "props.minDate": { + "access": "PUBLIC", + "binding": { + "config": { + "expression": "addDays(now(),-{this.custom.max_duration_days})" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "path": "../Dropdown.custom.startDate" + }, + "type": "property" + }, + "onChange": { + "enabled": null, + "script": "\tmessaging.message_handler.set_time_from_filters(self)" + } + } + }, + "props": { + "formattedValue": "Jun 20, 2025 7:59 PM", + "style": { + "margin": 15 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-historical-filters", + "pageScope": true, + "script": "\treset \u003d payload[\"data\"]\n\tself.props.value \u003d None", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.date-time-input" + }, + { + "meta": { + "name": "Label_0" + }, + "position": { + "basis": "89px" + }, + "props": { + "style": { + "fontFamily": "Arial", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "End Date" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "DateTimeInput_0" + }, + "position": { + "basis": "200px" + }, + "propConfig": { + "props.enabled": { + "binding": { + "config": { + "path": "../Dropdown.custom.customTime" + }, + "type": "property" + } + }, + "props.maxDate": { + "binding": { + "config": { + "expression": "now()" + }, + "enabled": false, + "type": "expr" + } + }, + "props.minDate": { + "binding": { + "config": { + "expression": "addDays(now(),-10)" + }, + "type": "expr" + } + }, + "props.value": { + "binding": { + "config": { + "path": "../Dropdown.custom.endDate" + }, + "type": "property" + }, + "onChange": { + "enabled": null, + "script": "\tmessaging.message_handler.set_time_to_filters(self)" + }, + "persistent": true + } + }, + "props": { + "formattedValue": "Jun 20, 2025 8:29 PM", + "maxDate": { + "$": [ + "ts", + 192, + 1749542669794 + ], + "$ts": 1749715452000 + }, + "style": { + "margin": 15 + }, + "value": { + "$": [ + "ts", + 201, + 1750436956149 + ], + "$ts": 1750436956149 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-historical-filters", + "pageScope": true, + "script": "\treset \u003d payload[\"data\"]\n\tself.props.value \u003d None", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.date-time-input" + } + ], + "meta": { + "name": "Time" + }, + "position": { + "basis": "70px", + "shrink": 0 + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "100px" + }, + "props": { + "style": { + "fontFamily": "Arial", + "fontWeight": "bold", + "textAlign": "center" + }, + "text": "Priority" + }, + "type": "ia.display.label" + }, + { + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\tmessaging.message_handler.set_priority_filters(self)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Dropdown" + }, + "position": { + "basis": "490px" + }, + "propConfig": { + "props.value": { + "persistent": false + } + }, + "props": { + "options": [ + { + "label": "Diagnostic", + "value": "diagnostic" + }, + { + "label": "Low", + "value": "low" + }, + { + "label": "Medium", + "value": "medium" + }, + { + "label": "High", + "value": "high" + }, + { + "label": "All", + "value": "" + } + ], + "style": { + "margin": 15 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "reset-historical-filters", + "pageScope": true, + "script": "\treset \u003d payload[\"data\"]\n\tself.props.value \u003d None", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.dropdown" + } + ], + "meta": { + "name": "Priority" + }, + "position": { + "basis": "70px", + "shrink": 0 + }, + "type": "ia.container.flex" + } + ], + "custom": { + "ShowFilters": false + }, + "meta": { + "name": "Filters" + }, + "position": { + "basis": "180px", + "display": false, + "grow": 1, + "shrink": 0 + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "path": "this.custom.ShowFilters" + }, + "type": "property" + }, + "persistent": true + } + }, + "props": { + "direction": "column", + "style": { + "borderStyle": "solid", + "borderWidth": "1px", + "box-shadow": "0 4px 20px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)", + "marginBottom": 10, + "marginLeft": 20, + "marginRight": 20, + "marginTop": 10 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "show-historical-filters", + "pageScope": true, + "script": "\tshow \u003d payload[\"data\"]\n\tself.custom.ShowFilters \u003d show", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "max_duration": { + "$": [ + "ts", + 192, + 1748426336635 + ], + "$ts": 1747562336635 + }, + "priority_filters": "", + "time_from_filter": { + "$": [ + "ts", + 192, + 1755532385239 + ], + "$ts": 1750435156149 + }, + "time_to_filter": { + "$": [ + "ts", + 192, + 1755532385239 + ], + "$ts": 1750436956149 + } + }, + "events": { + "component": { + "onRowDoubleClick": { + "config": { + "script": "\t\n\tmyData \u003d self.props.selection.data\n\n\talarms.alarm_click.handleClick(myData)" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Table" + }, + "position": { + "basis": "1920px", + "grow": 1 + }, + "propConfig": { + "props.columns[1].filter.date.value": { + "binding": { + "config": { + "path": "this.custom.time_from_filter" + }, + "type": "property" + } + }, + "props.columns[2].filter.date.value": { + "binding": { + "config": { + "path": "this.custom.time_to_filter" + }, + "type": "property" + } + }, + "props.columns[2].filter.number.value": { + "binding": { + "config": { + "path": "this.custom.time_to_filter" + }, + "enabled": false, + "type": "property" + } + }, + "props.columns[5].filter.string.value": { + "binding": { + "config": { + "path": "this.custom.priority_filters" + }, + "type": "property" + } + }, + "props.data": { + "binding": { + "config": { + "polling": { + "enabled": true, + "rate": "3" + }, + "queryPath": "Alarms-autStand/GetAlarms" + }, + "transforms": [ + { + "code": "\n\tfrom system.dataset import toPyDataSet\n\n\tds \u003d toPyDataSet(value)\n\tdata \u003d []\n\n\tcolumn_names \u003d list(ds.columnNames)\n\n\tfor row in ds:\n\t\tpriority \u003d row[\"Priority\"]\n\n\t\t# Use style class names from Perspective\n\t\tif priority \u003d\u003d \"High\":\n\t\t\tclassName \u003d \"Alarms-Styles/High\"\n\t\telif priority \u003d\u003d \"Medium\":\n\t\t\tclassName \u003d \"Alarms-Styles/Medium\"\n\t\telif priority \u003d\u003d \"Low\":\n\t\t\tclassName \u003d \"Alarms-Styles/Low\"\n\t\telif priority \u003d\u003d \"Diagnostic\":\n\t\t\tclassName \u003d \"Alarms-Styles/Diagnostic\"\n\t\telse:\n\t\t\tclassName \u003d \"Alarms-Styles/NoAlarm\"\n\n\t\t# Apply the style class to all cells in the row\n\t\trow_dict \u003d {\n\t\t\tcol: {\n\t\t\t\t\"value\": row[col],\n\t\t\t\t\"style\": { \"classes\": className }\n\t\t\t} for col in column_names\n\t\t}\n\t\tdata.append(row_dict)\n\n\treturn data", + "type": "script" + } + ], + "type": "query" + } + } + }, + "props": { + "box-shadow": "0 4px 20px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)", + "columns": [ + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "none", + "editable": false, + "field": "ID", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "", + "paddingLeft": 12 + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY HH:mm:ss", + "editable": false, + "field": "StartTimestamp", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "later than date time" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "Start Timestamp" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "none", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY HH:mm:ss", + "editable": false, + "field": "EndTimestamp", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "earlier than date time" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "End Timestamp" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "none", + "editable": false, + "field": "Duration", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "", + "paddingLeft": 12 + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "none", + "editable": false, + "field": "Description", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Priority", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "contains" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Location", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "equals", + "value": "" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Tag", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": true, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "contains", + "value": "" + }, + "visible": "never" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "center", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "center", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "FullTag", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "", + "display": "none" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + }, + { + "align": "center", + "boolean": "checkbox", + "dateFormat": "MM/DD/YYYY", + "editable": false, + "field": "Device", + "filter": { + "boolean": { + "condition": "" + }, + "date": { + "condition": "", + "value": "" + }, + "enabled": false, + "number": { + "condition": "", + "value": "" + }, + "string": { + "condition": "", + "value": "" + }, + "visible": "on-hover" + }, + "footer": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "header": { + "align": "center", + "justify": "left", + "style": { + "classes": "" + }, + "title": "" + }, + "justify": "auto", + "nullFormat": { + "includeNullStrings": false, + "nullFormatValue": "", + "strict": false + }, + "number": "value", + "numberFormat": "0,0.##", + "progressBar": { + "bar": { + "color": "", + "style": { + "classes": "" + } + }, + "max": 100, + "min": 0, + "track": { + "color": "", + "style": { + "classes": "" + } + }, + "value": { + "enabled": true, + "format": "0,0.##", + "justify": "center", + "style": { + "classes": "" + } + } + }, + "render": "auto", + "resizable": true, + "sort": "none", + "sortable": true, + "strictWidth": false, + "style": { + "classes": "", + "display": "none" + }, + "toggleSwitch": { + "color": { + "selected": "", + "unselected": "" + } + }, + "viewParams": {}, + "viewPath": "", + "visible": true, + "width": "" + } + ], + "emptyMessage": { + "noData": { + "text": "No Alarms" + }, + "noFilterResults": { + "text": "No Alarms" + } + }, + "enabled": true, + "filter": { + "enabled": true, + "results": { + "enabled": true + } + }, + "pager": { + "bottom": false + }, + "style": { + "margin": 20 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "update-first-request", + "pageScope": true, + "script": "\tdata \u003d payload[\"data\"]\n\tinitial_data \u003d payload[\"initial_data\"]\n\tself.props.data \u003d data\n\tself.custom.initial_data \u003d initial_data", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "update-historical-data", + "pageScope": true, + "script": "\thistorical_data \u003d payload[\"data\"]\n\tself.props.data \u003d historical_data", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "load_initial_data", + "pageScope": true, + "script": "\trequest \u003d payload[\"data\"]\n\tsystem.perspective.print(\"initial message received\")\n\tif request \u003d\u003d True:\n\t\tself.props.data \u003d self.custom.initial_data", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "reset-historical-filters", + "pageScope": true, + "script": "\treset \u003d payload[\"data\"]\n\tif reset \u003d\u003d \"reset\":\n\t\tself.props.data \u003d []\n\t\tself.custom.device_filters \u003d None\n\t\tself.custom.priority_filters \u003d None\n\t\tself.custom.source_id_filters \u003d None\n\t\tself.custom.time_from_filter \u003d None\n\t\tself.custom.time_to_filter \u003d None\n\t\tself.custom.type_filters \u003d None\n\t\tself.custom.duration_filter \u003d None\n\t\tself.props.enabled \u003dTrue", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-source-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.source_id_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-device-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.device_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-priority-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.priority_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-from-filters", + "pageScope": true, + "script": "\ttime \u003d payload[\"data\"]\n\tself.custom.time_from_filter \u003d time", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-to-filters", + "pageScope": true, + "script": "\ttime \u003d payload[\"data\"]\n\tself.custom.time_to_filter \u003d time", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-type-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.type_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-duration-filters", + "pageScope": true, + "script": "\tduration \u003d payload[\"data\"]\n\tself.custom.duration_filter \u003d duration", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.display.table" + } + ], + "meta": { + "name": "Table" + }, + "position": { + "basis": "980px", + "grow": 1 + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "update-historical-data", + "pageScope": true, + "script": "#\tdata \u003d payload[\"data\"]\n#\tself.getChild(\"Table\").props.data \u003d data", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "custom": { + "download_in_progress": true, + "enable_timeout": false, + "priority_filters": "", + "time_from_filter": { + "$": [ + "ts", + 192, + 1755532385239 + ], + "$ts": 1750435156149 + }, + "time_to_filter": { + "$": [ + "ts", + 192, + 1755532385239 + ], + "$ts": 1750436956149 + }, + "type_filters": null + }, + "events": { + "component": { + "onActionPerformed": { + "config": { + "script": "\n from datetime import datetime\n def format_date(value):\n\t\tif isinstance(value, (int, long)) and value \u003e 10000000:\n\t\t\ttimestamp \u003d system.date.fromMillis(value)\n\t\t\treturn system.date.format(timestamp, \"yyyy-MM-dd HH:mm:ss\")\n\t\t\t\n\t\t# If value is not a valid timestamp, return as-is\n\t\treturn str(value)\n \n try:\n\n # Get filtered data\n table \u003d self.parent.parent.getChild(\"Table\").getChild(\"Table\")\n filtered_data \u003d table.props.filter.results.data\n\n if not filtered_data or len(filtered_data) \u003d\u003d 0:\n system.perspective.print(\"No filtered data to export.\")\n return\n\n # Get correct column order from the table\u0027s column config\n column_order \u003d [col[\"field\"] for col in table.props.columns if \"field\" in col]\n\n csv_content \u003d \",\".join(column_order) + \"\\n\"\n\n # Build rows\n for row_dict in filtered_data:\n row \u003d []\n for col in column_order:\n raw_val \u003d row_dict.get(col, \"\")\n value \u003d format_date(raw_val)\n value \u003d value.replace(\",\", \";\") # CSV safety\n row.append(value)\n csv_content +\u003d \",\".join(row) + \"\\n\"\n\n # Export CSV\n csv_bytes \u003d csv_content.encode(\"utf-8\")\n system.perspective.download(\"filtered_alarms_history.csv\", csv_bytes)\n\n system.perspective.print(\"CSV export completed successfully. Exported %d records.\" % len(filtered_data))\n\n except Exception as e:\n system.perspective.print(\"Export failed: \" + str(e))" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Export", + "tooltip": { + "enabled": true, + "text": "Exports the data displayed in the table." + } + }, + "position": { + "basis": "120px", + "shrink": 0 + }, + "propConfig": { + "custom.disable": { + "binding": { + "config": { + "expression": "if(isNull({this.custom.start_time}), False, secondsBetween({this.custom.start_time}, {this.custom.time_now}))" + }, + "transforms": [ + { + "code": "\tif value \u003e 60:\n\t\tself.custom.enable_timeout \u003d False\n\t\treturn False\n\telse:\n\t\treturn True", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.download_complete": { + "binding": { + "config": { + "path": "session.custom.downloads" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d True:\n\t\tself.custom.download_in_progress \u003d False", + "type": "script" + } + ], + "type": "property" + } + }, + "custom.priority_filters": { + "persistent": true + }, + "custom.start_time": { + "binding": { + "config": { + "expression": "{this.custom.enable_timeout}" + }, + "transforms": [ + { + "code": "\tif value \u003d\u003d True:\n\t\treturn self.custom.time_now", + "type": "script" + } + ], + "type": "expr" + } + }, + "custom.time_from_filter": { + "persistent": true + }, + "custom.time_now": { + "binding": { + "config": { + "expression": "now()" + }, + "type": "expr" + } + }, + "custom.time_to_filter": { + "persistent": true + }, + "props.enabled": { + "binding": { + "config": { + "expression": "!{this.custom.enable_timeout} || !{this.custom.download_in_progress} " + }, + "type": "expr" + } + }, + "props.text": { + "binding": { + "config": { + "expression": "if(!{this.custom.enable_timeout}, \"Export\",\r\nif({this.custom.download_in_progress}, \"Exporting...\",\r\n\"Export\"))" + }, + "type": "expr" + } + } + }, + "props": { + "image": { + "icon": { + "path": "material/import_export" + } + }, + "primary": false, + "style": { + "margin": 15, + "marginLeft": 20 + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "set-source-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.source_id_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-device-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.device_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-message-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.message_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-priority-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.priority_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-from-filters", + "pageScope": true, + "script": "\ttime \u003d payload[\"data\"]\n\tself.custom.time_from_filter \u003d time", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-to-filters", + "pageScope": true, + "script": "\ttime \u003d payload[\"data\"]\n\tself.custom.time_to_filter \u003d time", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "reset-historical-filters", + "pageScope": true, + "script": "\taction \u003d payload[\"data\"]\n\tif action \u003d\u003d \"reset\":\n\t\tself.custom.device_filters \u003d None\n\t\tself.custom.priority_filters \u003d None\n\t\tself.custom.source_id_filters \u003d None\n\t\tself.custom.time_from_filter \u003d None\n\t\tself.custom.time_to_filter \u003d None\n\t\tself.custom.type_filters \u003d None\n\t\tself.custom.duration_filter \u003d None\n\t\tself.props.enabled \u003dTrue\n\t\t", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-type-filters", + "pageScope": true, + "script": "\tfilters \u003d payload[\"data\"]\n\tself.custom.type_filters \u003d filters", + "sessionScope": false, + "viewScope": false + }, + { + "messageType": "set-duration-filters", + "pageScope": true, + "script": "\tduration \u003d payload[\"data\"]\n\tself.custom.duration_filter \u003d duration", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.input.button" + }, + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "580px", + "grow": 1 + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Paginate" + }, + "position": { + "basis": "70px", + "shrink": 0 + }, + "props": { + "justify": "space-evenly" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Background-Styles/Grey-Background" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Historical_tab" + }, + "position": { + "tabIndex": 2 + }, + "props": { + "direction": "column", + "justify": "space-evenly" + }, + "type": "ia.container.flex" + } + ], + "custom": { + "shelvedAlarms": [] + }, + "meta": { + "name": "TabContainer" + }, + "position": { + "basis": "300px", + "grow": 1 + }, + "propConfig": { + "props.currentTabIndex": { + "onChange": { + "enabled": null, + "script": "\n\tif self.props.currentTabIndex !\u003d 0:\n\t\tpayload \u003d {}\n\t\tfilter_on \u003d \"false\"\n\t\tpayload[\"reset\"] \u003d filter_on\n\t\tsystem.perspective.sendMessage(\"reset-filters\", payload \u003dpayload, scope \u003d \"page\")\n\t\t\n\tif currentValue.value \u003d\u003d 1:\n\t shelved_info \u003d system.alarm.getShelvedPaths()\n\t alarms \u003d system.alarm.queryStatus(includeShelved\u003dTrue)\n\t \n\t tableData \u003d []\n\t \n\t for alarm in alarms:\n\t if alarm.isShelved() and not alarm.isAcked() and not alarm.isCleared():\n\t # Get alarm path as string\n\t alarm_path \u003d str(alarm.getSource())\n\t \n\t # Get active time\n\t activeData \u003d alarm.getActiveData()\n\t startTime \u003d activeData.getTimestamp() if activeData else None\n\t \n\t # Find shelved info for this alarm\n\t shelveEntry \u003d \"\"\n\t \n\t for shelved_item in shelved_info:\n\t shelved_str \u003d str(shelved_item)\n\t \n\t if alarm_path in shelved_str:\n\t # Extract the value part (after the first comma)\n\t if \",\" in shelved_str:\n\t start_idx \u003d shelved_str.find(\",\")\n\t shelveEntry \u003d shelved_str[start_idx + 1:].rstrip(\"}\")\n\t break\n\t \n\t # Parse shelved information\n\t expiration \u003d \"\"\n\t \n\t if shelveEntry:\n\t \n\t # Extract expiration (between \"expiration:\" and \",\")\n\t if \"expiration:\" in shelveEntry:\n\t exp_part \u003d shelveEntry.split(\"expiration:\")[1]\n\t if \",\" in exp_part:\n\t expiration \u003d exp_part.split(\",\")[0].strip()\n\t else:\n\t expiration \u003d exp_part.strip()\n\t \n\t tableData.append({\n\t \"name\": alarm.getName(),\n\t \"path\": alarm_path,\n\t \"activeTime\": system.date.format(system.date.fromMillis(startTime), \"yyyy-MM-dd HH:mm:ss\"),\n\t \"expirationTime\": expiration,\n\t \"priority\": str(alarm.getPriority())\n\t })\n\t \n\t self.custom.shelvedAlarms \u003d tableData\n\t \n\t\t\n\ttry:\n\t\tpageid \u003d self.view.custom.activityLogger.alt_pageid + \u0027/\u0027+ self.props.tabs[previousValue.value]\n\t\tpageid \u003d pageid.replace(\u0027 \u0027,\u0027\u0027)\n\t\tpayload \u003d activityLog.productMetrics.createActivityPayload(self.view, \u0027page\u0027, pageid, pageid)\n\t\tself.view.custom.activityLogger.start_time \u003d system.date.now()\n\t\tif payload:\n\t\t\tsystem.perspective.sendMessage(\u0027activityLogger-TabChanged\u0027, payload \u003d payload, scope \u003d \u0027page\u0027)\n\texcept:\n\t\tpass" + } + } + }, + "props": { + "contentStyle": { + "classes": "Background-Styles/Grey-Background" + }, + "currentTabIndex": 2, + "menuType": "modern", + "style": { + "classes": "Background-Styles/Grey-Background" + }, + "tabSize": { + "width": 140 + }, + "tabStyle": { + "active": { + "backgroundColor": "#EEEEEE", + "borderLeftColor": "#7FFF00", + "borderLeftStyle": "solid", + "borderLeftWidth": 5, + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "color": "#000000", + "fontFamily": "Arial", + "fontWeight": "bold", + "outlineStyle": "none", + "textDecoration": "underline" + }, + "inactive": { + "backgroundColor": "#D7D7D7", + "borderLeftColor": "#FFFFFF", + "borderTopLeftRadius": 5, + "borderTopRightRadius": 5, + "color": "#969696", + "fontFamily": "Arial" + } + }, + "tabs": [ + "Active Alarms", + "Alarm Hit List", + "Historical" + ] + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "root" + }, + "props": { + "style": { + "classes": "Background-Styles/Main-Background" + } + }, + "scripts": { + "customMethods": [], + "extensionFunctions": null, + "messageHandlers": [ + { + "messageType": "activityLogger-TabChanged", + "pageScope": true, + "script": "\t# implement your handler here\n\tif payload:\n\t\tactivityLog.productMetrics.callActivityLoggerAPI(payload)", + "sessionScope": false, + "viewScope": false + } + ] + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Docked_Views/Docked-West/view.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Docked_Views/Docked-West/view.json index 1b3b1c47..5fddbd71 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Docked_Views/Docked-West/view.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Docked_Views/Docked-West/view.json @@ -13,7 +13,7 @@ "children": [ { "custom": { - "show": false + "show": true }, "events": { "component": { @@ -196,13 +196,13 @@ }, { "custom": { - "show": false + "show": true }, "events": { "component": { "onActionPerformed": { "config": { - "script": "\tsystem.perspective.closePopup(\"DevicePopUP\")\n\tsystem.perspective.closePopup(\"StatusPopUP\")\n\tself.custom.show \u003d False\n\tsystem.perspective.navigate(\"/Real-Time\")" + "script": "\tsystem.perspective.closePopup(\"DevicePopUP\")\n\tsystem.perspective.closePopup(\"StatusPopUP\")\n\tself.custom.show \u003d False\n\tsystem.perspective.navigate(\"/autStand/Alarms\")" }, "scope": "G", "type": "script" diff --git a/BNA8/ignition/named-query/Alarms-autStand/GetActiveAlarms/query.sql b/BNA8/ignition/named-query/Alarms-autStand/GetActiveAlarms/query.sql new file mode 100644 index 00000000..96d13722 --- /dev/null +++ b/BNA8/ignition/named-query/Alarms-autStand/GetActiveAlarms/query.sql @@ -0,0 +1,62 @@ +WITH Active AS ( + SELECT + ae.id, + ae.eventtime, + ae.eventid, + ae.source, + ae.priority, + ae.displaypath, + TIMESTAMPDIFF(SECOND, ae.eventtime, NOW()) AS duration_seconds + FROM alarm_events ae + WHERE ae.eventtype = 0 + AND NOT EXISTS ( + SELECT 1 FROM alarm_events ae_clear + WHERE ae_clear.eventid = ae.eventid + AND ae_clear.eventtype = 1 + ) + AND ae.displaypath NOT LIKE '%System Startup%' + AND ae.source NOT LIKE '%System Startup%' + -- Priority filter using FIND_IN_SET for comma-separated values + AND ( + :priorityList IS NULL + OR :priorityList = '' + OR FIND_IN_SET(ae.priority, :priorityList) > 0 + ) + GROUP BY ae.id +), +SingleMyTag AS ( + SELECT aed.id, aed.strValue + FROM alarm_event_data aed + WHERE aed.propname = 'myTag' + GROUP BY aed.id +) +SELECT + Active.id AS ID, + Active.eventtime AS StartTimestamp, + NULL AS EndTimestamp, -- no end time since it's still active + CONCAT( + LPAD(FLOOR(Active.duration_seconds / 3600), 2, '0'), ':', + LPAD(FLOOR((Active.duration_seconds % 3600) / 60), 2, '0'), ':', + LPAD(Active.duration_seconds % 60, 2, '0') + ) AS Duration, + CONCAT(Active.displaypath, ' - ', SUBSTRING_INDEX(Active.source, ':/alm:', -1)) AS Description, + CASE Active.priority + WHEN 0 THEN 'Diagnostic' + WHEN 1 THEN 'Low' + WHEN 2 THEN 'Medium' + WHEN 3 THEN 'High' + WHEN 4 THEN 'Critical' + ELSE 'Unknown' + END AS Priority, + CONCAT( + Active.displaypath, + '.HMI.', + SUBSTRING_INDEX(aed.strValue, '/', -1) + ) AS Tag, + SUBSTRING_INDEX(SUBSTRING_INDEX(aed.strValue, '/', 2), '/', -1) AS Location , + aed.strValue AS FullTag, + Active.displaypath as Device +FROM Active +LEFT JOIN SingleMyTag aed + ON aed.id = Active.id +ORDER BY Active.eventtime DESC; \ No newline at end of file diff --git a/BNA8/ignition/named-query/Alarms-autStand/GetActiveAlarms/resource.json b/BNA8/ignition/named-query/Alarms-autStand/GetActiveAlarms/resource.json new file mode 100644 index 00000000..ffc18bf1 --- /dev/null +++ b/BNA8/ignition/named-query/Alarms-autStand/GetActiveAlarms/resource.json @@ -0,0 +1,40 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "MariaDB", + "fallbackEnabled": false, + "lastModificationSignature": "cf47efbfe13b48021895feacfbb1dece1a6026c2e0c5b1fac39ae2f66500bce0", + "permissions": [ + { + "zone": "default", + "role": "" + } + ], + "lastModification": { + "actor": "external", + "timestamp": "2025-08-08T11:51:47Z" + }, + "parameters": [ + { + "type": "Parameter", + "identifier": "priorityList", + "sqlType": 7 + } + ] + } +} \ No newline at end of file diff --git a/BNA8/ignition/named-query/Alarms-autStand/GetActiveAlarmsByLocationAndPriority/query.sql b/BNA8/ignition/named-query/Alarms-autStand/GetActiveAlarmsByLocationAndPriority/query.sql new file mode 100644 index 00000000..6726facc --- /dev/null +++ b/BNA8/ignition/named-query/Alarms-autStand/GetActiveAlarmsByLocationAndPriority/query.sql @@ -0,0 +1,31 @@ +WITH Active AS ( + SELECT + ae.id, + ae.eventid, + ae.priority, + aed.strValue + FROM alarm_events ae + LEFT JOIN alarm_event_data aed ON ae.id = aed.id AND aed.propname = 'myTag' + WHERE ae.eventtype = 0 + AND NOT EXISTS ( + SELECT 1 FROM alarm_events ae_clear + WHERE ae_clear.eventid = ae.eventid + AND ae_clear.eventtype = 1 + ) + AND ae.displaypath NOT LIKE '%System Startup%' + AND ae.source NOT LIKE '%System Startup%' +) +SELECT + SUBSTRING_INDEX(SUBSTRING_INDEX(strValue, '/', 2), '/', -1) AS Location, + CASE priority + WHEN 0 THEN 'Diagnostic' + WHEN 1 THEN 'Low' + WHEN 2 THEN 'Medium' + WHEN 3 THEN 'High' + WHEN 4 THEN 'Critical' + ELSE 'Unknown' + END AS Priority, + COUNT(*) AS Count +FROM Active +GROUP BY Location, Priority +ORDER BY Location, Priority; diff --git a/BNA8/ignition/named-query/Alarms-autStand/GetActiveAlarmsByLocationAndPriority/resource.json b/BNA8/ignition/named-query/Alarms-autStand/GetActiveAlarmsByLocationAndPriority/resource.json new file mode 100644 index 00000000..b03c94b9 --- /dev/null +++ b/BNA8/ignition/named-query/Alarms-autStand/GetActiveAlarmsByLocationAndPriority/resource.json @@ -0,0 +1,33 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "MariaDB", + "fallbackEnabled": false, + "lastModificationSignature": "80f83b24faa23ffaeab4f29512af25ef545b9e049281c352198e65c896d0461b", + "permissions": [ + { + "zone": "default", + "role": "" + } + ], + "lastModification": { + "actor": "external", + "timestamp": "2025-08-18T15:48:26Z" + } + } +} \ No newline at end of file diff --git a/BNA8/ignition/named-query/Alarms-autStand/GetAlarms/query.sql b/BNA8/ignition/named-query/Alarms-autStand/GetAlarms/query.sql new file mode 100644 index 00000000..b029688b --- /dev/null +++ b/BNA8/ignition/named-query/Alarms-autStand/GetAlarms/query.sql @@ -0,0 +1,71 @@ +WITH Active AS ( + SELECT + ae.id, + ae.eventtime, + ae.eventid, + ae.source, + ae.priority, + ae.displaypath, + TIMESTAMPDIFF(SECOND, ae.eventtime, COALESCE(ae_clear.eventtime, NOW())) AS duration_seconds + FROM alarm_events ae + LEFT JOIN alarm_events ae_clear + ON ae.eventid = ae_clear.eventid AND ae_clear.eventtype = 1 + WHERE ae.eventtype = 0 + AND ae.displaypath NOT LIKE '%System Startup%' + AND ae.source NOT LIKE '%System Startup%' + GROUP BY ae.id -- Ensure one row per alarm +), +SingleMyTag AS ( + SELECT aed.id, aed.strValue + FROM alarm_event_data aed + WHERE aed.propname = 'myTag' + GROUP BY aed.id -- Collapse duplicates by id +), +SingleClear AS ( + SELECT eventid, MIN(eventtime) AS eventtime + FROM alarm_events + WHERE eventtype = 1 + GROUP BY eventid +) + +SELECT + Active.id AS ID, + Active.eventtime AS StartTimestamp, + Clear.eventtime AS EndTimestamp, + + CONCAT( + LPAD(FLOOR(Active.duration_seconds / 3600), 2, '0'), ':', + LPAD(FLOOR((Active.duration_seconds % 3600) / 60), 2, '0'), ':', + LPAD(Active.duration_seconds % 60, 2, '0') + ) AS Duration, + + CONCAT(Active.displaypath, ' - ', SUBSTRING_INDEX(Active.source, ':/alm:', -1)) AS Description, + + CASE Active.priority + WHEN 0 THEN 'Diagnostic' + WHEN 1 THEN 'Low' + WHEN 2 THEN 'Medium' + WHEN 3 THEN 'High' + WHEN 4 THEN 'Critical' + ELSE 'Unknown' + END AS Priority, + + CONCAT( + Active.displaypath, + '.HMI.', + SUBSTRING_INDEX(aed.strValue, '/', -1) + ) AS Tag, + + SUBSTRING_INDEX(SUBSTRING_INDEX(aed.strValue, '/', 2), '/', -1) AS Location , + aed.strValue AS FullTag, + Active.displaypath as Device + +FROM Active + +LEFT JOIN SingleClear Clear + ON Active.eventid = Clear.eventid + +LEFT JOIN SingleMyTag aed + ON aed.id = Active.id + +ORDER BY Active.eventtime DESC; diff --git a/BNA8/ignition/named-query/Alarms-autStand/GetAlarms/resource.json b/BNA8/ignition/named-query/Alarms-autStand/GetAlarms/resource.json new file mode 100644 index 00000000..ed2ffbf2 --- /dev/null +++ b/BNA8/ignition/named-query/Alarms-autStand/GetAlarms/resource.json @@ -0,0 +1,33 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "MariaDB", + "fallbackEnabled": false, + "lastModificationSignature": "357393576fe650f77047d722c3a7e592f814406f28a97d27c235d6e891d7ff2a", + "permissions": [ + { + "zone": "default", + "role": "" + } + ], + "lastModification": { + "actor": "external", + "timestamp": "2025-08-08T11:51:47Z" + } + } +} \ No newline at end of file diff --git a/BNA8/ignition/named-query/Alarms-autStand/GetAlarmsWithCount/query.sql b/BNA8/ignition/named-query/Alarms-autStand/GetAlarmsWithCount/query.sql new file mode 100644 index 00000000..0cd98a19 --- /dev/null +++ b/BNA8/ignition/named-query/Alarms-autStand/GetAlarmsWithCount/query.sql @@ -0,0 +1,64 @@ +SELECT + CONCAT(Active.displaypath, ' - ', SUBSTRING_INDEX(Active.source, ':/alm:', -1)) AS Description, + + SUBSTRING_INDEX(SUBSTRING_INDEX(aed.strValue, '/', 2), '/', -1) AS Location, + + -- Formatted OPC-style tag + CONCAT( + Active.displaypath, + '.HMI.', + SUBSTRING_INDEX(aed.strValue, '/', -1) + ) AS Tag, + + CASE Active.priority + WHEN 0 THEN 'Diagnostic' + WHEN 1 THEN 'Low' + WHEN 2 THEN 'Medium' + WHEN 3 THEN 'High' + WHEN 4 THEN 'Critical' + ELSE 'Unknown' + END AS Priority, + + -- First and last seen times for this alarm + MIN(Active.eventtime) AS FirstTimestamp, + MAX(Active.eventtime) AS LastTimestamp, + + -- Total duration summed from each active-clear pair + CONCAT( + LPAD(FLOOR(SUM(Active.duration_seconds) / 3600), 2, '0'), ':', + LPAD(FLOOR((SUM(Active.duration_seconds) % 3600) / 60), 2, '0'), ':', + LPAD(SUM(Active.duration_seconds) % 60, 2, '0') + ) AS Duration, + + -- Total number of activations + COUNT(*) AS Count, + + -- Newly added columns + aed.strValue AS FullTag, + Active.displaypath AS Device + +FROM ( + SELECT + ae.id, + ae.source, + ae.eventid, + ae.eventtime, + ae.priority, + ae.displaypath, + TIMESTAMPDIFF(SECOND, ae.eventtime, COALESCE(ae_clear.eventtime, NOW())) AS duration_seconds + FROM alarm_events ae + LEFT JOIN alarm_events ae_clear + ON ae.eventid = ae_clear.eventid AND ae_clear.eventtype = 1 + WHERE ae.eventtype = 0 + AND ae.displaypath NOT LIKE '%System Startup%' + AND ae.source NOT LIKE '%System Startup%' +) AS Active + +-- OPC tag path for building .hmi.Tag output +LEFT JOIN alarm_event_data aed + ON aed.id = Active.id AND aed.propname = 'myTag' + +-- 🔹 Group by the full unique alarm key (tag + alarm name) +GROUP BY Active.source, Active.displaypath, aed.strValue + +ORDER BY FirstTimestamp DESC; diff --git a/BNA8/ignition/named-query/Alarms-autStand/GetAlarmsWithCount/resource.json b/BNA8/ignition/named-query/Alarms-autStand/GetAlarmsWithCount/resource.json new file mode 100644 index 00000000..737fd4b9 --- /dev/null +++ b/BNA8/ignition/named-query/Alarms-autStand/GetAlarmsWithCount/resource.json @@ -0,0 +1,33 @@ +{ + "scope": "DG", + "version": 2, + "restricted": false, + "overridable": true, + "files": [ + "query.sql" + ], + "attributes": { + "useMaxReturnSize": false, + "autoBatchEnabled": false, + "fallbackValue": "", + "maxReturnSize": 100, + "cacheUnit": "SEC", + "type": "Query", + "enabled": true, + "cacheAmount": 1, + "cacheEnabled": false, + "database": "MariaDB", + "fallbackEnabled": false, + "lastModificationSignature": "7763890ee1746da8f25d0591716a167839949a337cf74bc0932b0f7e5ea4534b", + "permissions": [ + { + "zone": "default", + "role": "" + } + ], + "lastModification": { + "actor": "external", + "timestamp": "2025-08-18T15:48:26Z" + } + } +} \ No newline at end of file diff --git a/BNA8/ignition/script-python/messaging/message_handler/code.py b/BNA8/ignition/script-python/messaging/message_handler/code.py new file mode 100644 index 00000000..c4da4af4 --- /dev/null +++ b/BNA8/ignition/script-python/messaging/message_handler/code.py @@ -0,0 +1,6 @@ +def set_priority_filters(self): + filters = self.props.value + payload = {} + payload["data"] = filters + system.perspective.sendMessage("set-priority-filters", payload = payload, + scope = "page") \ No newline at end of file diff --git a/BNA8/ignition/script-python/messaging/message_handler/resource.json b/BNA8/ignition/script-python/messaging/message_handler/resource.json new file mode 100644 index 00000000..4a128837 --- /dev/null +++ b/BNA8/ignition/script-python/messaging/message_handler/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "A", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "code.py" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-08-18T16:17:47Z" + }, + "hintScope": 2, + "lastModificationSignature": "f67ab11f1918cf781f4baa586423a5f4cb4c5f47cc67fb6afec9305d7f8dc371" + } +} \ No newline at end of file