{ "custom": { "FCU_tagPath": [], "backupdata": [ "[Ignition_Common_IO_Gtwy]ER1185/SATB1_HS2_EL1185_FCU01", "[Ignition_Common_IO_Gtwy]MDF1187/SATB1_HS2_MDF1187_FCU02", "[Ignition_Common_IO_Gtwy]MDF1187/SATB1_HS2_MDF1187_FCU03", "[Ignition_Common_IO_Gtwy]ER1160/SATB1_HS2_EL1160_FCU04", "[Ignition_Common_IO_Gtwy]IDF1174/SATB1_HS2_IDF1174_FCU05", "[Ignition_Common_IO_Gtwy]IDF1154/SATB1_HS2_IDF1154_FCU06", "[Ignition_Common_IO_Gtwy]MDF1149/SATB1_HS2_MDF1149_FCU07", "[Ignition_Common_IO_Gtwy]MDF1149/SATB1_HS2_MDF1149_FCU08", "[Ignition_Common_IO_Gtwy]FS1285/SATB1_HS2_FS1285_FCU09", "[Ignition_Common_IO_Gtwy]IDF1286/SATB1_HS2_IDF1286_FCU10", "[Ignition_Common_IO_Gtwy]IDF1286/SATB1_HS2_IDF1286_FCU11", "[Ignition_Common_IO_Gtwy]ER1287/SATB1_HS2_EL1287_FCU12", "[Ignition_Common_IO_Gtwy]ER1284/SATB1_HS2_EL1284_FCU13", "[Ignition_Common_IO_Gtwy]IDF1274/SATB1_HS2_IDF1274_FCU14", "[Ignition_Common_IO_Gtwy]IDF1264/SATB1_HS2_IDF1264_FCU15", "[Ignition_Common_IO_Gtwy]ER1128/SATB1_HS2_EL1128_FCU16", "[Ignition_Common_IO_Gtwy]MR1125/SATB1_HS2_ME1125_FCU17", "[Ignition_Common_IO_Gtwy]ER1229/SATB1_HS2_EL1229_FCU18", "[Ignition_Common_IO_Gtwy]IDF1218/SATB1_HS2_IDF1218_FCU19", "[Ignition_Common_IO_Gtwy]IDF1122/SATB1_HS2_IDF1122_FCU20", "[Ignition_Common_IO_Gtwy]FS1232/SATB1_HS2_FS1232_FCU21", "[Ignition_Common_IO_Gtwy]MR1132/SATB1_HS2_ME1132_FCU22", "[Ignition_Common_IO_Gtwy]RM1138/SATB1_HS2_RM1138_FCU23", "[Ignition_Common_IO_Gtwy]RM1138/SATB1_HS2_RM1138_FCU24", "[Ignition_Common_IO_Gtwy]RM1138/SATB1_HS2_RM1138_FCU25", "[Ignition_Common_IO_Gtwy]RM1138/SATB1_HS2_RM1138_FCU26", "[Ignition_Common_IO_Gtwy]RM1219/SATB1_HS2_RM1219_FCU27", "[Ignition_Common_IO_Gtwy]RM1193/SATB1_HS2_RM1193_FCU28", "[Ignition_Common_IO_Gtwy]RM1234/SATB1_HS2_RM1234_FCU29" ], "data": [ "[Ignition_Common_IO_Gtwy]ER1185/SATB1_HS2_EL1185_FCU01", "[Ignition_Common_IO_Gtwy]MDF1187/SATB1_HS2_MDF1187_FCU02", "[Ignition_Common_IO_Gtwy]MDF1187/SATB1_HS2_MDF1187_FCU03", "[Ignition_Common_IO_Gtwy]ER1160/SATB1_HS2_EL1160_FCU04", "[Ignition_Common_IO_Gtwy]IDF1174/SATB1_HS2_IDF1174_FCU05", "[Ignition_Common_IO_Gtwy]IDF1154/SATB1_HS2_IDF1154_FCU06", "[Ignition_Common_IO_Gtwy]MDF1149/SATB1_HS2_MDF1149_FCU07", "[Ignition_Common_IO_Gtwy]MDF1149/SATB1_HS2_MDF1149_FCU08", "[Ignition_Common_IO_Gtwy]FS1285/SATB1_HS2_FS1285_FCU09", "[Ignition_Common_IO_Gtwy]IDF1286/SATB1_HS2_IDF1286_FCU10", "[Ignition_Common_IO_Gtwy]IDF1286/SATB1_HS2_IDF1286_FCU11", "[Ignition_Common_IO_Gtwy]ER1287/SATB1_HS2_EL1287_FCU12", "[Ignition_Common_IO_Gtwy]ER1284/SATB1_HS2_EL1284_FCU13", "[Ignition_Common_IO_Gtwy]IDF1274/SATB1_HS2_IDF1274_FCU14", "[Ignition_Common_IO_Gtwy]IDF1264/SATB1_HS2_IDF1264_FCU15", "[Ignition_Common_IO_Gtwy]ER1128/SATB1_HS2_EL1128_FCU16", "[Ignition_Common_IO_Gtwy]MR1125/SATB1_HS2_ME1125_FCU17", "[Ignition_Common_IO_Gtwy]ER1229/SATB1_HS2_EL1229_FCU18", "[Ignition_Common_IO_Gtwy]IDF1218/SATB1_HS2_IDF1218_FCU19", "[Ignition_Common_IO_Gtwy]IDF1122/SATB1_HS2_IDF1122_FCU20", "[Ignition_Common_IO_Gtwy]FS1232/SATB1_HS2_FS1232_FCU21", "[Ignition_Common_IO_Gtwy]MR1132/SATB1_HS2_ME1132_FCU22", "[Ignition_Common_IO_Gtwy]RM1138/SATB1_HS2_RM1138_FCU23", "[Ignition_Common_IO_Gtwy]RM1138/SATB1_HS2_RM1138_FCU24", "[Ignition_Common_IO_Gtwy]RM1138/SATB1_HS2_RM1138_FCU25", "[Ignition_Common_IO_Gtwy]RM1138/SATB1_HS2_RM1138_FCU26", "[Ignition_Common_IO_Gtwy]RM1219/SATB1_HS2_RM1219_FCU27", "[Ignition_Common_IO_Gtwy]RM1193/SATB1_HS2_RM1193_FCU28", "[Ignition_Common_IO_Gtwy]RM1234/SATB1_HS2_RM1234_FCU29" ], "selectedRoom": "MDF1187", "tagPath": "[Ignition_Common_IO_Gtwy]" }, "params": {}, "propConfig": { "custom.FCU_tagPath": { "binding": { "config": { "struct": { "selected": "{view.custom.selectedRoom}" }, "waitOnAll": true }, "transforms": [ { "code": "\tselected \u003d value[\"selected\"]\n\tpath \u003d str(self.view.custom.tagPath) + selected\n\ttags \u003d system.tag.browse(path,{\"typeId\":\"Objects/Air/FCU\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\toutput \u003d []\n\tfor item in tags:\n\t\toutput.append(item[\"fullPath\"])\n\treturn output", "type": "script" } ], "type": "expr-struct" }, "persistent": true }, "custom.backupdata": { "persistent": true }, "custom.data": { "persistent": true }, "custom.selectedRoom": { "persistent": true }, "custom.tagPath": { "persistent": true } }, "props": { "defaultSize": { "width": 1200 } }, "root": { "children": [ { "children": [ { "meta": { "name": "FlexRepeater" }, "propConfig": { "props.instances": { "binding": { "config": { "path": "view.custom.FCU_tagPath" }, "enabled": false, "transforms": [ { "code": "\toutput \u003d []\n\tfor item in value:\n\t\toutput.append({\"instanceStyle\":{\"classes\": \"\"},\n\t\t\t\t\t\t\"instancePosition\":{},\n\t\t\t\t\t\t\"embedded\": False,\n\t\t\t\t\t\t\"objectName\": \"FCU\",\n\t\t\t\t\t\t\"tagPath\": item})\n\treturn output", "type": "script" } ], "type": "property" } } }, "props": { "direction": "column", "instances": [ { "embedded": false, "instancePosition": {}, "instanceStyle": { "classes": "" }, "objectName": "FCU", "tagPath": "[Ignition_Common_IO_Gtwy]MDF1187/SATB1_HS2_MDF1187_FCU02" }, { "embedded": false, "instancePosition": {}, "instanceStyle": { "classes": "" }, "objectName": "FCU", "tagPath": "[Ignition_Common_IO_Gtwy]MDF1187/SATB1_HS2_MDF1187_FCU03" } ], "path": "Library/Diagrams/HVAC/Dgrm_FCU", "style": { "overflow": "visible" }, "useDefaultViewWidth": false }, "type": "ia.display.flex-repeater" } ], "meta": { "name": "Diagram" }, "position": { "basis": "70%", "grow": 1 }, "props": { "alignContent": "center", "alignItems": "center", "direction": "column", "justify": "center", "style": { "backgroundColor": "var(--container)" } }, "type": "ia.container.flex" }, { "children": [ { "meta": { "name": "Label" }, "props": { "text": "Second Floor" }, "type": "ia.display.label" }, { "meta": { "name": "FirstFloor Percent" }, "position": { "basis": "15%", "grow": 1 }, "props": { "path": "Library/Widgets/Layouts/RTU_SecondFloor", "style": { "overflow": "visible" } }, "type": "ia.display.view" }, { "meta": { "name": "Label_0" }, "props": { "text": "First Floor" }, "type": "ia.display.label" }, { "meta": { "name": "FirstFloor Percent_0" }, "position": { "basis": "15%", "grow": 1 }, "props": { "path": "Library/Widgets/Layouts/RTU_FirstFloor", "style": { "overflow": "visible" } }, "type": "ia.display.view" }, { "meta": { "name": "Label_1" }, "props": { "text": "List of devices" }, "type": "ia.display.label" }, { "events": { "component": { "onRowClick": { "config": { "script": "\tpayload \u003d {\"Room\":self.props.selection.data[0].Room}\n\tmessageType \u003d \"updateRoom\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_01_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)\n\tmessageType \u003d \"layout_02_Update\"\n\tsystem.perspective.sendMessage(messageType, payload)" }, "scope": "G", "type": "script" } } }, "meta": { "name": "Table" }, "position": { "basis": "55%" }, "propConfig": { "custom.selectedData": { "binding": { "config": { "path": "this.props.selection.selectedRow" }, "transforms": [ { "code": "\tif value is None:\n\t\tvalue \u003d 0\n\ttagPath \u003d self.props.data[value][\"tagPath\"]\n\ttagPath \u003d tagPath.split(\"/\")\n\ttags \u003d system.tag.browse(tagPath[0],{\"typeId\":\"Objects/Air/FCU\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\treturn tags", "type": "script" } ], "type": "property" } }, "props.data": { "binding": { "config": { "struct": { "paths": "{view.custom.data}", "time": "now(3000)" }, "waitOnAll": false }, "overlayOptOut": true, "transforms": [ { "code": "\toutput \u003d []\n\tdata \u003d value[\"paths\"]\n\t\n\tAlarmSeverity \u003d \"\"\n\tfor item in data:\n\t\t\n\t\t\"\"\"\n\t\tAlmS \u003d alarm.summary.calcMaxPriority(item)\n\t\t\n\t\tif(AlmS \u003d\u003d 1):\n\t\t\tAlarmSeverity \u003d \"Controller\"\n\t\telif(AlmS \u003d\u003d 2):\n\t\t\tAlarmSeverity \u003d \"Info\"\n\t\telif(AlmS \u003d\u003d 3):\n\t\t\tAlarmSeverity \u003d \"Warning\"\n\t\telif(AlmS \u003d\u003d 4):\n\t\t\tAlarmSeverity \u003d \"Critical\"\n\t\telse:\n\t\t\tAlarmSeverity \u003d \" \"\n\t\t\"\"\"\n\t\tST \u003d system.tag.readBlocking(item + \"/Space Temperature\")[0].value\n\t\t#Name \u003d system.tag.readBlocking(item + \"/Meta/EqName\",1000)[0].value\n\t\t#Room \u003d system.tag.readBlocking(item + \"/Meta/Room\",1000)[0].value\n\t\tRoom \u003d item.split(\u0027/\u0027)[0].split(\u0027]\u0027)[1]\n\t\tName \u003d item.split(\u0027_\u0027)[6]\n\t\tpath \u003d item\n\t\toutput.append({ \"ST\": ST,\n\t\t\t\t\t\t\"Name\": Name,\n\t\t\t\t\t\t\"Room\": Room,\n\t\t\t\t\t\t\"AlarmSeverity\": AlarmSeverity,\n\t\t\t\t\t\t\"tagPath\": path})\n\treturn output", "type": "script" } ], "type": "expr-struct" } } }, "props": { "columns": [ { "align": "center", "boolean": "checkbox", "dateFormat": "MM/DD/YYYY", "editable": false, "field": "Name", "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": "Name" }, "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": "flex grow" }, { "align": "center", "boolean": "checkbox", "dateFormat": "MM/DD/YYYY", "editable": false, "field": "Room", "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": "" }, { "align": "center", "boolean": "checkbox", "dateFormat": "MM/DD/YYYY", "editable": false, "field": "ST", "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": "Space Temp" }, "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": "" }, { "align": "center", "boolean": "checkbox", "dateFormat": "MM/DD/YYYY", "editable": false, "field": "AlarmSeverity", "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": "Alarm Severity" }, "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": "" } ], "filter": { "enabled": true } }, "type": "ia.display.table" } ], "custom": { "tagPath": "[Ignition_Common_IO_Gtwy]" }, "meta": { "name": "Location" }, "position": { "basis": "450px", "grow": 1 }, "props": { "direction": "column", "justify": "space-evenly", "style": { "backgroundColor": "var(--container)", "borderBottomLeftRadius": "var(--borderRadius)", "borderBottomRightRadius": "var(--borderRadius)", "borderTopLeftRadius": "var(--borderRadius)", "borderTopRightRadius": "var(--borderRadius)", "boxShadow": "var(--boxShadow2)", "overflow": "visible", "padding": 10 } }, "type": "ia.container.flex" } ], "meta": { "name": "root" }, "props": { "justify": "space-evenly", "style": { "backgroundColor": "var(--containerRoot)", "overflow": "visible", "padding": 15 } }, "scripts": { "customMethods": [], "extensionFunctions": null, "messageHandlers": [ { "messageType": "updateRoom", "pageScope": true, "script": "\t# implement your handler here\n\tself.view.custom.selectedRoom \u003d payload[\"Room\"]", "sessionScope": false, "viewScope": false } ] }, "type": "ia.container.flex" } }