{ "custom": { "tooltip": "Connection Status \nMCP01: Connected MCP02: Connected\nMCP03: Connected MySQL: true" }, "params": {}, "props": { "defaultSize": { "height": 70, "width": 1920 } }, "root": { "children": [ { "meta": { "name": "Label_Date" }, "position": { "height": 33, "width": 90, "x": -0.00070953369140625 }, "propConfig": { "props.text": { "binding": { "config": { "expression": "dateFormat(now(),\"MM.dd.yyyy\")" }, "type": "expr" } } }, "props": { "style": { "borderBottomColor": "#000", "borderBottomStyle": "solid", "borderBottomWidth": "1px", "classes": "Docked/StatusText" }, "textStyle": { "fontFamily": "Arial" } }, "type": "ia.display.label" }, { "meta": { "name": "Label_Time" }, "position": { "height": 33, "width": 90, "y": 33 }, "propConfig": { "props.text": { "binding": { "config": { "expression": "dateFormat(now(),\"HH:mm:ss\")" }, "type": "expr" } } }, "props": { "style": { "borderTopColor": "#000", "borderTopStyle": "solid", "borderTopWidth": "1px", "classes": "Docked/StatusText" }, "textStyle": { "fontFamily": "Arial" } }, "type": "ia.display.label" }, { "meta": { "name": "Label_Site" }, "position": { "height": 66, "width": 90, "x": 88 }, "props": { "style": { "classes": "Docked/StatusText" }, "text": "Amazon", "textStyle": { "fontFamily": "Arial" } }, "type": "ia.display.label" }, { "meta": { "name": "Label_IPAddr" }, "position": { "height": 33, "width": 120, "x": 175.9718761138916, "y": -0.044917883300780836 }, "propConfig": { "props.text": { "binding": { "config": { "path": "session.props.host" }, "type": "property" } } }, "props": { "style": { "borderBottomColor": "#000", "borderBottomStyle": "solid", "borderBottomWidth": "1px", "classes": "Docked/StatusText" }, "textStyle": { "fontFamily": "Arial" } }, "type": "ia.display.label" }, { "events": { "dom": { "onClick": { "config": { "script": "\tif self.session.props.auth.user.userName is not None:\n\t\t#system.perspective.print(\"Logout\")\n\t\tsystem.perspective.logout()\n\telse:\n\t\t#system.perspective.print(\"Login\")\n\t\tsystem.perspective.login()" }, "scope": "G", "type": "script" } } }, "meta": { "name": "Label_User", "tooltip": { "enabled": true, "location": "bottom", "style": { "backgroundColor": "#2B2B2BBF", "color": "#FFFFFF", "fontSize": 14, "textAlign": "left", "white-space": "pre" }, "text": "To log in, click \"LOGIN\". After that, a page \nwill open where you will have the opportunity \nto enter your username and password. \n\nTo log out, click on the username you hovered \nover in this part of the screen." } }, "position": { "height": 33, "width": 120, "x": 175.971876114, "y": 33 }, "propConfig": { "props.text": { "binding": { "config": { "expression": "coalesce({session.props.auth.user.userName}, \"LOGIN\")" }, "type": "expr" } } }, "props": { "style": { "borderTopColor": "#000", "borderTopStyle": "solid", "borderTopWidth": "1px", "classes": "Docked/StatusText", "cursor": "pointer" }, "textStyle": { "fontFamily": "Arial" } }, "type": "ia.display.label" }, { "events": { "component": { "onActionPerformed": [ { "config": { "page": "/help" }, "scope": "C", "type": "nav" }, { "config": { "id": "A0_Overview", "type": "close" }, "scope": "C", "type": "dock" } ] } }, "meta": { "name": "Nav_Legend" }, "position": { "height": 62, "width": 100, "x": 990, "y": 2 }, "props": { "style": { "classes": "Buttons/Grey" }, "text": "Help", "textStyle": { "fontFamily": "Arial" } }, "type": "ia.input.button" }, { "events": { "component": { "onActionPerformed": [ { "config": { "id": "A0_Overview", "type": "open" }, "scope": "C", "type": "dock" }, { "config": { "params": {}, "view": "Empty" }, "scope": "C", "type": "nav" } ] } }, "meta": { "name": "Nav_Overview" }, "position": { "height": 62, "width": 100, "x": 356, "y": 2 }, "props": { "style": { "classes": "Buttons/Grey" }, "text": "Overview", "textStyle": { "fontFamily": "Arial" } }, "type": "ia.input.button" }, { "events": { "component": { "onActionPerformed": { "config": { "action": "Toggle", "type": "Page" }, "scope": "C", "type": "fullscreen" } } }, "meta": { "name": "Nav_ToggleFull" }, "position": { "height": 62, "width": 100, "x": 1092, "y": 2 }, "props": { "style": { "classes": "Buttons/Grey" }, "text": "Fullscreen", "textStyle": { "fontFamily": "Arial" } }, "type": "ia.input.button" }, { "meta": { "name": "Label_Status" }, "position": { "height": 66, "width": 60, "x": 294, "y": -0.02301788330078125 }, "props": { "style": { "classes": "Docked/StatusText" } }, "type": "ia.display.label" }, { "meta": { "name": "Status", "tooltip": { "enabled": true, "location": "bottom", "style": { "backgroundColor": "#2B2B2BBF", "color": "#FFFFFF", "fontSize": 14, "textAlign": "left", "white-space": "pre" } } }, "position": { "height": 40, "width": 40, "x": 304, "y": 13.989049999999999 }, "propConfig": { "custom.Watchdog": { "binding": { "config": { "expression": "now(0)" }, "type": "expr" }, "onChange": { "enabled": null, "script": "\tsystem.tag.writeBlocking([\"[Amazon]CP/Global/AOI/Wathdog\"], [1])" } }, "meta.tooltip.text": { "binding": { "config": { "expression": "\"Connection Status:\"+\r\n\"\\nCP01 PLC: \"+{[System]Gateway/Devices/AB1/Status.value}+ \r\n\"\\nSingulator PLC: \"+{[System]Gateway/Devices/Siemens/Status.value}+\r\n\"\\nSorter PLC: \"+{[System]Gateway/Devices/Interroll/Status.value}+ \r\n\"\\nDatabase: \"+ if({[System]Gateway/Database/MariaDB80/Available.value} \u003d 1,\"Connected\",\"Disconnected\")" }, "type": "expr" } }, "props.elements[0].fill.paint": { "binding": { "config": { "expression": "if ({[Amazon]AWCS_status.value} \u0026\u0026 {[System]Gateway/Devices/AB1/Status.value} \u003d \"Connected\" \u0026\u0026 {[System]Gateway/Devices/Siemens/Status.value} \u003d \"Connected\" \u0026\u0026 {[System]Gateway/Devices/Interroll/Status.value} \u003d \"Connected\" \u0026\u0026 {[System]Gateway/Database/MariaDB80/Available.value} \u003d true \u0026\u0026 {[System]Gateway/Performance/CPU Usage} \u003c 0.9,\r\n\t\"#00FF00\",\r\nif ({[Amazon]AWCS_status.value} \u0026\u0026 {[System]Gateway/Devices/AB1/Status.value} \u003d \"Connected\" \u0026\u0026 {[System]Gateway/Devices/Siemens/Status.value} \u003d \"Connected\" \u0026\u0026 {[System]Gateway/Devices/Interroll/Status.value} \u003d \"Connected\" \u0026\u0026 {[System]Gateway/Database/MariaDB80/Available.value} \u003d true,\r\n\t\"#FFFF00\", \r\nif ({[Amazon]AWCS_status.value} \u0026\u0026 {[System]Gateway/Devices/AB1/Status.value} \u003d \"Connected\" \u0026\u0026 {[System]Gateway/Devices/Siemens/Status.value} \u003d \"Connected\" \u0026\u0026 {[System]Gateway/Devices/Interroll/Status.value} \u003d \"Connected\",\r\n\t\"#0000FF\",\r\n\r\n\"#FF0000\")))" }, "type": "expr" } } }, "props": { "elements": [ { "cx": 20, "cy": 20, "fill": {}, "r": 19, "stroke": { "paint": "#000", "width": 2 }, "style": {}, "type": "circle" } ], "preserveAspectRatio": "none", "style": { "cursor": "pointer" }, "viewBox": "0 0 40 40" }, "type": "ia.shapes.svg" }, { "events": { "dom": { "onClick": [ { "config": { "script": "\tsystem.perspective.navigate(view \u003d \u0027Windows/Alarm\u0027, params \u003d {\u0027tab\u0027:0})" }, "scope": "G", "type": "script" }, { "config": { "id": "A0_Overview", "type": "close" }, "scope": "C", "type": "dock" } ] } }, "meta": { "name": "Nav_ActiveAlarms" }, "position": { "height": 62, "width": 100, "x": 458, "y": 2 }, "props": { "style": { "classes": "Buttons/Grey" }, "text": "Active Alarms", "textStyle": { "fontFamily": "Arial" } }, "type": "ia.input.button" }, { "events": { "dom": { "onClick": [ { "config": { "script": "\tsystem.perspective.navigate(view \u003d \u0027Windows/Alarm\u0027, params \u003d {\u0027tab\u0027:2})" }, "scope": "G", "type": "script" }, { "config": { "id": "A0_Overview", "type": "close" }, "scope": "C", "type": "dock" } ] } }, "meta": { "name": "Nav_HitList" }, "position": { "height": 29, "width": 100, "x": 560, "y": 2 }, "props": { "style": { "classes": "Buttons/Grey" }, "text": "Hit List", "textStyle": { "fontFamily": "Arial" } }, "type": "ia.input.button" }, { "events": { "dom": { "onClick": [ { "config": { "script": "\tsystem.perspective.navigate(view \u003d \u0027Windows/Alarm\u0027, params \u003d {\u0027tab\u0027:1})" }, "scope": "G", "type": "script" }, { "config": { "id": "A0_Overview", "type": "close" }, "scope": "C", "type": "dock" } ] } }, "meta": { "name": "Nav_History" }, "position": { "height": 29, "width": 100, "x": 560, "y": 35 }, "props": { "style": { "classes": "Buttons/Grey" }, "text": "History", "textStyle": { "fontFamily": "Arial" } }, "type": "ia.input.button" }, { "events": { "component": { "onActionPerformed": [ { "config": { "page": "/statistics" }, "scope": "C", "type": "nav" }, { "config": { "id": "A0_Overview", "type": "close" }, "scope": "C", "type": "dock" } ] } }, "meta": { "name": "Nav_Statistics" }, "position": { "height": 62, "width": 100, "x": 662, "y": 2 }, "props": { "style": { "classes": "Buttons/Grey" }, "text": "Statistics", "textStyle": { "fontFamily": "Arial" } }, "type": "ia.input.button" }, { "events": { "component": { "onActionPerformed": [ { "config": { "page": "/status" }, "scope": "C", "type": "nav" }, { "config": { "id": "A0_Overview", "type": "close" }, "scope": "C", "type": "dock" } ] } }, "meta": { "name": "Nav_Status" }, "position": { "height": 62, "width": 100, "x": 764, "y": 2 }, "props": { "style": { "classes": "Buttons/Grey" }, "text": "Status", "textStyle": { "fontFamily": "Arial" } }, "type": "ia.input.button" }, { "events": { "component": { "onActionPerformed": [ { "config": { "page": "/custom-reports" }, "scope": "C", "type": "nav" }, { "config": { "id": "A0_Overview", "type": "close" }, "scope": "C", "type": "dock" } ] } }, "meta": { "name": "Nav_CustomReports" }, "position": { "height": 62, "width": 100, "x": 888, "y": 2 }, "props": { "style": { "classes": "Buttons/Grey" }, "text": "Custom Reports", "textStyle": { "fontFamily": "Arial" } }, "type": "ia.input.button" }, { "events": { "component": { "onActionPerformed": { "config": { "page": "/config" }, "scope": "C", "type": "nav" } } }, "meta": { "name": "Nav_Config", "visible": false }, "position": { "height": 62, "width": 100, "x": 1194, "y": 2 }, "propConfig": { "props.enabled": { "binding": { "config": { "path": "session.props.auth.user.roles" }, "transforms": [ { "code": "\troles \u003d [] # TODO: Fill in roles that should be allowed to go to the config screen\n\treturn value !\u003d None and len(value) \u003e 0 and len([i for i in value if i in roles]) \u003e 0", "type": "script" } ], "type": "property" }, "persistent": true } }, "props": { "enabled": false, "style": { "classes": "Buttons/Grey" }, "text": "Config", "textStyle": { "fontFamily": "Arial" }, "visible": true }, "type": "ia.input.button" }, { "meta": { "name": "LabelFireAlarm", "visible": false }, "position": { "height": 66, "width": 178 }, "propConfig": { "meta.visible": { "binding": { "config": { "expression": "// TODO: Bind fire alarm tags\r\n//floor(getSecond(now())/2) % 2 \u003d 1\r\n//{[Amazon]AWCS_status.value} \u003d false\r\n{[Amazon]CP/CP01/HMI/Fire_Relay_Tripped}" }, "type": "expr" }, "persistent": true }, "props.style.backgroundColor": { "binding": { "config": { "expression": "if(true, // TODO: Bind fire alarm tags here\r\n\tif(getSecond(now()) % 2 \u003d 1,\r\n\t\t\"#FF0\",\r\n\t\t\"#F00\"\r\n\t),\r\n\t\"#AAA\"\r\n)" }, "type": "expr" } } }, "props": { "style": { "borderBottomStyle": "none", "borderBottomWidth": 2, "borderLeftStyle": "solid", "borderLeftWidth": 2, "borderRightStyle": "solid", "borderRightWidth": 2, "borderTopStyle": "none", "borderTopWidth": 2, "fontFamily": "Arial", "fontWeight": "bold", "lineHeight": "16px", "textAlign": "center", "textTransform": "uppercase" }, "text": "Fire Relay Tripped" }, "type": "ia.display.label" }, { "meta": { "name": "Label", "visible": false }, "position": { "height": 32, "width": 641, "x": 1221, "y": 17 }, "propConfig": { "props.text": { "binding": { "config": { "expression": "\"translate(\" + {session.custom.scale_x} + \"px,\" + {session.custom.scale_y} + \"px) \" + \"scale(\" + {session.custom.zoom} + \") \" " }, "type": "expr" } } }, "type": "ia.display.label" }, { "events": { "component": { "onActionPerformed": [ { "config": { "page": "/com" }, "scope": "C", "type": "nav" }, { "config": { "id": "A0_Overview", "type": "close" }, "scope": "C", "type": "dock" } ] } }, "meta": { "name": "Nav_Legend_0" }, "position": { "height": 62, "width": 100, "x": 1800, "y": 2 }, "propConfig": { "meta.visible": { "binding": { "config": { "expression": "isAuthorized(false, \u0027Authenticated/Roles/Administrator\u0027, \u0027Authenticated/Roles/Maintenance\u0027, \u0027Authenticated/Roles/Operator\u0027) //\u0026\u0026 {[Amazon]CP/Global/HMI/Security_Level}" }, "type": "expr" } } }, "props": { "style": { "classes": "Buttons/Grey" }, "text": "commissioning", "textStyle": { "fontFamily": "Arial", "fontSize": 11 } }, "type": "ia.input.button" } ], "meta": { "name": "root" }, "position": { "x": 0, "y": 0 }, "props": { "style": { "background": "#AAA", "border-bottom": "2px solid #000", "border-top": "2px solid #000", "overflow": "auto" } }, "type": "ia.container.coord" } }