{ "custom": { "AlarmSeverity": 0, "batteryVoltage": 573.7, "chargePercent": 100, "inKW": 294025, "onBattery": 0, "operationMode": 1, "remSec": 101110 }, "params": { "objectName": "UPS", "tagPath": "[Ignition_SATB1_IO1_default]ER1242/SATB1_ER1242_UPS-1" }, "propConfig": { "custom.AlarmSeverity": { "binding": { "config": { "path": "view.params.tagPath" }, "enabled": false, "transforms": [ { "code": "\treturn alarm.summary.calcMaxPriority(value)", "type": "script" } ], "type": "property" }, "persistent": true }, "custom.batteryVoltage": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Battery Voltage" }, "enabled": false, "type": "tag" }, "persistent": true }, "custom.chargePercent": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Battery Charge Percent" }, "enabled": false, "type": "tag" }, "persistent": true }, "custom.inKW": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Total Input KWh" }, "enabled": false, "type": "tag" }, "persistent": true }, "custom.onBattery": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Operating On Battery" }, "enabled": false, "type": "tag" }, "persistent": true }, "custom.operationMode": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Operation Modes" }, "enabled": false, "type": "tag" }, "persistent": true }, "custom.remSec": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Battery runtime remaining seconds" }, "enabled": false, "type": "tag" }, "persistent": true }, "params.objectName": { "paramDirection": "input", "persistent": true }, "params.tagPath": { "paramDirection": "input", "persistent": true } }, "props": { "defaultSize": { "height": 130, "width": 353 } }, "root": { "children": [ { "meta": { "name": "Title" }, "position": { "basis": "19px" }, "propConfig": { "props.text": { "binding": { "config": { "struct": { "tagPath": "tag({view.params.tagPath}+\u0027/Parameters.DeviceLabel\u0027)" }, "waitOnAll": true }, "enabled": false, "transforms": [ { "code": "\treturn value[\u0027tagPath\u0027]\n", "type": "script" } ], "type": "expr-struct" } } }, "props": { "style": { "paddingLeft": "15px" }, "text": "UPS", "textStyle": { "backgroundColor": "transparent", "fontSize": 12, "fontWeight": "650", "textAlign": "start" } }, "type": "ia.display.label" }, { "children": [ { "custom": { "colorHandler": {} }, "events": { "dom": { "onClick": { "config": { "script": "\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tpayload\u003d{\n\t\t\u0027objectName\u0027: objectName,\n\t\t\u0027tagPath\u0027: tagPath,\n\t\t\u0027modal\u0027: False,\n\t\t\u0027resizable\u0027: True,\n\t\t\u0027draggable\u0027: True,\n\t\t\u0027position\u0027: {\n#\t\t\t\u0027left\u0027:\u00270\u0027,\n#\t\t\t\u0027top\u0027:\u00270\u0027,\n\t\t\t\u0027width\u0027: \u00271000px\u0027,\n\t\t\t\u0027height\u0027: \u0027800px\u0027\n\t\t}\n\t}\n\tutils.nav.eqPopupMsg(self, payload)" }, "scope": "G", "type": "script" } } }, "meta": { "name": "UPS SVG" }, "position": { "basis": "153px" }, "propConfig": { "custom.colorHandler.Background": { "binding": { "config": { "struct": { "alm": "{view.custom.AlarmSeverity}", "sts": "{view.params.tagPath}" }, "waitOnAll": true }, "transforms": [ { "code": "\tif value[\u0027alm\u0027] \u003e 0:\n\t\tColor \u003d \u0027var(--state-faulted)\u0027\n\telif value[\u0027sts\u0027] \u003d\u003d True:\n\t\tColor \u003d \u0027var(--state-running)\u0027\n\telse :\n\t\tColor \u003d \u0027var(--state-standby)\u0027\n\treturn Color\n", "type": "script" } ], "type": "expr-struct" } }, "custom.colorHandler.Battery": { "binding": { "config": { "struct": { "sts": "{view.custom.onBattery}" }, "waitOnAll": true }, "transforms": [ { "code": "\tif value[\u0027sts\u0027] \u003d\u003d True:\n\t\tColor \u003d \u0027var(--elec-on)\u0027\n\telse:\n\t\tColor \u003d \u0027var(--elec-off)\u0027\n\treturn Color\n", "type": "script" } ], "type": "expr-struct" } }, "props.elements[1].elements[0].fill.paint": { "binding": { "config": { "path": "this.custom.colorHandler.Background" }, "type": "property" } }, "props.elements[1].elements[10].elements[0].fill.paint": { "binding": { "config": { "path": "this.custom.colorHandler.Battery" }, "type": "property" } }, "props.elements[1].elements[10].elements[0].transform": { "binding": { "config": { "path": "view.custom.onBattery" }, "transforms": [ { "fallback": "scale(0.5,0.5), translate(80, 120)", "inputType": "scalar", "mappings": [ { "input": false, "output": "scale(0.5,0.5), translate(80, 120)" }, { "input": true, "output": "scale(1.5,1.5), translate(30, -40)" } ], "outputType": "scalar", "type": "map" } ], "type": "property" } }, "props.elements[1].elements[10].elements[1].fill.paint": { "binding": { "config": { "path": "this.custom.colorHandler.Battery" }, "type": "property" } }, "props.elements[1].elements[10].elements[1].transform": { "binding": { "config": { "path": "view.custom.onBattery" }, "transforms": [ { "fallback": "scale(0.5,0.5), translate(50,150)", "inputType": "scalar", "mappings": [ { "input": false, "output": "scale(0.5,0.5), translate(50,150)" }, { "input": true, "output": "scale(1.5,1.5), translate(0,-11)" } ], "outputType": "scalar", "type": "map" } ], "type": "property" } }, "props.elements[1].elements[10].elements[2].transform": { "binding": { "config": { "path": "view.custom.onBattery" }, "transforms": [ { "fallback": "scale(0.5,0.5), translate(80, 120)", "inputType": "scalar", "mappings": [ { "input": false, "output": "scale(0.5,0.5), matrix(0,-1,1,0,70,265)" }, { "input": true, "output": "scale(1.5,1.5), matrix(0,-1,1,0,20,110)" } ], "outputType": "scalar", "type": "map" } ], "type": "property" } }, "props.elements[1].elements[3].fill.paint": { "binding": { "config": { "path": "this.custom.colorHandler.Background" }, "type": "property" } }, "props.elements[1].elements[4].fill.paint": { "binding": { "config": { "path": "this.custom.colorHandler.Background" }, "type": "property" } }, "props.elements[1].elements[5].fill.paint": { "binding": { "config": { "path": "this.custom.colorHandler.Background" }, "type": "property" } } }, "props": { "elements": [ { "name": "defs", "type": "defs" }, { "elements": [ { "d": "M.0,.0L1099.0,.0L1099.0,647.1L.0,647.1L.0,.0z", "fill": { "rule": "nonzero" }, "id": "shape2", "name": "shape2", "stroke": { "paint": "#000000", "width": 3 }, "transform": "translate(7.803696,0.000000)", "type": "path" }, { "d": "M11.7,.0L300.3,.0C306.8,.0,312.1,6.9,312.1,15.5L312.1,129.0C312.1,137.6,306.8,144.5,300.3,144.5L11.7,144.5C5.2,144.5,.0,137.6,.0,129.0L.0,15.5C.0,6.9,5.2,.0,11.7,.0z", "fill": { "paint": "Lightgray", "rule": "nonzero" }, "id": "shape3", "name": "shape3", "stroke": { "paint": "#000000", "width": "3" }, "transform": "translate(55.686687,60.719804)", "type": "path" }, { "d": "M5.0,.0L287.8,.0C290.7,.0,293.1,2.9,293.1,6.6L293.1,116.8C293.1,120.5,290.7,123.5,287.8,123.5L5.0,123.5C2.2,123.5,.0,120.5,.0,116.8L.0,6.6C.0,2.9,2.2,.0,5.0,.0z", "fill": { "paint": "#ffffff", "rule": "nonzero" }, "id": "shape4", "name": "shape4", "stroke": { "paint": "#000000", "width": "3" }, "transform": "translate(65.210483,71.159788)", "type": "path" }, { "d": "M.0,.0L671.7,.0L671.7,652.9L.0,652.9L.0,.0z", "fill": { "rule": "nonzero" }, "id": "shape5", "name": "shape5", "stroke": { "paint": "#000000", "width": "3" }, "transform": "translate(435.111510,0.000000)", "type": "path" }, { "d": "M.0,.0L341.1,.0L341.1,652.9L.0,652.9L.0,.0z", "fill": { "rule": "nonzero" }, "id": "shape6", "name": "shape6", "stroke": { "paint": "#000000", "width": "3" }, "transform": "translate(766.122799,0.000434)", "type": "path" }, { "d": "M.0,.0L1115.0,.0L1115.0,62.2L.0,62.2L.0,.0z", "fill": { "rule": "nonzero" }, "id": "shape7", "name": "shape7", "stroke": { "paint": "#000000", "width": "3" }, "transform": "translate(-0.000000,647.052589)", "type": "path" }, { "d": "M6.6,.0L59.8,.0C63.5,.0,66.6,3.0,66.6,6.7L66.6,6.7C66.6,10.5,63.5,13.5,59.8,13.5L6.6,13.5C2.9,13.5,-0.1,10.5,-0.1,6.7L-0.1,6.7C-0.1,3.0,2.9,.0,6.6,.0z", "fill": { "paint": "lightgray", "rule": "nonzero" }, "id": "shape8", "name": "shape8", "stroke": { "paint": "#000000", "width": "3" }, "transform": "translate(110.367874,231.883502)", "type": "path" }, { "d": "M6.6,.0L59.8,.0C63.5,.0,66.6,3.0,66.6,6.7L66.6,6.7C66.6,10.5,63.5,13.5,59.8,13.5L6.6,13.5C2.9,13.5,-0.1,10.5,-0.1,6.7L-0.1,6.7C-0.1,3.0,2.9,.0,6.6,.0z", "fill": { "paint": "lightgray", "rule": "nonzero" }, "id": "shape9", "name": "shape9", "stroke": { "paint": "#000000", "width": "3" }, "transform": "translate(110.367874,267.554346)", "type": "path" }, { "d": "M6.6,.0L59.8,.0C63.5,.0,66.6,3.0,66.6,6.7L66.6,6.7C66.6,10.5,63.5,13.5,59.8,13.5L6.6,13.5C2.9,13.5,-0.1,10.5,-0.1,6.7L-0.1,6.7C-0.1,3.0,2.9,.0,6.6,.0z", "fill": { "paint": "lightgray", "rule": "nonzero" }, "id": "shape10", "name": "shape10", "stroke": { "paint": "#000000", "width": "3" }, "transform": "translate(246.662731,231.888147)", "type": "path" }, { "d": "M6.6,.0L59.8,.0C63.5,.0,66.6,3.0,66.6,6.7L66.6,6.7C66.6,10.5,63.5,13.5,59.8,13.5L6.6,13.5C2.9,13.5,-0.1,10.5,-0.1,6.7L-0.1,6.7C-0.1,3.0,2.9,.0,6.6,.0z", "fill": { "paint": "lightgray", "rule": "nonzero" }, "id": "shape11", "name": "shape11", "stroke": { "paint": "#000000", "width": "3" }, "transform": "translate(246.662731,267.558991)", "type": "path" }, { "elements": [ { "d": "M.0,.0L58.2,.0L58.2,28.2L.0,28.2L.0,.0z", "fill": {}, "id": "shape14", "name": "shape14", "stroke": { "linecap": "round", "paint": "#191919", "width": "3" }, "type": "path" }, { "d": "M.0,.0L119.9,.0L119.9,188.8L.0,188.8L.0,.0z", "fill": {}, "id": "shape15", "name": "shape15", "stroke": { "linecap": "round", "paint": "#191919", "width": "3" }, "type": "path" }, { "d": "M27.7,32.8L45.9,32.8L13.8,77.0L18.2,44.2L.0,44.2L32.0,.0L27.7,32.8z", "fill": { "paint": "white" }, "id": "shape13", "name": "shape13", "stroke": { "paint": "#191919", "width": 3 }, "type": "path", "visibility": "visible" } ], "id": "group12", "name": "group12", "transform": "matrix(0.000000,1.000000,-1.000000,0.000000,335.433071,351.467354)", "type": "group" }, { "d": "M.0,.0L302.4,.0L302.4,231.5L.0,231.5L.0,.0M15.1,11.6L287.2,11.6L287.2,219.9L15.1,219.9L15.1,11.6M15.1,32.4L287.2,32.4M15.1,53.2L287.2,53.2M15.1,74.1L287.2,74.1M15.1,94.9L287.2,94.9M15.1,115.7L287.2,115.7M15.1,136.6L287.2,136.6M15.1,157.4L287.2,157.4M15.1,178.3L287.2,178.3M15.1,199.1L287.2,199.1", "fill": { "paint": "#ffffff", "rule": "nonzero" }, "id": "shape16", "name": "shape16", "stroke": { "paint": "#000000", "width": 3 }, "transform": "translate(448.818898,401.962243)", "type": "path" }, { "d": "M.0,.0L302.4,.0L302.4,231.5L.0,231.5L.0,.0M15.1,11.6L287.2,11.6L287.2,219.9L15.1,219.9L15.1,11.6M15.1,32.4L287.2,32.4M15.1,53.2L287.2,53.2M15.1,74.1L287.2,74.1M15.1,94.9L287.2,94.9M15.1,115.7L287.2,115.7M15.1,136.6L287.2,136.6M15.1,157.4L287.2,157.4M15.1,178.3L287.2,178.3M15.1,199.1L287.2,199.1", "fill": { "paint": "#ffffff", "rule": "nonzero" }, "id": "shape17", "name": "shape17", "stroke": { "paint": "#000000", "width": "3" }, "transform": "translate(785.501260,401.962306)", "type": "path" } ], "id": "page1", "name": "page1", "transform": "translate(5.5,5.5)", "type": "group" } ], "style": { "classes": "containers/HoverOver" }, "viewBox": "0 0 1132 804" }, "type": "ia.shapes.svg" }, { "children": [ { "meta": { "name": "Label" }, "propConfig": { "props.text": { "binding": { "config": { "struct": { "alm": "{view.custom.AlarmSeverity}", "bat": "{view.custom.onBattery}" }, "waitOnAll": true }, "transforms": [ { "code": "\tif value[\u0027bat\u0027] \u003d\u003d True:\n\t\tstate \u003d \u0027On Battery\u0027\n\telse:\n\t\tstate \u003d \u0027Charging\u0027\n\tif value[\u0027alm\u0027] \u003e 0:\n\t\tAlarm \u003d \u0027 and alarmed\u0027\n\telse :\n\t\tAlarm \u003d \u0027\u0027\n\treturn state + Alarm\n", "type": "script" } ], "type": "expr-struct" } } }, "props": { "textStyle": { "fontSize": 10 } }, "type": "ia.display.label" }, { "meta": { "name": "Label_0" }, "propConfig": { "props.text": { "binding": { "config": { "path": "view.custom.operationMode" }, "transforms": [ { "fallback": "No mode received", "inputType": "scalar", "mappings": [ { "input": 1, "output": "Mode: Normal Operation" }, { "input": 2, "output": "Mode: Battery Operation" }, { "input": 3, "output": "Mode: Battery Test" }, { "input": 4, "output": "Mode: Req Static Byp" }, { "input": 5, "output": "Mode: Force Static Byp" }, { "input": 6, "output": "Mode: Maintenance Byp" }, { "input": 7, "output": "Mode: Off" }, { "input": 8, "output": "Mode: Emergency Byp" }, { "input": 9, "output": "Mode: RStatic Byp Stdby" }, { "input": 10, "output": "Mode: Inverter Standby" }, { "input": 11, "output": "Mode: Power Saving Mode" }, { "input": 12, "output": "Mode: Inverter SPoT Mode" }, { "input": 13, "output": "Mode: Eco Mode" }, { "input": 14, "output": "Mode: ECOnversion" } ], "outputType": "scalar", "type": "map" } ], "type": "property" } } }, "props": { "style": { "overflow": "visible" }, "textStyle": { "fontSize": 10 } }, "type": "ia.display.label" }, { "meta": { "name": "Label_1" }, "propConfig": { "props.text": { "binding": { "config": { "path": "view.custom.chargePercent" }, "transforms": [ { "expression": "\"Batt Charge: \" + {value} +\" %\"", "type": "expression" } ], "type": "property" } } }, "props": { "textStyle": { "fontSize": 10 } }, "type": "ia.display.label" }, { "meta": { "name": "Label_2" }, "propConfig": { "props.text": { "binding": { "config": { "path": "view.custom.remSec" }, "transforms": [ { "code": "\thours \u003d value/3600\n\tminutes \u003d (value/60)-(hours*60)\n\tseconds \u003d value - ((value/60)*60)\n\tremaining \u003d str(hours) + \"h \" + str(minutes) + \"m \" + str(seconds) + \"s\"\n\treturn \"Remaining: \" + remaining", "type": "script" } ], "type": "property" } } }, "props": { "textStyle": { "fontSize": 10 } }, "type": "ia.display.label" }, { "meta": { "name": "Label_3" }, "propConfig": { "props.text": { "binding": { "config": { "path": "view.custom.batteryVoltage" }, "transforms": [ { "expression": "\"Batt Voltage: \" +{value} +\" V\"", "type": "expression" } ], "type": "property" } } }, "props": { "textStyle": { "fontSize": 10 } }, "type": "ia.display.label" }, { "meta": { "name": "Label_4" }, "propConfig": { "props.text": { "binding": { "config": { "path": "view.custom.inKW" }, "transforms": [ { "expression": "\"Total input: \" + {value} + \" KWh\"", "type": "expression" } ], "type": "property" } } }, "props": { "textStyle": { "fontSize": 10 } }, "type": "ia.display.label" }, { "meta": { "name": "Label_5" }, "propConfig": { "props.text": { "binding": { "config": { "struct": { "displayName": "\u0027Input Freq\u0027", "engUnits": "\u0027Hz\u0027", "tagName": "\u0027Input Frequency\u0027", "tagPath": "{view.params.tagPath}" }, "waitOnAll": true }, "enabled": false, "transforms": [ { "code": "\tstate \u003d str(system.tag.browse(value[\u0027tagPath\u0027],{\u0027name\u0027:value[\u0027tagName\u0027]})[0][\u0027value\u0027].value)\n\treturn value[\u0027displayName\u0027]+\u0027: \u0027+state+ \u0027 \u0027 +value[\u0027engUnits\u0027]", "type": "script" } ], "type": "expr-struct" } } }, "props": { "text": "Input Freq: 60.0 Hz", "textStyle": { "fontSize": 10 } }, "type": "ia.display.label" } ], "meta": { "name": "FlexContainer" }, "position": { "basis": "200px" }, "props": { "direction": "column" }, "type": "ia.container.flex" } ], "meta": { "name": "UPS container" }, "position": { "basis": "111px" }, "type": "ia.container.flex" } ], "meta": { "name": "root" }, "props": { "direction": "column" }, "type": "ia.container.flex" } }