{ "custom": { "HUM_tagPath": [], "data": [ "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_HUM_03", "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_HUM_01", "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_HUM_02", "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_HUM_03", "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01", "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_02", "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_HUM_03", "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_HUM_01", "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_HUM_02", "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_HUM_03", "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_HUM_01", "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_HUM_02" ], "room": "GAL1262", "tagPath": "[Ignition_Common_IO_Gtwy]" }, "params": {}, "propConfig": { "custom.HUM_tagPath": { "binding": { "config": { "path": "view.custom.room" }, "transforms": [ { "code": "\tpath \u003d str(self.view.custom.tagPath) + value +\"/\"\n\ttags \u003d system.tag.browse(path,{\"typeId\":\"Objects/Air/HUM\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\toutput \u003d []\n\tfor item in tags:\n\t\toutput.append(item[\"fullPath\"])\n\treturn output\n\t", "type": "script" } ], "type": "property" }, "persistent": true }, "custom.data": { "binding": { "config": { "struct": { "tagPath": "{view.custom.tagPath}", "time": "now(3000)" }, "waitOnAll": true }, "enabled": false, "transforms": [ { "code": "\toutput \u003d []\n\ttags \u003d system.tag.browse(value[\"tagPath\"],{\"typeId\":\"Objects/Air/HUM\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\tfor item in tags:\n\t\ttagPath \u003d str(item[\"fullPath\"])\n\t\toutput.append(tagPath)\n\treturn output", "type": "script" } ], "type": "expr-struct" }, "persistent": true }, "custom.room": { "persistent": true }, "custom.tagPath": { "persistent": true } }, "props": { "defaultSize": { "width": 1200 } }, "root": { "children": [ { "children": [ { "meta": { "name": "FlexRepeater" }, "propConfig": { "props.instances": { "binding": { "config": { "path": "view.custom.HUM_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\": \"HUM\",\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": "HUM", "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01" }, { "embedded": false, "instancePosition": {}, "instanceStyle": { "classes": "" }, "objectName": "HUM", "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_02" } ], "path": "Library/Diagrams/HVAC/Dgrm_HUM", "style": { "gap": 100, "overflow": "visible" }, "useDefaultViewHeight": false, "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(--containerRoot)" } }, "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 \"roomUpdate\"\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.current_values": { "binding": { "config": { "struct": { "data": "{view.custom.data}", "hb": "now(5000)" }, "waitOnAll": true }, "type": "expr-struct" } }, "custom.selectedData": { "binding": { "config": { "struct": { "key": "{view.custom.loading}", "selectedRow": "{this.props.selection.selectedRow}" }, "waitOnAll": true }, "transforms": [ { "code": "\tselected \u003d value[\"selectedRow\"]\n\tif selected is None:\n\t\tselected \u003d 0\n\ttagPath \u003d self.props.data[selected].tagPath\n\ttagPath \u003d tagPath.split(\"/\")\n\ttags \u003d system.tag.browse(tagPath[0],{\"typeId\":\"Objects/Air/HUM\", \"recursive\":True ,\"tagType\":\"UdtInstance\"})\n\treturn tags", "type": "script" } ], "type": "expr-struct" } }, "props.data": { "binding": { "config": { "struct": { "paths": "{view.custom.data}", "time": "now(5000)" }, "waitOnAll": true }, "enabled": false, "transforms": [ { "code": "\toutput \u003d []\n\tdata \u003d value[\"paths\"]\n\tfor item in data:\n\t\tAlmS \u003d alarm.summary.calcMaxPriority(item)\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\tSP \u003d system.tag.readBlocking(item + \"/Config/Relative Humidity Setpoint\")[0].value\n\t\tpathname \u003d item.split(\u0027_\u0027)\n\t\t\n\t\tRoom \u003d pathname[-3]\n\t\tif Room \u003d\u003d \"GAL1261\" or Room \u003d\u003d \"GAL1262\":\n\t\t\tName \u003d \"DH1 \" + pathname[-2] + pathname[-1]\n\t\tif Room \u003d\u003d \"GAL1271\" or Room \u003d\u003d \"GAL1272\":\n\t\t\tName \u003d \"DH2 \" + pathname[-2] + pathname[-1] \n\t\tif Room \u003d\u003d \"GAL1171\" or Room \u003d\u003d \"GAL1172\":\n\t\t\tName \u003d \"DH3 \" + pathname[-2] + pathname[-1] \n\t\tif Room \u003d\u003d \"GAL1281\" or Room \u003d\u003d \"GAL1282\":\n\t\t\tName \u003d \"DH4 \" + pathname[-2] + pathname[-1] \n\t\tif Room \u003d\u003d \"GAL1181\" or Room \u003d\u003d \"GAL1182\":\n\t\t\tName \u003d \"DH5 \" + pathname[-2] + pathname[-1] \n\t\ttagPath \u003d item\n\t\toutput.append({ \"SP\": SP,\n\t\t\t\t\t\t\"Room\": Room,\n\t\t\t\t\t\t\"Name\": Name,\n\t\t\t\t\t\t\"AlarmSeverity\": AlarmSeverity,\n\t\t\t\t\t\t\"tagPath\": tagPath})\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": "" }, "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": "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": "SP", "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": "Setpoint" }, "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": "" } ], "data": [ { "AlarmSeverity": " ", "Name": "DH3 HUM03", "Room": "GAL1171", "SP": 50, "tagPath": "[Ignition_Common_IO_Gtwy]GAL1171/SATB1_GAL1171_HUM_03" }, { "AlarmSeverity": " ", "Name": "DH3 HUM01", "Room": "GAL1172", "SP": 50, "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_HUM_01" }, { "AlarmSeverity": " ", "Name": "DH3 HUM02", "Room": "GAL1172", "SP": 50, "tagPath": "[Ignition_Common_IO_Gtwy]GAL1172/SATB1_GAL1172_HUM_02" }, { "AlarmSeverity": " ", "Name": "DH1 HUM03", "Room": "GAL1261", "SP": 50, "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_HUM_03" }, { "AlarmSeverity": " ", "Name": "DH1 HUM01", "Room": "GAL1262", "SP": 50, "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_01" }, { "AlarmSeverity": " ", "Name": "DH1 HUM02", "Room": "GAL1262", "SP": 50, "tagPath": "[Ignition_Common_IO_Gtwy]GAL1262/SATB1_GAL1262_HUM_02" }, { "AlarmSeverity": " ", "Name": "DH2 HUM03", "Room": "GAL1271", "SP": 50, "tagPath": "[Ignition_Common_IO_Gtwy]GAL1271/SATB1_GAL1271_HUM_03" }, { "AlarmSeverity": " ", "Name": "DH2 HUM01", "Room": "GAL1272", "SP": 50, "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_HUM_01" }, { "AlarmSeverity": " ", "Name": "DH2 HUM02", "Room": "GAL1272", "SP": 50, "tagPath": "[Ignition_Common_IO_Gtwy]GAL1272/SATB1_GAL1272_HUM_02" }, { "AlarmSeverity": " ", "Name": "DH4 HUM03", "Room": "GAL1281", "SP": 50, "tagPath": "[Ignition_Common_IO_Gtwy]GAL1281/SATB1_GAL1281_HUM_03" }, { "AlarmSeverity": " ", "Name": "DH4 HUM01", "Room": "GAL1282", "SP": 50, "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_HUM_01" }, { "AlarmSeverity": " ", "Name": "DH4 HUM02", "Room": "GAL1282", "SP": 50, "tagPath": "[Ignition_Common_IO_Gtwy]GAL1282/SATB1_GAL1282_HUM_02" } ], "filter": { "enabled": true } }, "type": "ia.display.table" } ], "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", "paddingBottom": 10, "paddingLeft": 10, "paddingRight": 10, "paddingTop": 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": "roomUpdate", "pageScope": true, "script": "\t# implement your handler here\n\tself.view.custom.room \u003d payload[\"Room\"]", "sessionScope": false, "viewScope": false } ] }, "type": "ia.container.flex" } }