{ "custom": { "allTags": [ { "dataType": "Float4", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "Alarm Deadband" }, { "dataType": "Int4", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "Hi Alarm Delay" }, { "dataType": "Boolean", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "Hi Alarm Enable" }, { "dataType": "Float4", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "Hi Alarm Setpoint" }, { "dataType": "Int4", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "HiHi Alarm Delay" }, { "dataType": "Boolean", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "HiHi Alarm Enable" }, { "dataType": "Float4", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "HiHi Alarm Setpoint" }, { "dataType": "Int4", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "Lo Alarm Delay" }, { "dataType": "Boolean", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "Lo Alarm Enable" }, { "dataType": "Float4", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "Lo Alarm Setpoint" }, { "dataType": "Int4", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "LoLo Alarm Delay" }, { "dataType": "Boolean", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "LoLo Alarm Enable" }, { "dataType": "Float4", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "LoLo Alarm Setpoint" }, { "dataType": "Float4", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "Offset" }, { "dataType": "Int8", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "PV Decimal Places" }, { "dataType": "Float4", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "PV EU Max" }, { "dataType": "Float4", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "PV EU Min" }, { "dataType": "Int4", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "Raw Max" }, { "dataType": "Int4", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "Raw Min" }, { "dataType": "Boolean", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "Reset Required" } ] }, "params": { "auth": { "almAck": true, "almShelve": true, "config": true, "control": true }, "tagPath": "[Ignition_Common_IO_Gtwy]DH1/SATB1_DH1_PD41" }, "propConfig": { "custom.allTags": { "binding": { "config": { "struct": { "tagPath": "{view.params.tagPath} + \"/Config\"" }, "waitOnAll": true }, "transforms": [ { "code": "\toutput \u003d []\n\t\n\t# Simulate fetching tag configurations and sorting by name\n\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\tfor item in nodes:\n\t if \u0027tags\u0027 in item:\n\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\n\t \t\n for tagConfig in sortedTags:\n if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n name \u003d tagConfig.get(\"name\", \"\")\n dataType \u003d tagConfig.get(\"dataType\", \"\")\n tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": {},\n \"name\": name,\n \"dataType\": dataType\n }\n # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n output.append(instance)\n\t\n\t# Return or process the sorted output\n\treturn output", "type": "script" } ], "type": "expr-struct" }, "persistent": true }, "params.auth": { "paramDirection": "input", "persistent": true }, "params.tagPath": { "paramDirection": "input", "persistent": true } }, "props": {}, "root": { "children": [ { "children": [ { "meta": { "name": "EmbeddedView" }, "position": { "basis": "33%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/HiHi Alarm Enable\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Boolean", "name": "HiHi Alarm Enable", "options": [] }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" }, { "meta": { "name": "EmbeddedView_0" }, "position": { "basis": "34%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/HiHi Alarm Setpoint\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Float4", "max": 200, "min": 0, "name": "HiHi Alarm Setpoint", "options": [], "visible": true }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" }, { "meta": { "name": "EmbeddedView_1" }, "position": { "basis": "33%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/HiHi Alarm Delay\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Int4", "name": "HiHi Alarm Delay", "options": [] }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" } ], "meta": { "name": "FlexContainer" }, "type": "ia.container.flex" }, { "children": [ { "meta": { "name": "EmbeddedView" }, "position": { "basis": "33%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/Hi Alarm Enable\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Boolean", "name": "Hi Alarm Enable", "options": [] }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" }, { "meta": { "name": "EmbeddedView_0" }, "position": { "basis": "34%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/Hi Alarm Setpoint\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Float4", "name": "Hi Alarm Setpoint", "options": [] }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" }, { "meta": { "name": "EmbeddedView_1" }, "position": { "basis": "33%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/Hi Alarm Delay\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Int4", "name": "Hi Alarm Delay", "options": [] }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" } ], "meta": { "name": "FlexContainer_0" }, "type": "ia.container.flex" }, { "children": [ { "meta": { "name": "EmbeddedView" }, "position": { "basis": "33%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/Lo Alarm Enable\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Boolean", "name": "Lo Alarm Enable", "options": [] }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" }, { "meta": { "name": "EmbeddedView_0" }, "position": { "basis": "34%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/Lo Alarm Setpoint\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Float4", "name": "Lo Alarm Setpoint", "options": [] }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" }, { "meta": { "name": "EmbeddedView_1" }, "position": { "basis": "33%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/Lo Alarm Delay\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Int4", "name": "Lo Alarm Delay", "options": [] }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" } ], "meta": { "name": "FlexContainer_1" }, "type": "ia.container.flex" }, { "children": [ { "meta": { "name": "EmbeddedView" }, "position": { "basis": "33%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/LoLo Alarm Enable\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Boolean", "name": "LoLo Alarm Enable", "options": [] }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" }, { "meta": { "name": "EmbeddedView_0" }, "position": { "basis": "34%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/LoLo Alarm Setpoint\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Float4", "name": "LoLo Alarm Setpoint", "options": [] }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" }, { "meta": { "name": "EmbeddedView_1" }, "position": { "basis": "33%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/LoLo Alarm Delay\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Int4", "name": "LoLo Alarm Delay", "options": [] }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" } ], "meta": { "name": "FlexContainer_2" }, "type": "ia.container.flex" }, { "children": [ { "meta": { "name": "EmbeddedView_2" }, "position": { "basis": "33%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/PV Decimal Places\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Int8", "name": "Decimal Places", "options": [] }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" }, { "meta": { "name": "EmbeddedView_0" }, "position": { "basis": "34%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/Raw Max\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Float4", "max": 20000, "min": 0, "name": "Rax Maximum", "options": [], "visible": true }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" }, { "meta": { "name": "EmbeddedView_1" }, "position": { "basis": "33%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/Raw Min\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Float4", "name": "Raw Minimum", "options": [], "visible": true }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" } ], "meta": { "name": "FlexContainer_3" }, "type": "ia.container.flex" }, { "children": [ { "meta": { "name": "Empty" }, "position": { "basis": "33%" }, "type": "ia.display.label" }, { "meta": { "name": "EmbeddedView_0" }, "position": { "basis": "34%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/PV EU Max\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Int4", "name": "PV EU Maximum", "options": [], "visible": true }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" }, { "meta": { "name": "EmbeddedView_1" }, "position": { "basis": "33%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/PV EU Min\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Int4", "name": "PV EU Minimum", "options": [], "visible": true }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" } ], "meta": { "name": "FlexContainer_4" }, "type": "ia.container.flex" }, { "children": [ { "meta": { "name": "EmbeddedView_1" }, "position": { "basis": "33%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/Reset Required\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Boolean", "name": "Reset Required", "options": [] }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" }, { "meta": { "name": "EmbeddedView" }, "position": { "basis": "34%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/Offset\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Float4", "name": "Offset", "options": [] }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" }, { "meta": { "name": "EmbeddedView_0" }, "position": { "basis": "33%" }, "propConfig": { "props.params.enabled": { "binding": { "config": { "path": "view.params.auth.config" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath}, \"/Config/Alarm Deadband\")" }, "type": "expr" } } }, "props": { "params": { "dataType": "Int4", "name": "Alarm Deadband", "options": [] }, "path": "Library/Framework/Tag ConfigV2" }, "type": "ia.display.view" } ], "meta": { "name": "FlexContainer_5" }, "type": "ia.container.flex" } ], "meta": { "name": "root" }, "props": { "direction": "column", "style": { "classes": "containers/padded-container", "gap": "10px" } }, "type": "ia.container.flex" } }