Files
Stream_PHX_A7/Gateways/FE/projects/.resources/6c717a6a019c5edeab0c8460d0d39ea463d71b03f8d45690d6a08878201a06d6

761 lines
26 KiB
Plaintext

{
"custom": {},
"params": {
"historianSettings": {
"dateFormat": "YYYY/MM/DD",
"endDate": {
"$": [
"ts",
0,
1731972985305
],
"$ts": 1730879940000
},
"export": {
"dateFormat": "None",
"timeFormat": "x"
},
"measureOfTime": "hours",
"mode": "historical",
"penNamePathDepth": 1,
"pointCount": 300,
"rangeEndDate": {
"$": [
"ts",
0,
1731972985305
],
"$ts": 1730879452730
},
"rangeSelectorPen": "histprov:Ignition_Hist_SATB1_IO1_default:/tag:Datahall 1/Development/GEN 1/Amps A",
"rangeStartDate": {
"$": [
"ts",
0,
1731972985305
],
"$ts": 1730733759000
},
"refreshRate": 1000,
"responsiveDesignWidth": 100,
"startDate": {
"$": [
"ts",
0,
1731972985305
],
"$ts": 1730733759000
},
"tagBrowserStartPath": "",
"timeFormat": "h:mm A",
"unitOfTime": 4,
"visibility": {
"buttons": {
"showAnnotationButton": false,
"showFullscreenButton": true,
"showMoreButton": true,
"showPanZoomButton": true,
"showRangeBrushButton": true,
"showSettingsButton": false,
"showTagBrowserButton": false,
"showXTraceButton": true
},
"showDateRangeSelector": true,
"showPenControlDisplay": true,
"showTagBrowser": false
}
},
"selectedPens": [
{
"axis": "% RH",
"data": {
"aggregateMode": "LastValue",
"source": "histprov:Ignition_Hist:/drv:ignition-satb1-io6:default:/tag:mmr1188/satb1_hs1_mmr1188_crac1/return air humidity"
},
"display": {
"breakLine": true,
"interpolation": "curveLinear",
"radius": 3,
"styles": {
"highlighted": {
"fill": {
"color": "#e51919",
"opacity": 1
},
"stroke": {
"color": "#e51919",
"dashArray": 0,
"opacity": 1,
"width": 1
}
},
"muted": {
"fill": {
"color": "#e51919",
"opacity": 0.4
},
"stroke": {
"color": "#e51919",
"dashArray": 0,
"opacity": 0.4,
"width": 1
}
},
"normal": {
"fill": {
"color": "#e51919",
"opacity": 0.8
},
"stroke": {
"color": "#e51919",
"dashArray": 0,
"opacity": 0.8,
"width": 1
}
},
"selected": {
"fill": {
"color": "#e51919",
"opacity": 1
},
"stroke": {
"color": "#e51919",
"dashArray": 0,
"opacity": 1,
"width": 1
}
}
},
"type": "line"
},
"enabled": true,
"name": "Return Air Humidity",
"plot": 1,
"selectable": false,
"visible": true
}
]
},
"propConfig": {
"params.historianSettings": {
"paramDirection": "input",
"persistent": true
},
"params.selectedPens": {
"paramDirection": "input",
"persistent": true
}
},
"props": {
"defaultSize": {
"width": 1167
}
},
"root": {
"children": [
{
"children": [
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "32px"
},
"props": {
"text": "Mode"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "Dropdown"
},
"position": {
"basis": "36px"
},
"propConfig": {
"props.value": {
"binding": {
"config": {
"path": "view.params.historianSettings.mode"
},
"type": "property"
}
}
},
"props": {
"options": [
{
"label": "Historical",
"value": "historical"
},
{
"label": "Realtime",
"value": "realtime"
}
]
},
"type": "ia.input.dropdown"
}
],
"meta": {
"name": "Mode"
},
"position": {
"basis": "125px"
},
"props": {
"direction": "column",
"style": {
"gap": "5px",
"paddingRight": "3px"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "32px"
},
"props": {
"text": "Start Date"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "DateTimeInput"
},
"position": {
"basis": "36px"
},
"propConfig": {
"props.value": {
"binding": {
"config": {
"path": "view.params.historianSettings.startDate"
},
"type": "property"
}
}
},
"props": {
"formattedValue": "Nov 4, 2024 9:22 AM"
},
"type": "ia.input.date-time-input"
}
],
"meta": {
"name": "StartDate"
},
"position": {
"basis": "125px"
},
"propConfig": {
"position.display": {
"binding": {
"config": {
"expression": "{../Mode/Dropdown.props.value} \u003d \"historical\""
},
"type": "expr"
}
}
},
"props": {
"direction": "column",
"style": {
"gap": "5px",
"paddingRight": "3px"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "32px"
},
"props": {
"text": "End Date"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "DateTimeInput"
},
"position": {
"basis": "36px"
},
"propConfig": {
"props.value": {
"binding": {
"config": {
"path": "view.params.historianSettings.endDate"
},
"type": "property"
}
}
},
"props": {
"formattedValue": "Nov 6, 2024 1:59 AM",
"inputProps": {
"style": {
"fontSize": 12
}
}
},
"type": "ia.input.date-time-input"
}
],
"meta": {
"name": "EndDate"
},
"position": {
"basis": "125px"
},
"propConfig": {
"position.display": {
"binding": {
"config": {
"expression": "{../Mode/Dropdown.props.value} \u003d \"historical\""
},
"type": "expr"
}
}
},
"props": {
"direction": "column",
"style": {
"gap": "5px",
"paddingRight": "3px"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "32px"
},
"props": {
"text": "Most Recent"
},
"type": "ia.display.label"
},
{
"children": [
{
"meta": {
"name": "NumericEntryField"
},
"position": {
"basis": "40px",
"shrink": 0
},
"propConfig": {
"props.value": {
"binding": {
"config": {
"path": "view.params.historianSettings.unitOfTime"
},
"type": "property"
}
}
},
"props": {
"format": 0
},
"type": "ia.input.numeric-entry-field"
},
{
"meta": {
"name": "Dropdown"
},
"position": {
"basis": "256px"
},
"propConfig": {
"props.value": {
"binding": {
"config": {
"path": "view.params.historianSettings.measureOfTime"
},
"type": "property"
}
}
},
"props": {
"options": [
{
"label": "min",
"value": "minutes"
},
{
"label": "hour",
"value": "hours"
},
{
"label": "day",
"value": "days"
}
]
},
"type": "ia.input.dropdown"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "37px"
},
"props": {
"style": {
"gap": "1px"
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "RealTime"
},
"position": {
"basis": "145px",
"shrink": 0
},
"propConfig": {
"position.display": {
"binding": {
"config": {
"expression": "{../Mode/Dropdown.props.value} \u003d \"realtime\""
},
"type": "expr"
}
}
},
"props": {
"direction": "column",
"style": {
"gap": "5px",
"paddingRight": "3px"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "32px"
},
"props": {
"text": "Interval"
},
"type": "ia.display.label"
},
{
"children": [
{
"meta": {
"name": "NumericEntryField"
},
"position": {
"basis": "32px",
"shrink": 0
},
"props": {
"format": 0,
"value": 1
},
"type": "ia.input.numeric-entry-field"
},
{
"meta": {
"name": "Dropdown"
},
"position": {
"basis": "256px"
},
"props": {
"options": [
{
"label": "min",
"value": "min"
},
{
"label": "hour",
"value": "hour"
},
{
"label": "day",
"value": "day"
}
],
"value": "min"
},
"type": "ia.input.dropdown"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "37px"
},
"props": {
"style": {
"gap": "1px"
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "Interval"
},
"position": {
"basis": "135px",
"shrink": 0
},
"props": {
"direction": "column",
"style": {
"gap": "5px",
"paddingRight": "3px"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "32px"
},
"props": {
"text": "Calculation"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "Dropdown"
},
"position": {
"basis": "36px"
},
"props": {
"options": [
{
"label": "Last Value",
"value": "LastValue"
},
{
"label": "Average",
"value": "SimpleAverage"
},
{
"label": "Time Weighted Avg",
"value": "Average"
},
{
"label": "Minimum",
"value": "Minimum"
},
{
"label": "Maximum",
"value": "Maximum"
},
{
"label": "Sum",
"value": "Sum"
},
{
"label": "Range",
"value": "Range"
},
{
"label": "Variance",
"value": "Variance"
},
{
"label": "Std Dev",
"value": "StdDev"
},
{
"label": "Min Max",
"value": "MinMax"
}
],
"value": "LastValue"
},
"type": "ia.input.dropdown"
}
],
"meta": {
"name": "Calculation"
},
"position": {
"basis": "175px"
},
"props": {
"direction": "column",
"style": {
"gap": "5px",
"paddingRight": "3px"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\tspp \u003d self.parent.parent\n\thistMode \u003d spp.getChild(\"Mode\").getChild(\"Dropdown\").props.value\n\tstartDate \u003d spp.getChild(\"StartDate\").getChild(\"DateTimeInput\").props.value\n\tendDate \u003d spp.getChild(\"EndDate\").getChild(\"DateTimeInput\").props.value\n\trecUnit \u003d spp.getChild(\"RealTime\").getChild(\"FlexContainer\").getChild(\"NumericEntryField\").props.value\n\trecMeasure \u003d spp.getChild(\"RealTime\").getChild(\"FlexContainer\").getChild(\"Dropdown\").props.value\n\tintervalUnit \u003d spp.getChild(\"Interval\").getChild(\"FlexContainer\").getChild(\"NumericEntryField\").props.value\n\tintervalMeasure \u003d spp.getChild(\"Interval\").getChild(\"FlexContainer\").getChild(\"Dropdown\").props.value\n\taggMethod \u003d spp.getChild(\"Calculation\").getChild(\"Dropdown\").props.value\n\t\n\tpaths \u003d[point[\"data\"][\"source\"] for point in self.view.params.selectedPens]\n\t\n\tif histMode \u003d\u003d \"realtime\":\n\t\tendDate \u003d system.date.now()\n\t\tif recMeasure \u003d\u003d \"hours\":\n\t\t\trecUnit \u003d 60 * recUnit\n\t\telif recMeasure \u003d\u003d \"days\":\n\t\t\trecUnit \u003d 1440 * recUnit\n\t\tstartDate \u003d system.date.addMinutes(endDate, -(recUnit))\n\telse:\n\t\tpass\n\t\n\tintervalMinutes \u003d intervalUnit\n\tif intervalMeasure\u003d\u003d \"hour\":\n\t\tintervalMinutes \u003d intervalUnit * 60\n\telif intervalMeasure \u003d\u003d \"day\":\n\t\tintervalMinutes \u003d intervalUnit * 1440\n#\tsystem.perspective.print(system.tag.queryTagHistory(paths, startDate, endDate, -1, aggMethod, intervalMinutes\u003dintervalMinutes))\n\tspp.parent.getChild(\"Table\").props.data \u003d system.tag.queryTagHistory(paths, startDate, endDate, -1, aggMethod, intervalMinutes\u003dintervalMinutes)"
},
"scope": "G",
"type": "script"
}
},
"dom": {
"onClick": {
"config": {
"script": "\tspp \u003d self.parent.parent\n\thistMode \u003d spp.getChild(\"Mode\").getChild(\"Dropdown\").props.value\n\tstartDate \u003d spp.getChild(\"StartDate\").getChild(\"DateTimeInput\").props.value\n\tendDate \u003d spp.getChild(\"EndDate\").getChild(\"DateTimeInput\").props.value\n\trecUnit \u003d spp.getChild(\"RealTime\").getChild(\"FlexContainer\").getChild(\"NumericEntryField\").props.value\n\trecMeasure \u003d spp.getChild(\"RealTime\").getChild(\"FlexContainer\").getChild(\"Dropdown\").props.value\n\tintervalUnit \u003d spp.getChild(\"Interval\").getChild(\"FlexContainer\").getChild(\"NumericEntryField\").props.value\n\tintervalMeasure \u003d spp.getChild(\"Interval\").getChild(\"FlexContainer\").getChild(\"Dropdown\").props.value\n\taggMethod \u003d spp.getChild(\"Calculation\").getChild(\"Dropdown\").props.value\n\t\n\tpaths \u003d[point[\"data\"][\"source\"] for point in self.view.params.selectedPens]\n\t\n\tif histMode \u003d\u003d \"realtime\":\n\t\tendDate \u003d system.date.now()\n\t\tif recMeasure \u003d\u003d \"hours\":\n\t\t\trecUnit \u003d 60 * recUnit\n\t\telif recMeasure \u003d\u003d \"days\":\n\t\t\trecUnit \u003d 1440 * recUnit\n\t\tstartDate \u003d system.date.addMinutes(endDate, -(recUnit))\n\telse:\n\t\tpass\n\t\n\tintervalMinutes \u003d intervalUnit\n\tif intervalMeasure\u003d\u003d \"hour\":\n\t\tintervalMinutes \u003d intervalUnit * 60\n\telif intervalMeasure \u003d\u003d \"day\":\n\t\tintervalMinutes \u003d intervalUnit * 1440\n#\tsystem.perspective.print(system.tag.queryTagHistory(paths, startDate, endDate, -1, aggMethod, intervalMinutes\u003dintervalMinutes))\n\tspp.parent.getChild(\"Table\").props.data \u003d system.tag.queryTagHistory(paths, startDate, endDate, -1, aggMethod, intervalMinutes\u003dintervalMinutes)"
},
"enabled": false,
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Set"
},
"position": {
"basis": "34px"
},
"props": {
"text": "Set"
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\tds \u003d self.parent.parent.parent.getChild(\"Table\").props.data\n\tbyteData \u003d system.dataset.toExcel(True, [ds], [\"Trend\"])\n\tfName \u003d \"EQ Data Export.xls\"%()\n\tsystem.perspective.download(fName, byteData)"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Export"
},
"position": {
"basis": "34px"
},
"props": {
"text": "Export"
},
"type": "ia.input.button"
}
],
"meta": {
"name": "Buttons"
},
"position": {
"basis": "125px"
},
"props": {
"direction": "column",
"justify": "space-around"
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "Settings"
},
"position": {
"basis": "85px",
"shrink": 0
},
"type": "ia.container.flex"
},
{
"meta": {
"name": "Table"
},
"position": {
"basis": "400px",
"grow": 1,
"shrink": 0
},
"propConfig": {
"props.columns": {
"binding": {
"config": {
"path": "this.props.data"
},
"transforms": [
{
"code": "\timport copy\n\tallCols \u003d []\n\ttry:\n\t\theaders \u003d system.dataset.getColumnHeaders(value)\n\t\ttemplate \u003d {\n\t\t\t \"field\": \"\",\n\t\t\t \"visible\": True,\n\t\t\t \"editable\": False,\n\t\t\t \"render\": \"auto\",\n\t\t\t \"justify\": \"auto\",\n\t\t\t \"align\": \"center\",\n\t\t\t \"resizable\": False,\n\t\t\t \"sortable\": False,\n\t\t\t \"sort\": \"none\",\n\t\t\t \"filter\": {\n\t\t\t \"enabled\": False,\n\t\t\t \"visible\": \"on-hover\",\n\t\t\t \"string\": {\n\t\t\t \"condition\": \"\",\n\t\t\t \"value\": \"\"\n\t\t\t },\n\t\t\t \"number\": {\n\t\t\t \"condition\": \"\",\n\t\t\t \"value\": \"\"\n\t\t\t },\n\t\t\t \"boolean\": {\n\t\t\t \"condition\": \"\"\n\t\t\t },\n\t\t\t \"date\": {\n\t\t\t \"condition\": \"\",\n\t\t\t \"value\": \"\"\n\t\t\t }\n\t\t\t },\n\t\t\t \"viewPath\": \"\",\n\t\t\t \"viewParams\": {},\n\t\t\t \"boolean\": \"checkbox\",\n\t\t\t \"number\": \"value\",\n\t\t\t \"toggleSwitch\": {\n\t\t\t \"color\": {\n\t\t\t \"selected\": \"\",\n\t\t\t \"unselected\": \"\"\n\t\t\t }\n\t\t\t },\n\t\t\t \"nullFormat\": {\n\t\t\t \"includeNullStrings\": False,\n\t\t\t \"strict\": False,\n\t\t\t \"nullFormatValue\": \"\"\n\t\t\t },\n\t\t\t \"numberFormat\": \"0,0.##\",\n\t\t\t \"dateFormat\": \"MM/DD/YYYY\",\n\t\t\t \"width\": \"\",\n\t\t\t \"strictWidth\": False,\n\t\t\t \"style\": {\n\t\t\t \"classes\": \"\"\n\t\t\t },\n\t\t\t \"header\": {\n\t\t\t \"title\": \"\",\n\t\t\t \"justify\": \"left\",\n\t\t\t \"align\": \"center\",\n\t\t\t \"style\": {\n\t\t\t \"classes\": \"\"\n\t\t\t }\n\t\t\t }\n\t\t\t}\n\t\t\n\t\tfor colname in headers:\n\t\t\tt1 \u003d copy.deepcopy(template)\n\t\t\tt1[\"field\"] \u003d colname\n\t\t\tif colname \u003d\u003d \"t_stamp\":\n\t\t\t\tt1[\"render\"] \u003d \"date\"\n\t\t\t\tt1[\"dateFormat\"] \u003d \"MM/DD/YYYY HH:mm:ss\"\n\t\t\t\tt1[\"header\"][\"title\"] \u003d \"Timestamp\"\n\t\t\tallCols.append(t1)\n\texcept:\n\t\tpass\n\treturn allCols\n\t",
"type": "script"
}
],
"type": "property"
}
},
"props.data": {
"persistent": false
}
},
"props": {
"emptyMessage": {
"noData": {
"text": "No Data Found"
}
}
},
"type": "ia.display.table"
}
],
"meta": {
"name": "root"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
}
}